01.07.2015, 12:02
(
Last edited by OstGot; 30/07/2020 at 09:46 PM.
)
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:
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:
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! :)
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
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
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! :)