[Include] Nex-AC - Anticheat system
#1

Nex Anticheat (Nex-AC) - is a comprehensive protection which combines powerful anticheat and protection against various attacks (flood, DoS).
Anticheat detects popular cheats instantly punishing cheaters.
Anti-DoS combines customizable anti-flood, anti-DoS at network level and a lot of protection tools against hacking, crashers etc.

List of basic anti-cheats:
* Anti-AirBreak (onfoot/in vehicle)
* Anti-teleport hack (onfoot/into/in/between vehicles)
* Anti-teleport (pickups)
* Anti-FlyHack (onfoot/in vehicle)
* Anti-SpeedHack (onfoot/in vehicle)
* Anti-Health hack (onfoot/in vehicle) and armour hack
* Anti-Weapon hack and (add/infinite) ammo hack
* Anti-Special actions hack (including jetpack)
* Anti-GodMode from bullets (onfoot/in vehicle)
* Anti-Invisible hack
* Anti-Money hack
* Anti-Tuning hack
* Anti-lagcomp-spoof
* Anti-Parkour mod
* Anti-Quick turn
* Anti-Rapid fire
* Anti-FakeSpawn
* Anti-FakeKill
* Anti-Pro Aim
* Anti-CJ run
* Anti-CarShot
* Anti-CarJack
* Anti-UnFreeze
* Anti-AFK Ghost
* Anti-Reconnect
* Anti-High ping
* Anti-Fake NPC
* Anti-Dialog hack
* Protection from sandbox
* Protection from invalid version
* Protection from flood by seat changing
* Protection from connection flood in one slot
* Anti-Rcon hack (brute/brute-force)
* Anti-callback functions flood (complete list below)
* Anti-crashers (complete list below)
* Anti-NOPs (complete list below)
* Anti-DoS

Additional features:
* Setting anticheat from file
The settings is located in a separate file (scriptfiles\nex-ac_settings.cfg)
* Statistics viewing
Ability to view statistics of the anticheat for all the time of server work since its launch
Displayed automatically when the server turns off. Stored in a server log (server_log.txt)
* Logging the most important actions
Optionally, you can enable debug-mode for logging all actions
* Multilingual
Ability to set any of the available languages.
It also simplifies the process of translation of anticheat into other languages

List of publics which are protected by anti-flood:
* OnDialogResponse
* OnEnterExitModShop
* OnPlayerClickMap
* OnPlayerClickPlayer
* OnPlayerClickTextDraw
* OnPlayerCommandText
* OnPlayerEnterVehicle
* OnPlayerExitVehicle
* OnPlayerPickUpPickup
* OnPlayerRequestClass
* OnPlayerSelectedMenuRow
* OnPlayerStateChange
* OnVehicleMod
* OnVehiclePaintjob
* OnVehicleRespray
* OnVehicleDeath
* OnPlayerText
* OnPlayerEnterCheckpoint
* OnPlayerLeaveCheckpoint
* OnPlayerRequestSpawn
* OnPlayerExitedMenu
* OnPlayerEnterRaceCheckpoint
* OnPlayerLeaveRaceCheckpoint
* OnPlayerClickPlayerTextDraw
* OnVehicleDamageStatusUpdate
* OnPlayerSelectObject

Anti-NOPs:
* SpawnPlayer
* SetPlayerPos
* SetVehiclePos
* SetPlayerAmmo
* SetPlayerHealth
* SetPlayerArmour
* SetVehicleHealth
* GivePlayerWeapon
* SetPlayerPosFindZ
* SetPlayerInterior
* PutPlayerInVehicle
* ResetPlayerWeapons
* SetPlayerSpecialAction
* TogglePlayerSpectating
* RemovePlayerFromVehicle

Anti-Crashers:
* Invalid tuning
* Invalid vehicle seat
* Illegal characters in the dialogs (deleting)
* Invalid attached objects
* Weapon Crasher

Functions:
Code:
public OnCheatDetected(playerid, ip_address[], type, code)
 Called when triggers one of the anti-cheats
 playerid - The ID of the cheater
 ip_address[] - IP-address of the cheater
 type - Type of cheating (when 0 it returns the ID, when 1 - IP)
 code - The code (ID) of the anti-cheat
 This callback does not handle returns

EnableAntiCheat(code, enable)
 Use to enable/disable one of the anti-cheats
 code - The ID of the anti-cheat
 enable - 1 to enable/0 to disable
 Returns 1 (true) if the function executed successfully or 0 (false) if the code parameter contains an invalid ID of the anti-cheat

EnableAntiCheatForPlayer(playerid, code, enable)
 Use to enable/disable one of the anti-cheats for a specific player
 playerid - The ID of the player to enable/disable the anti-cheat for
 code - The ID of the anti-cheat
 enable - 1 to enable/0 to disable
 Returns 1 if the function executed successfully, 0 if the player is not connected or -1 if the code parameter contains an invalid ID of the anti-cheat


Added in v1.3:

IsAntiCheatEnabled(code)
 Use to check whether one of the anti-cheats is enabled/disabled
 code - The ID of the anti-cheat to check
 Return 1 (true) if enabled or 0 (false) if disabled

IsAntiCheatEnabledForPlayer(playerid, code)
 Use to check whether one of the anti-cheats is enabled/disabled for a specific player
 playerid - The ID of the player to be checked whether the anti-cheat enabled/disabled for him
 code - The ID of the anti-cheat to check
 Return 1 (true) if enabled or 0 (false) if disabled


Added in v1.8.8:

AntiCheatGetHealth(playerid, &Float:health)
 Use to get the amount of the player's health
 playerid - The ID of the player to get the health of
 &Float:health - A variable to store the health in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected

AntiCheatGetArmour(playerid, &Float:armour)
 Use to get the amount of the player's armour
 playerid - The ID of the player to get the armour of
 &Float:armour - A variable to store the armour in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected

AntiCheatGetVehicleHealth(vehicleid, &Float:health)
 Use to get the amount of the vehicle's health
 vehicleid - The ID of the vehicle to get the health of
 &Float:health - A variable to store the health in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist

AntiCheatGetWeaponData(playerid, slot, &weapons, &ammo)
 Use to get the weapon and ammo in a specific player's weapon slot
 playerid - The ID of the player whose weapon data to retrieve
 slot - The slot to get the weapon and ammo for
 &weapons - A variable to store the weapon ID in, passed by reference
 &ammo - A variable to store the ammo in, passed by reference
 Returns 1 if the function executed successfully, 0 if the player is not connected or -1 if the slot specified is invalid

AntiCheatGetSpawnWeapon(playerid, &weapon1, &weapon1_ammo, &weapon2, &weapon2_ammo, &weapon3, &weapon3_ammo)
 Use to get spawn weapons and ammo of a player
 playerid - The ID of the player whose spawn weapons and ammo to retrieve
 &weapon1 - A variable in which to store the weapon 1, passed by reference
 &weapon1_ammo - A variable in which to store the amount of ammo for the weapon 1, passed by reference
 &weapon2 - A variable in which to store the weapon 2, passed by reference
 &weapon2_ammo - A variable in which to store the amount of ammo for the weapon 2, passed by reference
 &weapon3 - A variable in which to store the weapon 3, passed by reference
 &weapon3_ammo - A variable in which to store the amount of ammo for the weapon 3, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected

AntiCheatGetPos(playerid, &Float:x, &Float:y, &Float:z)
 Use to get the position of a player
 playerid - The ID of the player to get the position of
 &Float:x - A variable to store the x coordinate in, passed by reference
 &Float:y - A variable to store the y coordinate in, passed by reference
 &Float:z - A variable to store the z coordinate in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected

AntiCheatGetVehicleVelocity(vehicleid, &Float:x, &Float:y, &Float:z)
 Use to get the velocity of a vehicle
 vehicleid - The ID of the vehicle to get the velocity of
 &Float:x - A variable to store the x velocity in, passed by reference
 &Float:y - A variable to store the y velocity in, passed by reference
 &Float:z - A variable to store the z velocity in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist

AntiCheatGetSpeed(playerid)
 Use to get the speed of a player
 playerid - The ID of the player to get the speed of
 Returns the player's speed or 0 if the player is not connected

AntiCheatGetAnimationIndex(playerid)
 Use to get the index (ID) of a player's current animation
 playerid - The ID of the player to get the animation index of
 Returns the ID of the animation or 0 if the player is not connected

AntiCheatGetDialog(playerid)
 Use to get the ID of the opened dialog of a player
 playerid - The ID of the player to get the active dialog ID of
 Returns the ID of the dialog or -1 if the player is not connected

AntiCheatGetEnterVehicle(playerid)
 Use to get the ID of the vehicle the player attempted to enter last time
 playerid - The ID of the player to get the last entered vehicle ID of
 Returns the ID of the entered vehicle or 0 if the player is not connected

AntiCheatGetVehicleID(playerid)
 Use to get the ID of the vehicle the player is currently in
 playerid - The ID of the player in the vehicle to get the ID of
 Returns the ID of the vehicle or 0 if the player is not connected

AntiCheatGetWeapon(playerid)
 Use to get the current weapon ID of a player
 playerid - The ID of the player to get the currently held weapon of
 Returns the ID of the weapon or -1 if the player is not connected

AntiCheatGetVehicleSeat(playerid)
 Use to get the seat of the vehicle the player is currently in
 playerid - The ID of the player to get the seat of
 Returns the ID of the seat or -1 if the player is not connected

AntiCheatGetSpecialAction(playerid)
 Use to get the ID of the special action of a player
 playerid - The ID of the player to get the special action of
 Returns the ID of the special action or 0 if the player is not connected

AntiCheatGetLastSpecialAction(playerid)
 Use to get the ID of the previous special action of a player
 playerid - The ID of the player to get the previous special action of
 Returns the ID of the previous special action or 0 if the player is not connected

AntiCheatGetLastShotWeapon(playerid)
 Use to get the ID of the last weapon the player shot from
 playerid - The ID of the player to get the last shot weapon ID of
 Returns the ID of the last shot weapon or `-1` if the player is not connected

AntiCheatGetLastPickup(playerid)
 Use to get the ID of the last pickup which the player picked up
 playerid - The ID of the player to get the last picked up pickup ID of
 Returns the ID of the last picked up pickup or -1 if the player is not connected

AntiCheatGetLastUpdateTime(playerid)
 Use to get a player's last update tick
 playerid - The ID of the player to get the last update tick of
 Returns the tick of the last update or 0 if the player is not connected

AntiCheatGetLastReloadTime(playerid)
 Use to get a player's last weapon reload tick
 playerid - The ID of the player to get the last reload tick of
 Returns the tick of the last reload or 0 if the player is not connected

AntiCheatGetLastEnteredVehTime(playerid)
 Use to get a player's last entering vehicle attempt tick
 playerid - The ID of the player to get the last entering vehicle attempt tick of
 Returns the tick of the last entering attempt or 0 if the player is not connected

AntiCheatGetLastShotTime(playerid)
 Use to get a player's last weapon shot tick
 playerid - The ID of the player to get the last shot tick of
 Returns the tick of the last shot or 0 if the player is not connected

AntiCheatGetLastSpawnTime(playerid)
 Use to get a player's last spawn tick
 playerid - The ID of the player to get the last spawn tick of
 Returns the tick of the last spawn or 0 if the player is not connected

AntiCheatIntEnterExitsIsEnabled(playerid)
 Use to check whether the enter/exit markers in interiors are enabled/disabled for a player
 playerid - The ID of the player to check
 Returns 1 (true) if enabled or 0 (false) if disabled

AntiCheatStuntBonusIsEnabled(playerid)
 Use to check whether stunt bonus is enabled/disabled for a player
 playerid - The ID of the player to check
 Returns 1 (true) if enabled or 0 (false) if disabled

AntiCheatIsInModShop(playerid)
 Use to check whether a player is in ModShop or not
 playerid - The ID of the player to check
 Returns 1 (true) if it is or 0 (false) if it is not

AntiCheatIsFrozen(playerid)
 Use to check whether a player is frozen or not
 playerid - The ID of the player to check
 Returns 1 (true) if frozen or 0 (false) if not frozen

AntiCheatIsDead(playerid)
 Use to check whether a player is dead or not
 playerid - The ID of the player to check
 Returns 1 (true) if dead or 0 (false) if not dead

AntiCheatIsConnected(playerid)
 Use to check whether a player is on the server or not
 playerid - The ID of the player to check
 Returns 1 (true) if it is or 0 (false) if it is not


Added in v1.9.37:

public OnCheatWarning(playerid, ip_address[], type, code, code2, count)
 Called when triggers any warnings of one of the anti-cheats
 playerid - The ID of the suspected cheater
 ip_address[] - IP-address of the suspected cheater
 type - Type of cheating (when `0` it returns the ID, when `1` - IP)
 code - The code (ID) of the anti-cheat
 code2 - The subcode (ID) of the anti-cheat check
 count - Count of warnings triggered on suspected cheater
 This callback does not handle returns

public OnFloodWarning(playerid, publicid, count)
 Called when triggers any anti-flood warnings on one of the protected publics
 playerid - The ID of the suspected flooder
 publicid - The ID of the public that was called too quickly
 count - Count of warnings triggered on suspected flooder
 This callback does not handle returns

public OnNOPWarning(playerid, nopid, count)
 Called when triggers any NOP warnings on one of the protected functions
 playerid - The ID of the suspected cheater
 nopid - The ID of the NOP check
 count - Count of warnings triggered on suspected cheater
 This callback does not handle returns

AntiCheatKickWithDesync(playerid, code)
 Use to kick with desync a specific player by the anticheat
 playerid - The ID of the player who will be kicked with desync for the delay time
 code - The ID of the anti-cheat (with some codes the player's vehicle will be resynced after his disconnection)
 Returns 1 if the function executed successfully, 0 if the player is not connected or -1 if the player has already been kicked

AntiCheatIsKickedWithDesync(playerid)
 Use to check whether a player is (being) kicked or not
 playerid - The ID of the player to check
 Returns 1 for kick onfoot, 2 for kick in a vehicle (driver), 3 if player is already disconnected or 0 if he isn't kicked


Added in v1.9.40:

AntiCheatGetSpawnPos(playerid, &Float:x, &Float:y, &Float:z)
 Use to get the spawn position of a player
 playerid - The ID of the player to get the spawn position of
 &Float:x - A variable to store the x coordinate in, passed by reference
 &Float:y - A variable to store the y coordinate in, passed by reference
 &Float:z - A variable to store the z coordinate in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the player is not connected


Added in v1.9.41:

EnableAntiNOP(nopcode, enable)
 Use to enable/disable one of the anti-NOPs
 nopcode - The ID of the anti-NOP
 enable - 1 to enable/0 to disable
 Returns 1 (true) if the function executed successfully or 0 (false) if the nopcode parameter contains an invalid ID of the anti-NOP

EnableAntiNOPForPlayer(playerid, nopcode, enable)
 Use to enable/disable one of the anti-NOPs for a specific player
 playerid - The ID of the player to enable/disable the anti-NOP for
 nopcode - The ID of the anti-NOP
 enable - 1 to enable/0 to disable
 Returns 1 if the function executed successfully, 0 if the player is not connected or -1 if the nopcode parameter contains an invalid ID of the anti-NOP

IsAntiNOPEnabled(nopcode)
 Use to check whether one of the anti-NOPs is enabled/disabled
 nopcode - The ID of the anti-NOP to check
 Return 1 (true) if enabled or 0 (false) if disabled

IsAntiNOPEnabledForPlayer(playerid, nopcode)
 Use to check whether one of the anti-NOPs is enabled/disabled for a specific player
 playerid - The ID of the player to be checked whether the anti-NOP enabled/disabled for him
 nopcode - The ID of the anti-NOP to check
 Return 1 (true) if enabled or 0 (false) if disabled


Added in v1.9.42:

AntiCheatGetVehicleDriver(vehicleid)
 Use to get the ID of the driver ID of the vehicle
 vehicleid - The ID of the vehicle to get the driver ID of
 Returns the ID of the driver or INVALID_PLAYER_ID if the vehicle does not exist

AntiCheatGetVehicleInterior(vehicleid)
 Use to get the ID of the current interior ID of the vehicle
 vehicleid - The ID of the vehicle to get the interior ID of
 Returns the ID of the interior or 0 if the vehicle does not exist

AntiCheatGetVehiclePaintjob(vehicleid)
 Use to get the ID of the paintjob ID of the vehicle
 vehicleid - The ID of the vehicle to get the paintjob ID of
 Returns the ID of the paintjob or 3 if the vehicle does not exist


Added in v1.9.43:

AntiCheatGetVehiclePos(vehicleid, &Float:x, &Float:y, &Float:z)
 Use to get the position of a vehicle
 vehicleid - The ID of the vehicle to get the position of
 &Float:x - A variable to store the x coordinate in, passed by reference
 &Float:y - A variable to store the y coordinate in, passed by reference
 &Float:z - A variable to store the z coordinate in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist

AntiCheatGetVehicleZAngle(vehicleid, &Float:z_angle)
 Use to get the z rotation of a vehicle
 vehicleid - The ID of the vehicle to get the z rotation of
 &Float:z_angle - A variable to store the z rotation in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist

AntiCheatGetVehicleSpawnPos(vehicleid, &Float:x, &Float:y, &Float:z)
 Use to get the spawn position of a vehicle
 vehicleid - The ID of the vehicle to get the spawn position of
 &Float:x - A variable to store the x coordinate in, passed by reference
 &Float:y - A variable to store the y coordinate in, passed by reference
 &Float:z - A variable to store the z coordinate in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist

AntiCheatGetVehicleSpawnZAngle(vehicleid, &Float:z_angle)
 Use to get the spawn z rotation of a vehicle
 vehicleid - The ID of the vehicle to get the spawn z rotation of
 &Float:z_angle - A variable to store the z rotation in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the vehicle does not exist


Added in v1.9.46:

AntiCheatGetInterior(playerid)
 Use to get the ID of the interior the player is currently in
 playerid - The ID of the player to get the interior ID of
 Returns the ID of the interior or 0 if the player is not connected


Added in v1.9.50:

AntiCheatGetEnterVehicleSeat(playerid)
 Use to get the seat of the vehicle the player attempted to enter last time
 playerid - The ID of the player to get the last entered seat of
 Returns the ID of the entered seat or -1 if the player is not connected

AntiCheatGetWeaponInSlot(playerid, slot)
 Use to get the weapon ID in a specific player's weapon slot
 playerid - The ID of the player to get the weapon ID of
 slot - The slot to get the weapon ID for
 Returns the ID of weapon in a specific slot, -1 if the player is not connected or -2 if the slot specified is invalid

AntiCheatGetAmmoInSlot(playerid, slot)
 Use to get the ammo in a specific player's weapon slot
 playerid - The ID of the player to get the ammo of
 slot - The slot to get the ammo for
 Returns the amount of ammo in a specific slot, -1 if the player is not connected or -2 if the slot specified is invalid

AntiCheatIsInSpectate(playerid)
 Use to check whether a player is in spectator mode or not
 playerid - The ID of the player to check
 Returns 1 (true) if it is or 0 (false) if it is not

AntiCheatGetVehicleSpeed(vehicleid)
 Use to get the speed of a vehicle
 vehicleid - The ID of the vehicle to get the speed of
 Returns the vehicle speed or 0 if the vehicle does not exist

AntiCheatIsVehicleSpawned(vehicleid)
 Use to check whether a vehicle is spawned or not
 vehicleid - The ID of the vehicle to check
 Returns 1 (true) if it is or 0 (false) if it is not


Added in v1.9.53:

AntiCheatGetPickupPos(pickupid, &Float:x, &Float:y, &Float:z)
 Use to get the position of a pickup
 pickupid - The ID of the pickup to get the position of
 &Float:x - A variable to store the x coordinate in, passed by reference
 &Float:y - A variable to store the y coordinate in, passed by reference
 &Float:z - A variable to store the z coordinate in, passed by reference
 Returns 1 (true) if the function executed successfully or 0 (false) if the pickup does not exist
Example of setting OnCheatDetected in your gamemode

Multilingual:
The script can be configured in any of the available languages. To do it, just download the desired localization, save it in a directory with the main include (nex_ac.inc) and recompile your script.

Available languages:
* Russian (RU) (v1.0 - 1.9.53): 4shared Pastebin
* Belarusian (BY) (v1.0 - 1.9.53): 4shared Pastebin
* English (EN) (v1.0 - 1.9.53):
* 4shared Pastebin
* Solidfiles Pastebin (by KyleSmith)
* Solidfiles Pastebin (by infin1tyy)
* German (DE) (v1.0 - 1.9.53): Solidfiles Pastebin (by Carper)
* Dutch (NL) (v1.0 - 1.9.53): Solidfiles Jstylezzz.com Pastebin (by Jstylezzz)
* Italian (IT) (v1.0 - 1.9.53):
* Solidfiles Pastebin (by J4Rr3x)
* Solidfiles Pastebin (by Sasino97)
* Spanish (ES) (v1.0 - 1.9.53):
* Solidfiles Pastebin (by Alex Westbrook)
* Solidfiles Pastebin (by JustBored)
* Georgian (GE) (v1.0 - 1.9.53):
* Solidfiles Pastebin (by lashona)
* Solidfiles Pastebin (by ArthourP)
* Solidfiles Pastebin (by DAKYSKYE)
* Polish (PL) (v1.0 - 1.9.53): Solidfiles Pastebin (by wampiros6)
* Serbian (RS) (v1.0 - 1.9.53):
* Solidfiles Pastebin (by DeitY)
* Solidfiles Pastebin (by Dragony92)
* Portuguese (PT/BR) (v1.0 - 1.9.53): Solidfiles Pastebin (by NicK_)
* Persian (Farsi) (FA) (v1.0 - 1.9.53): Solidfiles Pastebin (by M4D)
* Ukrainian (UA) (v1.0 - 1.9.53): Solidfiles Pastebin (by Valera_Kovshikov)
* Indonesian (ID) (v1.0 - 1.9.53): Solidfiles Pastebin (by RaefaldhiAmartya)
* Croatian (HR) (v1.0 - 1.9.53): Solidfiles Pastebin (by vannesenn)
* French (FR) (v1.0 - 1.9.53):
* Solidfiles Pastebin (by j3rry)
* Solidfiles Pastebin (by vic1997)
* Lithuanian (LT) (v1.0 - 1.9.53): Solidfiles Pastebin (by zaibaslr2)
* Romanian (RO) (v1.0 - 1.9.53): Solidfiles Pastebin (by UnforgiveNNN)
* Hungarian (HU) (v1.0 - 1.9.53): Solidfiles Pastebin (by Pedro.)
* Finnish (FI) (v1.0 - 1.9.53): Solidfiles Pastebin (by Ben_Lovejoy)
* Latvian (LV) (v1.0 - 1.9.53): Solidfiles Pastebin (by Rengar)
* Bulgarian (BG) (v1.0 - 1.9.53): MediaFire Pastebin (by bgedition)
* Turkish (TR) (v1.0 - 1.9.53): Solidfiles Pastebin (by Jensenn)
* Slovak (SK) (v1.0 - 1.9.53): MediaFire Pastebin (by Sanady)
* Armenian (AM) (v1.0 - 1.9.53): Solidfiles Pastebin (by Grig)
* Czech (CZ) (v1.0 - 1.9.53): Solidfiles Pastebin (by SooBad)
* Estonian (EE) (v1.0 - 1.9.53): Solidfiles Pastebin (by OldPawn)
* Turkmen(v1.0 - 1.9.53): Solidfiles Pastebin (by Negativ_Tm)
* Vietnamese (VN) (v1.0 - 1.9.53): Solidfiles Pastebin (by Trung.Tin)
* Albanian (AL) (v1.0 - 1.9.53): Solidfiles Pastebin (by willbedie)
* Thai (TH) (v1.0 - 1.9.53): Solidfiles Pastebin (by aktah)
* Moldavian (MD) (v1.0 - 1.9.53): Solidfiles Pastebin (by Michael.Richmond)
* Bosnian (BS) (v1.0 - 1.9.53): Solidfiles Pastebin (by NemanjaMAX)

* .lang files can be opened even in default notepad and easily edited

Did not find your language? Help the project :)
If you know well a language that is not in the list, please translate anticheat into this language. To do this, just share the translated .lang file in this thread.
I will be very glad of your help and add you in the list of those who helped the development of the anticheat.

It is also recommended to check for using any other anticheats in order to avoid conflicts with them.

Download:
* v1.9.53: MediaFire Pastebin

* GitHub

Installation:
1. Download version of the anticheat which compatible with the version of your server
2. Download the language file (.lang) in your preferred language
3. Copy both files to a folder "/pawno/include" which is located in a folder with the server
4. In gamemode and all filterscripts, after "#include <a_samp>" write the following: "#include <nex-ac>"
5. Compile the modified scripts

Warnings:
* If you use Streamer Plugin by Incognito, Pawn.RakNet, foreach, sscanf, YSF or SKY, include it before nex-ac!
* If you are hosting on Windows, you need to include a library that fixes 'GetTickCount'. That could be fixes.inc or YSF. Otherwise you need to change all 'GetTickCount' for 'tickcount' in this include. Do not do this on Linux, this is only for people hosting their server on Windows
* Also keep in mind that filterscript must have "#define FILTERSCRIPT" before including the anticheat

Changelog:
Code:
v1.0
* Initial release

v1.1
Changes:
* Compatible with Streamer Plugin
* Compatible with y_hooks
* Minor optimization

Fixes:
* Increased certain values and the distance considering ping
* Fixed a bug with a pick up similar weapons on the pickups
* Fixed a bug with a kick when spawn and then install the player position/interior
* Fixed a bug with a kick when spawn and then install the player weapons (if used AddPlayerClass/Ex)
* Fixed crash when calling ShowPlayerDialog in CallRemoteFunction

v1.2
Changes:
* Compatible with y_dialog
* Additional compatibility with foreach

Fixes:
* Fixed several bugs in Anti-God Mode
* Fixed a bug with a kick during prolonged shooting a minigun
* Fixed display of statistics and reports about kick
* Tweaked Belarusian localization

Now it is available on GitHub! (by popular demand)

v1.3
Changes:
* Added "#define USE_QUERY" (true by default)
** If your server is under Brute-force attack - for better protection USE_QUERY value can be changed to false
** Attention! If false, the server will not display the information in the server browser, so use in extreme cases!
* Added features IsAntiCheatEnabled and IsAntiCheatEnabledForPlayer

Fixes:
* Fixed load anticheat configuration from config-file
* Increased some values in favor of players with high ping
* Rcon protection (against Brute-force) now also dynamically enabled/disabled by function EnableAntiCheat
* Fixed minor bugs in the anti-cheats on ammo hack, RapidFire, SpeedHack in vehicle, Anti-GodMode on foot and in vehicle

v1.4
Changes:
* Compatible with Socket Plugin
* Removed some anti-crashers (which are fixed in the new version r2)
* Improved anti-tuning hack: now detects free tuning in ModShops
* Improved anti-carshot

Fixes:
* Tweaked some values in the anti-flood
* Fixed several bugs in anti-weapon hack
* Fixed a bug where all the cars could have a siren
* Fixed a bug in the anti-teleport hack with a kick at the entrance to ModShop
* Fixed a bug in the anti-GodMode onfoot with a kick if the bullets were desync

v1.5
Changes:
* Improved interaction with anticheat by OnCheatDetected
* Improved Anti-ProAim: now detects Silent-Aim
* Removed error when compiling, if you have not included the localization
* Minor optimization

Fixes:
* Fixed compatibility with Streamer Plugin
* Fixed compatibility with a foreach from last YSI
* Improved Anti-GodMode onfoot and Anti-GodMode in vehicle
* Fixed a bug in Anti-FlyHack with a kick when jumping on a bike
* Fixed some bugs in Anti-Invisible hack

v1.6
Changes:
* Improved compatibility with y_hooks in the latest YSI
* Improved Anti-Rapid fire: now detects fast reload
* For security reasons, added a few Anti-Aim crashers
* Added check when compiling for compatibility with the server version
* OnCheatDetected is now called even for those detects, which are don't kick by default
* Anti-UnFreeze hack is now disabled by default

Fixes:
* Fixed a bug in Anti-Teleport into vehicle with enter closed vehicle
* Fixed protection against Rcon hack (in game)
* Fixed function EnableAntiCheat

v1.7
Changes:
* Updated Anti-Tuning crasher
* Additional compatibility with sscanf
* Improved compatibility with other scripts

Fixes:
* Fixed compatibility with Streamer Plugin
* Fixed Anti-SpeedHack, Anti-Flood and Anti-Invisible hack
* Fixed a bug in Anti-Ammo hack with ResetPlayerWeapons function

v1.8
Changes:
* Improved Anti-RapidFire: now detects Auto +C
* Minor optimization

Fixes:
* Fixed some anticheats which didn't worked properly
* Increased the maximum allowable onfoot speed
* Fixed a bug in Anti-Invalid seat crasher
* Fixed Anti-Weapon and Ammo hack

v1.8.1
Changes:
* Rewrote the Anti-Dialog crasher (%)

Fixes:
* Fixed a bug in Anti-Ammo hack with a kick for a detonator
* Fixed debug mode

v1.8.2
Fixes:
* Fixed EnableAntiCheatForPlayer function
* Fixed bugs with "#define AC_USE_<...>"

v1.8.3
Fixes:
* Fixed display messages about kick in some localizations

v1.8.4
Changes:
* Minor optimization

Fixes:
* Increased some values (considering ping)
* Fixed a bug in Anti-RapidFire with a kick for the shooting of the passenger seat
* Fixed a bug in Anti-Ammo hack with a kick for the shooting of the driver's seat

v1.8.5
Fixes:
* Fixed some checks for invalid vehicle model

v1.8.6
Changes:
* Returned some anti-crashers (which are "fixed" in version r2)

v1.8.7
Fixes:
* Fixed a bug in Anti-FlyHack (onfoot) with a kick for a jump to the water

v1.8.8
Changes:
* Improved code readability
* Minor bug fixes and improvements
* Added debug functions

Fixes:
* Fixed compatibility with the latest versions of Streamer Plugin and YSI

v1.8.9
Fixes:
* Tweaked some settings
* Fixed GivePlayerWeapon and SetPlayerAmmo functions (NOP protection)
* Fixed SetVehicleHealth function
* Fixed SetPlayerInterior function

v1.9
Changes:
* Minor improvements
* Added a hook LinkVehicleToInterior function
* Improved anti-ammo hack for Sawnoff Shotgun, 9mm, Uzi and Tec-9
* Added filterscripts support for protection against spoofing dialogs
* Rewrote the Anti-AFK Ghost

Fixes:
* Fixed RepairVehicle function
* Fixed a bug in the Anti-GodMode (in vehicle) with "Array out of bounds"
* Fixed a bug in the Anti-Godmode (in vehicle) with a kick when shooting on wheels
* Fixed a bug with SetPlayerArmedWeapon in OnPlayerTakeDamage
* Fixed a bug in the Anti-Ammo hack when shooting from the driver's seat
* Fixed an issue with the calculation of the max seat for vehicle model 483
* Fixed a bug in the Anti-Godmode (onfoot) with a kick while entering the car
* Fixed errors with "STREAMER_ENABLE_TAGS"
* Fixed several bugs in the anti-cheat on pickups

v1.9.1
Changes:
* Added compatibility with Nexius's Update Checker

v1.9.2
Changes:
* Minor improvements
* Changed some values in anti-flood

Fixes:
* Fixed a bug with a kick the player for the setting him interior in which he already is

v1.9.3
Changes:
* Removed the check for the distance when leaving the vehicle in the anti-teleport hack (due to false detects)

v1.9.4
Changes:
* Changed the punishment for teleport unoccupied vehicles

Fixes:
* Fixed a bug in anti-teleport hack
* Fixed a bug in the protection on NOP RemovePlayerFromVehicle
* Fixed anti-money hack

v1.9.5
Fixes:
* Fixed a bug in the anti-teleport hack with the setting of the interior before spawn
* Fixed hook OnPlayerClickPlayerTextDraw

v1.9.6
Changes:
* Changed some values in the anti-flood

Fixes:
* Fixed a bug in the anti-invisibility hack with spawn during spectating
* Fixed a bug in the anti-speedhack with SetVehicleToRespawn function
* Fixed compatibility with streamer checkpoints
* Fixed minor bugs

v1.9.7
Changes:
* Changed some values in anti-flood
* EnableAntiCheat(ForPlayer) and IsAntiCheatEnabled(ForPlayer) functions can be called from filterscript
* Added protection against registration bypass (an idea by f0Re3t)
* Rewritten the protection against high ping

Fixes:
* Fixed a bug in the Anti-SpeedHack with a kick for a fast ride on the train
* Fully fixed a bug with a kick for a change of interior

v1.9.8
Changes:
* AntiCheatGet* functions are now can be called from filterscripts
* Faster call hooked functions from GameMode
* Rewritten anti-money hack

Fixes:
* Fixed a bypass in anti-ammo hack for high-rate weapons
* Fixed a bypass in the anti-teleport with the ability to teleport after changing interior by server
* Fixed a bug in the anti-weapon hack with a kick when buying weapons in Ammu-Nation for the wrong price
* Fixed a bug in the protection against NOPs with a kick for take a similar weapons
* Fixed compilation errors when included in filterscript

v1.9.9
Fixes:
* Fixed several bugs in the anti-special actions hack
* Fixed a bug in the anti-weapon hack with a kick when ResetPlayerWeapons used in OnPlayerDeath
* Tweaked some values

v1.9.10
Changes:
* Removed kick function when player timeout/crashes
* Updated an array of valid tuning components for each vehicle (taken from fixes)
* Added internal checks for the arguments in GivePlayerWeapon, SetPlayerArmedWeapon functions
* Significantly improved debug mode
* Minor improvements

Fixes:
* Fixed a bug in the protection against NOPs with a kick for the attempt to enter already occupied vehicle seat
* Fixed anti-speedhack in vehicle (check the maximum speed)
* Improved anti-rapid fire for the shotgun

Due to the numerous cases of connection problems with anti-cheat, there was added a version that is compatible with the server version 0.3.7 R1

v1.9.11
Fixes:
* Fixed SetPlayerArmedWeapon function
* Fixed PutPlayerInVehicle function
* Minor fixes

v1.9.12
Changes:
* Changed some values in anti-flood
* Rewrote system of call some hooked functions

Fixes:
* Fixed a bug when trying to get on the bus on the passenger seat more than 1
* Fixed a bug in protection against NOPs with the wrong type of health and armor when comparing
* Fixed anti-infinite ammo hack for sniper rifle
* Tweaked function PutPlayerInVehicle

v1.9.13
Changes:
* Changed some values in anti-flood

Fixes:
* Fixed a bug in the anti-teleport in closed vehicles with a kick while attempting to enter the passenger seat

v1.9.14
Changes:
* Improved anti-GodMode
* Minor improvements for EnableAntiCheat and EnableAntiCheatForPlayer functions
* Changed the default punishment for repairing cars by cheats (returns the old health)
* Removed some anti-weapon crashers

v1.9.15
Changes:
* Anti-parkour mod and anti-fake NPC is now disabled by default

Fixes:
* Fixed a bug in the protection against NOP RemovePlayerFromVehicle

v1.9.16
Fixes:
* Tweaked SetPlayerPos, SetPlayerPosFindZ and SetVehiclePos functions

v1.9.17
Changes:
* Added check for the validity of the pickup when a player picks it up
* Increased the minimum distance of detection AirBreak onfoot

Fixes:
* Fixed anti-CJ run with a kick for landing on parachute (holding 'S' key)
* Fixed anti-FlyHack with parachutist animation

v1.9.18
Changes:
* Debug mode is now enabled by default

Fixes:
* Fixed false detection in anti-flood with fast entering and exit from boats
* Tweaked minimum values of 'fire rate' in anti-rapid fire for desert eagle
* Fixed false kick for NOPs if the server gave health/armor to player or his transport while he/it burned
* Fixed anti-infinite ammo hack for m4, mp5 and silenced pistol

v1.9.19
Fixes:
* Fixed a bug in the anti-fakespawn with a kick for exit from spec mode when observed player is leaving
* Fixed anti-health (onfoot/in vehicle) and armor hack

v1.9.20
Changes:
* Minor improvements in code

Fixes:
* Fixed a bug in the anti-pickup hack with a kick for a teleport on the pickup position
* Fixed RemovePlayerFromVehicle function

v1.9.21
Fixes:
* Tweaked SetPlayerAmmo function
* Fixed a bug in anti-GodMode in vehicle with a kick when shooting vehicle wheels
* Fixed anti-infinite ammo for AK-47 and m4

v1.9.22
Changes:
* Removed exception for taking golf club when leaving vehicle model 457
* Removed a check on the distance to the vehicle when player enter it (false detections were observed)
* Anti-reconnect will now be disabled if the settings are configured to connect more than 1 account from 1 IP
* When trying to flood OnVehicleMod and OnVehicleRespray, they will be desynced
* Changed some values in anti-flood

v1.9.23
Fixes:
* Fixed incorrect values return in some publics
* Fixed bug when vehicle didn't reset the value of its driver after the player disconnect
* Fixed bug with ping check when connecting

v1.9.24
Changes:
* Reduced sensitivity of anti-FlyHack in vehicle
* Reduced sensitivity of anti-AirBreak on short distances
* If the default enter/exit markers are enabled (ie, gm is not used DisableInteriorEnterExits), then anti-teleport for long distances will automatically disabled (to avoid false detections when entering the roof of a skyscraper in LS)

Fixes:
* Fixed a bug with a kick for entering bus (id 431 & 437) for more than one passenger
* Fixed a bug with a kick for quick entering train vagon (id 570)

v1.9.25
Changes:
* Reduced sensitivity of anti-Speedhack
* Minor improvements

Fixes:
* Fixed a bug in anti-teleport hack at death in the interior
* Fixed a bug in anti-fast spawn using ForceClassSelection
* Fixed a bug in anti-GodMode onfoot with a kick when player exiting from vehicle, if someone is shooted in he at this moment
* Fixed ResetPlayerWeapons function

v1.9.26
Changes:
* Rewrote anti-teleport to interiors hack
* Added additional protection from Damage Helper
* Added protection against explosion of vehicles after teleporting in them with cheats
* Minor fixes and improvements

Fixes:
* Fixed some bugs in anti-special actions hack
* Tweaked the minimum price of weapons in ammu-nation for anticheat
* Fixed SpawnPlayer function

v1.9.27
Changes:
* Increased maximum speed onfoot
* Changed some delays that await server's functions performing
* Added protection against vehicle respray if default modshops is disabled
* Increased the number of warnings for protect against high ping
* Rewrote anti-teleport for Streamer pickups
* Removed AntiCheatGetClass function
* Minor fixes and improvements

Fixes:
* Fixed anti-money hack
* Fixed a bug in protection against NOP GivePlayerWeapon
* Fixed an anti-fakespawn bypass when cheater calls OnPlayerRequestSpawn before spawn
* Fixed false detections after long shooting from some weapons
* Fixed some variables resetting during player spawn
* Fixed anti-speedhack

v1.9.28
Changes:
* Added support for Streamer_UpdateEx function
* Added compatibility with the Timerfix plugin by Dan
* The minimum detection distance for anti-teleport hack in vehicle is changed from 15 to 25 meters
* Reduced sensitivity of anti-AirBreak onfoot at short distances
* Increased the number of warnings for anti-money hack

Fixes:
* Fixed bypass with instant teleport after leaving the vehicle
* Fixed a bug in anti-health hack with a kick if player fell from bike (at low health values it is restored to 5 by the game)
* Fixed a bug in anti-teleport hack in vehicle with a kick when player teleports to the modshop with passengers in the vehicle
* Fixed anti-infinite ammo hack for Country Rifle
* Minor bug fixes

v1.9.29
Fixes:
* Fixed a bug in anti-GodMode with a kick of the victim when shooting him from a long distance
* Fixed a bug in anti-teleport hack with a kick after a teleport to the surface by the game when the player fell under the map in the vehicle
* Fixed bypass in anti-ammo hack, when the cheater gave himself a negative value of ammo, thereby making them endless
* Fixed bypass in anti-teleport hack in vehicle, when the cheater teleported at the time of entering the vehicle
* Minor fixes and improvements

v1.9.30
Changes:
* Increased minimum speed for FlyHack detection
* Increased waiting time for applying server functions in NOPs protection

Fixes:
* Tweaked anti-vehicle health hack and anti-GodMode in vehicle
* Fixed bugs in anti-teleport when player exit the vehicle

v1.9.31
Changes:
* Improved FlyHack detection (onfoot) with different animations
* Ability to include localization by yourself before including anticheat
* Reduced the sensitivity of anti-SpeedHack for tank (modelid 432)
* Changed anti-flood settings for public OnPlayerExitVehicle

v1.9.32
Changes:
* Added OnTrailerUpdate desync after the kick of cheater for the delay time (for r2 server version)
* Added exclusion checks for NPCs in some publics

Fixes:
* Fixed prices for some tuning components in default modshops

v1.9.33
Changes:
* Increased the number of warnings for high ping before kick
* Increased the minimum teleport distance for detect from 5 to 8 meters
* Added a check in OnPlayerWeaponShot on the validity of the hitid

Fixes:
* Fixed a bypass in anti-teleport hack into vehicle passenger seat
* Some fixes for anti-flood

v1.9.34
Changes:
* Improved protection from slappers in vehicle
* AntiCheatGetSpeed function now returns the speed as an integer and can be used in fs
* Minor optimization

Fixes:
* Fixed a check for shooting on the wheels of vehicle in anti-GodMode in vehicle
* Fixed a bypass in anti-teleport hack, when the cheater could teleport to the coordinates he needed immediately after applying SetPlayerPos
* Fixed a bug in anti-special actions hack with kick when player didn't apply some special actions in vehicle
* Fixed the behavior of anti-weapon hack when player takes some weapons with 0 ammo

v1.9.35
Changes:
* Added protection against passenger seat spoofing when manipulating unoccupied vehicle
* Minor optimization

Fixes:
* Fixed bug in anti-tuning crasher with kick when viewing paintjobs in default modshops
* Fixed a bug in anti-FlyHack with kick during parachute flying while performing some special actions
* Fixed a bypass in anti-teleport hack in vehicle, when the cheater could teleport to the coordinates he needed immediately after applying SetVehiclePos
* Fixed a bug in anti-teleport hack with kick when exiting the train from the passenger seat

v1.9.36
Fixes:
* Tweaked anti-teleport hack (unoccupied vehicle to yourself)
* Fixed a bug in anti-CJ run with a kick if invalid skins sets to a player
* Minor fixes and improvements

v1.9.37
Changes:
* Added warnings for anti-SpeedHack onfoot
* Rewritten anti-FlyHack onfoot with parachutist animation
* Removed protection against passenger seat spoofing when manipulating unoccupied vehicle
* Added the ability to adjust the time for zeroing the warnings for anti-SpeedHack in vehicle
* Added protection against sending an invalid position and speed for unoccupied vehicle
* AntiCheatGetDialog function now returns -1 if the specified player isn't connected
* Added "#define NO_SUSPICION_LOGS" to enable/disable logging of kick messages
* Added "#define AC_USE_PICKUP_WEAPONS" to enable/disable checks on getting weapons on default weapon pickups
* Added filtering for GetPlayerFacingAngle and GetVehicleZAngle, which now return a rotation angle of 0.0 if the player passed NaN
* Added AntiCheatKickWithDesync, AntiCheatIsKickedWithDesync functions and public OnCheatWarning, OnFloodWarning, OnNOPWarning
** For more information, see the "Functions" section in the first post of the topic

Fixes:
* Tweaked anti-flood settings
* Tweaked anti-AirBreak at short distances
* Fixed an issue when some anti-cheats could ignore the player when disabling NOP protection
* Fixed several bugs in anti-AFK Ghost
* Minor improvements and bugfixes

v1.9.38
Changes:
* Improved anti-Pro Aim and AFK Ghost
* Increased anti-rapid fire warnings for quick-fire weapons
* Changed default punishments for anti-pickups teleport and anti-lagcomp spoof
* Improved the mechanism for waiting for server functions to be applied when anti-NOPs is disabled
* The minimum distance for anti-teleport onfoot is increased from 30 to 40, and from 30 to 80 in vehicle
* Added warnings for protect against weapon mismatch in the hands and the one from which the player shot
* Reduced the maximum distance for anti-GodMode after which the protection ignores the player
* Increased some distances and delays because of players with high ping
* Improved protection from sending invalid data for unoccupied vehicles
* Added check for invalid damagedid in OnPlayerGiveDamage

Fixes:
* Tweaked anti-flood settings
* Fixed several bugs and anti-special actions hack
* Fixed an anti-teleport bypass when the cheater teleport to another place and back without kick while the server setting him a position
* Fixed a bug with installing an incorrect vehicle's interior when the server installed the player's interior
* Fixed a bug in the anti-teleport hack with kicks of passengers when the vehicle spawns
* Minor fixes and improvements

v1.9.39
Changes:
* Improved anti-AirBreak onfoot
* Improved anti-CarShot from passenger seat
* Changed the default punishment for anti-money hack
* Improved protection from fake teleport to default modshops
* Improved desync of the cheater before kick, especially if using OnCheatDetected
* Added warnings for anti-FlyHack onfoot with cyclist animation
* Added check for invalid vehicleid in OnPlayerExitVehicle
* Added check for invalid bodypart in OnPlayerTakeDamage
* Improved anti-fake kill

Fixes:
* Tweaked anti-rapid fire for Desert Eagle
* Improved anti-infinite ammo hack for some weapons
* Fixed a bug in anti-NOPs with a kick for NOP RemovePlayerFromVehicle when the player couldn't get off the vehicle at high speed
* Fixed a bug in anti-weapon hack with a kick for getting parachute when changing the server's vehicle and leaving the last one
* Fixed a bug in anti-special action hack with a kick when re-picking a jetpack
* Minor improvements and bugfixes

v1.9.40
Changes:
* Added warnings for anti-CJ run
* Added AntiCheatGetSpawnPos function
* Improved checks on purchase of weapons in default ammunitions
* Rewritten anti-teleport into vehicle and anti-invalid seat in vehicle
* Added compatibility with Pawn.RakNet (for better desync before kick)
* AntiCheatIsKickedWithDesync now returns 2 if the player was kicked being driver
* Improved anti-teleport and anti-speedhack onfoot, anti-ammo hack and anti-carshot from the passenger seat
* Improved the mechanism of protection from the vehicle teleport after the disconnection of the cheater
* Added protection against forbidden characters (%) in GetPlayerVersion

Fixes:
* Tweaked anti-flood settings
* Fixed anti-infinite ammo hack for some weapons
* Fixed an anti-teleport bypass when the cheater skipped the state PLAYER_STATE_SPAWNED after death/spectating
* Fixed a bug in anti-health hack in vehicle when the hacked hp could be kept after the disconnection of the cheater
* Minor improvements and bugfixes

v1.9.41
Changes:
* Added EnableAntiNOP, EnableAntiNOPForPlayer, IsAntiNOPEnabled and IsAntiNOPEnabledForPlayer functions
* Changed the default punishment for sending invalid data for unoccupied vehicles (now desync instead of kick)
* Minor improvements and fixes

Fixes:
* Fixed bypass of anti-teleport into locked vehicles
* Tweaked some anti-flood settings

v1.9.42
Changes:
* Removed version mismatch warning for 0.3.DL server version
* Now anticheat is distributed in one file for 0.3.7-R1 and 0.3.7-R2
* Added AntiCheatGetVehicleDriver, AntiCheatGetVehicleInterior and AntiCheatGetVehiclePaintjob functions
* Improved protection against Silent Aims

Fixes:
* Fixed the bypass of anti-teleport hack when the cheater could teleport from under the map
* Minor improvements and fixes

v1.9.43
Changes:
* Ability to run anticheat on older server versions (down to 0.3e inclusive)
** Correct work on older versions is not guaranteed and part of the functionality that isn't available in older versions will be just disabled
* Added AntiCheatGetVehiclePos, AntiCheatGetVehicleZAngle, AntiCheatGetVehicleSpawnPos and AntiCheatGetVehicleSpawnZAngle functions
* Increased and tweaked some distances

v1.9.44
Changes:
* Improved anti-FakeKill
* Added anti-teleport hack (onfoot and in car) and speedhack (in car) in the timer
* Improved anti-unoccupied vehicles teleport hack (for trailers)
* Minor improvements and fixes

Fixes:
* Tweaked compatibility with the latest version of Streamer Plugin
* Tweaked some settings of anti-infinite ammo hack for some weapons
* Fixed OnPlayerPickUpPickup call for pickups created via AddStaticPickup
* Fixed the formula for calculating the distance for versions below 0.3z

v1.9.45
Changes:
* Improved compatibility with Pawn.Raknet and sscanf
* Added "#define AC_USE_NPC" to enable/disable NPC checks
** You can disable this option to increase performance if you don't use NPC
* Improved anti-teleport onfoot/in vehicle and protection from damagers
* Increased some delays and warnings

Fixes:
* Fixed a bug in anti-teleport in vehicle with a kick when player enter/exit from the default modshops
* Fixed a bypass in anti-ammo hack with the ammo given by the server immediately after cheating their negative value
* Fixed frequent unoccupied vehicles teleport for a few meters back when a player exited from it on a speed
* Fixed a bug in anti-NOPs with a kick when fist was set as a weapon by the server and a player had brass knuckles before it

v1.9.46
Changes:
* Added AntiCheatGetInterior function
* Added check of the dispatched seat in passenger sync
* Improved anti-teleport hack (unoccupied vehicles to player) and anti-teleport hack (in vehicle)
* Added configuration file for configuring anti-NOPs (nex-ac_nop_settings.cfg)
* Added "#define AUTOSAVE_SETTINGS_IN_CONFIG" to enable/disable updating configuration file settings
** If this option is enabled, any use of EnbaleAntiCheat/EnableAntiNOP will also update settings in configs
* Minor improvements and fixes

Fixes:
* Fixed a bypass in anti-health hack in vehicle, when a cheater could send the health as NaN
* Fixed anticheat bypass with shooting fake weapons from driver’s and passenger’s seats
* Fixed a bypass in anti-teleport hack into closed vehicles when a cheater replaced the seat when entering as passenger
* Fixed a bypass in anti-speedhack onfoot when a cheater could send very high speed when surfing on cars
* Fixed some problems with y_hooks

v1.9.47
Changes:
* Improved protection against various unoccupied vehicles manipulations
* Removed the check for last issuerid who caused the death damage in anti-fakekill
* Added anti-invalid AimZ and anti-invalid surfing offsets (powered by Pawn.Raknet)
* Added "#define AC_USE_STATISTICS" allowing you to enable/disable statistics output when the server turns off
* EnableAntiCheatForPlayer and EnableAntiNOPForPlayer functions now return -1 if an invalid anti-cheat/anti-NOP code was specified
* AntiCheatGetWeaponData function now returns -1 if an invalid slot was specified
* AntiCheatKickWithDesync function now returns -1 if the player has already been kicked
* Increased maximum speed when surfing for anti-speedhack onfoot
* Minor improvements and fixes

Fixes:
* Fixed a false kick by anti-weapon hack when issuing a weapon with 0 ammo, if fixes.inc is included
* Fixed a bug with a kick for "hacked" weapon when the player is dealing damage after his death

v1.9.48
Changes:
* Improved anti-speedhack onfoot
* OnPlayerRequestClass and OnPlayerRequestSpawn can no longer be spoofed if the player is spawned
* Added "#define AC_USE_CONFIG_FILES" that allow you to enable/disable loading .cfg files with anticheat settings
* Removed AntiCheatGetMoney function (it was a duplicate of GetPlayerMoney)
* Changed some delays and warnings
* Minor improvements and fixes

Fixes:
* Fixed some cases when afk player could be kicked for NOPs

v1.9.49
Changes:
* Improved OnPlayerTakeDamage parameters validation checks
* Improved protection against incorrect client version and OnPlayerRequestClass spoofing
* Protection against fake NPC now compares the IP address of the NPC and the local IP address of the server (if YSF plugin is connected)
* Removed additional support for y_hooks and timerfix plugin
* Minor optimization

Fixes:
* Fixed a typo in the name of AntiCheatIsKickedWithDesync function
* Fixed anti-money hack detection if stunt bonus is enabled and money for a stunt was accrued by the game after leaving the car
* Fixed the number of max seats, as well as the types of some vehicles
* Tweaked anti-FlyHack settings with skydiver animation

v1.9.50
Changes:
* Improved anti-FlyHack in vehicle and compatibility with weapon-config
* Added anti-AirBreak in unoccupied vehicles from passenger seat
* Improved protection against OnPlayerWeaponShot and OnPlayerRequestClass spoofing
* Added protection against the lastest entering players crasher (powered by Pawn.RakNet)
* Added AntiCheatGetEnterVehicleSeat, AntiCheatGetWeaponInSlot, AntiCheatGetAmmoInSlot, AntiCheatIsInSpectate, AntiCheatGetVehicleSpeed ​​and AntiCheatIsVehicleSpawned functions
* Anti-flood (car parts) now completely ignores strobe lights mod
* Tweaked some anti-flood settings and other warnings
* Minor optimization, bug fixes and improvements

Fixes:
* Fixed some coordinates to check if player is in ammu-nation
* Fixed cases with changing some data by anticheat after spawn if they also has changed in the gamemode
* Fixed a bug when anticheat didn't reset the ID of the last pickup picked up by player when destroying it
* Fixed a bug with included Streamer Plugin and using its dynamic pickups from filterscript
* Fixed false SpeedHack detection when player jumped on bikes

v1.9.51
Changes:
* Improved protection against carshot and other speed manipulations (for trailers)

Fixes:
* Fixed a bug in OnPlayerRequestClass spoofing protection

1.9.52
Changes:
* Improved anti-unoccupied vehicles teleport hack
* Returned check for skipping spawn states after exiting spectator's mode
* Removed unstable check for NOP SetPlayerArmedWeapon
* Minor changes and improvements

Fixes:
* Fixed a bug in case of use ResetPlayerWeapons in OnPlayerWeaponShot, if another player was damaged
* Fixed a bug with a kick when players were switching weapons while the server gave them it

v1.9.53
Changes:
* Added AntiCheatGetPickupPos function
* Removed additional compatibility with y_dialog
* Improved optional support for YSF, SKY and Streamer Plugin
* Improvements for anti-invisible hack (using Pawn.RakNet)
* Added validity checks of trainSpeed ​​parameter in driver sync (powered by Pawn.RakNet)
* Added validity checks of vehicleHealth parameter in unoccupied vehicle sync (powered by Pawn.RakNet)
* Improved stability of anti-ammo hack for players in vehicle
* Improved anti-CarShot from passenger seat
* Minor improvements and bug fixes

Fixes:
* Fixed a bug in anti-Silent Aim with a kick when shooting a rapid-fire weapon
* Fixed bypass of high ping protection when a player could intentionally spoof it by 65535
* Fixed a bug in OnPlayerRequestSpawn which prevented NPC spawn
Bugs:
See the Issues section. If you find a bug, please write about it in this thread.

Thanks:
f0Re3t, Vitalik_Gonsor, Magic_York, Roberto_York, TheHero, Nike_33, Mix_Rargard, Unisheld - testing
ZiGGi, Urukhay, Yashas, theYiin, RaefaldhiAmartya, PatchwerkQWER, kvann, rt-2 - advices on the code
Carper - German translation
Jstylezzz - Dutch translation
J4Rr3x, Sasino97 - Italian translation
Alex Westbrook, JustBored - Spanish translation
lashona, ArthourP, DAKYSKYE - Georgian translation
wampiros6 - Polish translation
DeitY, Dragony92 - Serbian translation
NicK_ - PT/BR translation
KyleSmith, infin1tyy - Improved English translation
M4D - Persian (Farsi) Translation
Valera_Kovshikov - Ukrainian translation
RaefaldhiAmartya - Indonesian translation
vannesenn - Croatian translation
j3rry, vic1997 - French translation
zaibaslr2 - Lithuanian translation
UnforgiveNNN - Romanian translation
Pedro. - Hungarian translation
Ben_Lovejoy - Finnish translation
Rengar - Latvian translation
bgedition - Bulgarian translation
Jensenn - Turkish translation
Sanady - Slovak translation
Grig - Armenian translation
SooBad - Czech translation
OldPawn - Estonian translation
Negativ_Tm - Turkmen translation
Trung.Tin - Vietnamese translation
willbedie - Albanian translation
aktah - Thai translation
Michael.Richmond - Moldavian translation
NemanjaMAX - Bosnian translation

This script also contains materials from third-party open source projects.
Licensed under the GNU LGPL.

P.s. I developed this anticheat for about a year and spent on it a lot of effort and time. I really hope that it will be useful to you.

Enjoy! :)
Reply
#2

Cooooooooooooool, Good work
Reply
#3

Much WOW, nice work I really appreciate your work +REPed
Reply
#4

This is an perfect anticheat
Reply
#5

+Rep Nice work.
Reply
#6

Very nice guy! +Rep
Reply
#7

OmG Its unique. Good job
Reply
#8

Good job, mate!
Reply
#9

+Rep, man
Reply
#10

I found a bug: When you connect many bots everytime then the server crash.
Reply
#11

Quote:

The settings is located in a separate file (scriptfiles\nex-ac_settings.cfg)

Would you mind including it?
Reply
#12

Quote:
Originally Posted by Jimmy0wns
View Post
Would you mind including it?
This file is created automatically when you first start the server with the anticheat
Reply
#13

Is there any way to disable some detections? Or I have to delete that parts?
Reply
#14

Quote:
Originally Posted by SecretBoss
View Post
Is there any way to disable some detections? Or I have to delete that parts?
Oh yes, you can easily disable one of the anti-cheat:
1. In the configuration file and then restart the server
2. In the game. But first you need to add commands in your mode. Cmd will use the EnableAntiCheat(acid, enable) or EnableAntiCheatForPlayer(playerid, acid, enable) function.
Reply
#15

Quote:
Originally Posted by OstGot
View Post
Oh yes, you can easily disable one of the anti-cheat:
1. In the configuration file and then restart the server
2. In the game. But first you need to add commands in your mode. Cmd will use the EnableAntiCheat(acid, enable) or EnableAntiCheatForPlayer(playerid, acid, enable) function.
I just want to use the anti-crasher because and health hacks ( I already have an Anti Health Hack on my script but its not working for invulnerable hacks) so can I use only that 2 detections?
Reply
#16

Quote:
Originally Posted by SecretBoss
View Post
I just want to use the anti-crasher because and health hacks ( I already have an Anti Health Hack on my script but its not working for invulnerable hacks) so can I use only that 2 detections?
If I understand correctly, every anticheat you can enable/disable in his personal detection code (see them in the source files).
And anti-health hack and the crashers and the god mode have different detection codes
Reply
#17

When I use
Code:
#define OnCheatDetected
I get this error(s):
Code:
nex-ac.inc(743) : warning 202: number of arguments does not match definition
nex-ac.inc(760) : warning 202: number of arguments does not match definition
nex-ac.inc(4262) : warning 215: expression has no effect
test.pwn(1145) : error 001: expected token: "-identifier-", but found "("
test.pwn(1148) : error 010: invalid function or declaration
test.pwn(1150) : error 010: invalid function or declaration
test.pwn(1152) : error 054: unmatched closing brace ("}")
test.pwn(1153) : error 010: invalid function or declaration
test.pwn(1155) : error 054: unmatched closing brace ("}")
test.pwn(1156) : error 010: invalid function or declaration
test.pwn(1158) : error 054: unmatched closing brace ("}")
test.pwn(1159) : error 010: invalid function or declaration
test.pwn(1161) : error 054: unmatched closing brace ("}")
test.pwn(1162) : error 010: invalid function or declaration
test.pwn(1164) : error 054: unmatched closing brace ("}")
test.pwn(1165) : error 010: invalid function or declaration
test.pwn(1167) : error 054: unmatched closing brace ("}")
test.pwn(1168) : error 010: invalid function or declaration
test.pwn(1170) : error 054: unmatched closing brace ("}")
test.pwn(1171) : error 010: invalid function or declaration
test.pwn(1173) : error 054: unmatched closing brace ("}")
test.pwn(1174) : error 010: invalid function or declaration
test.pwn(1176) : error 054: unmatched closing brace ("}")
test.pwn(1177) : error 010: invalid function or declaration
test.pwn(1179) : error 054: unmatched closing brace ("}")
test.pwn(1180) : error 010: invalid function or declaration
test.pwn(1182) : error 054: unmatched closing brace ("}")
test.pwn(1183) : error 010: invalid function or declaration
test.pwn(1185) : error 054: unmatched closing brace ("}")
Reply
#18

Quote:
Originally Posted by Carper
View Post
When I use
Code:
#define OnCheatDetected
I get error(s)
You must declare the public using forward
And yes, you may have already forwarded a similar public..
It is necessary to check this
Reply
#19

Code:
nex-ac.inc(741) : warning 202: number of arguments does not match definition
nex-ac.inc(758) : warning 202: number of arguments does not match definition
nex-ac.inc(923) : error 017: undefined symbol "GetPlayerPoolSize"
nex-ac.inc(1648) : warning 201: redefinition of constant/macro (symbol "RepairVehicle")
nex-ac.inc(1742) : error 017: undefined symbol "GetPlayerPoolSize"
nex-ac.inc(1808) : error 017: undefined symbol "BlockIpAddress"
nex-ac.inc(1935) : error 025: function heading differs from prototype
nex-ac.inc(1939) : warning 202: number of arguments does not match definition
nex-ac.inc(1952) : error 025: function heading differs from prototype
nex-ac.inc(2831) : error 017: undefined symbol "VectorSize"
nex-ac.inc(3157) : error 017: undefined symbol "GetPlayerLastShotVectors"
nex-ac.inc(3709) : warning 201: redefinition of constant/macro (symbol "OnVehicleDamageStatusUpdate")
nex-ac.inc(3714) : warning 235: public function lacks forward declaration (symbol "OnVehicleSirenStateChange")
nex-ac.inc(3770) : error 025: function heading differs from prototype
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3832) : error 025: function heading differs from prototype
nex-ac.inc(3859) : error 017: undefined symbol "NetStats_MessagesRecvPerSecond"
nex-ac.inc(3971) : error 017: undefined symbol "BlockIpAddress"
nex-ac.inc(4056) : error 017: undefined symbol "VectorSize"
nex-ac.inc(4056) : warning 203: symbol is never used: "vZ"
nex-ac.inc(4056) : warning 203: symbol is never used: "vY"
nex-ac.inc(4056) : warning 203: symbol is never used: "vX"
dealer.inc(191) : warning 209: function "ac_OnVehiclePaintjob" should return a value
dealer.inc(213) : warning 209: function "ac_OnVehicleRespray" should return a value
dealer.inc(416) : warning 209: function "ac_OnVehicleDeath" should return a value
All of the above errors/warnings appeared when I included the nex-ac.inc, I checked it before including it
Reply
#20

Quote:
Originally Posted by OstGot
View Post
You must declare the public using forward
And yes, you may have already forwarded a similar public..
It is necessary to check this
I get the self errors:
Code:
error 010: invalid function or declaration
error 054: unmatched closing brace ("}")
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)