Pastebin
API
tools
faq
paste
Login
Sign up
Please fix the following errors:
New Paste
Syntax Highlighting
//-----------------------------------------------------------------------------------| // [svCheats] | // | // | // - You may not remove these credits | // - You may not claim this script as yours | // | // | // | // [VERSION 1.1] Created by SuperViper | //-----------------------------------------------------------------------------------| #include <a_samp> #include <sscanf2> // ==================================== SETTINGS ================================== /// // //| /* Comment if you are using this include inside of a filterscript */ //| #define GAMEMODE //| // //| /* Comment if you would like to use regular 'for' loops instead of foreach */ //| #define USE_FOREACH //| // //| /* Comment if you would like to use regular 'ALS' hooks instead of y_hooks */ //| #define USE_YHOOKS //| // //| /* Comment if you would like to use regular 'strcmp' commands instead of ZCMD */ //| #define USE_ZCMD //| // //| /* Change this amount to set how fast the timer (in ms) to detect cheats runs */ //| #define TIMER_TIME 1250 //| // //| /* Comment this if you would like to disable the /acstats command */ //| #define ACSTATS_USED //| // //| /* Comment this if you would like to disable the /hh command */ //| #define HH_USED (1) //| // //| /* Comment the anticheat(s) that you dont want and change the security level */ //| #define HIGH_PING (2) //| #define WEAPON_SPAWN (1) //| #define SPEED_HACK (1) //| #define JETPACK_HACK (1) //| #define DRVBY_RESTRICT (-1) //| #define DDRIVEBY_OFF (-1) //| #define SWEARING_OFF (-1) //| //#define AIRBREAK_HACK (1) //| #define BUNNYHOP_OFF (1) //| #define FLY_HACK (1) //| #define TELEPORT_HACK (1) //| #define VEHICLE_REPAIR (1) //| #define CHATSPAM_OFF (-1) //| #define AFK_DISABLED (2) //| #define TABBED_DISABLED (2) //| #define NINJAJACK_CHEAT (-1) //| // //| // //| // //| /* Change the anticheat settings to best fit your server */ //| #define MAX_PING (750) // Maximum server ping //| #define USED_INTERIORS "1 2" // Used interiors separated by a space //| #define MAX_SPEED (198) // Maximum vehicle speed //| #define DRIVEBY_WEAPONS "28 29 32" // Driveby allowed weapons separated by a space //| #define BUNNYHOP_AMOUNT (6) // Amount of jumps before it's called bunny hopping //| #define CHATSPAM_LINES (4) // Amount of lines sent before it's called spam //| #define AFK_MINUTES (10) // Amount of minutes before a person is AFK //| new CurseWords[][] = {"ass", "bitch", "shit", "fuck", "nigger"}; //| // ================================================================================ /// // DO NOT TOUCH ANYTHING BELOW THIS /// // ================================================================================ /// #if defined USE_FOREACH #tryinclude <foreach> #endif #if defined USE_YHOOKS #tryinclude <YSI\y_hooks> #endif #if defined USE_ZCMD #tryinclude <zcmd> #endif #if defined AIRBREAK_HACK #tryinclude <MapAndreas> #endif #define CHEAT_HIGH_PING (1) #define CHEAT_WEAPON_SPAWN (2) #define CHEAT_SPEED_HACK (3) #define CHEAT_JETPACK_HACK (4) #define CHEAT_DRIVEBY (5) #define CHEAT_DDRIVEBY (6) #define CHEAT_SWEARING (7) #define CHEAT_AIRBREAK_HACK (8) #define CHEAT_BUNNYHOP (9) #define CHEAT_FLY_HACK (10) #define CHEAT_TELEPORT_HACK (11) #define CHEAT_VEHICLE_REPAIR (12) #define CHEAT_CHATSPAM (13) #define CHEAT_AFK (14) #define CHEAT_TABBED (15) #define CHEAT_GODMODE (16) #define CHEAT_NINJAJACK (17) forward svCheats_Detector(); forward svCheats_OnPlayerCheatUpdate(playerid, cheatid); enum e_svCheats_HH { svCheckedBy, bool: svInVehicle, svVehicleID, svVehicleSeat, Float: svOldPlayerPos[4], svInterior, svVirtualWorld, Float: svHealth, Float: svArmor, } new svCheats_SecurityLevel[MAX_PLAYERS], bool: svCheats_Debugging; new bool: svCheats_GrantedJetpack[MAX_PLAYERS], Float: svCheats_VehicleHealth[MAX_VEHICLES] = 1000.0; new svCheats_JumpCounters[MAX_PLAYERS], svCheats_JumpCounterTimer[MAX_PLAYERS]; new svCheats_PlayerWeapons[MAX_PLAYERS][13], svCheats_SpamCounters[MAX_PLAYERS]; new svCheats_AFKTime[MAX_PLAYERS], svCheats_LastAFKUpdate[MAX_PLAYERS], bool: svCheats_ReportedAFK[MAX_PLAYERS]; new svCheats_TabbedUpdates[MAX_PLAYERS], bool: svCheats_ReportedTabbed[MAX_PLAYERS], bool: svCheats_TabbedDisabled[MAX_PLAYERS]; new svCheats_HH[MAX_PLAYERS][e_svCheats_HH]; new svCheats_PossibleNinjaJack[MAX_PLAYERS]; new svCheats_AmountDetected; #if defined USE_YHOOKS #if defined GAMEMODE hook OnGameModeInit() { new File: svCheats_Stats; if(!fexist("svCheats_Stats.txt")) { svCheats_Stats = fopen("svCheats_Stats.txt", io_append); fwrite(svCheats_Stats, "0"); } else { new amountDetected[5]; svCheats_Stats = fopen("svCheats_Stats.txt", io_read); fread(svCheats_Stats, amountDetected); svCheats_AmountDetected = strval(amountDetected); } fclose(svCheats_Stats); SetTimer("svCheats_Detector", TIMER_TIME, 1); return 1; } hook OnGameModeExit() { new amountDetected[5], File: svCheats_Stats = fopen("svCheats_Stats.txt", io_write); format(amountDetected, sizeof(amountDetected), "%d", svCheats_AmountDetected); fwrite(svCheats_Stats, amountDetected); fclose(svCheats_Stats); return 1; } #else hook OnFilterScriptInit() { new File: svCheats_Stats; if(!fexist("svCheats_Stats.txt")) { svCheats_Stats = fopen("svCheats_Stats.txt", io_append); fwrite(svCheats_Stats, "0"); } else { new amountDetected[5]; svCheats_Stats = fopen("svCheats_Stats.txt", io_read); fread(svCheats_Stats, amountDetected); svCheats_AmountDetected = strval(amountDetected); } fclose(svCheats_Stats); SetTimer("svCheats_Detector", TIMER_TIME, 1); return 1; } hook OnFilterScriptExit() { new amountDetected[5], File: svCheats_Stats = fopen("svCheats_Stats.txt", io_write); format(amountDetected, sizeof(amountDetected), "%d", svCheats_AmountDetected); fwrite(svCheats_Stats, amountDetected); fclose(svCheats_Stats); return 1; } #endif hook OnPlayerConnect(playerid) { svCheats_SecurityLevel[playerid] = 0; #if defined JETPACK_HACK svCheats_GrantedJetpack[playerid] = false; #endif #if defined BUNNYHOP_OFF svCheats_JumpCounters[playerid] = 0; svCheats_JumpCounterTimer[playerid] = -1; #endif #if defined CHATSPAM_OFF svCheats_SpamCounters[playerid] = 0; #endif #if defined WEAPON_SPAWN for(new i = 0; i < 13; i++) { svCheats_PlayerWeapons[playerid][i] = 0; } #endif #if defined AFK_DISABLED svCheats_AFKTime[playerid] = 0; svCheats_LastAFKUpdate[playerid] = GetTickCount(); svCheats_ReportedAFK[playerid] = false; #endif #if defined TABBED_DISABLED svCheats_TabbedUpdates[playerid] = 0; svCheats_ReportedTabbed[playerid] = false; svCheats_TabbedDisabled[playerid] = true; #endif #if defined HH_USED svCheats_HH[playerid][svCheckedBy] = INVALID_PLAYER_ID; #endif #if defined NINJAJACK_CHEAT svCheats_PossibleNinjaJack[playerid] = INVALID_PLAYER_ID; #endif return 1; } hook OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { #if defined BUNNYHOP_OFF if(newkeys & KEY_JUMP) { if(svCheats_SecurityLevel[playerid] < BUNNYHOP_OFF || BUNNYHOP_OFF == -1) { new ai = GetPlayerAnimationIndex(playerid); if(ai != 1061 && ai != 1062 && ai != 1064 && ai != 1066 && ai != 1195 && ai != 1997) { svCheats_JumpCounters[playerid]++; if(svCheats_JumpCounterTimer[playerid] > -1) { KillTimer(svCheats_JumpCounterTimer[playerid]); svCheats_JumpCounterTimer[playerid] = -1; } if(svCheats_JumpCounters[playerid] == BUNNYHOP_AMOUNT) { svCheats_JumpCounters[playerid] = 0; CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_BUNNYHOP); svCheats_AmountDetected++; } else { svCheats_JumpCounterTimer[playerid] = SetTimerEx("svCheats_JumpCountersDown", 3000, 0, "i", playerid); } } } } #endif #if defined WEAPON_SPAWN if(newkeys & KEY_FIRE) { if(svCheats_SecurityLevel[playerid] < WEAPON_SPAWN || WEAPON_SPAWN == -1) { new w = GetPlayerWeapon(playerid); if(w > 0) { if(svCheats_PlayerWeapons[playerid][svCheats_GetWeaponSlot(w)] != w) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_WEAPON_SPAWN); svCheats_AmountDetected++; } } } } #endif return 1; } hook OnPlayerText(playerid, text[]) { #if defined SWEARING_OFF if(svCheats_SecurityLevel[playerid] < SWEARING_OFF || SWEARING_OFF == -1) { for(new c = 0; c < sizeof(CurseWords); c++) { if(strfind(text, CurseWords[c], true) > -1) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_SWEARING); svCheats_AmountDetected++; return 0; } } } #endif #if defined CHATSPAM_OFF if(svCheats_SecurityLevel[playerid] < CHATSPAM_OFF || CHATSPAM_OFF == -1) { svCheats_SpamCounters[playerid]++; if(svCheats_SpamCounters[playerid] == CHATSPAM_LINES) { svCheats_SpamCounters[playerid] = 0; CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_CHATSPAM); svCheats_AmountDetected++; return 0; } } #endif #if defined AFK_DISABLED if(svCheats_SecurityLevel[playerid] < AFK_DISABLED || AFK_DISABLED == -1) { svCheats_AFKTime[playerid] = 0; svCheats_ReportedAFK[playerid] = false; } #endif return 0; } #if defined VEHICLE_REPAIR hook OnVehicleSpawn(vehicleid) { svCheats_VehicleHealth[vehicleid] = 1000.0; return 1; } hook OnPlayerStateChange(playerid, newstate, oldstate) { if(newstate == PLAYER_STATE_DRIVER) { #if defined VEHICLE_REPAIR new vehicleid = GetPlayerVehicleID(playerid); GetVehicleHealth(vehicleid, svCheats_VehicleHealth[vehicleid]); #endif #if defined NINJAJACK_OFF #if defined USE_FOREACH foreach(new i: Player) { if(svCheats_PossibleNinjaJack[i] == playerid) { svCheats_PossibleNinjaJack[i] = INVALID_PLAYER_ID; break; } } #else for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(svCheats_PossibleNinjaJack[i] == playerid) { svCheats_PossibleNinjaJack[i] = INVALID_PLAYER_ID; break; } } } #endif #endif } return 1; } #endif #if defined CHEAT_TABBED hook OnPlayerUpdate(playerid) { svCheats_TabbedUpdates[playerid] = 0; svCheats_ReportedTabbed[playerid] = false; return 1; } hook OnPlayerSpawn(playerid) { svCheats_TabbedDisabled[playerid] = false; return 1; } #endif hook OnPlayerDeath(playerid, killerid, reason) { svCheats_TabbedDisabled[playerid] = true; if(killerid == INVALID_PLAYER_ID) { if(svCheats_PossibleNinjaJack[playerid] != INVALID_PLAYER_ID) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", svCheats_PossibleNinjaJack[playerid], CHEAT_NINJAJACK); svCheats_PossibleNinjaJack[playerid] = INVALID_PLAYER_ID; } } return 1; } hook OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { #if defined DRVBY_RESTRICT if(svCheats_SecurityLevel[playerid] < DRVBY_RESTRICT || DRVBY_RESTRICT == -1) { if(ispassenger) { new w = GetPlayerWeapon(playerid); if(w > 0) { new allowedWeapons[10], bool: allowed; sscanf(DRIVEBY_WEAPONS, "a<i>[10]", allowedWeapons); for(new i = 0; i < sizeof(allowedWeapons); i++) { if(w == allowedWeapons[i]) { allowed = true; break; } } if(allowed == false) { SetPlayerArmedWeapon(playerid, 0); CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_DRIVEBY); svCheats_AmountDetected++; } } } } #endif #if defined DDRIVEBY_OFF if(svCheats_SecurityLevel[playerid] < DDRIVEBY_OFF || DDRIVEBY_OFF == -1) { if(!ispassenger) { new w = GetPlayerWeapon(playerid); if(w > 0) { SetPlayerArmedWeapon(playerid, 0); CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_DDRIVEBY); svCheats_AmountDetected++; } } } #endif #if defined NINJAJACK_CHEAT if(svCheats_SecurityLevel[playerid] < NINJAJACK_CHEAT || NINJAJACK_CHEAT == -1) { if(!ispassenger) { #if defined USE_FOREACH foreach(new i: Player) { if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER) { svCheats_PossibleNinjaJack[i] = playerid; break; } } #else for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER) { svCheats_PossibleNinjaJack[i] = playerid; break; } } } #endif } } #endif return 1; } #if defined USE_ZCMD #if defined HH_USED COMMAND:hh(playerid, params[]) { if(svCheats_SecurityLevel[playerid] < HH_USED) { return SendClientMessage(playerid, -1, "You are not authorized to use this command."); } new svCheats_giveplayerid; if(sscanf(params, "u", svCheats_giveplayerid)) { return SendClientMessage(playerid, -1, "USAGE: /hh [player]"); } if(svCheats_ReportedTabbed[svCheats_giveplayerid] == true) { return SendClientMessage(playerid, -1, "You may not health hack check tabbed players."); } if(svCheats_HH[svCheats_giveplayerid][svCheckedBy] != INVALID_PLAYER_ID) { return SendClientMessage(playerid, -1, "That player is already being checked for health hacks."); } new string[128], playersName[MAX_PLAYER_NAME], Float: playersPos[3]; GetPlayerName(svCheats_giveplayerid, playersName, sizeof(playersName)); format(string, sizeof(string), "Checking %s for health hacks...", playersName); SendClientMessage(playerid, -1, string); GetPlayerPos(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2]); SetPlayerCameraLookAt(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2]); SetPlayerCameraPos(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2] + 5); for(new i = 0; i < 3; i++) { svCheats_HH[svCheats_giveplayerid][svOldPlayerPos][i] = playersPos[i]; } GetPlayerFacingAngle(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svOldPlayerPos][3]); svCheats_HH[svCheats_giveplayerid][svInterior] = GetPlayerInterior(svCheats_giveplayerid); svCheats_HH[svCheats_giveplayerid][svVirtualWorld] = GetPlayerVirtualWorld(svCheats_giveplayerid); if(IsPlayerInAnyVehicle(svCheats_giveplayerid)) { svCheats_HH[svCheats_giveplayerid][svInVehicle] = true; svCheats_HH[svCheats_giveplayerid][svVehicleID] = GetPlayerVehicleID(svCheats_giveplayerid); svCheats_HH[svCheats_giveplayerid][svVehicleSeat] = GetPlayerVehicleSeat(svCheats_giveplayerid); } else { svCheats_HH[svCheats_giveplayerid][svInVehicle] = false; } GetPlayerHealth(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svHealth]); GetPlayerArmour(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svArmor]); svCheats_HH[svCheats_giveplayerid][svCheckedBy] = playerid; SetPlayerInterior(svCheats_giveplayerid, 0); SetPlayerPos(svCheats_giveplayerid, 0.0, 0.0, 8.0); SetPlayerHealth(svCheats_giveplayerid, 100.0); SetPlayerArmour(svCheats_giveplayerid, 0.0); SetTimerEx("svCheats_HealthHackCheck", 1350 + GetPlayerPing(svCheats_giveplayerid), 0, "i", svCheats_giveplayerid); return 1; } #endif #if defined ACSTATS_USED COMMAND:acstats(playerid, params[]) { new string[50]; format(string, sizeof(string), "(svCheats) Cheaters Detected: %d", svCheats_AmountDetected); SendClientMessage(playerid, -1, string); return 1; } #endif #else hook OnPlayerCommandText(playerid, cmdtext[]) { #if defined HH_USED new svCheats_cmd[5]; sscanf(cmdtext, "s[5]", svCheats_cmd); if(strcmp(svCheats_cmd, "/hh", true) == 0) { if(svCheats_SecurityLevel[playerid] < HH_USED) { return SendClientMessage(playerid, -1, "You are not authorized to use this command."); } new svCheats_giveplayerid; if(sscanf(cmdtext, "{s[5]}u", svCheats_giveplayeid)) { return SendClientMessage(playerid, -1, "USAGE: /hh [player]"); } if(svCheats_ReportedTabbed[svCheats_giveplayerid] == true) { return SendClientMessage(playerid, -1, "You may not health hack check tabbed players."); } if(svCheats_HH[svCheats_giveplayerid][svCheckedBy] != INVALID_PLAYER_ID) { return SendClientMessage(playerid, -1, "That player is already being checked for health hacks."); } new string[128], playersName[MAX_PLAYER_NAME], Float: playersPos[3]; GetPlayerName(svCheats_giveplayerid, playersName, sizeof(playersName)); format(string, sizeof(string), "Checking %s for health hacks...", playersName); SendClientMessage(playerid, -1, string); GetPlayerPos(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2]); SetPlayerCameraLookAt(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2]); SetPlayerCameraPos(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2] + 5); for(new i = 0; i < 3; i++) { svCheats_HH[svCheats_giveplayerid][svOldPlayerPos][i] = playersPos[i]; } GetPlayerFacingAngle(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svOldPlayerPos][3]); svCheats_HH[svCheats_giveplayerid][svInterior] = GetPlayerInterior(svCheats_giveplayerid); svCheats_HH[svCheats_giveplayerid][svVirtualWorld] = GetPlayerVirtualWorld(svCheats_giveplayerid); if(IsPlayerInAnyVehicle(svCheats_giveplayerid)) { svCheats_HH[svCheats_giveplayerid][svInVehicle] = true; svCheats_HH[svCheats_giveplayerid][svVehicleID] = GetPlayerVehicleID(svCheats_giveplayerid); svCheats_HH[svCheats_giveplayerid][svVehicleSeat] = GetPlayerVehicleSeat(svCheats_giveplayerid); } else { svCheats_HH[svCheats_giveplayerid][svInVehicle] = false; } GetPlayerHealth(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svHealth]); GetPlayerArmour(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svArmor]); svCheats_HH[svCheats_giveplayerid][svCheckedBy] = playerid; SetPlayerInterior(svCheats_giveplayerid, 0); SetPlayerPos(svCheats_giveplayerid, 0.0, 0.0, 8.0); SetPlayerHealth(svCheats_giveplayerid, 100.0); SetPlayerArmour(svCheats_giveplayerid, 0.0); SetTimerEx("svCheats_HealthHackCheck", 1350 + GetPlayerPing(svCheats_giveplayerid), 0, "i", svCheats_giveplayerid); return 1; } #endif #if defined ACSTATS_USED if(strcmp(cmdtext, "/acstats", true) == 0) { new string[50]; format(string, sizeof(string), "(svCheats) Cheaters Detected: %d", svCheats_AmountDetected); SendClientMessage(playerid, -1, string); return 1; } #endif return 0; } #endif #if defined HH_USED hook OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) { if(issuerid == INVALID_PLAYER_ID) { if(svCheats_HH[playerid][svCheckedBy] != INVALID_PLAYER_ID) { new string[128], playersName[MAX_PLAYER_NAME], giveplayerid = svCheats_HH[playerid][svCheckedBy]; GetPlayerName(playerid, playersName, sizeof(playersName)); format(string, sizeof(string), "The health hack check on %s has been finished and the result is {F81414}negative{FFFFFF}.", playersName); SendClientMessage(giveplayerid, -1, string); svCheats_HH[playerid][svCheckedBy] = INVALID_PLAYER_ID; SetPlayerVirtualWorld(playerid, svCheats_HH[playerid][svVirtualWorld]); SetPlayerInterior(playerid, svCheats_HH[playerid][svInterior]); SetPlayerPos(playerid, svCheats_HH[playerid][svOldPlayerPos][0], svCheats_HH[playerid][svOldPlayerPos][1], svCheats_HH[playerid][svOldPlayerPos][2]); SetPlayerFacingAngle(playerid, svCheats_HH[playerid][svOldPlayerPos][3]); if(svCheats_HH[playerid][svInVehicle] == true) { PutPlayerInVehicle(playerid, svCheats_HH[playerid][svVehicleID], svCheats_HH[playerid][svVehicleSeat]); } SetPlayerHealth(playerid, svCheats_HH[playerid][svHealth]); SetPlayerArmour(playerid, svCheats_HH[playerid][svArmor]); SetCameraBehindPlayer(playerid); } } return CallRemoteFunction("svCheats_OnPlayerTakeDamage", "ddfd", playerid, issuerid, amount, weaponid); } #endif #else #if defined GAMEMODE forward svCheats_OnGameModeInit(); public OnGameModeInit() { new File: svCheats_Stats; if(!fexist("svCheats_Stats.txt")) { svCheats_Stats = fopen("svCheats_Stats.txt", io_append); fwrite(svCheats_Stats, "0"); } else { new amountDetected[5]; svCheats_Stats = fopen("svCheats_Stats.txt", io_read); fread(svCheats_Stats, amountDetected); svCheats_AmountDetected = strval(amountDetected); } fclose(svCheats_Stats); SetTimer("svCheats_Detector", TIMER_TIME, 1); return 1; } #if defined _ALS_OnGameModeInit #undef OnGameModeInit #else #define _ALS_OnGameModeInit #endif #define OnGameModeInit svCheats_OnGameModeInit forward svCheats_OnGameModeExit(); public OnGameModeExit() { new amountDetected[5], File: svCheats_Stats = fopen("svCheats_Stats.txt", io_write); format(amountDetected, sizeof(amountDetected), "%d", svCheats_AmountDetected); fwrite(svCheats_Stats, amountDetected); fclose(svCheats_Stats); return 1; } #if defined _ALS_OnGameModeExit #undef OnGameModeExit #else #define _ALS_OnGameModeExit #endif #define OnGameModeExit svCheats_OnGameModeExit #else forward svCheats_OnFilterScriptInit(); public OnFilterScriptInit() { new File: svCheats_Stats; if(!fexist("svCheats_Stats.txt")) { svCheats_Stats = fopen("svCheats_Stats.txt", io_append); fwrite(svCheats_Stats, "0"); } else { new amountDetected[5]; svCheats_Stats = fopen("svCheats_Stats.txt", io_read); fread(svCheats_Stats, amountDetected); svCheats_AmountDetected = strval(amountDetected); } fclose(svCheats_Stats); SetTimer("svCheats_Detector", TIMER_TIME, 1); return 1; } #if defined _ALS_OnFilterScriptInit #undef OnFilterScriptInit #else #define _ALS_OnFilterScriptInit #endif #define OnFilterScriptInit svCheats_OnFilterScriptInit forward svCheats_OnFilterScriptExit(); public OnFilterScriptExit() { new amountDetected[5], File: svCheats_Stats = fopen("svCheats_Stats.txt", io_write); format(amountDetected, sizeof(amountDetected), "%d", svCheats_AmountDetected); fwrite(svCheats_Stats, amountDetected); fclose(svCheats_Stats); return 1; } #if defined _ALS_OnFilterScriptExit #undef OnFilterScriptExit #else #define _ALS_OnFilterScriptExit #endif #define OnFilterScriptExit svCheats_OnFilterScriptExit #endif forward svCheats_OnPlayerDeath(playerid, killerid, reason); public OnPlayerDeath(playerid, killerid, reason) { svCheats_TabbedDisabled[playerid] = true; if(killerid == INVALID_PLAYER_ID) { if(svCheats_PossibleNinjaJack[playerid] != INVALID_PLAYER_ID) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", svCheats_PossibleNinjaJack[playerid], CHEAT_NINJAJACK); svCheats_PossibleNinjaJack[playerid] = INVALID_PLAYER_ID; } } return CallRemoteFunction("svCheats_OnPlayerDeat", "ddd", playerid, killerid, reason);; } #if defined _ALS_OnPlayerDeath #undef OnPlayerDeath #else #define _ALS_OnPlayerDeath #endif #define OnPlayerDeath svCheats_OnPlayerDeath forward svCheats_OnPlayerConnect(); public OnPlayerConnect(playerid) { svCheats_SecurityLevel[playerid] = 0; #if defined JETPACK_HACK svCheats_GrantedJetpack[playerid] = false; #endif #if defined BUNNYHOP_OFF svCheats_JumpCounters[playerid] = 0; svCheats_JumpCounterTimer[playerid] = -1; #endif #if defined CHATSPAM_OFF svCheats_SpamCounters[playerid] = 0; #endif #if defined WEAPON_SPAWN for(new i = 0; i < 13; i++) { svCheats_PlayerWeapons[playerid][i] = 0; } #endif #if defined AFK_DISABLED svCheats_AFKTime[playerid] = 0; svCheats_LastAFKUpdate[playerid] = GetTickCount(); svCheats_ReportedAFK[playerid] = false; #endif #if defined TABBED_DISABLED svCheats_TabbedUpdates[playerid] = 0; svCheats_ReportedTabbed[playerid] = false; svCheats_TabbedDisabled[playerid] = true; #endif #if defined HH_USED svCheats_HH[playerid][svCheckedBy] = INVALID_PLAYER_ID; #endif #if defined NINJAJACK_CHEAT svCheats_PossibleNinjaJack[playerid] = INVALID_PLAYER_ID; #endif return CallRemoteFunction("svCheats_OnPlayerConnect", "d", playerid); } #if defined _ALS_OnPlayerConnect #undef OnPlayerConnect #else #define _ALS_OnPlayerConnect #endif #define OnPlayerConnect svCheats_OnPlayerConnect forward svCheats_OnPlayerKeyStateChange(playerid, newkeys, oldkeys); public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { #if defined BUNNYHOP_OFF if(newkeys & KEY_JUMP) { if(svCheats_SecurityLevel[playerid] < BUNNYHOP_OFF || BUNNYHOP_OFF == -1) { new ai = GetPlayerAnimationIndex(playerid); if(ai != 1061 && ai != 1062 && ai != 1064 && ai != 1066 && ai != 1195 && ai != 1997) { svCheats_JumpCounters[playerid]++; if(svCheats_JumpCounterTimer[playerid] > -1) { KillTimer(svCheats_JumpCounterTimer[playerid]); svCheats_JumpCounerTimer[playerid] = -1; } if(svCheats_JumpCounters[playerid] == BUNNYHOP_AMOUNT) { svCheats_JumpCounters[playerid] = 0; CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_BUNNYHOP); svCheats_AmountDetected++; } else { svCheats_JumpCounterTimer[playerid] = SetTimerEx("svCheats_JumpCountersDown", 3000, 0, "i", playerid); } } } } #endif #if defined WEAPON_SPAWN if(newkeys & KEY_FIRE) { if(svCheats_SecurityLevel[playerid] < WEAPON_SPAWN || WEAPON_SPAWN == -1) { new w = GetPlayerWeapon(playerid); if(w > 0) { if(svCheats_PlayerWeapons[playerid][svCheats_GetWeaponSlot(w)] != w) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_WEAPON_SPAWN); svCheats_AmountDetected++; } } } } #endif return CallRemoteFunction("svCheats_OnPlayerKeyStateChange", "ddd", playerid, newkeys, oldkeys); } #if defined _ALS_OnPlayerKeyStateChange #undef OnPlayerKeyStateChange #else #define _ALS_OnPlayerKeyStateChange #endif #define OnPlayerKeyStateChange svCheats_OnPlayerKeyStateChange forward svCheats_OnPlayerText(playerid, text[]); public OnPlayerText(playerid, text[]) { #if defined SWEARING_OFF if(svCheats_SecurityLevel[playerid] < SWEARING_OFF || SWEARING_OFF == -1) { for(new c = 0; c < sizeof(CurseWords); c++) { if(strfind(string, CurseWords[c], true) > -1) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_SWEARING); svCheats_AmountDetected++; return 0; } } } #endif #if defined CHATSPAM_OFF if(svCheats_SecurityLevel[playerid] < CHATSPAM_OFF || CHATSPAM_OFF == -1) { svCheats_SpamCounters[playerid]++; if(svCheats_SpamCounters[playerid] == CHATSPAM_LINES) { svCheats_SpamCounters[playerid] = 0; CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_CHATSPAM); svCheats_AmountDetected++; return 0; } } #endif #if defined AFK_DISABLED if(svCheats_SecurityLevel[playerid] < AFK_DISABLED || AFK_DISABLED == -1) { svCheats_AFKTime[playerid] = 0; svCheats_ReportedAFK[playerid] = false; } #endif return CallRemoteFunction("svCheats_OnPlayerText", "ds", playerid, text); } #if defined _ALS_OnPlayerText #undef OnPlayerText #else #define _ALS_OnPlayerText #endif #define OnPlayerText svCheats_OnPlayerText #if defined VEHICLE_REPAIR forward svCheats_OnVehicleSpawn(vehicleid); public OnVehicleSpawn(vehicleid) { svCheats_VehicleHealth[vehicleid] = 1000.0; return CallRemoteFunction("svCheats_OnVehicleSpawn", "d", vehicleid); } #if defined _ALS_OnVehicleSpawn #undef OnVehicleSpawn #else #define _ALS_OnVehicleSpawn #endif #define OnVehicleSpawn svCheats_OnVehicleSpawn forward svCheats_OnPlayerStateChange(playerid, newstate, oldstate); public OnPlayerStateChange(playerid, newstate, oldstate) { if(newstate == PLAYER_STATE_DRIVER) { #if defined VEHICLE_REPAIR new vehicleid = GetPlayerVehicleID(playerid); GetVehicleHealth(vehicleid, svCheats_VehicleHealth[vehicleid]); #endif #if defined NINJAJACK_OFF #if defined USE_FOREACH foreach(new i: Player) { if(svCheats_PossibleNinjaJack[i] == playerid) { svCheats_PossibleNinjaJack[i] = INVALID_PLAYER_ID; break; } } #else for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(svCheats_PossibleNinjaJack[i] == playerid) { svCheats_PossibleNinjaJack[i] = INVALID_PLAYER_ID; break; } } } #endif #endif } return CallRemoteFunction("svCheats_OnPlayerStateChange", "ddd", playerid, newstate, oldstate); } #if defined _ALS_OnPlayerStateChange #undef OnPlayerStateChange #else #define _ALS_OnPlayerStateChange #endif #define OnPlayerStateChange svCheats_OnPlayerStateChange #endif #if defined CHEAT_TABBED forward svCheats_OnPlayerUpdate(playerid); public OnPlayerUpdate(playerid) { svCheats_TabbedUpdates[playerid] = 0; svCheats_ReportedTabbed[playerid] = false; return CallRemoteFunction("svCheats_OnPlayerUpdate", "d", playerid); } #if defined _ALS_OnPlayerUpdate #undef OnPlayerUpdate #else #define _ALS_OnPlayerUpdate #endif #define OnPlayerUpdate svCheats_OnPlayerUpdate forward svCheats_OnPlayerSpawn(playerid); public OnPlayerSpawn(playerid) { svCheats_TabbedDisabled[playerid] = false; return CallRemoteFunction("svCheats_OnPlayerSpawn", "d", playerid);; } #if defined _ALS_OnPlayerSpawn #undef OnPlayerSpawn #else #define _ALS_OnPlayerSpawn #endif #define OnPlayerSpawn svCheats_OnPlayerSpawn forward svCheats_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger); public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { #if defined DRVBY_RESTRICT if(svCheats_SecurityLevel[playerid] < DRVBY_RESTRICT || DRVBY_RESTRICT == -1) { if(ispassenger) { new w = GetPlayerWeapon(playerid); if(w > 0) { new allowedWeapons[10], bool: allowed; sscanf(DRIVEBY_WEAPONS, "a<i>[10]", allowedWeapons); for(new i = 0; i < sizeof(allowedWeapons); i++) { if(w == allowedWeapons[i]) { allowed = true; break; } } if(allowed == false) { SetPlayerArmedWeapon(playerid, 0); CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_DRIVEBY); svCheats_AmountDetected++; } } } } #endif #if defined DDRIVEBY_OFF if(svCheats_SecurityLevel[playerid] < DDRIVEBY_OFF || DDRIVEBY_OFF == -1) { if(!ispassenger) { new w = GetPlayerWeapon(playerid); if(w > 0) { SetPlayerArmedWeapon(playerid, 0); CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_DDRIVEBY); svCheats_AmountDetected++; } } } #endif #if defined NINJAJACK_CHEAT if(svCheats_SecurityLevel[playerid] < NINJAJACK_CHEAT || NINJAJACK_CHEAT == -1) { if(!ispassenger) { #if defined USE_FOREACH foreach(new i: Player) { if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER) { svCheats_PossibleNinjaJack[i] = playerid; break; } } #else for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER) { svCheats_PossibleNinjaJack[i] = playerid; break; } } } #endif } } #endif return CallRemoteFunction("svCheats_OnPlayerEnterVehicle", "ddd", playerid, vehicleid, ispassenger); } #if defined _ALS_OnPlayerEnterVehicle #undef OnPlayerEnterVehicle #else #define _ALS_OnPlayerEnterVehicle #endif #define OnPlayerEnterVehicle svCheats_OnPlayerEnterVehicle #if defined USE_ZCMD #if defined HH_USED COMMAND:hh(playerid, params[]) { if(svCheats_SecurityLevel[playerid] < HH_USED) { return SendClientMessage(playerid, -1, "You are not authorized to use this command."); } new svCheats_giveplayerid; if(sscanf(params, "u", svCheats_giveplayerid)) { return SendClientMessage(playerid, -1, "USAGE: /hh [player]"); } if(svCheats_ReportedTabbed[svCheats_giveplayerid] == true) { return SendClientMessage(playerid, -1, "You may not health hack check tabbed players."); } if(svCheats_HH[svCheats_giveplayerid][svCheckedBy] != INVALID_PLAYER_ID) { return SendClientMessage(playerid, -1, "That player is already being checked for health hacks."); } new string[128], playersName[MAX_PLAYER_NAME], Float: playersPos[3]; GetPlayerName(svCheats_giveplayerid, playersName, sizeof(playersName)); format(string, sizeof(string), "Checking %s for health hacks...", playersName); SendClientMessage(playerid, -1, string); GetPlayerPos(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2]); SetPlayerCameraLookAt(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2]); SetPlayerCameraPos(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2] + 5); for(new i = 0; i < 3; i++) { svCheats_HH[svCheats_giveplayerid][svOldPlayerPos][i] = playersPos[i]; } GetPlayerFacingAngle(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svOldPlayerPos][3]); svCheats_HH[svCheats_giveplayerid][svInterior] = GetPlayerInterior(svCheats_giveplayerid); svCheats_HH[svCheats_giveplayerid][svVirtualWorld] = GetPlayerVirtualWorld(svCheats_giveplayerid); if(IsPlayerInAnyVehicle(svCheats_giveplayerid)) { svCheats_HH[svCheats_giveplayerid][svInVehicle] = true; svCheats_HH[svCheats_giveplayerid][svVehicleID] = GetPlayerVehicleID(svCheats_giveplayerid); svCheats_HH[svCheats_giveplayerid][svVehicleSeat] = GetPlayerVehicleSeat(svCheats_giveplayerid); } else { svCheats_HH[svCheats_giveplayerid][svInVehicle] = false; } GetPlayerHealth(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svHealth]); GetPlayerArmour(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svArmor]); svCheats_HH[svCheats_giveplayerid][svCheckedBy] = playerid; SetPlayerInterior(svCheats_giveplayerid, 0); SetPlayerPos(svCheats_giveplayerid, 0.0, 0.0, 8.0); SetPlayerHealth(svCheats_giveplayerid, 100.0); SetPlayerArmour(svCheats_giveplayerid, 0.0); SetTimerEx("svCheats_HealthHackCheck", 1350 + GetPlayerPing(svCheats_giveplayerid), 0, "i", svCheats_giveplayerid); return 1; } #endif #if defined ACSTATS_USED COMMAND:acstats(playerid, params[]) { new string[50]; format(string, sizeof(string), "(svCheats) Cheaters Detected: %d", svCheats_AmountDetected); SendClientMessage(playerid, -1, string); return 1; } #endif #else forward svCheats_OnPlayerCommandText(playerid, cmdtext[]); public OnPlayerCommandText(playerid, cmdtext[]) { #if defined HH_USED new svCheats_cmd[5]; sscanf(cmdtext, "s[5]", svCheats_cmd); if(strcmp(svCheats_cmd, "/hh", true) == 0) { if(svCheats_SecurityLevel[playerid] < HH_USED) { return SendClientMessage(playerid, -1, "You are not authorized to use this command."); } new svCheats_giveplayerid; if(sscanf(cmdtext, "{s[5]}u", svCheats_giveplayeid)) { return SendClientMessage(playerid, -1, "USAGE: /hh [player]"); } if(svCheats_ReportedTabbed[svCheats_giveplayerid] == true) { return SendClientMessage(playerid, -1, "You may not health hack check tabbed players."); } if(svCheats_HH[svCheats_giveplayerid][svCheckedBy] != INVALID_PLAYER_ID) { return SendClientMessage(playerid, -1, "That player is already being checked for health hacks."); } new string[128], playersName[MAX_PLAYER_NAME], Float: playersPos[3]; GetPlayerName(svCheats_giveplayerid, playersName, sizeof(playersName)); format(string, sizeof(string), "Checking %s for health hacks...", playersName); SendClientMessage(playerid, -1, string); GetPlayerPos(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2]); SetPlayerCameraLookAt(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2]); SetPlayerCameraPos(svCheats_giveplayerid, playersPos[0], playersPos[1], playersPos[2] + 5); for(new i = 0; i < 3; i++) { svCheats_HH[svCheats_giveplayerid][svOldPlayerPos][i] = playersPos[i]; } GetPlayerFacingAngle(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svOldPlayerPos][3]); svCheats_HH[svCheats_giveplayerid][svInterior] = GetPlayerInterior(svCheats_giveplayerid); svCheats_HH[svCheats_giveplayerid][svVirtualWorld] = GetPlayerVirtualWorld(svCheats_giveplayerid); if(IsPlayerInAnyVehicle(svCheats_giveplayerid)) { svCheats_HH[svCheats_giveplayerid][svInVehicle] = true; svCheats_HH[svCheats_giveplayerid][svVehicleID] = GetPlayerVehicleID(svCheats_giveplayerid); svCheats_HH[svCheats_giveplayerid][svVehicleSeat] = GetPlayerVehicleSeat(svCheats_giveplayerid); } else { svCheats_HH[svCheats_giveplayerid][svInVehicle] = false; } GetPlayerHealth(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svHealth]); GetPlayerArmour(svCheats_giveplayerid, svCheats_HH[svCheats_giveplayerid][svArmor]); svCheats_HH[svCheats_giveplayerid][svCheckedBy] = playerid; SetPlayerInterior(svCheats_giveplayerid, 0); SetPlayerPos(svCheats_giveplayerid, 0.0, 0.0, 8.0); SetPlayerHealth(svCheats_giveplayerid, 100.0); SetPlayerArmour(svCheats_giveplayerid, 0.0); SetTimerEx("svCheats_HealthHackCheck", 1350 + GetPlayerPing(svCheats_giveplayerid), 0, "i", svCheats_giveplayerid); return 1; } #endif #if defined ACSTATS_USED if(strcmp(cmdtext, "/acstats", true) == 0) { new string[50]; format(string, sizeof(string), "(svCheats) Cheaters Detected: %d", svCheats_AmountDetected); SendClientMessage(playerid, -1, string); return 1; } #endif return CallRemoteFunction("svCheats_OnPlayerCommandText", "ds", playerid, cmdtext); } #if defined _ALS_OnPlayerCommandText #undef OnPlayerCommandText #else #define _ALS_OnPlayerCommandText #endif #define OnPlayerCommandText svCheats_OnPlayerCommandText #endif #if defined HH_USED forward svCheats_OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid); public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) { if(issuerid == INVALID_PLAYER_ID) { if(svCheats_HH[playerid][svCheckedBy] != INVALID_PLAYER_ID) { new string[128], playersName[MAX_PLAYER_NAME], playerid = svCheats_HH[playerid][svCheckedBy]; GetPlayerName(playerid, playersName, sizeof(playersName)); format(string, sizeof(string), "The health hack check on %s has been finished and the result is {F81414}negative{FFFFFF}.", playersName); SendClientMessage(giveplayerid, -1, string); svCheats_HH[playerid][svCheckedBy] = INVALID_PLAYER_ID; SetPlayerVirtualWorld(playerid, svCheats_HH[playerid][svVirtualWorld]); SetPlayerInterior(playerid, svCheats_HH[playerid][svInterior]); SetPlayerPos(playerid, svCheats_HH[playerid][svOldPlayerPos][0], svCheats_HH[playerid][svOldPlayerPos][1], svCheats_HH[playerid][svOldPlayerPos][2]); SetPlayerFacingAngle(playerid, svCheats_HH[playerid][svOldPlayerPos][3]); if(svCheats_HH[playerid][svInVehicle] == true) { PutPlayerInVehicle(playerid, svCheats_HH[playerid][svVehicleID], svCheats_HH[playerid][svVehicleSeat]); } SetPlayerHealth(playerid, svCheats_HH[playerid][svHealth]); SetPlayerArmour(playerid, svCheats_HH[playerid][svArmor]); SetCameraBehindPlayer(playerid); } } return CallRemoteFunction("svCheats_OnPlayerTakeDamage", "ddfd", playerid, issuerid, amount, weaponid); } #if defined _ALS_OnPlayerTakeDamage #undef OnPlayerTakeDamage #else #define _ALS_OnPlayerTakeDamage #endif #define OnPlayerTakeDamage svCheats_OnPlayerTakeDamage #endif #endif #endif forward svCheats_HealthHackCheck(giveplayerid); public svCheats_HealthHackCheck(giveplayerid) { if(svCheats_HH[giveplayerid][svCheckedBy] != INVALID_PLAYER_ID) { new string[128], playersName[MAX_PLAYER_NAME], playerid = svCheats_HH[giveplayerid][svCheckedBy]; GetPlayerName(giveplayerid, playersName, sizeof(playersName)); format(string, sizeof(string), "The health hack check on %s has been finished and the result is {6EF83C}positive{FFFFFF}.", playersName); SendClientMessage(playerid, -1, string); svCheats_HH[giveplayerid][svCheckedBy] = INVALID_PLAYER_ID; SetPlayerVirtualWorld(giveplayerid, svCheats_HH[giveplayerid][svVirtualWorld]); SetPlayerInterior(giveplayerid, svCheats_HH[giveplayerid][svInterior]); SetPlayerPos(giveplayerid, svCheats_HH[giveplayerid][svOldPlayerPos][0], svCheats_HH[giveplayerid][svOldPlayerPos][1], svCheats_HH[giveplayerid][svOldPlayerPos][2]); SetPlayerFacingAngle(giveplayerid, svCheats_HH[giveplayerid][svOldPlayerPos][3]); if(svCheats_HH[giveplayerid][svInVehicle] == true) { PutPlayerInVehicle(giveplayerid, svCheats_HH[giveplayerid][svVehicleID], svCheats_HH[giveplayerid][svVehicleSeat]); } SetPlayerHealth(giveplayerid, svCheats_HH[giveplayerid][svHealth]); SetPlayerArmour(giveplayerid, svCheats_HH[giveplayerid][svArmor]); SetCameraBehindPlayer(giveplayerid); CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", giveplayerid, CHEAT_GODMODE); svCheats_AmountDetected++; } return 1; } forward svCheats_JumpCountersDown(playerid); public svCheats_JumpCountersDown(playerid) { svCheats_JumpCounters[playerid]--; svCheats_JumpCounterTimer[playerid] = -1; return 1; } svCheats_GetWeaponSlot(weaponid) { switch(weaponid) { case 0, 1: { return 0; } case 2, 3, 4, 5, 6, 7, 8, 9: { return 1; } case 22, 23, 24: { return 2; } case 25, 26, 27: { return 3; } case 28, 29, 32: { return 4; } case 30, 31: { return 5; } case 33, 34: { return 6; } case 35, 36, 37, 38: { return 7; } case 16, 17, 18, 39, 40: { return 8; } case 41, 42, 43: { return 9; } case 10, 11, 12, 13, 14, 15: { return 10; } case 44, 45, 46: { return 11; } } return 0; } svCheats_IsPlayerAtRepairPoint(playerid) { if(GetPlayerCameraMode(playerid) == 15) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, 2067.00, -1831.65, 13.55)) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, 1024.97, -1023.88, 32.10)) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, 1041.19, -1022.50, 32.11)) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, 720.25, -457.17, 16.34)) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, 2386.66, 1045.68, 10.82)) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, 1972.50, 2163.03, 11.07)) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, -1420.58, 2586.17, 55.84)) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, -1904.90, 283.96, 41.05)) return 1; if(IsPlayerInRangeOfPoint(playerid, 25.0, -2719.46, 217.77, 4.48)) return 1; return 0; } svCheats_GetVehicleSpeed(vehicleid) { new Float: vVel[3]; GetVehicleVelocity(vehicleid, vVel[0], vVel[1], vVel[2]); return floatround(floatsqroot((vVel[0]*vVel[1]+vVel[2]*vVel[2]))*100.0*1.6); } public svCheats_Detector() { #if defined USE_FOREACH foreach(new playerid: Player) { #if defined HIGH_PING if(svCheats_SecurityLevel[playerid] < HIGH_PING || HIGH_PING == -1) { if(GetPlayerPing(playerid) > MAX_PING) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_HIGH_PING); svCheats_AmountDetected++; } } #endif #if defined SPEED_HACK if(svCheats_SecurityLevel[playerid] < SPEED_HACK || SPEED_HACK == -1) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid); if(svCheats_GetVehicleSpeed(vehicleid) > MAX_SPEED) { if(GetVehicleModel(vehicleid) != 520) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_SPEED_HACK); svCheats_AmountDetected++; } } } } #endif #if defined JETPACK_HACK if(svCheats_SecurityLevel[playerid] < JETPACK_HACK || JETPACK_HACK == -1) { if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) { if(svCheats_GrantedJetpack[playerid] == false) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_JETPACK_HACK); svCheats_AmountDetected++; } } } #endif #if defined AIRBREAK_HACK if(svCheats_SecurityLevel[playerid] < AIRBREAK_HACK || AIRBREAK_HACK == -1) { new ai = GetPlayerAnimationIndex(playerid); if(ai == 1231 || ai == 1266) { new Float: playersPos[3]; GetPlayerPos(playerid, playersPos[0], playersPos[1], playersPos[2]); if(playersPos[2] >= 4.0) { if(!IsPlayerInRangeOfPoint(playerid, 200.0, 602.74, 871.44, -20.65) && !IsPlayerInRangeOfPoint(playerid, 300.0, 1678.38, -2291.18, -1.00)) { if(GetPointZPos(playersPos[0], playersPos[1]) < playersPos[2] - 15.0) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_AIRBREAK_HACK); svCheats_AmountDetected++; } } } } } #endif #if defined FLY_HACK if(svCheats_SecurityLevel[playerid] < FLY_HACK || FLY_HACK == -1) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { new ai = GetPlayerAnimationIndex(playerid); if(ai == 1538 || ai == 1538 || ai == 1543) { new Float: playersPos[3]; GetPlayerPos(playerid, playersPos[0], playersPos[1], playersPos[2]); if(playersPos[2] >= 4.0) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_FLY_HACK); svCheats_AmountDetected++; } } } } #endif #if defined TELEPORT_HACK if(svCheats_SecurityLevel[playerid] < TELEPORT_HACK || TELEPORT_HACK == -1) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { new interior = GetPlayerInterior(playerid); if(interior > 0) { new allowedInteriors[10], bool: allowed; sscanf(USED_INTERIORS, "a<i>[10]", allowedInteriors); for(new i = 0; i < sizeof(allowedInteriors); i++) { if(allowedInteriors[i] == interior) { allowed = true; break; } } if(allowed == false) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_TELEPORT_HACK); svCheats_AmountDetected++; } } } } #endif #if defined VEHICLE_REPAIR if(svCheats_SecurityLevel[playerid] < VEHICLE_REPAIR || VEHICLE_REPAIR == -1) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid), Float: vHealth; GetVehicleHealth(vehicleid, vHealth); if(vHealth > svCheats_VehicleHealth[vehicleid]) { if(!svCheats_IsPlayerAtRepairPoint(playerid)) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_VEHICLE_REPAIR); svCheats_AmountDetected++; } } svCheats_VehicleHealth[vehicleid] = vHealth; } } #endif #if defined CHATSPAM_OFF if(svCheats_SecurityLevel[playerid] < CHATSPAM_OFF || CHATSPAM_OFF == -1) { svCheats_SpamCounters[playerid]--; if(svCheats_SpamCounters[playerid] < 0) { svCheats_SpamCounters[playerid] = 0; } } #endif #if defined AFK_DISABLED if(svCheats_SecurityLevel[playerid] < AFK_DISABLED || AFK_DISABLED == -1) { if(svCheats_ReportedAFK[playerid] == false) { svCheats_AFKTime[playerid] += GetTickCount() - svCheats_LastAFKUpdate[playerid]; svCheats_LastAFKUpdate[playerid] = GetTickCount(); if(svCheats_ReportedAFK[playerid] == false) { new AFKMinutes = svCheats_AFKTime[playerid] / 60000; if(AFKMinutes >= AFK_MINUTES) { svCheats_ReportedAFK[playerid] = true; CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_AFK); svCheats_AmountDetected++; } } } } #endif #if defined TABBED_DISABLED if(svCheats_SecurityLevel[playerid] < TABBED_DISABLED || TABBED_DISABLED == -1) { if(svCheats_ReportedTabbed[playerid] == false && svCheats_TabbedDisabled[playerid] == false) { if(GetPlayerCameraMode(playerid) != 55) { svCheats_TabbedUpdates[playerid]++; if(svCheats_TabbedUpdates[playerid] > 1) { svCheats_TabbedUpdates[playerid] = 0; svCheats_ReportedTabbed[playerid] = true; CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_TABBED); svCheats_AmountDetected++; } } } } #endif } #else for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) { if(IsPlayerConnected(playerid)) { #if defined HIGH_PING if(svCheats_SecurityLevel[playerid] < HIGH_PING || HIGH_PING == -1) { if(GetPlayerPing(playerid) > MAX_PING) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_HIGH_PING); svCheats_AmountDetected++; } } #endif #if defined SPEED_HACK if(svCheats_SecurityLevel[playerid] < SPEED_HACK || SPEED_HACK == -1) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid); if(svCheats_GetVehicleSpeed(vehicleid) > MAX_SPEED) { if(GetVehicleModel(vehicleid) != 520) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_SPEED_HACK); svCheats_AmountDetected++; } } } } #endif #if defined JETPACK_HACK if(svCheats_SecurityLevel[playerid] < JETPACK_HACK || JETPACK_HACK == -1) { if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) { if(svCheats_GrantedJetpack[playerid] == false) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_JETPACK_HACK); svCheats_AmountDetected++; } } } #endif #if defined AIRBREAK_HACK if(svCheats_SecurityLevel[playerid] < AIRBREAK_HACK || AIRBREAK_HACK == -1) { new ai = GetPlayerAnimationIndex(playerid); if(ai == 1231 || ai == 1266) { new Float: playersPos[3]; GetPlayerPos(playerid, playersPos[0], playersPos[1], playersPos[2]); if(playersPos[2] >= 4.0) { if(!IsPlayerInRangeOfPoint(playerid, 200.0, 602.74, 871.44, -20.65) && !IsPlayerInRangeOfPoint(playerid, 300.0, 1678.38, -2291.18, -1.00)) { if(GetPointZPos(playersPos[0], playersPos[1]) < playersPos[2] - 15.0) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_AIRBREAK_HACK); svCheats_AmountDetected++; } } } } } #endif #if defined FLY_HACK if(svCheats_SecurityLevel[playerid] < FLY_HACK || FLY_HACK == -1) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { new ai = GetPlayerAnimationIndex(playerid); if(ai == 1538 || ai == 1538 || ai == 1543) { new Float: playersPos[3]; GetPlayerPos(playerid, playersPos[0], playersPos[1], playersPos[2]); if(playersPos[2] >= 4.0) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_FLY_HACK); svCheats_AmountDetected++; } } } } #endif #if defined TELEPORT_HACK if(svCheats_SecurityLevel[playerid] < TELEPORT_HACK || TELEPORT_HACK == -1) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { new interior = GetPlayerInterior(playerid); if(interior > 0) { new allowedInteriors[10], bool: allowed; sscanf(USED_INTERIORS, "a<i>[10]", allowedInteriors); for(new i = 0; i < sizeof(allowedInteriors); i++) { if(allowedInteriors[i] == interior) { allowed = true; break; } } if(allowed == false) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_TELEPORT_HACK); svCheats_AmountDetected++; } } } } #endif #if defined VEHICLE_REPAIR if(svCheats_SecurityLevel[playerid] < VEHICLE_REPAIR || VEHICLE_REPAIR == -1) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid), Float: vHealth; GetVehicleHealth(vehicleid, vHealth); if(vHealth > svCheats_VehicleHealth[vehicleid]) { if(!svCheats_IsPlayerAtRepairPoint(playerid)) { CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_VEHICLE_REPAIR); svCheats_AmountDetected++; } } svCheats_VehicleHealth[vehicleid] = vHealth; } } #endif #if defined CHATSPAM_OFF if(svCheats_SecurityLevel[playerid] < CHATSPAM_OFF || CHATSPAM_OFF == -1) { svCheats_SpamCounters[playerid]--; if(svCheats_SpamCounters[playerid] < 0) { svCheats_SpamCounters[playerid] = 0; } } #endif #if defined AFK_DISABLED if(svCheats_SecurityLevel[playerid] < AFK_DISABLED || AFK_DISABLED == -1) { if(svCheats_ReportedAFK[playerid] == false) { svCheats_AFKTime[playerid] += GetTickCount() - svCheats_LastAFKUpdate[playerid]; svCheats_LastAFKUpdate[playerid] = GetTickCount(); if(svCheats_ReportedAFK[playerid] == false) { new AFKMinutes = svCheats_AFKTime[playerid] / 60000; if(AFKMinutes >= AFK_MINUTES) { svCheats_ReportedAFK[playerid] = true; CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_AFK); svCheats_AmountDetected++; } } } } #endif #if defined TABBED_DISABLED if(svCheats_SecurityLevel[playerid] < TABBED_DISABLED || TABBED_DISABLED == -1) { if(svCheats_ReportedTabbed[playerid] == false) { if(GetPlayerCameraMode(playerid) != 55) { svCheats_TabbedUpdates[playerid]++; if(svCheats_TabbedUpdates[playerid] > 1) { svCheats_TabbedUpdates[playerid] = 0; svCheats_ReportedTabbed[playerid] = true; CallRemoteFunction("svCheats_OnPlayerCheatUpdate", "dd", playerid, CHEAT_TABBED); svCheats_AmountDetected++; } } } } #endif } } #endif return 1; } stock svCheats_Debug(bool: togDebug) { if(togDebug == true) { print("(svCheats) Debugging has been turned on"); } else if(togDebug == false) { print("(svCheats) Debugging has been turned off"); } return svCheats_Debugging = togDebug; } stock svCheats_SetPlayerSecurityLevel(playerid, secLevel) { if(svCheats_Debugging == true) { printf("(svCheats) SetPlayerSecurityLevel(playerid = %d, secLevel = %d)", playerid, secLevel); } return svCheats_SecurityLevel[playerid] = secLevel; } stock svCheats_GetPlayerSecurityLevel(playerid) { if(svCheats_Debugging == true) { printf("(svCheats) GetPlayerSecurityLevel(playerid = %d)", playerid); } return svCheats_SecurityLevel[playerid]; } stock svCheats_SetVehicleHealth(vehicleid, Float: vHealth) { if(svCheats_Debugging == true) { printf("(svCheats) SetVehicleHealth(vehicleid = %d, vHealth = %f)", vehicleid, vHealth); } return svCheats_VehicleHealth[vehicleid] = vHealth, SetVehicleHealth(vehicleid, vHealth); } stock svCheats_GivePlayerWeapon(playerid, weaponid, ammo) { if(svCheats_Debugging == true) { printf("(svCheats) GivePlayerWeapon(playerid = %d, weaponid = %d, ammo = %d)", playerid, weaponid, ammo); } return svCheats_PlayerWeapons[playerid][GetWeaponSlot(weaponid)] = weaponid, GivePlayerWeapon(playerid, weaponid, ammo); } stock svCheats_ToggleJetpack(playerid, bool: toggleJetpack) { if(svCheats_Debugging == true) { printf("(svCheats) ToggleJetpack(playerid = %d, toggleJetpack = %d)", playerid, toggleJetpack); } return svCheats_GrantedJetpack[playerid] = toggleJetpack; }
Optional Paste Settings
Category:
None
Cryptocurrency
Cybersecurity
Fixit
Food
Gaming
Haiku
Help
History
Housing
Jokes
Legal
Money
Movies
Music
Pets
Photo
Science
Software
Source Code
Spirit
Sports
Travel
TV
Writing
Tags:
Syntax Highlighting:
None
Bash
C
C#
C++
CSS
HTML
JSON
Java
JavaScript
Lua
Markdown (PRO members only)
Objective C
PHP
Perl
Python
Ruby
Swift
4CS
6502 ACME Cross Assembler
6502 Kick Assembler
6502 TASM/64TASS
ABAP
AIMMS
ALGOL 68
APT Sources
ARM
ASM (NASM)
ASP
ActionScript
ActionScript 3
Ada
Apache Log
AppleScript
Arduino
Asymptote
AutoIt
Autohotkey
Avisynth
Awk
BASCOM AVR
BNF
BOO
Bash
Basic4GL
Batch
BibTeX
Blitz Basic
Blitz3D
BlitzMax
BrainFuck
C
C (WinAPI)
C Intermediate Language
C for Macs
C#
C++
C++ (WinAPI)
C++ (with Qt extensions)
C: Loadrunner
CAD DCL
CAD Lisp
CFDG
CMake
COBOL
CSS
Ceylon
ChaiScript
Chapel
Clojure
Clone C
Clone C++
CoffeeScript
ColdFusion
Cuesheet
D
DCL
DCPU-16
DCS
DIV
DOT
Dart
Delphi
Delphi Prism (Oxygene)
Diff
E
ECMAScript
EPC
Easytrieve
Eiffel
Email
Erlang
Euphoria
F#
FO Language
Falcon
Filemaker
Formula One
Fortran
FreeBasic
FreeSWITCH
GAMBAS
GDB
GDScript
Game Maker
Genero
Genie
GetText
Go
Godot GLSL
Groovy
GwBasic
HQ9 Plus
HTML
HTML 5
Haskell
Haxe
HicEst
IDL
INI file
INTERCAL
IO
ISPF Panel Definition
Icon
Inno Script
J
JCL
JSON
Java
Java 5
JavaScript
Julia
KSP (Kontakt Script)
KiXtart
Kotlin
LDIF
LLVM
LOL Code
LScript
Latex
Liberty BASIC
Linden Scripting
Lisp
Loco Basic
Logtalk
Lotus Formulas
Lotus Script
Lua
M68000 Assembler
MIX Assembler
MK-61/52
MPASM
MXML
MagikSF
Make
MapBasic
Markdown (PRO members only)
MatLab
Mercury
MetaPost
Modula 2
Modula 3
Motorola 68000 HiSoft Dev
MySQL
Nagios
NetRexx
Nginx
Nim
NullSoft Installer
OCaml
OCaml Brief
Oberon 2
Objeck Programming Langua
Objective C
Octave
Open Object Rexx
OpenBSD PACKET FILTER
OpenGL Shading
Openoffice BASIC
Oracle 11
Oracle 8
Oz
PARI/GP
PCRE
PHP
PHP Brief
PL/I
PL/SQL
POV-Ray
ParaSail
Pascal
Pawn
Per
Perl
Perl 6
Phix
Pic 16
Pike
Pixel Bender
PostScript
PostgreSQL
PowerBuilder
PowerShell
ProFTPd
Progress
Prolog
Properties
ProvideX
Puppet
PureBasic
PyCon
Python
Python for S60
QBasic
QML
R
RBScript
REBOL
REG
RPM Spec
Racket
Rails
Rexx
Robots
Roff Manpage
Ruby
Ruby Gnuplot
Rust
SAS
SCL
SPARK
SPARQL
SQF
SQL
SSH Config
Scala
Scheme
Scilab
SdlBasic
Smalltalk
Smarty
StandardML
StoneScript
SuperCollider
Swift
SystemVerilog
T-SQL
TCL
TeXgraph
Tera Term
TypeScript
TypoScript
UPC
Unicon
UnrealScript
Urbi
VB.NET
VBScript
VHDL
VIM
Vala
Vedit
VeriLog
Visual Pro Log
VisualBasic
VisualFoxPro
WHOIS
WhiteSpace
Winbatch
XBasic
XML
XPP
Xojo
Xorg Config
YAML
YARA
Z80 Assembler
ZXBasic
autoconf
jQuery
mIRC
newLISP
q/kdb+
thinBasic
Paste Expiration:
Never
Burn after read
10 Minutes
1 Hour
1 Day
1 Week
2 Weeks
1 Month
6 Months
1 Year
Paste Exposure:
Public
Unlisted
Private
Folder:
(members only)
Password
NEW
Enabled
Disabled
Burn after read
NEW
Paste Name / Title:
Create New Paste
Hello
Guest
Sign Up
or
Login
Sign in with Facebook
Sign in with Twitter
Sign in with Google
You are currently not logged in, this means you can not edit or delete anything you paste.
Sign Up
or
Login
Public Pastes
Untitled
13 min ago | 0.46 KB
Untitled
14 min ago | 1.07 KB
Untitled
16 min ago | 0.39 KB
Untitled
17 min ago | 0.17 KB
Christmas Gift
36 min ago | 0.84 KB
December smells like money (Release)
CSS | 36 min ago | 0.82 KB
Untitled
42 min ago | 2.94 KB
Untitled
44 min ago | 0.90 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the
Cookies Policy
.
OK, I Understand
Not a member of Pastebin yet?
Sign Up
, it unlocks many cool features!