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

  • 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/
  • Weve updated the Tripwire Privacy Notice under our Policies to be clearer about our use of customer information to come in line with the EU General Data Protection Regulation (GDPR) rules that come into force today (25th May 2018). The following are highlights of our changes:


    We've incorporated the relevant concepts from the GDPR including joining the EU and Swiss Privacy Shield framework. We've added explanations for why and how Tripwire processes customer data and the types of data that we process, as well as information about your data protection rights.



    For more information about our privacy practices, please review the new Privacy Policy found here: https://tripwireinteractive.com/#/privacy-notice

Benjamin

Grizzled Veteran
May 17, 2009
3,650
635
113
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: 8
Last edited:

Soanos

Member
Jul 2, 2009
569
8
18
Finland
Fantastic. I was hoping for something like this to be created.

Only one problem I can see. If people are inside one another, how can you give money to specific player?

Great work, though. :)

Two thumbs up!
 

Benjamin

Grizzled Veteran
May 17, 2009
3,650
635
113
France
If people are inside one another, how can you give money to specific player?

Move outside the trader? ;) It's the same deal currently, if the place is too crowded you can't move around and thus you can't really choose who you give money to, and if you are too close to someone it just goes straight through them.
 

Yoshiro

In Soviet Russia, Yoshiro is a cake
Staff member
Oct 10, 2005
13,170
3,982
113
Passed this one up the list for white listing. Please make sure Xienen can have a copy of your code.
 

rallfo

FNG / Fresh Meat
Jun 12, 2009
194
1
0
www.rallfo.com
But bBlockActors does not simply control collision with other players but BlockingVolumes, Ladders, DestroyableMeshes and other level apparatus that may lead to problems / exploits...
 

Benjamin

Grizzled Veteran
May 17, 2009
3,650
635
113
France
Dammit, that's a good point...

However, care to give some specific examples?
 
Last edited:

zYnthetic

FNG / Fresh Meat
Mar 20, 2009
1,071
168
0
Atlanta-ish
www.zynthetic.com
Walk out of the playing area in any map really. I haven't check myself but if players no longer collide blocking volumes and/or ladders (meshes) in many cases that's all that's keeping players in that map at certain points.
 

Benjamin

Grizzled Veteran
May 17, 2009
3,650
635
113
France
That's what I thought, but I've just tested some maps and I haven't been able to get out of them. Perhaps I don't fully understand, I'm very new to all of this.

Either way I think I may have an alternative solution, but I'll see how it goes.
 
Last edited:

rallfo

FNG / Fresh Meat
Jun 12, 2009
194
1
0
www.rallfo.com
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:

Benjamin

Grizzled Veteran
May 17, 2009
3,650
635
113
France
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.
 

rallfo

FNG / Fresh Meat
Jun 12, 2009
194
1
0
www.rallfo.com
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:

rallfo

FNG / Fresh Meat
Jun 12, 2009
194
1
0
www.rallfo.com
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:

Benjamin

Grizzled Veteran
May 17, 2009
3,650
635
113
France
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.