{"id":15117973,"url":"https://github.com/NexiusTailer/Nex-AC","last_synced_at":"2025-09-27T23:31:58.030Z","repository":{"id":34558499,"uuid":"38503857","full_name":"NexiusTailer/Nex-AC","owner":"NexiusTailer","description":"Anticheat system","archived":false,"fork":false,"pushed_at":"2024-08-22T09:12:32.000Z","size":1312,"stargazers_count":212,"open_issues_count":3,"forks_count":156,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-09-26T01:58:30.029Z","etag":null,"topics":["ac","amx","anti-cheat","anticheat","defender","guard","inc","include","keeper","nex-ac","pawn","pawno","protection","sa-mp","samp"],"latest_commit_sha":null,"homepage":"https://pawn.wiki/index.php?/topic/27641-nex-ac/","language":"Pawn","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NexiusTailer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["bank.gov.ua/en/about/support-the-armed-forces","bank.gov.ua/en/about/humanitarian-aid-to-ukraine"]}},"created_at":"2015-07-03T17:33:04.000Z","updated_at":"2024-09-17T08:29:55.000Z","dependencies_parsed_at":"2023-12-14T16:27:19.069Z","dependency_job_id":"09e65fe1-67a5-44fb-8da7-60be37671a2d","html_url":"https://github.com/NexiusTailer/Nex-AC","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NexiusTailer%2FNex-AC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NexiusTailer%2FNex-AC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NexiusTailer%2FNex-AC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NexiusTailer%2FNex-AC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NexiusTailer","download_url":"https://codeload.github.com/NexiusTailer/Nex-AC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234470312,"owners_count":18838628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ac","amx","anti-cheat","anticheat","defender","guard","inc","include","keeper","nex-ac","pawn","pawno","protection","sa-mp","samp"],"created_at":"2024-09-26T01:46:05.700Z","updated_at":"2025-09-27T23:31:58.023Z","avatar_url":"https://github.com/NexiusTailer.png","language":"Pawn","funding_links":["bank.gov.ua/en/about/support-the-armed-forces","bank.gov.ua/en/about/humanitarian-aid-to-ukraine"],"categories":["Pawn"],"sub_categories":[],"readme":"# [Nex-AC - Anticheat system](https://pawn.wiki/index.php?/topic/27641-nex-ac/)\r\n\r\nNex Anticheat (Nex-AC) - is a comprehensive protection which combines powerful anticheat and protection against various attacks (flood, DoS).  \r\nAnticheat detects popular cheats instantly punishing cheaters.  \r\nAnti-DoS combines customizable anti-flood, anti-DoS at network level and a lot of protection tools against hacking, crashers etc.\r\n\r\n## List of basic anti-cheats:\r\n* Anti-AirBreak (onfoot/in vehicle)\r\n* Anti-teleport hack (onfoot/into/in/between vehicles)\r\n* Anti-teleport (pickups)\r\n* Anti-FlyHack (onfoot/in vehicle)\r\n* Anti-SpeedHack (onfoot/in vehicle)\r\n* Anti-Health hack (onfoot/in vehicle) and armour hack\r\n* Anti-Weapon hack and (add/infinite) ammo hack\r\n* Anti-Special actions hack (including jetpack)\r\n* Anti-GodMode from bullets (onfoot/in vehicle)\r\n* Anti-Invisible hack\r\n* Anti-Money hack\r\n* Anti-Tuning hack\r\n* Anti-lagcomp-spoof\r\n* Anti-Parkour mod\r\n* Anti-Quick turn\r\n* Anti-Rapid fire\r\n* Anti-FakeSpawn\r\n* Anti-FakeKill\r\n* Anti-Pro Aim\r\n* Anti-CJ run\r\n* Anti-CarShot\r\n* Anti-CarJack\r\n* Anti-UnFreeze\r\n* Anti-AFK Ghost\r\n* Anti-Reconnect\r\n* Anti-High ping\r\n* Anti-Fake NPC\r\n* Anti-Dialog hack\r\n* Protection from sandbox\r\n* Protection from invalid version\r\n* Protection from flood by seat changing\r\n* Protection from connection flood in one slot\r\n* Anti-Rcon hack (brute/brute-force)\r\n* Anti-callback functions flood *(complete list below)*\r\n* Anti-crashers *(complete list below)*\r\n* Anti-NOPs *(complete list below)*\r\n* Anti-DoS\r\n\r\n# Additional features:\r\n* **Setting anticheat from file**  \r\nThe settings is located in a separate file (scriptfiles\\nex-ac_settings.cfg)\r\n* **Statistics viewing**  \r\nAbility to view statistics of the anticheat for all the time of server work since its launch  \r\nDisplayed automatically when the server turns off. Stored in a server log (server_log.txt)\r\n* **Logging the most important actions**  \r\nOptionally, you can enable debug-mode for logging all actions\r\n* **Multilingual**  \r\nAbility to set any of the available languages  \r\nIt also simplifies the process of translation of anticheat into other languages\r\n\r\n## List of publics which are protected by anti-flood:\r\n\u003cdetails\u003e\r\n\u003csummary\u003eClick to expand the list\u003c/summary\u003e\r\n\r\n* OnDialogResponse\r\n* OnEnterExitModShop\r\n* OnPlayerClickMap\r\n* OnPlayerClickPlayer\r\n* OnPlayerClickTextDraw\r\n* OnPlayerCommandText\r\n* OnPlayerEnterVehicle\r\n* OnPlayerExitVehicle\r\n* OnPlayerPickUpPickup\r\n* OnPlayerRequestClass\r\n* OnPlayerSelectedMenuRow\r\n* OnPlayerStateChange\r\n* OnVehicleMod\r\n* OnVehiclePaintjob\r\n* OnVehicleRespray\r\n* OnVehicleDeath\r\n* OnPlayerText\r\n* OnPlayerEnterCheckpoint\r\n* OnPlayerLeaveCheckpoint\r\n* OnPlayerRequestSpawn\r\n* OnPlayerExitedMenu\r\n* OnPlayerEnterRaceCheckpoint\r\n* OnPlayerLeaveRaceCheckpoint\r\n* OnPlayerClickPlayerTextDraw\r\n* OnVehicleDamageStatusUpdate\r\n* OnPlayerSelectObject\r\n\u003c/details\u003e\r\n\r\n## Anti-NOPs:\r\n\u003cdetails\u003e\r\n\u003csummary\u003eClick to expand the list\u003c/summary\u003e\r\n\r\n* SpawnPlayer\r\n* SetPlayerPos\r\n* SetVehiclePos\r\n* SetPlayerAmmo\r\n* SetPlayerHealth\r\n* SetPlayerArmour\r\n* SetVehicleHealth\r\n* GivePlayerWeapon\r\n* SetPlayerPosFindZ\r\n* SetPlayerInterior\r\n* PutPlayerInVehicle\r\n* ResetPlayerWeapons\r\n* SetPlayerSpecialAction\r\n* TogglePlayerSpectating\r\n* RemovePlayerFromVehicle\r\n\u003c/details\u003e\r\n\r\n## Anti-Crashers:\r\n\u003cdetails\u003e\r\n\u003csummary\u003eClick to expand the list\u003c/summary\u003e\r\n\r\n* Invalid tuning\r\n* Invalid vehicle seat\r\n* Illegal characters in the dialogs (deleting)\r\n* Invalid attached objects\r\n* Weapon Crasher\r\n\u003c/details\u003e\r\n\r\n# Functions:\r\n\u003cdetails\u003e\r\n\u003csummary\u003eClick to expand the list\u003c/summary\u003e\r\n\r\n**public OnCheatDetected(playerid, ip_address[], type, code)**\r\n\u003e Called when triggers one of the anti-cheats\r\n\u003e * `playerid` - The ID of the cheater\r\n\u003e * `ip_address[]` - IP-address of the cheater\r\n\u003e * `type` - Type of cheating (when `0` it returns the ID, when `1` - IP)\r\n\u003e * `code` - The code (ID) of the anti-cheat\r\n\u003e * This callback does not handle returns\r\n\r\n**EnableAntiCheat(code, enable)**\r\n\u003e Use to enable/disable one of the anti-cheats\r\n\u003e * `code` - The ID of the anti-cheat\r\n\u003e * `enable` - `1` to enable/`0` to disable\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the `code` parameter contains an invalid ID of the anti-cheat\r\n\r\n**EnableAntiCheatForPlayer(playerid, code, enable)**\r\n\u003e Use to enable/disable one of the anti-cheats for a specific player\r\n\u003e * `playerid` - The ID of the player to enable/disable the anti-cheat for\r\n\u003e * `code` - The ID of the anti-cheat\r\n\u003e * `enable` - `1` to enable/`0` to disable\r\n\u003e * 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\r\n\r\nAdded in v1.3:\r\n\r\n**IsAntiCheatEnabled(code)**\r\n\u003e Use to check whether one of the anti-cheats is enabled/disabled\r\n\u003e * `code` - The ID of the anti-cheat to check\r\n\u003e * Return `1 (true)` if enabled or `0 (false)` if disabled\r\n\r\n**IsAntiCheatEnabledForPlayer(playerid, code)**\r\n\u003e Use to check whether one of the anti-cheats is enabled/disabled for a specific player\r\n\u003e * `playerid` - The ID of the player to be checked whether the anti-cheat is enabled/disabled for him\r\n\u003e * `code` - The ID of the anti-cheat to check\r\n\u003e * Return `1 (true)` if enabled or `0 (false)` if disabled\r\n\r\nAdded in v1.8.8:\r\n\r\n**AntiCheatGetHealth(playerid, \u0026Float:health)**\r\n\u003e Use to get the amount of the player's health (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the health of\r\n\u003e * `\u0026Float:health` - A variable to store the health in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the player is not connected\r\n\r\n**AntiCheatGetArmour(playerid, \u0026Float:armour)**\r\n\u003e Use to get the amount of the player's armour (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the armour of\r\n\u003e * `\u0026Float:armour` - A variable to store the armour in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the player is not connected\r\n\r\n**AntiCheatGetVehicleHealth(vehicleid, \u0026Float:health)**\r\n\u003e Use to get the amount of the vehicle's health (according to anticheat data)\r\n\u003e * `vehicleid` - The ID of the vehicle to get the health of\r\n\u003e * `\u0026Float:health` - A variable to store the health in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the vehicle does not exist\r\n\r\n**AntiCheatGetWeaponData(playerid, slot, \u0026weapons, \u0026ammo)**\r\n\u003e Use to get the weapon and ammo in a specific player's weapon slot (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player whose weapon data to retrieve\r\n\u003e * `slot` - The slot to get the weapon and ammo for\r\n\u003e * `\u0026weapons` - A variable to store the weapon ID in, passed by reference\r\n\u003e * `\u0026ammo` - A variable to store the ammo in, passed by reference\r\n\u003e * Returns `1` if the function executed successfully, `0` if the player is not connected or `-1` if the slot specified is invalid\r\n\r\n**AntiCheatGetSpawnWeapon(playerid, \u0026weapon1, \u0026weapon1_ammo, \u0026weapon2, \u0026weapon2_ammo, \u0026weapon3, \u0026weapon3_ammo)**\r\n\u003e Use to get the spawn weapons and ammo of a player\r\n\u003e * `playerid` - The ID of the player whose spawn weapons and ammo to retrieve\r\n\u003e * `\u0026weapon1` - A variable in which to store weapon 1, passed by reference\r\n\u003e * `\u0026weapon1_ammo` - A variable in which to store the amount of ammo for weapon 1, passed by reference\r\n\u003e * `\u0026weapon2` - A variable in which to store weapon 2, passed by reference\r\n\u003e * `\u0026weapon2_ammo` - A variable in which to store the amount of ammo for weapon 2, passed by reference\r\n\u003e * `\u0026weapon3` - A variable in which to store weapon 3, passed by reference\r\n\u003e * `\u0026weapon3_ammo` - A variable in which to store the amount of ammo for weapon 3, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the player is not connected\r\n\r\n**AntiCheatGetPos(playerid, \u0026Float:x, \u0026Float:y, \u0026Float:z)**\r\n\u003e Use to get the position of a player (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the position of\r\n\u003e * `\u0026Float:x` - A variable to store the x coordinate in, passed by reference\r\n\u003e * `\u0026Float:y` - A variable to store the y coordinate in, passed by reference\r\n\u003e * `\u0026Float:z` - A variable to store the z coordinate in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the player is not connected\r\n\r\n**AntiCheatGetVehicleVelocity(vehicleid, \u0026Float:x, \u0026Float:y, \u0026Float:z)**\r\n\u003e Use to get the velocity of a vehicle (according to anticheat data)\r\n\u003e * `vehicleid` - The ID of the vehicle to get the velocity of\r\n\u003e * `\u0026Float:x` - A variable to store the x velocity in, passed by reference\r\n\u003e * `\u0026Float:y` - A variable to store the y velocity in, passed by reference\r\n\u003e * `\u0026Float:z` - A variable to store the z velocity in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the vehicle does not exist\r\n\r\n**AntiCheatGetSpeed(playerid)**\r\n\u003e Use to get the speed of a player\r\n\u003e * `playerid` - The ID of the player to get the speed of\r\n\u003e * Returns the player's speed or `0` if the player is not connected\r\n\r\n**AntiCheatGetAnimationIndex(playerid)**\r\n\u003e Use to get the index (ID) of the player's current animation (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the animation index of\r\n\u003e * Returns the ID of the animation or `0` if the player is not connected\r\n\r\n**AntiCheatGetDialog(playerid)**\r\n\u003e Use to get the ID of the opened dialog for a player\r\n\u003e * `playerid` - The ID of the player to get the active dialog ID for\r\n\u003e * Returns the ID of the dialog or `-1` if the player is not connected\r\n\r\n**AntiCheatGetEnterVehicle(playerid)**\r\n\u003e Use to get the ID of the vehicle a player attempted to enter last time\r\n\u003e * `playerid` - The ID of the player to get the last entered vehicle ID of\r\n\u003e * Returns the ID of the entered vehicle or `0` if the player is not connected\r\n\r\n**AntiCheatGetVehicleID(playerid)**\r\n\u003e Use to get the ID of the vehicle a player is currently in (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player in the vehicle to get the ID of\r\n\u003e * Returns the ID of the vehicle or `0` if the player is not connected\r\n\r\n**AntiCheatGetWeapon(playerid)**\r\n\u003e Use to get the ID of the player's current weapon (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the currently held weapon of\r\n\u003e * Returns the ID of the weapon or `-1` if the player is not connected\r\n\r\n**AntiCheatGetVehicleSeat(playerid)**\r\n\u003e Use to get the seat of the vehicle a player is currently in (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the seat of\r\n\u003e * Returns the ID of the seat or `-1` if the player is not connected\r\n\r\n**AntiCheatGetSpecialAction(playerid)**\r\n\u003e Use to get the ID of the player's special action (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the special action of\r\n\u003e * Returns the ID of the special action or `0` if the player is not connected\r\n\r\n**AntiCheatGetLastSpecialAction(playerid)**\r\n\u003e Use to get the ID of the player's previous special action\r\n\u003e * `playerid` - The ID of the player to get the previous special action of\r\n\u003e * Returns the ID of the previous special action or `0` if the player is not connected\r\n\r\n**AntiCheatGetLastShotWeapon(playerid)**\r\n\u003e Use to get the ID of the last weapon a player shot from\r\n\u003e * `playerid` - The ID of the player to get the last shot weapon ID of\r\n\u003e * Returns the ID of the last shot weapon or `-1` if the player is not connected\r\n\r\n**AntiCheatGetLastPickup(playerid)**\r\n\u003e Use to get the ID of the last pickup which a player picked up\r\n\u003e * `playerid` - The ID of the player to get the last picked up pickup ID of\r\n\u003e * Returns the ID of the last picked up pickup or `-1` if the player is not connected\r\n\r\n**AntiCheatGetLastUpdateTime(playerid)**\r\n\u003e Use to get the player's last update tick\r\n\u003e * `playerid` - The ID of the player to get the last update tick of\r\n\u003e * Returns the tick of the last update or `0` if the player is not connected\r\n\r\n**AntiCheatGetLastReloadTime(playerid)**\r\n\u003e Use to get the player's last weapon reload tick\r\n\u003e * `playerid` - The ID of the player to get the last reload tick of\r\n\u003e * Returns the tick of the last reload or `0` if the player is not connected\r\n\r\n**AntiCheatGetLastEnteredVehTime(playerid)**\r\n\u003e Use to get the player's last entering vehicle attempt tick\r\n\u003e * `playerid` - The ID of the player to get the last entering vehicle attempt tick of\r\n\u003e * Returns the tick of the last entering attempt or `0` if the player is not connected\r\n\r\n**AntiCheatGetLastShotTime(playerid)**\r\n\u003e Use to get the player's last weapon shot tick\r\n\u003e * `playerid` - The ID of the player to get the last shot tick of\r\n\u003e * Returns the tick of the last shot or `0` if the player is not connected\r\n\r\n**AntiCheatGetLastSpawnTime(playerid)**\r\n\u003e Use to get the player's last spawn tick\r\n\u003e * `playerid` - The ID of the player to get the last spawn tick of\r\n\u003e * Returns the tick of the last spawn or `0` if the player is not connected\r\n\r\n**AntiCheatIntEnterExitsIsEnabled(playerid)**\r\n\u003e Use to check whether the enter/exit markers in interiors are enabled/disabled for a player\r\n\u003e * `playerid` - The ID of the player to check\r\n\u003e * Returns `1 (true)` if enabled or `0 (false)` if disabled\r\n\r\n**AntiCheatStuntBonusIsEnabled(playerid)**\r\n\u003e Use to check whether stunt bonus is enabled/disabled for a player\r\n\u003e * `playerid` - The ID of the player to check\r\n\u003e * Returns `1 (true)` if enabled or `0 (false)` if disabled\r\n\r\n**AntiCheatIsInModShop(playerid)**\r\n\u003e Use to check whether a player is in ModShop or not\r\n\u003e * `playerid` - The ID of the player to check\r\n\u003e * Returns `1 (true)` if it is or `0 (false)` if it is not\r\n\r\n**AntiCheatIsFrozen(playerid)**\r\n\u003e Use to check whether a player is frozen or not\r\n\u003e * `playerid` - The ID of the player to check\r\n\u003e * Returns `1 (true)` if frozen or `0 (false)` if not frozen\r\n\r\n**AntiCheatIsDead(playerid)**\r\n\u003e Use to check whether a player is dead or not\r\n\u003e * `playerid` - The ID of the player to check\r\n\u003e * Returns `1 (true)` if dead or `0 (false)` if not dead\r\n\r\n**AntiCheatIsConnected(playerid)**\r\n\u003e Use to check whether a player is on the server or not\r\n\u003e * `playerid` - The ID of the player to check\r\n\u003e * Returns `1 (true)` if it is or `0 (false)` if it is not\r\n\r\nAdded in v1.9.37:\r\n\r\n**public OnCheatWarning(playerid, ip_address[], type, code, code2, count)**\r\n\u003e Called when triggers any warnings of one of the anti-cheats\r\n\u003e * `playerid` - The ID of the suspected cheater\r\n\u003e * `ip_address[]` - IP-address of the suspected cheater\r\n\u003e * `type` - Type of cheating (when `0` it returns the ID, when `1` - IP)\r\n\u003e * `code` - The code (ID) of the anti-cheat\r\n\u003e * `code2` - The subcode (ID) of the anti-cheat check\r\n\u003e * `count` - Count of warnings triggered on suspected cheater\r\n\u003e * This callback does not handle returns\r\n\r\n**public OnFloodWarning(playerid, publicid, count)**\r\n\u003e Called when triggers any anti-flood warnings on one of the protected publics\r\n\u003e * `playerid` - The ID of the suspected flooder\r\n\u003e * `publicid` - The ID of the public that was called too quickly\r\n\u003e * `count` - Count of warnings triggered on suspected flooder\r\n\u003e * This callback does not handle returns\r\n\r\n**public OnNOPWarning(playerid, nopid, count)**\r\n\u003e Called when triggers any NOP warnings on one of the protected functions\r\n\u003e * `playerid` - The ID of the suspected cheater\r\n\u003e * `nopid` - The ID of the NOP check\r\n\u003e * `count` - Count of warnings triggered on suspected cheater\r\n\u003e * This callback does not handle returns\r\n\r\n**AntiCheatKickWithDesync(playerid, code)**\r\n\u003e Use to kick with desync a specific player by the anticheat\r\n\u003e * `playerid` - The ID of the player who will be kicked with desync for the delay time\r\n\u003e * `code` - The ID of the anti-cheat (with some codes the player's vehicle will be resynced after his disconnection)\r\n\u003e * Returns `1` if the function executed successfully, `0` if the player is not connected or `-1` if the player has already been kicked\r\n\r\n**AntiCheatIsKickedWithDesync(playerid)**\r\n\u003e Use to check whether a player is (being) kicked or not\r\n\u003e * `playerid` - The ID of the player to check\r\n\u003e * 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\r\n\r\nAdded in v1.9.40:\r\n\r\n**AntiCheatGetSpawnPos(playerid, \u0026Float:x, \u0026Float:y, \u0026Float:z)**\r\n\u003e Use to get the spawn position of a player\r\n\u003e * `playerid` - The ID of the player to get the spawn position of\r\n\u003e * `\u0026Float:x` - A variable to store the x coordinate in, passed by reference\r\n\u003e * `\u0026Float:y` - A variable to store the y coordinate in, passed by reference\r\n\u003e * `\u0026Float:z` - A variable to store the z coordinate in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the player is not connected\r\n\r\nAdded in v1.9.41:\r\n\r\n**EnableAntiNOP(nopcode, enable)**\r\n\u003e Use to enable/disable one of the anti-NOPs\r\n\u003e * `nopcode` - The ID of the anti-NOP\r\n\u003e * `enable` - `1` to enable/`0` to disable\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the `nopcode` parameter contains an invalid ID of the anti-NOP\r\n\r\n**EnableAntiNOPForPlayer(playerid, nopcode, enable)**\r\n\u003e Use to enable/disable one of the anti-NOPs for a specific player\r\n\u003e * `playerid` - The ID of the player to enable/disable the anti-NOP for\r\n\u003e * `nopcode` - The ID of the anti-NOP\r\n\u003e * `enable` - `1` to enable/`0` to disable\r\n\u003e * 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\r\n\r\n**IsAntiNOPEnabled(nopcode)**\r\n\u003e Use to check whether one of the anti-NOPs is enabled/disabled\r\n\u003e * `nopcode` - The ID of the anti-NOP to check\r\n\u003e * Return `1 (true)` if enabled or `0 (false)` if disabled\r\n\r\n**IsAntiNOPEnabledForPlayer(playerid, nopcode)**\r\n\u003e Use to check whether one of the anti-NOPs is enabled/disabled for a specific player\r\n\u003e * `playerid` - The ID of the player to be checked whether the anti-NOP is enabled/disabled for him\r\n\u003e * `nopcode` - The ID of the anti-NOP to check\r\n\u003e * Return `1 (true)` if enabled or `0 (false)` if disabled\r\n\r\nAdded in v1.9.42:\r\n\r\n**AntiCheatGetVehicleDriver(vehicleid)**\r\n\u003e Use to get the ID of the driver of a vehicle\r\n\u003e * `vehicleid` - The ID of the vehicle to get the driver ID of\r\n\u003e * Returns the ID of the driver or `INVALID_PLAYER_ID` if the vehicle does not exist\r\n\r\n**AntiCheatGetVehicleInterior(vehicleid)**\r\n\u003e Use to get the ID of the current interior of a vehicle\r\n\u003e * `vehicleid` - The ID of the vehicle to get the interior ID of\r\n\u003e * Returns the ID of the interior or `0` if the vehicle does not exist\r\n\r\n**AntiCheatGetVehiclePaintjob(vehicleid)**\r\n\u003e Use to get the ID of the paintjob of a vehicle\r\n\u003e * `vehicleid` - The ID of the vehicle to get the paintjob ID of\r\n\u003e * Returns the ID of the paintjob or `3` if the vehicle does not exist\r\n\r\nAdded in v1.9.43:\r\n\r\n**AntiCheatGetVehiclePos(vehicleid, \u0026Float:x, \u0026Float:y, \u0026Float:z)**\r\n\u003e Use to get the position of a vehicle (according to anticheat data)\r\n\u003e * `vehicleid` - The ID of the vehicle to get the position of\r\n\u003e * `\u0026Float:x` - A variable to store the x coordinate in, passed by reference\r\n\u003e * `\u0026Float:y` - A variable to store the y coordinate in, passed by reference\r\n\u003e * `\u0026Float:z` - A variable to store the z coordinate in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the vehicle does not exist\r\n\r\n**AntiCheatGetVehicleZAngle(vehicleid, \u0026Float:z_angle)**\r\n\u003e Use to get the z rotation of a vehicle (according to anticheat data)\r\n\u003e * `vehicleid` - The ID of the vehicle to get the z rotation of\r\n\u003e * `\u0026Float:z_angle` - A variable to store the z rotation in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the vehicle does not exist\r\n\r\n**AntiCheatGetVehicleSpawnPos(vehicleid, \u0026Float:x, \u0026Float:y, \u0026Float:z)**\r\n\u003e Use to get the spawn position of a vehicle\r\n\u003e * `vehicleid` - The ID of the vehicle to get the spawn position of\r\n\u003e * `\u0026Float:x` - A variable to store the x coordinate in, passed by reference\r\n\u003e * `\u0026Float:y` - A variable to store the y coordinate in, passed by reference\r\n\u003e * `\u0026Float:z` - A variable to store the z coordinate in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the vehicle does not exist\r\n\r\n**AntiCheatGetVehicleSpawnZAngle(vehicleid, \u0026Float:z_angle)**\r\n\u003e Use to get the spawn z rotation of a vehicle\r\n\u003e * `vehicleid` - The ID of the vehicle to get the spawn z rotation of\r\n\u003e * `\u0026Float:z_angle` - A variable to store the z rotation in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the vehicle does not exist\r\n\r\nAdded in v1.9.46:\r\n\r\n**AntiCheatGetInterior(playerid)**\r\n\u003e Use to get the ID of the interior a player is currently in (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the interior ID of\r\n\u003e * Returns the ID of the interior or `0` if the player is not connected\r\n\r\nAdded in v1.9.50:\r\n\r\n**AntiCheatGetEnterVehicleSeat(playerid)**\r\n\u003e Use to get the seat of the vehicle a player attempted to enter last time\r\n\u003e * `playerid` - The ID of the player to get the last entered seat of\r\n\u003e * Returns the ID of the entered seat or `-1` if the player is not connected\r\n\r\n**AntiCheatGetWeaponInSlot(playerid, slot)**\r\n\u003e Use to get the weapon ID in a specific player's weapon slot (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the weapon ID of\r\n\u003e * `slot` - The slot to get the weapon ID for\r\n\u003e * Returns the ID of weapon in a specific slot, `-1` if the player is not connected or `-2` if the slot specified is invalid\r\n\r\n**AntiCheatGetAmmoInSlot(playerid, slot)**\r\n\u003e Use to get the ammo in a specific player's weapon slot (according to anticheat data)\r\n\u003e * `playerid` - The ID of the player to get the ammo of\r\n\u003e * `slot` - The slot to get the ammo for\r\n\u003e * Returns the amount of ammo in a specific slot, `-1` if the player is not connected or `-2` if the slot specified is invalid\r\n\r\n**AntiCheatIsInSpectate(playerid)**\r\n\u003e Use to check whether a player is in spectator mode or not\r\n\u003e * `playerid` - The ID of the player to check\r\n\u003e * Returns `1 (true)` if it is or `0 (false)` if it is not\r\n\r\n**AntiCheatGetVehicleSpeed(vehicleid)**\r\n\u003e Use to get the speed of a vehicle\r\n\u003e * `vehicleid` - The ID of the vehicle to get the speed of\r\n\u003e * Returns the vehicle speed or `0` if the vehicle does not exist\r\n\r\n**AntiCheatIsVehicleSpawned(vehicleid)**\r\n\u003e Use to check whether a vehicle is spawned or not\r\n\u003e * `vehicleid` - The ID of the vehicle to check\r\n\u003e * Returns `1 (true)` if it is or `0 (false)` if it is not\r\n\r\nAdded in v1.9.53:\r\n\r\n**AntiCheatGetPickupPos(pickupid, \u0026Float:x, \u0026Float:y, \u0026Float:z)**\r\n\u003e Use to get the position of a pickup\r\n\u003e * `pickupid` - The ID of the pickup to get the position of\r\n\u003e * `\u0026Float:x` - A variable to store the x coordinate in, passed by reference\r\n\u003e * `\u0026Float:y` - A variable to store the y coordinate in, passed by reference\r\n\u003e * `\u0026Float:z` - A variable to store the z coordinate in, passed by reference\r\n\u003e * Returns `1 (true)` if the function executed successfully or `0 (false)` if the pickup does not exist\r\n\u003c/details\u003e\r\n\r\n[Example of setting **OnCheatDetected** in your gamemode](CHANGELOG.md)\r\n\r\n# Multilingual:\r\nThe 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.\r\n\r\n* *.lang* files can be opened even in default notepad and easily edited\r\n\r\n*Did not find your language? Help the project* :)  \r\nIf you know well a language that is not in the \"lang\" folder, please translate anticheat into this language. To do this, just send the translated .lang file via Pull Request.  \r\nI will be very glad of your help and add you in the list of those who helped the development of the anticheat.\r\n\r\n# Installation:\r\n1. Download latest anticheat version from the repo\r\n2. Download the language file *(.lang)* in your preferred language\r\n3. Copy both files to a folder *\"/pawno/include\"* which is located in a folder with the server\r\n4. In your gamemode, after \"#include \u003ca_samp\u003e\" write the following:\r\n```pawn\r\n#define DEBUG\r\n#include \u003cnex-ac_en.lang\u003e //or any other\r\n#include \u003cnex-ac\u003e\r\n```\r\n5. In all filterscripts, after \"#include \u003ca_samp\u003e\" write the following:\r\n```pawn\r\n#include \u003cnex-ac\u003e\r\n```\r\n6. Compile the modified scripts\r\n\r\n***Warnings:***\r\n * Check for using any other anticheats in order to avoid conflicts with them\r\n * If you use Streamer Plugin, Pawn.RakNet, foreach, sscanf, YSF or SKY, include it before nex-ac\r\n * Some libraries like fixes, mdialog or tdw_dialog may also require to be included before nex-ac\r\n * Keep in mind that filterscript must have \"#define FILTERSCRIPT\" before including the anticheat\r\n\r\n\r\n# Thanks:\r\n* f0Re3t, Vitalik_Gonsor, Magic_York, Roberto_York, TheHero, Nike_33, Mix_Rargard, Unisheld - testing\r\n* ZiGGi, Urukhay, Yashas, theYiin, RaefaldhiAmartya, PatchwerkQWER, kvann, rt-2 - advices on the code\r\n* Carper - German translation\r\n* Jstylezzz - Dutch translation\r\n* J4Rr3x, Sasino97 - Italian translation\r\n* Alex Westbrook, JustBored, Frenzoid - Spanish translation\r\n* lashona, ArthourP, DAKYSKYE, Lasho4 - Georgian translation\r\n* wampiros6 - Polish translation\r\n* DeitY, Dragony92 - Serbian translation\r\n* NicK_ - Brazilian Portuguese translation\r\n* KyleSmith, infin1tyy - Improved English translation\r\n* M4D - Persian (Farsi) Translation\r\n* Valera_Kovshikov - Ukrainian translation\r\n* RaefaldhiAmartya - Indonesian translation\r\n* vannesenn - Croatian translation\r\n* j3rry, vic1997 - French translation\r\n* zaibaslr2 - Lithuanian translation\r\n* UnforgiveNNN - Romanian translation\r\n* Pedro. - Hungarian translation\r\n* Ben_Lovejoy - Finnish translation\r\n* Rengar - Latvian translation\r\n* bgedition - Bulgarian translation\r\n* Jensenn - Turkish translation\r\n* Sanady - Slovak translation\r\n* Grig - Armenian translation\r\n* SooBad - Czech translation\r\n* OldPawn - Estonian translation\r\n* Negativ_Tm - Turkmen translation\r\n* Trung.Tin - Vietnamese translation\r\n* willbedie - Albanian translation\r\n* aktah - Thai translation\r\n* Michael.Richmond - Moldavian translation\r\n* NemanjaMAX - Bosnian translation\r\n* dunningkrueg - Greek and Danish translation\r\n* TTG - simplified Chinese translation\r\n* Mateusz - Azerbaijani translation\r\n* Karthi - Tamil translation\r\n* Abraar - Hindi translation\r\n\r\nThis script also contains materials from third-party open source projects.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNexiusTailer%2FNex-AC","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNexiusTailer%2FNex-AC","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNexiusTailer%2FNex-AC/lists"}