/* ===========================Sitemas============================================== Anti-WeaponHacker MaxPing SpeedHacker Tuning Hacker Anti-Divulgador Anti-Palavrхes Anti-God Hacker Anti-Colete Hacker Anti-Flooder Anti-DriveBy Anti-GodModCar Anti-Bot Sistema de LOG de KICK Pega Ip dos players conectados e salva Sistema Anti-Esc /playeresc Sistema de Vida infinita /playerxite Sistema Anti-AirBreak /airbreak ================================================================================ */ #include <a_samp> #include <SII> #include <foreach> #include <dini> #include <a_http> //============================================================================== #define FILTERSCRIPT //============================================================================== #define PROTECT_CHAT(%2,%3,%4); \ AntiPublic(playerid,text); \ if(MaxString(text,%2)) return SendClientMessage(playerid,%3,%4); \ StringMinuscula(text); \ if(AntiBadWord(text)) return false; #define fcmd(%1,%2) \ forward fcmd_%1(%2); \ public fcmd_%1(%2) #define MaxFrequence (025) #define MaxParameter (064) #define MaxFunctions (032) #define MaxLenString (128) //============================================================================== //============================================================================== new sIndex = 0, iLenPart = 0, iPosPart = 0, iStrMid = 0, iLenght = 0, cmds[ MaxFunctions ] ; //============================================================================== forward VelocidadeCarro(); forward Hacks(); forward VerEsc(playerid); forward AirBreak(pid); /* forward Atualizar(index, response_code, data[]); */ //============================================================================== new Arma[12] = 99, MaxPing, AntDB, AntGodCar, VELOCIDADEMAX, Tuning, AntGod, AntFlood, Float: vAngle, String[128], name[MAX_PLAYER_NAME], Float:poskm[3], String2[128], cs, cont = 0, Float:Posx[MAX_PLAYERS], Float:Posy[MAX_PLAYERS], Float:Posz [MAX_PLAYERS] ; new dataa[125]; new Ano, Mes, Dia; new Botss[][MAX_PLAYER_NAME] = { "com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9","Carl","Rocky","Sony","clock$","prn","nul","con", "Azucar","CON","con","con1","aux","aux1","prn","PRN","AUX","RoamPT" }; //============================================================================== new Word[][] = { /*"puta", "fdp", "piranha", "vagabundo", "broxa", "porra", "merdao", "putinha", "prosti", "idiota", "suruba", "penis", "chupa", "pau", "viad", "perere", "mae", "bucet", "cu", "bicha.", "bixa", "gay", "desgra", "RoamPT"*/ "BPP", "BPP OWNA", "bpp", "bpp owna", "BRP", "BRP OWNA", "brp", "brp owna", "Brp Owna" }; //============================================================================== new Sites[10][] = { /*".net", ".ch", ".com", ".br", "art.br", ".ru", ".zip", ".blogspot", ".forumeiros", ".info", ".org", ".edu", ".jus", "wiki.", "vlog.br", "adm.br", "co.cc", ".tk", "www.", "http", ".us", ".tv"*/ ".com.br", ".net", ".org", ".info", ".org.br", ".com", "http://", "https://", ".br", "co.cc" }; forward LoadArquivos(); public LoadArquivos() { INI_Open("/AntHacker/Armas.ini"); Arma[0] = INI_ReadInt("Arma1"); Arma[1] = INI_ReadInt("Arma2"); Arma[2] = INI_ReadInt("Arma3"); Arma[3] = INI_ReadInt("Arma4"); Arma[4] = INI_ReadInt("Arma5"); Arma[5] = INI_ReadInt("Arma6"); Arma[6] = INI_ReadInt("Arma7"); Arma[7] = INI_ReadInt("Arma8"); Arma[8] = INI_ReadInt("Arma9"); Arma[9] = INI_ReadInt("Arma10"); Arma[10] = INI_ReadInt("Arma11"); Arma[11] = INI_ReadInt("Arma12"); INI_Close(); //============================ INI_Open("/AntHacker/config.ini"); Tuning = INI_ReadInt("TuningHacker"); AntGod = INI_ReadInt("AntGod"); AntFlood = INI_ReadInt("AntFlood"); AntDB = INI_ReadInt("AntDB"); AntGodCar = INI_ReadInt("AntGodCar"); VELOCIDADEMAX = INI_ReadInt("VelocidadeMaxima"); MaxPing = INI_ReadInt("ping"); INI_Close(); //============================ return 1; } //============================================================================== //============================================================================== public VelocidadeCarro() { foreach(Player, i) { if(IsPlayerInAnyVehicle(i)) { if(GetSpeed(i, 1) > VELOCIDADEMAX) { SetVehicleSpeed(GetPlayerVehicleID(i),0,1); format(String, sizeof(String), "[AntiHacker] %s foi kikado por usar Speed Hacker",PlayerNome(i)); SendClientMessageToAll(0xAA3333AA, String); format(dataa,125,"[%d/%d/%d]",Dia,Mes,Ano); dini_Set("AntHacker/Kick.log",dataa,String); Kick(i); } } } return 1; } //============================================================================== /* public Atualizar(index, response_code, data[]) { new buffer[128]; if(response_code == 200) { format(buffer, sizeof(buffer), "[Anti-Hacker] VERRSГO ATUAL:1.1 || VERSГO MAIS NOVA: %s"); SendClientMessage(index, 0xFFFFFFFF, buffer); } }*/ //============================================================================== public Hacks() { LoadArquivos(); getdate(Ano, Mes, Dia); format(dataa,125,"[%d/%d/%d]",Dia,Mes,Ano); foreach(Player, i) { new Float:AntiGod; GetPlayerHealth(i,AntiGod); new Float:AntiGodCar; GetVehicleHealth(i,AntiGodCar); for(new A = 0; A < sizeof(Arma); A++){ if(GetPlayerWeapon(i) == Arma[A]) { format(String, sizeof(String), "[Anti-Hacker] %s foi Kikado por portar arma ilegal",PlayerNome(i)); SendClientMessageToAll(0xAA3333AA, String); dini_Set("AntHacker/Kick.log",dataa,String); Kick(i); } } if (AntGodCar >= 1) { if(AntiGodCar >=1001) { format(String, sizeof(String), "[Anti-Hacker] %s foi Kikado por usar Car God Mod ",PlayerNome(i)); SendClientMessageToAll(0xAA3333AA, String); dini_Set("AntHacker/Kick.log",dataa,String); Kick(i); } } if (AntGod >= 1) { if (AntiGod > 101.0) { format(String, sizeof(String), "[Anti-Hacker] %s foi Kikado por usar God Mod ",PlayerNome(i)); SendClientMessageToAll(0xAA3333AA, String); Kick(i); dini_Set("AntHacker/Kick.log",dataa,String); } } if(GetPlayerPing(i) >= MaxPing){ format(String, sizeof(String), "[Anti-Hacker] %s foi kikado por passar do limite de ping (LIMITE: %d)",PlayerNome(i),MaxPing); SendClientMessageToAll(0xAA3333AA, String); dini_Set("AntHacker/Kick.log",dataa,String); Kick(i);} } return 1; } public OnPlayerConnect(playerid) { new PlayerIP[20]; GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP)); format(String,125,"(Entrou) Player: %s IP: %s",PlayerNome(playerid),PlayerIP); getdate(Ano, Mes, Dia); format(dataa,125,"[%d/%d/%d]",Dia,Mes,Ano); dini_Set("AntHacker/IP.log",dataa,String); for(new i; i<sizeof(Botss); i++) { if(strcmp(Botss[i],PlayerNome(playerid),true)==0) { Ban(playerid); return 1; } } return 1; } //======================================================================== //============================================================================== static TempoChat[MAX_PLAYERS]; stock PlayerFlood(playerid){if(GetTickCount() - TempoChat[playerid] < 3000)return 1;return 0;} //============================================================================== public OnPlayerText(playerid, text[]) { if(AntFlood >= 1){if(PlayerFlood(playerid)){SendClientMessageToAll(0xAA3333AA, "Sem Flood !");return 1;}} TempoChat[playerid] = GetTickCount(); return true; } //============================================================================== stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { if(IsPlayerConnected(playerid)) { new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } } return 0; } //============================================================================== stock SetVehicleSpeed(vehicleid, Float: speed, mode = 1) { GetVehicleZAngle(vehicleid, vAngle); speed = ((!mode) ? (speed / 105.0) : (speed / 170.0)); return SetVehicleVelocity(vehicleid, speed * floatsin(-vAngle, degrees), speed * floatcos(-vAngle, degrees), 0.0); } //============================================================================== stock GetSpeed(playerid, mode = 1) { GetVehicleVelocity(GetPlayerVehicleID(playerid), poskm[0], poskm[1], poskm[2]); return IsPlayerInAnyVehicle(playerid) ? floatround(((floatsqroot(((poskm[0] * poskm[0]) + (poskm[1] * poskm[1]) + (poskm[2] * poskm[2]))) * (!mode ? 105.0 : 170.0))) * 1) : 0; } //============================================================================== stock AntiBadWord(text[]) { format(String2,66,text); for(new st=0,j=strlen(text);st<=j;++st) { if(String2[st] == '4') String2[st] = 'a'; if(String2[st] == '3') String2[st] = 'e'; if(String2[st] == '5') String2[st] = 's'; if(String2[st] == '8') String2[st] = 'b'; if(String2[st] == '7') String2[st] = 't'; if(String2[st] == '0') String2[st] = 'o'; if(String2[st] == '1') String2[st] = 'i'; } for(new st=0,j=22;st<=j;++st) { if((String2[st]>='a' && String2[st]<='z') || (String2[st]>='A' && String2[st]<='Z')) { if(! cs || ( cs && String2[ cs - 1 ] != String2[st])) { String2[ cs ] = String2[st]; cs++; } } if( cs >= String2[st]) break; } for(new s = 0 ; s <= sizeof Word;++ s) if(strfind(String2,Word[s],true)!=-1) return true; return false; } //============================================================================== public OnPlayerDeath(playerid, killerid, reason) { if(IsPlayerInAnyVehicle(killerid)) { if(AntDB >=1){ format(String, sizeof(String), "[Anti-Hacker] %s foi Kikado por Drive-By",PlayerNome(killerid)); SendClientMessageToAll(0xAA3333AA, String); Kick(killerid); } } return 1; } //============================================================================== stock AntiSites(text[]) { format(String2,66,text); for(new s = 0 ; s <= 23; ++ s) if(strfind(String2,Sites[s],true)!=-1) return true; return false; } //============================================================================== stock MaxString(text[],max) return ((strlen(text) > max) ? true : false); //============================================================================== stock AntiPublic(playerid,text[]) { for (new i = 0 ; i <= strlen(text); i++) if ((text[ i ] >= 47) && (text[ i ] <= 58)) cont++; if (cont >= 8 && cont <= 16) { for (new xs = 0; xs <= strlen(text); xs++) { if((text[ xs ] == 46) || (text[ xs ] == 58)) { Kick(playerid); cont = 0; return false; } } } cont = 0; return true; } //============================================================================== stock StringMinuscula(text[]) { for (new LowerC = 0; LowerC <= strlen(text); LowerC ++) if (text[ LowerC ] > 64 && text[ LowerC ] < 91 ) text[ LowerC ] += 32; return true; } //============================================================================== stock PlayerNome(playerid) { GetPlayerName(playerid, name, MAX_PLAYER_NAME); return name; } //============================================================================== public OnVehicleMod(playerid,vehicleid,componentid) { foreach(Player, i) { if(Tuning >= 1) { if(GetPlayerInterior(i) == 0) { format(String, sizeof(String), "[Anti-Hacker] %s foi Kikado por Usar Tuning Hacker",PlayerNome(i)); SendClientMessageToAll(0xAA3333AA, String); Kick(i); } } } return 1; } //============================================================================== public VerEsc(playerid){ new Float:xx,Float:yy,Float:zz; GetPlayerPos(playerid,xx,yy,zz); if(xx == Posx[playerid] && yy == Posy[playerid] && zz == Posz [playerid]){ format(String, sizeof(String), "[Anti-Hacker] %s foi Kikado por esta de 'ESC'",PlayerNome(playerid)); SendClientMessageToAll(0xAA3333AA, String); dini_Set("AntHacker/Kick.log",dataa,String); Kick(playerid); } else { } return true; } //============================================================================== public OnPlayerCommandText(playerid,cmdtext[]) { //Here you can write cmds witout params! return DelimiterCommand(playerid,cmdtext); } //============================================================================== new iParams[ MaxFrequence ][ MaxParameter ],iTotalParams[MaxLenString]; //============================================================================== stock DelimiterCommand(playerid,sStringSource[]) { iLenght = strlen(sStringSource); sIndex = 0; iLenPart = 0; iPosPart = 0; iStrMid = 0; for(new aIndex = 1; aIndex < MaxFrequence; ++aIndex) iParams[aIndex][0] = '\0'; iTotalParams[0] = '\0'; while(sIndex <= iLenght) { if(sStringSource[sIndex] == ' ' && sStringSource[sIndex - 1] != ' ' || sIndex == iLenght) { iStrMid = strmid(iParams[iPosPart], sStringSource, iLenPart, sIndex, 128); iParams[iPosPart][iStrMid] = 0,iLenPart = (sIndex + 1), ++iPosPart; if(iPosPart == 1) format(iTotalParams,MaxLenString, "%s",sStringSource[sIndex]); } ++sIndex; } format(cmds, sizeof cmds,"fcmd_%s",iParams[0][1]); return CallLocalFunction(cmds,"i",playerid); } //============================================================================== fcmd(playeresc,playerid) { new pid; pid = strval ( iParams [0] ); if(!pid) return SendClientMessage( playerid , 0xAA3333AA, "[Anti-Hacker] Use /playeresc [id]" ); if( !IsPlayerConnected ( pid ) ) return SendClientMessage( playerid , 0xAA3333AA, "[Anti-Hacker] ID OFF" ); if(playerid == pid ) return true; GetPlayerPos( pid , Posx [ pid ] , Posy [ pid ] , Posz [ pid ] ); SetTimerEx( "VerEsc" , 15*1000 , false, "d" , pid ); SendClientMessage( pid , 0xAA3333AA , "[Anti-Hacker] Vocк esta em processo de Anti-Esc Mova-se"); SendClientMessage( playerid , 0xAA3333AA , "[Anti-Hacker] Aguarde 15s" ); return true; } //============================================================================== fcmd(playerxite,playerid) { new pid; pid = strval ( iParams [ 0 ] ); if( !pid ) return SendClientMessage ( playerid , 0xAA3333AA, "[Anti-Hacker] Use /playerxite [id]" ); if( !IsPlayerConnected ( pid ) ) return SendClientMessage( playerid , 0xAA3333AA, "[Anti-Hacker] ID OFF" ); new Float:Sangue [ 2 ]; GetPlayerHealth ( pid , Sangue [ 0 ] ); GetPlayerPos ( pid , Posx [ pid ] , Posy [ pid ], Posz [ pid ] ); SetPlayerPos ( pid , Posx [ pid ] +5 ,Posy [ pid ] +6 ,Posz [ pid ] +5 ); GetPlayerHealth ( pid , Sangue[1]); if( Sangue [ 0 ] < Sangue [ 1 ] ) { format ( String , sizeof ( String ) , "[Anti-Hacker] %s foi Kikado por esta de 'Xite/God'",PlayerNome(pid)); SendClientMessageToAll ( 0xAA3333AA , String ); dini_Set ( "AntHacker/Kick.log" , dataa , String ); Kick ( pid ); } else { SendClientMessage( playerid , 0xAA3333AA, "[Anti-Hacker] O Player Nгo estava de xite e vocк vai ser punido"); SetPlayerHealth( playerid , 0 ); } return true; } //============================================================================== new MyID; fcmd(airbreak,playerid) { new pid; pid = strval ( iParams [ 0 ] ); if( !pid ) return SendClientMessage( playerid , 0xAA3333AA, "[Anti-Hacker] Use /airbreak [id]" ); if( !IsPlayerConnected ( pid ) ) return SendClientMessage( playerid , 0xAA3333AA, "[Anti-Hacker] ID OFF" ); TogglePlayerControllable(pid, 0); SetPlayerPos ( pid , 1699.2, 1435.1, 10.7 ); SetTimerEx ( "AirBreak" , 2*1000 , false, "d" , pid ); MyID = playerid; SendClientMessage( playerid , 0xAA3333AA, "[Anti-Hacker] Aguarde" ); return true; } //============================================================================== public AirBreak(pid){ GetPlayerPos ( pid , Posx [ pid ] , Posy [ pid ], Posz [ pid ] ); if(PlayerToPoint( 2.0 , pid , Posx [ pid ] , Posy [ pid ], Posz [ pid ] )){ SendClientMessage( MyID , 0xAA3333AA, "[Anti-Hacker] Player nгo estava de Airbreak" ); TogglePlayerControllable( pid , 1 ); } else { format ( String , sizeof ( String ) , "[Anti-Hacker] %s foi Kikado por esta de 'AirBreak'", PlayerNome( pid ) ); SendClientMessageToAll ( 0xAA3333AA , String ); dini_Set ( "AntHacker/Kick.log" , dataa , String ); Kick ( pid ); } return true; } //==============================================================================
coloca uma if assim
if(!//variavel de admin seu na parte onde bane por god pra empedir isso |
Se nгo quiser adicionar o fs no gm, desabilita o anti god mod, '-'
|