/* AntiCheat System v1.0b by Homer & Dexter All Rights Reserved ©2008 */ #include #define FILTERSCRIPT #define COLOR_ORANGE 0xFF8C00AA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_HOMER 0xFF0000AA new sprava[MAX_PLAYERS]; new mute[MAX_PLAYERS]; new AcG; new Menu:AcGmenu; new DostanePrachy[MAX_PLAYERS]; new StarePrachy[MAX_PLAYERS]; forward sprava2(playerid); //Anti SPAM forward spam(playerid); forward unmute(playerid); //Weapon CHEAT forward AntiWeaponCheat(); //GOD mod forward AntiGODmod(); //AntiCheat - Unviersal forward AntiCheat(); //MoneyHack forward MoneyHack(); //PingKicker forward PingKicker(); public OnFilterScriptInit() { print("\n---------------------------------------------------------------"); print("------------.....LOADING FilterScript.....------------"); print("---------.::.Homer & Dexter production presents.::.---------"); print("---------------.::.AntiCheat System v1.0b.::.---------------"); print("---------------.::.!All Rights Reserved!.::.---------------"); //Weapon Cheat SetTimer("AntiWeaponCheat", 1000, 1); //AntiCheat SetTimer("AntiCheat", 300000, 1); //PingKicker SetTimer("PingKicker", 3000, 1); //MoneyHack SetTimer("MoneyHack", 1000, 1); AcGmenu = CreateMenu("~r~AntiCheat:",1,50,220,200,200); AddMenuItem(AcGmenu,0,"AcG ON"); AddMenuItem(AcGmenu,0,"AcG OFF"); AcG = 0; print("------------FilterScript has successfully loaded------------"); print("---------------------------------------------------------------\n"); return 1; } public OnFilterScriptExit() { print("\n---------------------------------------------------------"); print("------------.....UNLOADING FilterScript.....------------"); AcG = 0; print("------------FilterScript has successfully unloaded------------"); print("---------------------------------------------------------\n"); return 1; } public OnPlayerDisconnect(playerid, reason) { mute[playerid] = 0; sprava[playerid] = 0; return 1; } public OnPlayerSpawn(playerid) { if(AcG == 1 && IsPlayerAdmin(playerid)) { SendClientMessage(playerid,COLOR_RED,"[!] AntiCheat is ON!"); } else if(AcG == 0 && IsPlayerAdmin(playerid)) { SendClientMessage(playerid,COLOR_RED,"[!] AntiCheat is OFF!"); } sprava[playerid] = 0; return 1; } public OnPlayerDeath(playerid, killerid, reason) { new hracovestate = GetPlayerState(killerid); //Drive-by if(IsPlayerInAnyVehicle(killerid) && hracovestate == PLAYER_STATE_DRIVER && !IsPlayerAdmin(killerid)) { Kick(killerid); } new meno[MAX_PLAYER_NAME]; new string[256]; GetPlayerName(playerid, meno, sizeof(meno)); if(GetPlayerWeapon(killerid) == 35 && AcG == 1 && IsPlayerConnected(killerid) && !IsPlayerAdmin(killerid)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (RocketLauncher)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(killerid); } if(GetPlayerWeapon(killerid) == 36 && AcG == 1 && IsPlayerConnected(killerid) && !IsPlayerAdmin(killerid)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (RPG)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(killerid); } if(GetPlayerWeapon(killerid) == 38 && AcG == 1 && IsPlayerConnected(killerid) && !IsPlayerAdmin(killerid)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (Minigun)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(killerid); } if(GetPlayerWeapon(killerid) == 40 && AcG == 1 && IsPlayerConnected(killerid) && !IsPlayerAdmin(killerid)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (Detonator)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(killerid); } return 1; } //=============================|ANTIWEAPONCHEAT|||============================== public AntiWeaponCheat() { for(new i=0; i < MAX_PLAYERS; i++) { new meno[MAX_PLAYER_NAME]; new string[256]; GetPlayerName(i, meno, sizeof(meno)); if(GetPlayerWeapon(i) == 35 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (RocketLauncher)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } GetPlayerName(i, meno, sizeof(meno)); if(GetPlayerWeapon(i) == 36 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (RPG)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } if(GetPlayerWeapon(i) == 38 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (Minigun)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } if(GetPlayerWeapon(i) == 40 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (Detonator)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } } return 1; } //============================||PINGKICKER||==================================== public PingKicker() { for(new i=0; i < MAX_PLAYERS; i++) { new meno[MAX_PLAYER_NAME]; new string[256]; GetPlayerName(i, meno, sizeof(meno)); if(GetPlayerPing(i) >= 600 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been kicked from server. Reason: High ping (600+!)", meno); SendClientMessageToAll(COLOR_GREEN,string); Kick(i); } } return 1; } //=============================||MONEYHACK||==================================== public MoneyHack() { for(new i=0; i < MAX_PLAYERS; i++) { new meno[MAX_PLAYER_NAME]; new string[256]; GetPlayerName(i, meno, sizeof(meno)); if(GetPlayerMoney(i) > StarePrachy[i] && !DostanePrachy[i] && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: MoneyHack", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } } return 1; } //================================||ANTICHEAT||================================= public AntiCheat() { for(new i=0; i < MAX_PLAYERS; i++) { new meno[MAX_PLAYER_NAME]; new string[256]; GetPlayerName(i, meno, sizeof(meno)); if(AcG == 1 && IsPlayerConnected(i)) { SendClientMessage(i, COLOR_HOMER,"[ACGuard] Scanning...."); { if(GetPlayerSpecialAction(i) == 2 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: JetPack", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } if(GetPlayerWeapon(i) == 35 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (RocketLauncher)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } if(GetPlayerWeapon(i) == 38 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (Minigun)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } if(GetPlayerWeapon(i) == 40 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: WeaponCheat (Detonator)", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } if(GetPlayerPing(i) >= 300 && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been kicked from server. Reason: High Ping (300+!)", meno); SendClientMessageToAll(COLOR_GREEN,string); Kick(i); } if(GetPlayerMoney(i) > StarePrachy[i] && !DostanePrachy[i] && AcG == 1 && IsPlayerConnected(i) && !IsPlayerAdmin(i)) { format(string, sizeof(string),"[ACGuard] Player %s has been banned from server. Cheat: MoneyHack", meno); SendClientMessageToAll(COLOR_GREEN,string); Ban(i); } SendClientMessage(i, COLOR_HOMER,"[ACGuard] Scanning finished!"); } } } return 1; } //=================================|ANTISPAM|||================================= public OnPlayerText(playerid, text[]) { new spammer[100]; GetPlayerName(playerid, spammer, 24); format(spammer, 100, "[ACGuard] Player %s is spammer!", spammer); if(sprava[playerid] >= 5 && AcG == 1 && !IsPlayerAdmin(playerid)) { SendClientMessageToAll(COLOR_ORANGE,spammer); SendClientMessage(playerid,COLOR_RED,"[ACGuard] You have been muted, wait for 5 minutes!"); mute[playerid]++; SetTimerEx("unmute",300000,0,"i",playerid); return 0; } else { sprava[playerid]++; SetTimerEx("sprava2",5000,0,"i",playerid); } new gadzo[100]; //xD xD GetPlayerName(playerid, gadzo, 24); format(gadzo, 100, "[ACGuard] Player %s has been kicked from server. Reason: Offensive laguage!", gadzo); new reklama[100]; //xD xD GetPlayerName(playerid, reklama, 24); format(reklama, 100, "[ACGuard] Player %s has been banned from server. Reason: Advertisement!", reklama); //Shit if(text[0] == 's' && text[1] == 'h' && text[2] == 'i' && text[3] == 't' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Shithead if(text[0] == 's' && text[1] == 'h' && text[2] == 'i' && text[3] == 't' && text[4] == 'h' && text[5] == 'e' && text[6] == 'a' && text[7] == 'd' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Fuck if(text[0] == 'f' && text[1] == 'u' && text[2] == 'c' && text[3] == 'k' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Dick if(text[0] == 'd' && text[1] == 'i' && text[2] == 'c' && text[3] == 'k' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Kok*t if(text[0] == 'k' && text[1] == 'o' && text[2] == 'k' && text[3] == 'o' && text[4] == 't' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Pič* if(text[0] == 'p' && text[1] == 'i' && text[2] == 'c' && text[3] == 'a' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Ku*va if(text[0] == 'k' && text[1] == 'u' && text[2] == 'r' && text[3] == 'v' && text[4] == 'a' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Kua if(text[0] == 'k' && text[1] == 'u' && text[2] == 'a' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //MF if(text[0] == 'm' && text[1] == 'f' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Kkt if(text[0] == 'k' && text[1] == 'k' && text[2] == 't' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Kunda if(text[0] == 'k' && text[1] == 'u' && text[2] == 'n' && text[3] == 'd' && text[4] == 'a' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Kundo if(text[0] == 'k' && text[1] == 'u' && text[2] == 'n' && text[3] == 'd' && text[4] == 'o' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,gadzo); Kick(playerid); return 0; } //Reklama if(text[0] == 'w' && text[1] == 'w' && text[2] == 'w' && AcG == 1){ SendClientMessageToAll(COLOR_ORANGE,reklama); Ban(playerid); return 0; } if(mute[playerid] == 1 && AcG == 1) { SendClientMessage(playerid,COLOR_HOMER,"[ACGuard] You have been muted for 5 minutes."); } return 1; } public sprava2(playerid) { sprava[playerid] = 0; return 1; } public unmute(playerid) { mute[playerid] = 0; return 1; } public OnPlayerSelectedMenuRow(playerid, row) { new Menu:Current = GetPlayerMenu(playerid); if (Current == AcGmenu) { switch(row) { case 0: { SendClientMessage(playerid,COLOR_HOMER,"[ACGuard] Aktivovali ste AntiCheat!"); AcG = 1; } case 1: { SendClientMessage(playerid,COLOR_HOMER,"[ACGuard] Deaktivovali ste AntiCheat!"); AcG = 0; } } } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256], idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd,"/ac", true) == 0) { if(IsPlayerAdmin(playerid)) { ShowMenuForPlayer(AcGmenu,playerid); } return 1; } if(strcmp(cmd,"/achelp", true) == 0) { SendClientMessage(playerid,COLOR_YELLOW,"[!] AntiCheatGuard v1.2 by Homer & Dexter. All rights reserved!!"); SendClientMessage(playerid,COLOR_YELLOW,"Defence: WeaponCheat, MoneyHack, AntiSPAM, Ping Kicker, Anti Drive-by"); SendClientMessage(playerid,COLOR_YELLOW,"Anti Advertisment and offensive laguage!"); if(AcG == 1) { SendClientMessage(playerid,COLOR_HOMER,"[!] AntiCheatGuard is now: ON"); }else{ SendClientMessage(playerid,COLOR_HOMER,"[!] AntiCheatGuard is now: OFF"); } return 1; } if(strcmp(cmd,"/acadmins", true) == 0) { for(new i=0; i ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } stock GivePlayerMoneyEx(playerid, money) { GivePlayerMoney(playerid, money); DostanePrachy[playerid] = true; }