Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define Ne_Diraj_Ovo
- //------------------------------------------------------------------------------
- /*
- - Simple anticheat system by Aleksa Djordjevic(Macak)
- - Zahvale: sa-mp forum!
- - FS radjena za Balkan samp forum
- - Ukoliko #define Ne_Diraj_Ovo promenite ovo FS nece raditi! ;)
- ~ Anticheat Detekcije ~
- - Anti Crasher Hack
- - Anti JetPack Hack
- - Anti Drive Hack
- - Anti JoyPad Hack
- - Visok Ping Detekcija
- - Anti Speed Hack
- - Anti Weapon Crasher(Camera Mode)
- - Anti Fly Hack
- */
- #if !defined Ne_Diraj_Ovo
- #error Procitaj pravila korscenja, momcino.
- #endif
- //------------------------------------------------------------------------------include
- #define FILTERSCRIPT
- #include <a_samp>
- #include <streamer>
- #include <sscanf2>
- #include <YSI\y_ini>
- #include <YSI\y_timers>
- #include <YSI\y_hooks>
- //------------------------------------------------------------------------------
- #if defined FILTERSCRIPT
- //------------------------------------------------------------------------------
- public OnFilterScriptInit()
- {
- print("________________________________________");
- print("~~Anticheat by Macak uspesno ucitan! ~~");
- print("________________________________________");
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnFilterScriptExit()
- {
- return (true);
- }
- #else
- //------------------------------------------------------------------------------
- main()
- {
- print("________________________________________");
- print(" [!!!] ");
- print("________________________________________");
- }
- //------------------------------------------------------------------------------
- #endif
- //------------------------------------------------------------------------------
- #undef MAX_PLAYERS
- #define MAX_PLAYERS (500)
- //------------------------------------------------------------------------------boje
- #define col_ac "{F81414}"
- #define BELA "{FFFFFF}"
- //------------------------------------------------------------------------------skracenice
- #define IPI INVALID_PLAYER_ID
- #define SCM SendClientMessage
- //------------------------------------------------------------------------------Oruzje dal je validno
- #define Pravo_Oruzje(%0) (%0>=1 && %0<=18 || %0>=21 && %0<=46)
- //------------------------------------------------------------------------------newovi
- new Macak_Bot;
- new Povisen_Ping[MAX_PLAYERS];
- new JoyPad_Detekcija[MAX_PLAYERS] = {0, ...};
- //------------------------------------------------------------------------------
- bool:Vozilo_Avion(vozilo)
- {
- switch(GetVehicleModel(vozilo))
- {
- case 417, 425, 447, 460, 469, 476, 487, 488, 497, 511, 512, 513, 519,
- 520, 548, 553, 563, 577, 592, 593: return true;
- }
- return (false);
- }
- //------------------------------------------------------------------------------
- static stock GetSpeed(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)) * 178.8617875;
- return floatround(ST[3]);
- }
- //------------------------------------------------------------------------------
- static stock Null_Varijable(playerid)
- {
- Povisen_Ping[playerid] = 0;
- JoyPad_Detekcija[playerid] = 0;
- }
- //------------------------------------------------------------------------------
- public OnGameModeInit()
- {
- Macak_Bot = SetTimer("Anticheat_Provere", 1000, true);
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnGameModeExit()
- {
- KillTimer(Macak_Bot);
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerRequestClass(playerid, classid)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerConnect(playerid)
- {
- Null_Varijable(playerid);
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerDisconnect(playerid, reason)
- {
- JoyPad_Detekcija[playerid] = 0;
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerSpawn(playerid)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
- {
- if(playerid == IPI) return (false);
- new Float:Pozicija_Igraca[3];
- GetPlayerPos(playerid, Pozicija_Igraca[0], Pozicija_Igraca[1], Pozicija_Igraca[2]);
- if(!(-20000.0 <= Pozicija_Igraca[2] <= 20000.0)) return (false);
- if(hittype == 0 && !Pravo_Oruzje(weaponid))
- {
- if(fX == 0.000000 && fY == 0.000000 && fZ == 0.000000)
- {
- new string[120];
- format(string,sizeof(string), ""col_ac"[ac_Macak] "BELA"Igrac %s je kikovan zbog pokusaja koriscenja crashera "col_ac"TIP: WS-3", GetName(playerid));
- SendClientMessageToAll(0xFFFFFFAA, string);
- Kikuj_Igraca(playerid);
- return 0;
- }
- }
- if(hittype != BULLET_HIT_TYPE_NONE)
- {
- if(!(-1000.0 <= fX <= 1000.0) || !(-1000.0 <= fY <= 1000.0) || !(-1000.0 <= fZ <= 1000.0))
- {
- new ac_string[120];
- format(ac_string, sizeof(ac_string), ""col_ac"[ac_Macak] "BELA"Igrac [%d]%s je kikovan zbog pokusaja koriscenja Bullet Crashera!", playerid, GetName(playerid));
- SendClientMessageToAll(0xFFFFFFAA, ac_string);
- Kikuj_Igraca(playerid);
- return (false);
- }
- }
- if(hittype == BULLET_HIT_TYPE_PLAYER)
- {
- if(fX == 0.000000 && fY == 0.000000 && fZ == 0.500000 && weaponid == 0)
- {
- new ac_string[135];
- format(ac_string, sizeof(ac_string), ""col_ac"[ac_Macak] "BELA"Igrac [%d]%s je kikovan zbog pokusaja koriscenja crashera "col_ac"TIP: WS-2",playerid, GetName(playerid));
- SendClientMessageToAll(0xFFFFFFAA, ac_string);
- Kikuj_Igraca(playerid);
- return (false);
- }
- }
- //printf("Weapon %i fired. hittype: %i hitid: %i pozicija: %f, %f, %f", weaponid, hittype, hitid, fX, fY, fZ); //debugg
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && GetPlayerState(killerid) == PLAYER_STATE_DRIVER && GetPlayerState(killerid) == PLAYER_STATE_PASSENGER)
- {
- new macak_ac[155];
- format(macak_ac, sizeof(macak_ac), ""col_ac"[ac_Macak] "BELA"Igrac [%d]%s je pregazio(DRIVE BY) igraca [%d]%s!", killerid, GetName(killerid), playerid, GetName(playerid));
- SendClientMessageToAll(0xFFFFFFAA, macak_ac);
- }
- return (true);
- }
- public OnVehicleSpawn(vehicleid)
- {
- return (true);
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return (true);
- }
- public OnPlayerText(playerid, text[])
- {
- return (true);
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return (true);
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return (true);
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return (true);
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return (true);
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return (true);
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return (true);
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return (true);
- }
- public OnRconCommand(cmd[])
- {
- return (true);
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return (true);
- }
- public OnObjectMoved(objectid)
- {
- return (true);
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return (true);
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return (true);
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return (true);
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return (true);
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return (true);
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return (true);
- }
- public OnPlayerExitedMenu(playerid)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerUpdate(playerid)
- {
- new taster, aj_sad, aj_sad1;
- GetPlayerKeys(playerid, taster, aj_sad, aj_sad1);
- if((aj_sad != 128 && aj_sad != 0 && aj_sad != -128) || (aj_sad1 != 128 && aj_sad1 != 0 && aj_sad1 != -128)) JoyPad_Detekcija[playerid] = 1;
- //------------------------------------------------------------------------------
- new Float:Pozicija_X, Float:Pozicija_Y, Float:Pozicija_Z;
- new anim = GetPlayerAnimationIndex(playerid);
- GetPlayerPos(playerid, Pozicija_X, Pozicija_Y, Pozicija_Z);
- if((anim >= 1538) && (anim <= 1542) && Pozicija_Z > 5)
- {
- new ac_Macak[180];
- format(ac_Macak, sizeof(ac_Macak), ""col_ac"[ac_Macak] "BELA"[%d]%s je kikovan sa servera od strane anticita "col_ac"Razlog: Fly_Hack", playerid, GetName(playerid));
- SendClientMessageToAll(0xFFFFFFAA, ac_Macak);
- Kikuj_Igraca(playerid);
- return true;
- }
- if(GetSpeed(playerid) > 291)
- {
- if(!Vozilo_Avion(GetPlayerVehicleID(playerid)))
- {
- //if(IsPlayerAdmin(playerid)) return (true);
- new ac_Macak[128];
- format(ac_Macak, sizeof(ac_Macak), ""col_ac"[ac_Macak] "BELA"[%d]%s je kikovan zbog moguceg koriscenja"col_ac"Speed Hacka Brzina: %d", playerid, GetName(playerid), GetSpeed(playerid));
- SendClientMessageToAll(0xFFFFFFAA, ac_Macak);
- return (true);
- }
- }
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return (true);
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return (true);
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return (true);
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return (true);
- }
- //------------------------------------------------------------------------------
- forward public Anticheat_Provere();
- public Anticheat_Provere()
- {
- foreach(Player, i)
- {
- if(IsPlayerConnected(i) && !IsPlayerNPC (i))
- {
- if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK && IsPlayerConnected(i) && !IsPlayerAdmin(i))
- {
- new string[150];
- format(string, sizeof string, ""col_ac"[ac_Macak] "BELA"Igrac %s je kikovan zbog jetpack hack-a!", GetName(i));
- SendClientMessageToAll(0xFFFFFFAA, string);
- SCM(i, 0xFFFFFFAA, ""col_ac"[ac_Macak] "BELA"Kikovani ste zbog JetPack hacka.");
- Kikuj_Igraca(i);
- }
- }
- if(IsPlayerConnected(i) && !IsPlayerNPC (i))
- {
- if(GetPlayerPing(i) > 750) Povisen_Ping[i]++;
- else Povisen_Ping[i] = 0;
- if(Povisen_Ping[i] > 3)
- {
- new ac_macak[131];
- format(ac_macak, sizeof(ac_macak), ""col_ac"[ac_Macak] "BELA"Igrac %s je kikovan zbog visokog pinga (%d)!", GetName(i), GetPlayerPing(i));
- SendClientMessageToAll(0xFFFFFFAA, ac_macak);
- Kikuj_Igraca(i);
- }
- }
- if(GetPlayerCameraMode(i) == 53)
- {
- new Float:Tri_Pozicije[3];
- GetPlayerCameraPos(i, Tri_Pozicije[0], Tri_Pozicije[1], Tri_Pozicije[2]);
- if(Tri_Pozicije[2] < -50000.0 || Tri_Pozicije[2] > 50000.0)
- {
- new ac_Macak[128];
- format(ac_Macak, sizeof(ac_Macak), ""col_ac"[ac_Macak] "BELA"%s je kickovan sa servera... "col_ac"Razlog: Weapon Crasherr(Camera Mode)", GetName(i));
- SendClientMessageToAll(0xFFFFFFAA, ac_Macak);
- Kikuj_Igraca(i);
- return (false);
- }
- }
- //
- if(JoyPad_Detekcija[i] == 1) Callback_JoyPad(i);
- }
- return (true);
- }
- //------------------------------------------------------------------------------
- /*task Sekund_Tajmer[1001]
- {
- foreach(Player, i)
- {
- }
- return (true);
- }*/
- //------------------------------------------------------------------------------
- static stock GetName(playerid)
- {
- new macak[MAX_PLAYER_NAME];
- GetPlayerName(playerid, macak, sizeof(macak));
- return macak;
- }
- //------------------------------------------------------------------------------
- static stock Kikuj_Igraca(playerid)
- {
- if (IsPlayerConnected (playerid) && !IsPlayerNPC (playerid))
- {
- SetTimerEx("Kikuj_Ga", 111, false, "i", playerid);
- GameTextForPlayer(playerid, "~r~Kikovani ste od strane ac_Macka", 80000, 4);
- TogglePlayerControllable(playerid, 0);
- }
- return (true);
- }
- //------------------------------------------------------------------------------
- forward public Kikuj_Ga(playerid);
- public Kikuj_Ga(playerid)
- {
- Kick(playerid);
- return (true);
- }
- //------------------------------------------------------------------------------
- forward public Callback_JoyPad(playerid);
- public Callback_JoyPad(playerid)
- {
- new ac_Macak[145];
- if(playerid == IPI) return (false);
- if(IsPlayerNPC(playerid) || IsPlayerAdmin(playerid)) return JoyPad_Detekcija[playerid] = 0; //ako je npc ili ako je rcon admin da ne prolazi kroz proveru
- format(ac_Macak, sizeof(ac_Macak), ""col_ac"[ac_Macak] "BELA"Igrac %s je kikovan zbog koriscenja Joypad-a.", GetName(playerid));
- SendClientMessageToAll(0xFFFFFFAA, ac_Macak);
- JoyPad_Detekcija[playerid] = 0;
- return (true);
- }
- //------------------------------------------------------------------------------
- //------------------------------------------------------------------------------
- //------------------------------------------------------------------------------
- //------------------------------------------------------------------------------
- //------------------------------------------------------------------------------
- /*
- END OF BEGINNING
- */
- //------------------------------------------------------------------------------
- //------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement