Jump to content
The Dark Mod Forums

Newbie DarkRadiant Questions


demagogue

Recommended Posts

2 hours ago, AluminumHaste said:

Is your interleaved settings or ai thinking defaults or did you change them?

It's all default.

53 minutes ago, Obsttorte said:

Does it happen more frequently or earlier if the timescale value is set to a higher value?

Any moveable that could potentially block the path?

There's no loveable in the way. About the timescale I need to check. I noticed it in normal game, so did others. In timescale 4 it happened after patrol iteration 3 or 4.need to check other timescales

"Einen giftigen Trank aus Kräutern und Wurzeln für die närrischen Städter wollen wir brauen." - Text aus einem verlassenen Heidenlager

Link to comment
Share on other sites

3 hours ago, SeriousToni said:

There's no loveable in the way.

I bet you are  😊 (sorry, couldn't resist, some typos are just too cute😇)

  • Thanks 1
  • Haha 1

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

8 hours ago, SeriousToni said:

He walks on his route multiple times until at a random time in game, but then at the same way point he stops and the console says too far from sitting location.

You didn't say if the guard is actually expected to sit at this way point, or the console message is entirely spurious. If there is a sitting location, maybe random variation in the angle of AI's body makes the sit spot undetectable sometimes?

Link to comment
Share on other sites

On 10/18/2022 at 3:22 PM, OrbWeaver said:

To be honest I can't remember ever using TAB to choose between items in a group. I certainly wasn't aware of it when writing the user guide, which is why the section on converting to func_static mentions using TAB, but the section on grouping doesn't. But it would certainly be useful and consistent behaviour.

Here's what I said about it in the wiki's The Parts and Whole: DR_Groups:
 

Quote

 

Can I Select a Member within a Group?

Only by ungrouping as discussed in the Introduction and in UnGrouping.

Actions that you think might work but DON'T:

    Cycling through members of a Group with Tab or Shift-Tab.
    The top toolbar's buttons...
        "Select Entities" (which just toggles off other buttons)
        "Select Group Parts" (which selects particular primitives within an entity).

 

If someone makes a feature request to the bugtracker for this, I'll add a reference to it in the wiki

  • Like 1
Link to comment
Share on other sites

9 hours ago, Geep said:

You didn't say if the guard is actually expected to sit at this way point, or the console message is entirely spurious. If there is a sitting location, maybe random variation in the angle of AI's body makes the sit spot undetectable sometimes?

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

9 hours ago, Geep said:

If there is a sitting location, maybe random variation in the angle of AI's body makes the sit spot undetectable sometimes?

I wouldn't expect orientation to play a role in regards to pathfinding. The ai needs to get from its current position to a suitable one to play the sid down animation, but the path has nothing to do with what direction the ai is currently looking at. My assumption was that there is either something in the surrounding conditions that has changed, or it is a numerical issue.

@SeriousToniWhat mission are we talking about? If you can point me to the spot where it happens I may be able to take a look myself.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

1 hour ago, Obsttorte said:

I wouldn't expect orientation to play a role in regards to pathfinding. The ai needs to get from its current position to a suitable one to play the sid down animation, but the path has nothing to do with what direction the ai is currently looking at. My assumption was that there is either something in the surrounding conditions that has changed, or it is a numerical issue.

@SeriousToniWhat mission are we talking about? If you can point me to the spot where it happens I may be able to take a look myself.

I contacted bikerdude and he had a look. He claims that my monsterclip brushes were troublesome because they didn't went full up to the ceiling. I didn't have time to check this but I will post an update here as soon Im able to.

I also don't think this is orientation based, especially since the guard stops on a path node which is multiple notes away from the sitting path node. It's really strange, but I'll see what biker did and report here again. Thanks guys!

"Einen giftigen Trank aus Kräutern und Wurzeln für die närrischen Städter wollen wir brauen." - Text aus einem verlassenen Heidenlager

Link to comment
Share on other sites

If the monsterclip does not go up to the ceiling (touching the blocking brush up above) it can happen, that the pathfinding algorithm will consider the top of said monsterbrush as reachable by the ai, and will therefore add it to the aas. This can indeed cause odd behaviour, although I am not sure that it would explain what you are seeing. Usually the ai just tries awkward things like walking on top of a shelve or jittering up and down.

There is an impulse one can bind to a key to inspect the aas areas in game which is pretty useful for finding such spots. But I forgot which on it was. Grayman once posted it iirc.

Another thing worthwhile trying is to insert additional pathnodes. Is the pathnodes are far away from each other there may be things influencing the pathfinding which you then easely overlook. That's just an assumption, though.

Let's hope that Biker is lucky.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

@Geep@Obsttorte@AluminumHaste Problem seems to be solved. Bikerdude was probaply right about the monsterclip. I can't see in detail what he changed - he told me he set up the monsterclip brushes in a way that they touch the ceiling. When I created the map they were about 256 high or less, which may caused some aas pathfinding issues on top of them. They then randomly calculated the path wrong SOMETIMES in the game time. I placed lots of path corners and as I said, the sitting corner (that was noticed in the console log) is far, far and many path corners in between away from where the guard stopped.

Nevertheless - as it seems to be solved - to all "Noobs": If you place monsterclip, make sure it always touches the ceiling / sky! :)

"Einen giftigen Trank aus Kräutern und Wurzeln für die närrischen Städter wollen wir brauen." - Text aus einem verlassenen Heidenlager

Link to comment
Share on other sites

On 10/17/2022 at 8:16 PM, AluminumHaste said:

Open console, type

bind F10 "clear; dmap <mapname>; wait; map <mapname>"

If you want to run your map right after dmap finishes

Press F10

Thanks for this.

I can use clear;dmap [map] right in the console.

Link to comment
Share on other sites

9 hours ago, Obsttorte said:

There is an impulse one can bind to a key to inspect the aas areas in game which is pretty useful for finding such spots. But I forgot which on it was. Grayman once posted it iirc.

Just saw it is mentioned here: https://wiki.thedarkmod.com/index.php/Bindings_and_User_Settings

its _impulse27

  • Thanks 1

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

  • 2 weeks later...

Does anyone know how to prevent movers from damaging the player?

In my scenario, I have a set of double sliding doors that have 'auto_close_time' set so they close after a second or two.  If both doors hit the player they receive damage.  They are just doors so I don't really want that to happen.

I see there is a 'def_damage' entity attached, but not sure how to override/get rid of it.  I tried to set it to a nonsense value (e.g. 'none' or '-') but that didn't do the trick.

Edited by Frost_Salamander
Link to comment
Share on other sites

20 minutes ago, Geep said:

Does setting the following on the doors help?

"push_player"  "1"

Maybe combined with setting the auto_close_time to slightly different values on the 2 doors

Not really, no.  It does indeed push the player, but because it's 2 sliding doors you just get pushed into the other one and the damage still occurs.  I don't really want to change the value of the auto_close_time either for 'gameplay reasons' 🙂

Link to comment
Share on other sites

47 minutes ago, AluminumHaste said:

I just set up sliding doors to auto close and stood between them, they stopped upon touching me, and I didn't take any damage.

 

N2gWtgE.png

it might be because I also set stop_when_blocked  and 'interruptable' to '0'.

The reason for this is because they are elevator doors, so I want them to be behave just like the would in real life.  I found that just 'stop_when_blocked' alone did do enough - they would stop but if damage was taken by the player, they wouldn't then resume.  If damage wasn't taken, they would resume.

When I added 'uninterruptable' as well, they closed no matter what which is what I wanted (although you can now get trapped in them if you're not careful 😂 ).

Also, there are actually 4 doors - one set in the elevator carriage and one set to close off the shaft.

I didn't mention any of this earlier because it's pretty complicated and I got it all working the way I wanted, except for the damage part.

 

Edited by Frost_Salamander
Link to comment
Share on other sites

6 minutes ago, Geep said:

Also, maybe try setting def_damage to "atdm:damage_none"

I thought you were onto a winner here, but nope, still does damage 😞

Link to comment
Share on other sites

1 hour ago, Frost_Salamander said:

it might be because I also set stop_when_blocked  and 'interruptable' to '0'.

The reason for this is because they are elevator doors, so I want them to be behave just like the would in real life.  I found that just 'stop_when_blocked' alone did do enough - they would stop but if damage was taken by the player, they wouldn't then resume.  If damage wasn't taken, they would resume.

When I added 'uninterruptable' as well, they closed no matter what which is what I wanted (although you can now get trapped in them if you're not careful 😂 ).

Also, there are actually 4 doors - one set in the elevator carriage and one set to close off the shaft.

I didn't mention any of this earlier because it's pretty complicated and I got it all working the way I wanted, except for the damage part.

 

Might be better to use a script and area brush to see if the player is still in the way of the doors, then set them to close when they leave.

I always assumed I'd taste like boot leather.

 

Link to comment
Share on other sites

11 minutes ago, AluminumHaste said:

Ok I tried the same two spawnargs, stop when blocked to 0 and interruptable to 0, but I still don't take damage.

Interuptable 0 means players can't frob the door to stop it.

Odd - it's definitely happening to me.  I saw the doors Wiki page about interruptable and figured like you said it only applies to frobbing, but like I said the doors will stop (edit: the auto-close no longer works, even with blocked set to 0) when damage is inflicted, and using that is the only way I could get it to work. 

10 minutes ago, AluminumHaste said:

Might be better to use a script and area brush to see if the player is still in the way of the doors, then set them to close when they leave.

Actually what I really want to do is override the behavior of the atdm:mover_elevator_button entity. My main requirement is actually just to not let the elevator move unless the doors are closed (hence all the auto-closing nonsense).  But pressing that button causes it to move no matter what.  I just checked and it doesn't have a script object.  Is there a way to intercept the call that the button makes and insert custom code there? For example have an 'onPress' event that I could customize before sending it off to do its thing...

Edited by Frost_Salamander
Link to comment
Share on other sites

1 hour ago, Frost_Salamander said:

Actually what I really want to do is override the behavior of the atdm:mover_elevator_button entity. My main requirement is actually just to not let the elevator move unless the doors are closed (hence all the auto-closing nonsense).  But pressing that button causes it to move no matter what.  I just checked and it doesn't have a script object.  Is there a way to intercept the call that the button makes and insert custom code there? For example have an 'onPress' event that I could customize before sending it off to do its thing...

I've seen a technique for doing this, in The Painter's Wife. I borrowed the code myself for a WIP. The technique is basically to override the  multistateposition object (defined in tdm_movers.script) and implement the onMultiStateMoverLeave method, which stops the elevator before it gets going, tries to close the door(s), and then starts up the elevator again. The code is something like this:

void multistateposition::onMultiStateMoverLeaveEffector(entity mover)
{
	door.setFrobable(0);

	if (door.IsOpen())
	{
		door.Close();
		tdm_elevator elev;
		elev=mover;
		sys.waitFrame();
		elev.stopMoving();

		while(door.IsOpen()) 		//wait for door to close
		{
			sys.waitFrame();
		}

		elev.activate(elev.lastTriggeredBy);	//once door has closed, set the elevator in motion once more
		door.Lock();
	}

	else
	{
		door.Lock();
	}
}

Take a look at that FM to see how it's done.

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 3 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...