Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <YSI\y_ini>
- #include <zcmd>
- #include <YSI\y_timers>
- //===============================[MAIN SETTINGS]================================
- #define NAME "NGuard"
- #define WEBSITE "www.samp-balkan.blogspot.com"
- #define VERSION "v0.1"
- #define LAST_UPDATE "8.23.2015"
- #define DEVELOPER "Ermin Nuhanovic"
- #define SCRIPT_LINES 454
- //==============================================================================
- #define GUARD "{FFEE00}"
- #define BIJELA "{FFFFFF}"
- #define CRVENA "{FF0000}"
- #define DIALOG_AC (1889)
- #pragma tabsize 0
- #define function%0(%1) \
- forward%0(%1); public%0(%1)
- /*AntiCheat*/
- #define CHEAT_SPEEDHACK 1
- #define CHEAT_GUNHACK 2
- static Float:pPos[3];
- enum weapons
- {
- Melee,
- Thrown,
- Pistols,
- Shotguns,
- SubMachine,
- Assault,
- Rifles,
- Heavy,
- Handheld,
- }
- new Weapons[MAX_PLAYERS][weapons];
- enum aCinfo
- {
- ac_sobeit,
- ac_speed,
- ac_gunhack
- };
- new anticheat[aCinfo];
- new createCar[MAX_PLAYERS];
- #define AC_STRING "Sobeit/GoC detector\t%s\nSpeedHack\t\t%s\nGunHack\t\t%s"
- public OnFilterScriptInit()
- {
- new fFile2[24];
- format(fFile2, sizeof(fFile2), "/NGuard/Anticheat.ini");
- if(!fexist(fFile2))
- {
- new INI:sFile2 = INI_Open(fFile2);
- INI_SetTag(sFile2,"data");
- INI_WriteInt(sFile2, "Sobeit/GoC", 1);
- INI_WriteInt(sFile2, "Speed", 1);
- INI_WriteInt(sFile2, "Gunhack", 1);
- INI_Close(sFile2);
- }
- else if(fexist(fFile2))
- {
- INI_ParseFile(fFile2, "UcitajAnticheat");
- printf("> Sobeit/GoC je na: %d", anticheat[ac_sobeit]);
- printf("> Speed je na: %d", anticheat[ac_speed]);
- printf("> Gunhack je na: %d", anticheat[ac_gunhack]);
- }
- print("_________________________________________________________________________");
- SetTimer("AntiSpeedHack",10000,true);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- //--------------------------------------------------------------------------
- /*Sobeit provjere*/
- if(anticheat[ac_sobeit] == 1 && !IsPlayerAdmin(playerid))
- {
- /*Prva prvojera pomocu sobeit/goc buga sa palicom*/
- TogglePlayerControllable(playerid,0); //zaledi igraca
- Sobeit_Check(playerid);
- SendClientMessage(playerid,-1, ""GUARD"San City AC: "BIJELA"Traze se ne dozvoljeni modovi/hackovi/programi/skripte.");
- }
- //--------------------------------------------------------------------------
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_AC)
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0://Sobeit/GoC detector
- {
- if(anticheat[ac_sobeit] == 0) anticheat[ac_sobeit] = 1;
- else anticheat[ac_sobeit] = 0;
- }
- case 1://Speed
- {
- if(anticheat[ac_speed] == 0) anticheat[ac_speed] = 1;
- else anticheat[ac_speed] = 0;
- }
- case 2://Gunhack
- {
- if(anticheat[ac_gunhack] == 0) anticheat[ac_gunhack] = 1;
- else anticheat[ac_gunhack] = 0;
- }
- }
- DialogAntiCheat(playerid);
- UpdateAnticheat();
- return 1;
- }
- return 1;
- }
- forward UcitajAnticheat(name[], value[]);
- public UcitajAnticheat(name[], value[])
- {
- INI_Int("Sobeit/GoC", anticheat[ac_sobeit]);
- INI_Int("Speed", anticheat[ac_speed]);
- INI_Int("Gunhack", anticheat[ac_gunhack]);
- return 1;
- }
- public OnFilterScriptExit()
- {
- // Exit here
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- CheckWeapons(playerid);
- return 1;
- }
- forward KickTimer(playerid);
- public KickTimer(playerid)
- {
- Kick(playerid);
- return 1;
- }
- forward AntiSpeedHack();
- public AntiSpeedHack()
- {
- foreach(Player, i)
- {
- if(GetPlayerSpeed2(i) > 230)
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", i, CHEAT_SPEEDHACK);
- }
- }
- return 1;
- }
- CMD:nguard(playerid, params[], help)
- {
- if(IsPlayerAdmin(playerid))
- {
- #pragma unused help
- #pragma unused params
- DialogAntiCheat(playerid);
- } else return SendClientMessage(playerid,-1, ""GUARD"San City AC: "BIJELA"Niste ovlasceni da koristite ovu komandu!");
- return 1;
- }
- stock DialogAntiCheat(playerid)
- {
- new dialogstring[256];
- new acsobe[32],acgun[32],acspeed[32];
- if(anticheat[ac_sobeit] == 0) acsobe = "{F81414}Iskljuceno";
- else acsobe = "{00C800}Ukljuceno";
- if(anticheat[ac_speed] == 0) acspeed = "{F81414}Iskljuceno";
- else acspeed = "{00C800}Ukljuceno";
- if(anticheat[ac_gunhack] == 0) acgun = "{F81414}Iskljuceno";
- else acgun = "{00C800}Ukljuceno";
- format(dialogstring, sizeof(dialogstring), AC_STRING, acsobe, acspeed, acgun);
- ShowPlayerDialog(playerid, DIALOG_AC, DIALOG_STYLE_LIST, "AntiCheat kontrola", dialogstring, "Promjeni", "Izadji");
- strdel(dialogstring, 0, sizeof(dialogstring));
- return 1;
- }
- stock UpdateAnticheat()
- {
- new serFile[24];
- format(serFile, sizeof(serFile), "/NGuard/Anticheat.ini");
- new INI:sFile = INI_Open(serFile);
- INI_SetTag(sFile,"data");
- INI_WriteInt(sFile, "Sobeit/GoC", anticheat[ac_sobeit]);
- INI_WriteInt(sFile, "Speed", anticheat[ac_speed]);
- INI_WriteInt(sFile, "Gunhack", anticheat[ac_gunhack]);
- INI_Close(sFile);
- }
- stock Sobeit_Check(playerid)
- {
- GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
- createCar[playerid] = AddStaticVehicleEx (457, pPos[0],pPos[1],pPos[2],180.0, random(200), random(200), 15);
- PutPlayerInVehicle(playerid, createCar[playerid], 0);
- RemovePlayerFromVehicle(playerid);
- DestroyVehicle(createCar[playerid]);
- defer Sobeit_Check_2(playerid);
- return 1;
- }
- timer Sobeit_Check_2[3000](playerid)
- {
- if(ProvjeriGuns(playerid))
- {
- nguard_Kick(playerid, ""GUARD"San City AC: "BIJELA"Izbaceni ste sa servera | Razlog: Sobeit/GoC");
- }
- else
- {
- //Druga provjera
- SendClientMessage(playerid,-1, ""GUARD"San City AC: "BIJELA"Prosli ste prvu provjeru. Sacekajte da anti-cheat odradi jos jednu!");
- TogglePlayerControllable(playerid,0);
- defer AntiSobeit1(playerid);
- }
- return 1;
- }
- stock nguard_Kick(playerid, razlog[])
- {
- SetTimerEx("KickTimer", 300, false, "d", playerid);
- SendClientMessage(playerid, -1, razlog);
- return 1;
- }
- stock ProvjeriGuns(playerid)
- {
- new weapon, ammo;
- new ukupno;
- for (new i = 0; i <= 12; i++)
- {
- GetPlayerWeaponData(playerid, i, weapon, ammo);
- if(weapon != 0) ukupno++;
- }
- if(ukupno != 0) return 1;
- return 0;
- }
- stock CheckWeapons(playerid)
- {
- new weaponid = GetPlayerWeapon(playerid);//This will cause the "weaponid not defined" Error
- if(weaponid >= 1 && weaponid <= 15)
- {
- if(weaponid == Weapons[playerid][Melee])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- if( weaponid >= 16 && weaponid <= 18 || weaponid == 39 ) // Checking Thrown
- {
- if(weaponid == Weapons[playerid][Thrown])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- if( weaponid >= 22 && weaponid <= 24 ) // Checking Pistols
- {
- if(weaponid == Weapons[playerid][Pistols])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- if( weaponid >= 25 && weaponid <= 27 ) // Checking Shotguns
- {
- if(weaponid == Weapons[playerid][Shotguns])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- if( weaponid == 28 || weaponid == 29 || weaponid == 32 ) // Checking Sub Machine Guns
- {
- if(weaponid == Weapons[playerid][SubMachine])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- if( weaponid == 30 || weaponid == 31 ) // Checking Assault
- {
- if(weaponid == Weapons[playerid][Assault])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- if( weaponid == 33 || weaponid == 34 ) // Checking Rifles
- {
- if(weaponid == Weapons[playerid][Rifles])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- if( weaponid >= 35 && weaponid <= 38 ) // Checking Heavy
- {
- if(weaponid == Weapons[playerid][Heavy])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- if( weaponid >= 39 && weaponid <= 45 ) // HandHeld
- {
- if(weaponid == Weapons[playerid][Handheld])
- {
- return 1;
- }
- else
- {
- CallLocalFunction("OnAntiCheatDetect", "dd", playerid, CHEAT_GUNHACK);
- }
- }
- else { return 1; }
- return 1;
- }
- timer AntiSobeit1[5000](playerid)
- {
- new Float:x2, Float:y2, Float:z2;
- GetPlayerCameraFrontVector(playerid, x2, y2, z2);
- #pragma unused x2
- #pragma unused y2
- if(z2 < -0.8)
- {
- nguard_Kick(playerid, ""GUARD"San City AC: "BIJELA"Izbaceni ste sa servera | Razlog: Sobeit/GoC");
- }
- if(z2 > -0.8)
- {
- TogglePlayerControllable(playerid,1);
- SendClientMessage(playerid,-1, ""GUARD"San City AC: "BIJELA"Nismo uspjeli pronaci ne dozvoljene alate. Ugodno igranje na nasem serveru!");
- }
- return 1;
- }
- function OnAntiCheatDetect(playerid, cheatid)
- {
- if(playerid == INVALID_PLAYER_ID) return 1;
- switch(cheatid)
- {
- case CHEAT_SPEEDHACK:
- {
- if(anticheat[ac_speed] == 0) return 1;
- if(IsPlayerAdmin(playerid)) return 1;
- new string[148];
- format(string,sizeof(string),""GUARD"San City AC: "BIJELA"Obavijest:{ffffff} Igrac: "GUARD"%s{ffffff} [ID : "GUARD"%d{ffffff}] [ Provjerite ga,mozda koristi Speed Hack ]", ImeIgraca(playerid),playerid,GetPlayerSpeed2(playerid));
- SendClientMessageToAll(-1,string);
- format(string,sizeof(string),""GUARD"San City AC: "BIJELA"Obavijest:{ffffff} Igrac: "GUARD"%s {ffffff}[ Brzina: "GUARD"%d{ffffff} km/h ]", ImeIgraca(playerid),GetPlayerSpeed2(playerid));
- SendClientMessageToAll(-1,string);
- return 1;
- }
- case CHEAT_GUNHACK:
- {
- if(anticheat[ac_gunhack] == 0) return 1;
- if(IsPlayerAdmin(playerid)) return 1;
- nguard_Kick(playerid, ""GUARD"San City AC: "BIJELA"Izbaceni ste sa servera | Razlog: Weapon Hack");
- return 1;
- }
- }
- return 1;
- }
- stock ImeIgraca(playerid)
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid, ime, sizeof(ime));
- return ime;
- }
- stock GetPlayerSpeed2(playerid)
- {
- new Float:ST[4];
- if(IsPlayerInAnyVehicle(playerid))
- GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
- else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
- ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) *183.666667;
- return floatround(ST[3]);
- }
Advertisement
Add Comment
Please, Sign In to add comment