Jump to content

Newbie DarkRadiant Questions


demagogue
 Share

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

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

Edited by Geep
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

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.

 Share


  • Recent Status Updates

    • peter_spy

      It's funny how perception changes over the years. I've been replaying Bioshock in its Remastered version, and I'm surprised how bad the level design actually is. It's just a series of abstract corridor mazes that you can't really map out in your head. There's nothing that would ground them in any kind of reality, fictional or otherwise, no sense of place people could live in. It's almost like Wolfenstein 3d with cool art deco assets.
      · 1 reply
    • STiFU

      Anyone here played Inscryption? At first, I was like "no, I am not going to play a stupid card game", but this game is so much more than that. It is so meta, full of 4th wall breaks, and feels so damn spooky and weird because of it. Absolutely recommended, if you can stand the visuals. I recommend not reading up too much on it, as that could easily spoil half the incredible surprises. Just know that what you see in the beginning is by far not everything.
      · 4 replies
    • freyk

      Tried to make a tdm advertisement commentpost at one of civvie11 youtube videos about T2. Post got marked as spam. His problem (to not discover TDM for himself),..not my problem.
      But some help of some fellow TDM yt-videocomment posters would be nice. To ask him and others, to play TDM. To get more players/creators. 
      · 5 replies
    • datiswous

      Currently Profile Information has 3 fields, these are shown in forum posts under your avatar:
      1. Gender
      2. Location
      3. Interests
      I think that it could be useful to have an extra field called "Operating system" (under location). It can be useful for tech support and to see what people use.
      Alternatively it could be a more general term, like PC system, so that you can for example state that you use an AMD gpu.
      · 2 replies
    • OrbWeaver

      Greetings fellow kids.
      · 11 replies
×
×
  • Create New...