• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

KFAntiBlocker - Disables player-to-player collision during trader time

Benjamin

Grizzled Veteran
May 17, 2009
3,630
619
France
Warning: TWI have updated the whitelist to remove the old version of this mutator and add the new. Please install the new version if you want to use perks.

11 June 2010
Updated to version 1.1 which improves responsiveness and efficiency, and also does not require the client to download the mutator file.


KFAntiBlocker (Whitelisted)

Download it here.

Ignore the discussion below, TWI have since approved this mutator.
 

Attachments

  • KFAntiBlocker_1.1.zip
    2.2 KB · Views: 18
Last edited:
Example: Westlondon all the zombie spawn ramps become climbable, various glitches like the gate one that were solved by blocking volumes become active again...

Some sort of bBlockOtherPlayers will need to be implemented at the engine level by TWI because when you dig down through all the unrealscript layers blocking behaviour is actually implemented in this native C++ function:

Code:
virtual UBOOL ShouldTrace(AActor *SourceActor, DWORD TraceFlags);
Which neither modder nor mutator can touch.

In the meantime this mutator is unfortunately not really safe to be used and its white-listing potentially opens up levelling exploits.

EDIT:
Seeing as it could be easier for the devs to implement perhaps ALL player-player collision should just simply be removed like it is in many other online games (bullet/projectiles/money and other actors would obviously still collide with players).

As I see it all it does is cause this problem and some exploits involving jumping on other players heads.

At any rate I really think what this mutator attempts to implement is an extremely necessary feature that should be made possible asap.
 
Last edited:
Upvote 0
Example: Westlondon all the zombie spawn ramps become climbable, various glitches like the gate one that were solved by blocking volumes become active again...

Are you sure this applies to those that are part of the map? I haven't been able to use that gate glitch or get out of any map yet, though maybe I'm looking for the wrong areas to try to get out of.

Oh well, thanks for the information. Previously I had thought that it would have to be implemented at engine-level, then I thought that perhaps bBlockActors could be used for this purpose. Shame.
 
Upvote 0
Unfortunately I am 100% sure, having in fact tried it out myself (singleplayer + fly is a good way to test collision) and having a rudimentary understanding of how UE2 works in this regard.

From the docs:
bool bBlockActors
Blocks other actors that also have bBlockActors set. The two actors will not be permitted to occupy the same space, and if the location of one is changed such that it would overlap with another blocking actor, the first (the one that just moved) will be moved to the nearest valid location by the engine. This defaults to false.
The key word in there is ACTOR. Nowhere is pawn/player mentioned, and in fact it could not be, given this is a property of Actor not of Pawn.

In case you weren't aware this is the base class of ALL objects in the game world and therefore include ladders, blockingvolumes and everything else by definition.

Essentially the game engine does not support specifically setting player vs player collision at this stage, hence my previous post calling for TWI to add it.

EDIT:
Don't get me wrong it's a real shame your solution doesn't work perfectly, if anything I'd want it to work more than you! (imagine 32 players in an undersized trader) But a solution to a problem can't go creating more...

On consideration a more refined reproach would be to only disable collision if a player is penetrating/touching the Trader volume, which would mitigate this issue outside the trader, but then there is still the issue of the blocking volumes used to stop players climbing behind the counter and getting stuck.

Best solution is if TWI added a flag to KFHumanPawn setting whether it collides with other ones or not.
 
Last edited:
Upvote 0
It gives me no pleasure being the bringer of bad news that causes you to have to remove this for the time being, especially something I would have loved to use on my own server, thanks for doing the right thing and showing great responsibility. :eek:

In line with your decision TWI should be informed of what they need to implement engine-side and asked to remove this version of the mutator from the whitelist.
 
Last edited:
Upvote 0
Haha it's ok, I'm very grateful you've pointed out this flaw to me. I would not have liked to be the one who inadvertently opened up another avenue for exploiting. :p

I did think I had a possible workaround but upon further thought it wouldn't really be possible. UnrealScript is confusing! It's great though at the same time, and I'm glad to have started getting into it.

I've PM'd a dev about this now, and the request.
 
Upvote 0