NexiusTailer / Nex-AC

Anticheat system
https://pawn.wiki/index.php?/topic/27641-nex-ac/
GNU Lesser General Public License v3.0
213 stars 155 forks source link

False positive for airbreak when surfing on object #330

Closed Walter-Correa closed 4 weeks ago

Walter-Correa commented 4 weeks ago

When surfing on an object at a slightly high speed, vertically upwards, the anti cheat accuses the use of airbreak (code 0).

NexiusTailer commented 4 weeks ago

Is it a per-player object or global one?

Walter-Correa commented 4 weeks ago

Is it a per-player object or global one?

Dynamic Object (per-player)

NexiusTailer commented 4 weeks ago

Well, there's unfortunately no native GetPlayerSurfingPlayerObjectID implemented in samp server, so this means that anticheat cannot obtain the surfing object of a player if this object is player-object type. However, Nex-AC starts to check this immediately after he finds this native declared from any other source (YSF, open.mp). So if you're running your server under omp, just declare this native:

native GetPlayerSurfingPlayerObjectID(playerid);

or use omp-stdlib includes where it's already declared. In case if you're on samp server and if you use YSF plugin, you can also just do:

#include <YSF>

before the anticheat so it can see the native declared in it and will use it for checking.

Walter-Correa commented 4 weeks ago

It worked, I just needed to put #include <YSF> before #include <nex-ac>. Thanks!