[L4D2] Force survivors to hang on a surface

[L4D2] Force survivors to hang on a surface

Re: [L4D2] Force survivors to hang on a surface Posted by Digi on Sun Apr 8th 2012 at 5:11am
Digi
17 posts
Posted 2012-04-08 5:11am
Digi
member
17 posts 3 snarkmarks Registered: Apr 6th 2012 Occupation: Student Location: Romania
I am curious if it's possible to make a surface or a trigger if you fall inside it the survivors hangs to the nearest surface.

I need this for a static train, if you fall off the roof you should be able to hang on the ledge to be saved, instead of falling down into the trigger_hurt that'll kill you XD
Re: [L4D2] Force survivors to hang on a surface Posted by Riven on Sun Apr 8th 2012 at 6:37am
Riven
1640 posts
Posted 2012-04-08 6:37am
Riven
Wuch ya look'n at?
super admin
1640 posts 1266 snarkmarks Registered: May 2nd 2005 Occupation: Architect Location: Austin, Texas, USA
I know you can mark cliff edges for NPC navigation, and visa-verse . Either that, or exaggerate the invisible geometry that works as a hangable cliff edge near the visible believable geometry if necessary to achieve the effect. I don't know if that would work, but it may be worth a try.
Blog: www.playingarchitecture.net
LinkedIn: Eric Lancon
Twitter:@Riven202
Re: [L4D2] Force survivors to hang on a surface Posted by Digi on Sun Apr 8th 2012 at 6:43am
Digi
17 posts
Posted 2012-04-08 6:43am
Digi
member
17 posts 3 snarkmarks Registered: Apr 6th 2012 Occupation: Student Location: Romania
The problem is the height is not enough to trigger that automatically... and to make the floor passable it would look really bad when you fall through the map to your death.
Hmm, you mean I can mark ledges in the NAV generation ?
Re: [L4D2] Force survivors to hang on a surface Posted by Riven on Sun Apr 8th 2012 at 6:33pm
Riven
1640 posts
Posted 2012-04-08 6:33pm
Riven
Wuch ya look'n at?
super admin
1640 posts 1266 snarkmarks Registered: May 2nd 2005 Occupation: Architect Location: Austin, Texas, USA
Well, I tried looking on the VDC for a little bit without avail. I don't know what the height minimum must be to cause the cliff-hang bleed-out sequence, but I can't imagine it must be too far.

Maybe try this:
The visible ground for a dead ragdoll body to slam into may be too close, but it can be a simple func_illusionary. The real world geometry ground can be black and much farther away to trigger the effect. Now then, to get the ragdoll body to slam into the ground instead of clipping through it, perhaps add at the same face of the ground a physics clip brush and see if that affects the hang trigger sequence.

There may be more specific filter brush entities that could filter only for named ragdolls to block their physics with a logic_filter.

Just thinking about it really.... I don't know if any of that would work. You;d essentially have to name the survivors, and whatever ragdoll entity they produce when they die would have to carry that name in order to be affected by a logic_filter.

Does any of that make sense?
Blog: www.playingarchitecture.net
LinkedIn: Eric Lancon
Twitter:@Riven202
Re: [L4D2] Force survivors to hang on a surface Posted by Digi on Sun Apr 8th 2012 at 10:39pm
Digi
17 posts
Posted 2012-04-08 10:39pm
Digi
member
17 posts 3 snarkmarks Registered: Apr 6th 2012 Occupation: Student Location: Romania
Well, I moved the floor down, tried to trigger the ledge and I fell to my noclip-prevented screamy death :))
However, I did a nav_auto_build_area on the top and then tried again and it worked, I catched on the ledge... I saved the nav and recompiled with the floor back up but it didn't work anymore :/ I can't find something to always specify that the surface is a ledge, I think it's automatically calculated, so I need a fake floor.

Hmm, I could do a trigger to make the floor solid when someone actually falls... but how do I filter that specific player that falls ? Because it would disable ledge grabbing for other players that fell right after.
Re: [L4D2] Force survivors to hang on a surface Posted by Riven on Mon Apr 9th 2012 at 12:22am
Riven
1640 posts
Posted 2012-04-09 12:22am
Riven
Wuch ya look'n at?
super admin
1640 posts 1266 snarkmarks Registered: May 2nd 2005 Occupation: Architect Location: Austin, Texas, USA
I wouldn't trigger for a particular player, just for a name of a model. If you can name the player start entities, then you can filter for them. I don't know if the name of a player entity will carry over after they spawn or not, but you can use a filter_activator_name to filter out just player models.

Basically it would work like this:

Invisible trigger volume sends output to filter_activator_name when an entity hits it (OnStartTouch input). The filter tests it and if the entity passes the test (is one of the names to block), then the filter can send an output to a func_clip_vphysics to activate for that entity. In turn, the func_clip_vphysics can reference a filter to apply the logic automatically without the setup of an I/O. Look at the func_clip_vphysics keyvalues.

That's what I would try first. That way you're never making a solid ground too shallow to the ledge for the ledge mechanic to change. You're only activating entity/player-specific vphysics clips when players fall. You can always add a trigger_hurt to kill them instantly. :evil:
Blog: www.playingarchitecture.net
LinkedIn: Eric Lancon
Twitter:@Riven202
Re: [L4D2] Force survivors to hang on a surface Posted by Digi on Mon Apr 9th 2012 at 5:25am
Digi
17 posts
Posted 2012-04-09 5:25am
Digi
member
17 posts 3 snarkmarks Registered: Apr 6th 2012 Occupation: Student Location: Romania
It seems that func_clip_vphysics doesn't clip for players at all, I tried it without any filters and I go right through xD And it disallows me from latching to the ledge, it kinda does the exact opposite of what I'm trying to do :lol:

About filtering, I think filter_class for "player" would work as expected, that's what TF2 uses to kill anything but players in front of the cart.... but I don't know what to use it on =)

Anyway, I think it's better that I allow the player to fall through the ground and use a env_fade on him... because even if I block the body from going underground, I need to push it in a direction verry fast because it's a moving train xD

However I'm having more serious problems with the map than this, I'm gonna post a new topic with that.