UE2 - UT2kX Specific Class Blocking

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.
Apr 11, 2006
738
0
16
I figured I may as well make a thread about this.

What I'm looking to do specifically is to have a volume that will block players (xPawns) but not Monsters (subclasses of xPawn). The standard BlockingVolume class blocking functionality seems to block the specified class and child classes, so this doesn't provide the behavior I'm looking for.

I know I can achieve the effect I'm looking for somewhat by using Rachel's One Way Volume and only adding xPawns but not Monsters to the check. This does achieve the behavior I want, but it seems like constantly resetting the position of players trying to enter the volume is seems like it's a little overkill. Surely there must be some easier way of doing this with Touch perhaps?
 

Wormbo

Administrator
Staff member
Jun 4, 2001
5,913
36
48
Germany
www.koehler-homepage.de
Not really. Collision is a purely native thing, and AFAIK BlockedClasses is the only class-specific blocking available.

RE: One way volume - if you want to block, i.e. prevent intersecting, you will have to use Touch/Untouch instead of PawnEntered/LeavingVolume, but the problem is that you might not be able to get the exact collision normal for a "natural" blocking effect.
 

Randori

New Member
May 31, 2009
22
0
0
Peterborough, Ontario, Canada
Would it work if you blocked all and reset the position of the monsters to allow them through? Still heavy handed yes, but the player won't get the disorientation of being teleported backward and the monster don't mind.
 

Wormbo

Administrator
Staff member
Jun 4, 2001
5,913
36
48
Germany
www.koehler-homepage.de
Blocking is a much stronger property than being let through. If you're blocked, there's no way to determine where you would be without getting blocked, since velocity and location are modified.
Ticked "pseudo-blocking" doesn't cause visible "backward teleporting" because it happens between every rendered frame. (assuming the blocking happens server- and clientsidely)
 
Apr 11, 2006
738
0
16
Yep, "blocking all but let monsters through" doesn't make sense when you think about it. The only way to "let them through" would be via a teleporter from one side of the volume to the other, a strategy that's already possible. Though I wonder how convincing the illusion would be if the blocking volume were minimally thick (Say, 8uu) and the teleporters were close enough and didn't spawn visual effects.
 

eblade

New Member
Jan 29, 2006
113
0
0
Code:
class playerblockingvolume extends blockingvolume;

defaultproperties {
    bStatic=False
    bWorldGeometry=False
    bBlockActors=False
}

... works for me?
 
Apr 11, 2006
738
0
16
Unfortunately I haven't had a chance to try it out. That said, I have no clue why it would work. And IIRC setting bStatic to false will cause problems in online play.
 

eblade

New Member
Jan 29, 2006
113
0
0
It might be because my game engine is 03 era, and uses a different class to block specific classes .. but in mine, all Actors have bBlockActors, bBlockPlayers .. bBlockPlayers=True bBlockActors=False means non-Player Pawns can go through.. also changing bStatic, I think only has an effect when you change it and it's not the Actor's default setting.
 
Last edited:

eblade

New Member
Jan 29, 2006
113
0
0
Might also be possible that it was made to work in this particular game, the engine does have a fair amount of differences between it and stock UE2 .. but Land of the Dead (build 2226) makes frequent use of the PlayerBlockingVolume so that zombies/monsters can go through areas that players can't...