Download latest release (v1.9.40)
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.
- 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 the sandbox
- Protection against invalid version
- Anti-flood change seat
- Flood protection connects to one slot
- Anti-Rcon hack (brute/brute-forse)
- Anti-flood callback functions (complete list below)
- Anti-crashers (complete list below)
- Anti-NOP's (complete list below)
- Anti-Dos
The settings is located in a separate file (scriptfiles\nex-ac_settings.cfg)
Ability to view statistics of the anticheat while the server working since its launch
Displayed automatically when server turn off. Stored in a server log (server_log.txt)
Optionally you can enable debug-mode for log all actions
Ability to set any of the available languages.
It also simplifies the translation of anticheat to other languages
- 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
- SpawnPlayer
- SetPlayerPos
- SetVehiclePos
- SetPlayerAmmo
- SetPlayerHealth
- SetPlayerArmour
- SetVehicleHealth
- GivePlayerWeapon
- SetPlayerPosFindZ
- SetPlayerInterior
- PutPlayerInVehicle
- ResetPlayerWeapons
- SetPlayerArmedWeapon
- SetPlayerSpecialAction
- TogglePlayerSpectating
- RemovePlayerFromVehicle
- Invalid tuning
- Invalid vehicle seat
- Illegal characters in the dialogs (deleting)
- Invalid attached objects
- Weapon Crasher
Called when triggered one of the anti-cheats
playerid
- ID of the cheaterip_address[]
- IP-address of the cheatertype
- Type of cheating (when0
it returns the ID, when1
- IP)code
- Code (ID) of the anti-cheat
Use to enable/disable one of the anti-cheats
code
- ID of the anti-cheatenable
-1
to enable/0
to disable
Use to enable/disable one of the anti-cheats for a particular player
playerid
- ID of the player who needs to enable/disable the anti-cheatcode
- ID of the anti-cheatenable
-1
to enable/0
to disable
Added in v1.3:
Use to check whether one of the anti-cheats is enabled/disabled
code
- ID of the anti-cheat- Return
1 (true)
if enabled or0 (false)
if disabled
Use to check whether one of the anti-cheats is enabled/disabled for a particular player
playerid
- ID of the player to be checked whether the anti-cheat enabled/disabled for himcode
- ID of the anti-cheat- Return
1 (true)
if enabled or0 (false)
if disabled
Added in v1.8.8:
Use to get the amount of a player's health
playerid
- The ID of the player&Float:health
- Variable for storage health, passed by reference
Use to get the amount of a player's armour
playerid
- The ID of the player&Float:armour
- Variable for storage armour, passed by reference
Use to get the amount of a vehicle health
vehicleid
- The ID of the vehicle&Float:health
- Variable for storage health, passed by reference
Use to get weapons and ammo in a certain slot of a player
playerid
- The ID of the playerslot
- The slot in which need get the weapons and ammo&weapons
- Variable for storage weapon ID, passed by reference&ammo
- Variable for storage amount of ammo, passed by reference
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&weapon1
- Variable for storage the weapon 1, passed by reference&weapon1_ammo
- The variable for storage the amount of ammo for the weapon 1, passed by reference&weapon2
- Variable for storage the weapon 2, passed by reference&weapon2_ammo
- The variable for storage the amount of ammo for the weapon 2, passed by reference&weapon3
- Variable for storage the weapon 3, passed by reference&weapon3_ammo
- The variable for storage the amount of ammo for the weapon 3, passed by reference
Use to get a player's position
playerid
- The ID of the player&Float:x
- The variable for storage the x coordinate, passed by reference&Float:y
- The variable for storage the y coordinate, passed by reference&Float:z
- The variable for storage the z coordinate, passed by reference
Use to get a vehicle speed
vehicleid
- The ID of the vehicle&Float:x
- The variable for storage the x speed, passed by reference&Float:y
- The variable for storage the y speed, passed by reference&Float:z
- The variable for storage the z speed, passed by reference
Use to get a player's speed
playerid
- The ID of the player- Returns a player's speed or
0
if the player is not connected
Use to get the index (ID) of a player's current animation
playerid
- The ID of the player- Returns the ID of the animation or
0
if the player is not connected
Use to get the ID of the opened dialog of a player
playerid
- The ID of the player- Returns the ID of the dialog or
-1
if the player is not connected
Use to get the amount of a player's money
playerid
- The ID of the player- Returns the amount of money or
0
if the player is not connected
Use to get the ID of the vehicle which a player try to enter
playerid
- The ID of the player- Returns the ID of the vehicle or
0
if the player is not connected
Use to get the ID of the vehicle in which a player is in
playerid
- The ID of the player- Returns the ID of the vehicle or
0
if the player is not connected
Use to get a player's current weapon ID
playerid
- The ID of the player- Returns the ID of weapon or
-1
if the player is not connected
Use to get the seat in the vehicle on which the player is in
playerid
- The ID of the player- Returns a number of the seat or
-1
if the player is not connected
Use to get the ID of the special action of a player
playerid
- The ID of the player- Returns the ID of the special action or
0
if the player is not connected
Use to get the ID of the previous special action of a player
playerid
- The ID of the player- Returns the ID of the previous special action or
0
if the player is not connected
Use to get the ID of the last weapon from which a player shot
playerid
- The ID of the player- Returns the ID of the last weapon or
-1
if the player is not connected
Use to get the ID of the last pickup which a player picked
playerid
- The ID of the player- Returns the ID of the last picked up pickup or
-1
if the player is not connected
Use to get a player's last update timestamp
playerid
- The ID of the player- Returns a timestamp of the last update or
0
if the player is not connected
Use to get a player's last (weapon) reload timestamp
playerid
- The ID of the player- Returns a timestamp of the last reload or
0
if the player is not connected
Use to get a player's last entering vehicle attempt timestamp
playerid
- The ID of the player- Returns a timestamp of the last entering attempt or
0
if the player is not connected
Use to get a player's last shot timestamp
playerid
- The ID of the player- Returns a timestamp of the last shot or
0
if the player is not connected
Use to get a player's last spawn timestamp
playerid
- The ID of the player- Returns a timestamp of the last spawn or
0
if the player is not connected
Use to check whether enter/exit markers in interiors are enabled/disabled for a player
playerid
- The ID of the player- Returns
1 (true)
if enabled or0 (false)
if disabled
Use to check whether stunt bonus is enabled/disabled for a player
playerid
- The ID of the player- Returns
1 (true)
if enabled or0 (false)
if disabled
Use to check whether a player is in ModShop or not
playerid
- The ID of the player- Returns
1 (true)
if it is or0 (false)
if it is not
Use to check whether a player is frozen or not
playerid
- The ID of the player- Returns
1 (true)
if frozen or0 (false)
if not frozen
Use to check whether a player is dead or not
playerid
- The ID of the player- Returns
1 (true)
if dead or0 (false)
if not dead
Use to check whether a player is on a server or not
playerid
- The ID of the player- Returns
1 (true)
if it is or0 (false)
if it is not
Added in v1.9.37:
Called when triggered any warnings of one of the anti-cheats
playerid
- ID of the suspected cheaterip_address[]
- IP-address of the suspected cheatertype
- Type of cheating (when0
it returns the ID, when1
- IP)code
- Code (ID) of the anti-cheatcode2
- Sub-code (ID) of the anti-cheat checkcount
- Count of warnings triggered on suspected cheater
Called when triggered any anti-flood warnings on one of the protected publics
playerid
- ID of the suspected flooderpublicid
- ID of the public that was called too quicklycount
- Count of warnings triggered on suspected flooder
Called when triggered any NOP warnings on one of the protected functions
playerid
- ID of the suspected cheaternopid
- ID of the NOP checkcount
- Count of warnings triggered on suspected cheater
Use to kick with desync a particular player by the anticheat
playerid
- ID of the player who will be kicked with desync for the delay timecode
- ID of the anti-cheat (with some codes the player's vehicle will be resynced after his disconnection)
Use to check whether a player is kicked or not
playerid
- The ID of the player- Returns
1
for kick onfoot,2
for kick in a vehicle (driver),3
if player is already disconnected or0
if he isn't kicked
Added in v1.9.40:
Use to get a player's spawn position
playerid
- The ID of the player&Float:x
- The variable for storage the x coordinate, passed by reference&Float:y
- The variable for storage the y coordinate, passed by reference&Float:z
- The variable for storage the z coordinate, passed by reference
The script can be configured at 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.
- Download version of the anticheat which compatible with the version of your server
- Download the language file (.lang) in your preferred language
- Copy both files to a folder "/pawno/include" which is located in the folder with the server
- In gamemode and all filterscripts after #include "a_samp" write the following: #include "nex-ac"
Warning! If you use Streamer Plugin by Incognito, Timerfix plugin by Dan, foreach, sscanf, Pawn.RakNet or y_hooks, include it before nex-ac!
Also keep in mind that filterscript must have "#define FILTERSCRIPT" before including anticheat - Compile the modified scripts
Do you get an error when you compiling this anticheat with YSI? Check out some tips
- Magic_York, Roberto_York, TheHero, Nike_33, Vitalik_Gonsor, Mix_Rargard, Unisheld, f0Re3t - 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 - 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
This script also contains materials of third-party projects with open source.
P.s. I develop this anticheat about a year and spent on it a lot of effort and time. I hope very much that it will be useful to you.
Enjoy!