Advertisement
Maki187

Anti Cheat Balkan Security v0.7 R1

Apr 16th, 2012
484
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 59.02 KB | None | 0 0
  1. /* =======================[PROCITAJ ME | PROCITAJ INSTALIRANJE.TXT]=============================
  2. --------------[24.12.2011 - 13.2.2012]--------------
  3. Credits:
  4. Maki187 (Marko_Dimitrijevic) - Izrada AntiCheat-a
  5. Gamestar - Antiswear | Gagi(Mr.Gagi) - Pomoc oko foreach, Anti Health Hack (po uzoru na Anti Health Hack uradjen je Anti Armour Hack), velika pomoc oko provere animacije
  6. Balkan Rising RolePlay - Testiranje AntiCheat-a | www.balkan-rising.info
  7. PRE SVEGA ZAMOLIO BI KORISNIKA OVE SKRIPTE, DA NEBRISE CREDITSE I PORUKU PRI LOGIN-U, OVO MI JE UJENDO I PRVA FS :)
  8. NA MESTIMA GDE PISE //PROMENI ME PO POTREBI, TREBA DA  PRILAGODITE ANTICHEAT SVOM SERVERU
  9. OBAVEZNO PROCITAJTE INSTALACIJA.TXT
  10. ===================[v0.1]==[24.12.2011]===================
  11. Uradjen AntiCheat protiv: Speed Hack, Previsok Ping, Jet Pack, Zabranjena Oruzija
  12. ===================[v0.2]==[24.12.2011 && 25.12.2011]=====
  13. Uradjen AntiCheat protiv: Drive By, Anti Swear(Psovke), Anti BH, RCON Zastita, Anti AirBreake (beta test)
  14. Skripta optimizirana, uklonjen tajmer za svakog igraca, sve provere stavljene pod 1 tajmer!!
  15. Od sada mozete da ukljucite/iskljucite odredjene provere u AntiCheat-u  pomocu komande /anticheat
  16. ===================[v0.3]==[26.12.2011 && 29.12.2011-19:15]====
  17. Omoguce izbegavanje admina na serveru, odnosno kucajuci /adminduty (ili zeljenu komandu) anticheat ce ignorisati admina ako napravi prekrsaj.
  18. Od sada postoji kick log, odnosno kad igrac bude kikovan zbog neceg, razlog, datum i vreme ce se upisati u log.
  19. Uradjen BETA AntiCheat protiv: Nesiguran Novac (Money Hack)
  20. Poboljsani ili popravljeni AntiCheat-ovi: Anti Airbrake[poboljsan], Anti BH (Bunny Hop)[popravljen i poboljsan]
  21. Optimizirana Skripta! | Srecna Nova Godina, 2012!!! :)
  22. ===================[v0.4]==[31.12.2011 && 2.1.2012]======
  23. UNAPREDJENO I FIXANO: Anti Money Cheat, AirBrake, fixano par malih bagova oko log fajlova (nije pri svakom kicku upisivano ime igraca)
  24. NOVO: Uradjen Anti Health Hack, za ovo zasluge idu Gagiju ([BD]Gagi |Mr.Gagi), po uzoru na njegov Anti Health uradjen je i Anti Armour Hack
  25. Kikovanom igracu se izbaci dijalog sa porukom da je kikovan/banovan, imenom, razlogom, ip adresom i dodatnoj poruci...
  26. ===================[v0.5]==[4.1.2012 && 8.1.2012]========
  27. Skripta je dodatno optimizirana. | Od sad se i reset novca odvija preko AC-a(Anti Money Cheat) | Ispravljene sitne greske u skripti
  28. Novo: Anti Teleport[INT] - teleportovanje u int, Anti Fly Hack - ukoliko igrac koristi fly hack, dobija kick, ovu proveru nema cak ni JB
  29. Od sada stockove nedodajete u mod, vec postoji include fajl! | Imena oruzija pri kicku se vise neupisuju rucno, vec ih sad skripta upisuje...
  30. ===================[v0.6]==[13.2.2012]========
  31. Skripta dodatno optimizirana. | Fixan Anti Money Cheat, Fixan Anti Teleport[INT],Fixan i Unapredjen Anti Health Hack, Fixan i Unapredjen Anti Armour Hack
  32. Posto su Anti Teleport, Health i Armour hack fixani, vise igraci nece dobijati kick bez razloga + je mnogo poboljsano ocitavanje health/armour hack-a
  33. Anti Air Brake nije radio uopste u prethodnim verzijama, sad je donekle Fixan Anti Air Brake, moja preporuka vam je da ga iskljucite... :(
  34. ===================[v0.7]==[15.2.2012-17.2.2012]========
  35. NOVO: Uradjen potpuno novi Anti AirBrake, detekcija sad odlicno radi! | Uradjen Anti Teleport, napredniji od onog u cuvenom JB, jer detektuje i teleport preko mape(ESC>MAP>Desni klik bilo gde)
  36. Postoje 2 vrste anti teleporta, onaj uobicajan(iz s0beit menija) i on je oznacen pri kicku sa Teleport Hack[1], i postoji onaj preko mape, odnosno
  37. pritisnete ESC > MAPA > Desni klik na zeljeno mesto, i takav teleport je oznacen sa Teleport Hack[2], njega mozete posebno da iskljucite ako pocne da brka ili vam neodgovara...
  38. Uradjen Anti Vehicle Repair, te se sad ovaj AC prostire na 17 oblasti koje stiti :)
  39. Uradjeno je jos izmena u samom AC, al nisu vazne po detekciju, pa necu o tome pisati
  40. ---[v0.7 R1]--
  41. FIXANO: Anti DB, Anti Health Hack
  42. */
  43. #define FILTERSCRIPT
  44.  
  45. #include <a_samp>
  46. #include <float>
  47. #include <zcmd>
  48. #include <foreach>
  49. #include <AC_Balkan_Security>
  50.  
  51. #define ZUTA 0xDABB3EAA
  52. #define BELA 0xFFFFFFAA
  53. #define CRVENA 0xFF0000FF
  54. #define MAX_LEN 32
  55. #define MAX_ENTRY 120
  56. #define forum "www.balkan-rising.info"//ovde upisi adresu svog foruma
  57. #error PROCITAJ INSTALIRANJE.TXT
  58.  
  59.  
  60. static reci[MAX_ENTRY][MAX_LEN];
  61.  
  62. new ime[MAX_PLAYER_NAME]; // igracevo ime
  63. new Zastita[MAX_PLAYERS]; // stvara zastitu igracu, kako nebi dobio kick bez razloga
  64. new Skakuce[MAX_PLAYERS]; // koiko puta je uradio "bh"
  65. new Pokusaji[MAX_PLAYERS];// koliko je igrac puta pokusao da upadne u rcon
  66. new Novac1[MAX_PLAYERS]; // novac koj igrac poseduje, ako ima vise novca od onog koj je ovde zapisan, kick
  67. new OpomenaNovca[MAX_PLAYERS]; // skupi 5 opomena, dobija kick
  68. new FlyOpomena[MAX_PLAYERS];// stavljeno da bi skratilo skriptu kad dodje na 1, kick
  69. new Spawnovan[MAX_PLAYERS]; // pomaze pri zastiti igraca
  70. new Float:Pozicija[MAX_PLAYERS][3]; // pozicija na kojoj se nalazi
  71. new Float:AutoHelti[MAX_PLAYERS]; // hp vozila
  72. new kikovan[MAX_PLAYER_NAME];
  73. new VP = 1; // menja se ingame preko komande /anticheat - previsok ping
  74. new PJP = 1; // menja se ingame preko komande /anticheat - protiv jetpack
  75. new PB = 1; // menja se ingame preko komande /anticheat - provera brzine
  76. new ZO = 1; // menja se ingame preko komande /anticheat - zabranjena oruzija
  77. new RCONZ = 1; // menja se ingame preko komande /anticheat - rcon zastita
  78. new ZR = 1; // menja se ingame preko komande /anticheat - zabranjene reci
  79. new DBP = 1; // menja se ingame preko komande /anticheat - DB provera
  80. new BHP = 1; // menja se ingame preko komande /anticheat - BH provera
  81. new MPing = 700; //promeni po potrebi
  82. new Float:MBrzina = 235.0; //promeni po potrebi
  83. new PAB = 1; // menja se ingame preko komande /anticheat - protiv airbrake
  84. new NN = 1; // menja se ingame preko komande /anticheat - nesiguran novac
  85. new NH = 1; // menja se ingame preko komande /anticheat - nesigurni helti
  86. new NA = 1; // menja se ingame preko komande /anticheat - nesigurni armor
  87. new NT = 1; // menja se ingame preko komande /anticheat - nesiguran teleport
  88. new FP = 1; // menja se ingame preko komande /anticheat - fly provera
  89. new ANT = 1; // menja se ingame preko komande /anticheat - anti teleport[1]
  90. new ANT2 = 1; // menja se ingame preko komande /anticheat - anti teleport[2]
  91. new AVR = 1; // menja se ingame preko komande /anticheat - anti vehicle repair
  92. new y, m, d; new h,mi,s; new ipadresa[400]; new string2[600]; new Sekunde = 0;
  93.  
  94. forward AntiCheat();
  95. forward split(const strsrc[], strdest[][], delimiter);
  96. forward kick(playerid);
  97. forward nanula(playerid);
  98.  
  99. public OnFilterScriptInit()
  100. {
  101.     SetTimer("AntiCheat", 1000, 1); // OVO NESMETE DA POVECAVATE/SMANJUJETE, JER NECE RADITI VECI DEO AC-A(anti health, armour, money, teleport[int])
  102.     UcitajAC();
  103.     if(fexist("AC-BS/reci.txt"))
  104.     {
  105.         new File:myFile,
  106.             line[MAX_LEN],
  107.             index=0;
  108.  
  109.         myFile=fopen("AC-BS/reci.txt",filemode:io_read);
  110.  
  111.         while(fread(myFile,line,sizeof line) && (index != MAX_ENTRY))
  112.         {
  113.             if(strlen(line)>MAX_LEN) continue;
  114.             StripNewLine(line);
  115.             strmid(reci[index],line,0,strlen(line),sizeof line);
  116.             index++;
  117.         }
  118.     }
  119.     print("\n--------------------------------------");
  120.     print(" AntiCheat by: Maki187 (Marko_Dimitrijevic)");
  121.     print(" AntiCheat v0.7");
  122.     print(" Balkan Rising - www.balkan-rising.info");
  123.     print(" -------------[REKLAMA]------------");
  124.     print(" Bestbalkandj.com - www.bestbalkandj.com");
  125.     print(" Serbian Warez - www.serbian-warez.in.rs");
  126.     print("--------------------------------------\n");
  127.     return 1;
  128. }
  129. public OnPlayerConnect(playerid)
  130. {
  131.     ACCREDITS
  132.     Zastita[playerid] = 1;
  133.     kikovan[playerid] = 0;
  134.     AutoHelti[playerid] = 1000;
  135.     OpomenaNovca[playerid] = 0;
  136.     SetPVarInt(playerid, "SiguranTeleport", 1);
  137.     ACCREDITS
  138.     return 1;
  139. }
  140. public split(const strsrc[], strdest[][], delimiter)
  141. {
  142.     new i, li;
  143.     new aNum;
  144.     new len;
  145.     while(i <= strlen(strsrc)){
  146.         if(strsrc[i]==delimiter || i==strlen(strsrc)){
  147.             len = strmid(strdest[aNum], strsrc, li, i, 128);
  148.             strdest[aNum][len] = 0;
  149.             li = i+1;
  150.             aNum++;
  151.         }
  152.         i++;
  153.     }
  154.     return 1;
  155. }
  156. stock GetPlayerSpeed(playerid,bool:kmh) // by misco
  157. {
  158.     new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
  159.     if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz); else GetPlayerVelocity(playerid,Vx,Vy,Vz);
  160.     rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2)));
  161.     return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
  162. }
  163. stock GetDistanceToPoint(playerid,Float:x2,Float:y2,Float:z2)
  164. {
  165.     new Float:dis;
  166.     new Float:x1,Float:y1,Float:z1;
  167.     if (!IsPlayerConnected(playerid)) return -1;
  168.     GetPlayerPos(playerid,x1,y1,z1);
  169.     dis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  170.     return floatround(dis);
  171. }
  172. stock KodSprunk(playerid)
  173. {
  174.     if(IsPlayerInRangeOfPoint(playerid, 4, -2420.219, 984.578, 44.297)) return 1;
  175.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2420.180, 985.945, 44.297)) return 1;
  176.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2225.203, -1153.422, 1025.906)) return 1;
  177.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2576.703, -1284.430, 1061.094)) return 1;
  178.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2155.906, 1606.773, 1000.055)) return 1;
  179.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2209.906, 1607.195, 1000.055)) return 1;
  180.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2222.203, 1606.773, 1000.055)) return 1;
  181.     else if(IsPlayerInRangeOfPoint(playerid, 4, 495.969, -24.320, 1000.734)) return 1;
  182.     else if(IsPlayerInRangeOfPoint(playerid, 4, 501.828, -1.430, 1000.734)) return 1;
  183.     else if(IsPlayerInRangeOfPoint(playerid, 4, 373.828, -178.141, 1000.734)) return 1;
  184.     else if(IsPlayerInRangeOfPoint(playerid, 4, 330.680, 178.500, 1020.070)) return 1;
  185.     else if(IsPlayerInRangeOfPoint(playerid, 4, 331.922, 178.500, 1020.070)) return 1;
  186.     else if(IsPlayerInRangeOfPoint(playerid, 4, 350.906, 206.086, 1008.477)) return 1;
  187.     else if(IsPlayerInRangeOfPoint(playerid, 4, 361.563, 158.617, 1008.477)) return 1;
  188.     else if(IsPlayerInRangeOfPoint(playerid, 4, 371.594, 178.453, 1020.070)) return 1;
  189.     else if(IsPlayerInRangeOfPoint(playerid, 4, 374.891, 188.977, 1008.477)) return 1;
  190.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2155.844, 1607.875, 1000.063)) return 1;
  191.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2202.453, 1617.008, 1000.063)) return 1;
  192.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2209.242, 1621.211, 1000.063)) return 1;
  193.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2222.367, 1602.641, 1000.063)) return 1;
  194.     else if(IsPlayerInRangeOfPoint(playerid, 4, 500.563, -1.367, 1000.734)) return 1;
  195.     else if(IsPlayerInRangeOfPoint(playerid, 4, 379.039, -178.883, 1000.734)) return 1;
  196.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2480.86,-1959.27,12.9609)) return 1;
  197.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1634.11,-2237.53,12.8906)) return 1;
  198.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2139.52,-1161.48,23.3594)) return 1;
  199.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2153.23,-1016.15,62.2344)) return 1;
  200.     else if(IsPlayerInRangeOfPoint(playerid, 4, -1350.12,493.859,10.5859)) return 1;
  201.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2229.19,286.414,34.7031)) return 1;
  202.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1659.46,1722.86,10.2188)) return 1;
  203.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2647.7,1129.66,10.2188)) return 1;
  204.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2845.73,1295.05,10.7891)) return 1;
  205.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1398.84,2222.61,10.4219)) return 1;
  206.     else if(IsPlayerInRangeOfPoint(playerid, 4, -1455.12,2591.66,55.2344)) return 1;
  207.     else if(IsPlayerInRangeOfPoint(playerid, 4, -76.0312,1227.99,19.125)) return 1;
  208.     else if(IsPlayerInRangeOfPoint(playerid, 4, 662.43,-552.164,15.7109)) return 1;
  209.     else if(IsPlayerInRangeOfPoint(playerid, 4, -253.742,2599.76,62.2422)) return 1;
  210.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2271.73,-76.4609,25.9609)) return 1;
  211.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1789.21,-1369.27,15.1641)) return 1;
  212.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1729.79,-1943.05,12.9453)) return 1;
  213.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2060.12,-1897.64,12.9297)) return 1;
  214.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1928.73,-1772.45,12.9453)) return 1;
  215.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2325.98,-1645.13,14.2109)) return 1;
  216.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2352.18,-1357.16,23.7734)) return 1;
  217.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1154.73,-1460.89,15.1562)) return 1;
  218.     else if(IsPlayerInRangeOfPoint(playerid, 4, -1350.12,492.289,10.5859)) return 1;
  219.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2118.97,-423.648,34.7266)) return 1;
  220.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2118.62,-422.414,34.7266)) return 1;
  221.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2097.27,-398.336,34.7266)) return 1;
  222.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2092.09,-490.055,34.7266)) return 1;
  223.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2063.27,-490.055,34.7266)) return 1;
  224.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2005.65,-490.055,34.7266)) return 1;
  225.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2034.46,-490.055,34.7266)) return 1;
  226.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2068.56,-398.336,34.7266)) return 1;
  227.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2039.85,-398.336,34.7266)) return 1;
  228.     else if(IsPlayerInRangeOfPoint(playerid, 4, -2011.14,-398.336,34.7266)) return 1;
  229.     else if(IsPlayerInRangeOfPoint(playerid, 4, -1980.79,142.664,27.0703)) return 1;
  230.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2319.99,2532.85,10.2188)) return 1;
  231.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1520.15,1055.27,10.00)) return 1;
  232.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2503.14,1243.7,10.2188)) return 1;
  233.     else if(IsPlayerInRangeOfPoint(playerid, 4, 2085.77,2071.36,10.4531)) return 1;
  234.     else if(IsPlayerInRangeOfPoint(playerid, 4, -862.828,1536.61,21.9844)) return 1;
  235.     else if(IsPlayerInRangeOfPoint(playerid, 4, -14.7031,1175.36,18.9531)) return 1;
  236.     else if(IsPlayerInRangeOfPoint(playerid, 4, -253.742,2597.95,62.2422)) return 1;
  237.     else if(IsPlayerInRangeOfPoint(playerid, 4, 201.016,-107.617,0.898438)) return 1;
  238.     else if(IsPlayerInRangeOfPoint(playerid, 4, 1277.84,372.516,18.9531)) return 1;
  239.     else return 0;
  240. }
  241. //-------------------[DRIVE BY PROVERA]------------------
  242. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  243. {
  244. new string[128];
  245. GetPlayerIp(playerid, ipadresa, sizeof(ipadresa));
  246. if(BHP == 1)
  247. {
  248. if(GetPVarInt(playerid, "Izbegavanje") == 0)
  249. {
  250. if((newkeys & KEY_UP && newkeys & KEY_JUMP) || (newkeys & KEY_UP && newkeys & KEY_SPRINT && newkeys & KEY_JUMP))
  251.     {
  252.             if(!IsPlayerInAnyVehicle(playerid))
  253.             {
  254.                     Skakuce[playerid] ++;
  255.                     if(Skakuce[playerid] == 30)
  256.                     {
  257.                         SendClientMessage(playerid,ZUTA, "[AC-Balkan Security]: Prva opomena za BH, posle 4 opomene sledi kick!");
  258.                     }
  259.                     else if(Skakuce[playerid] == 45)
  260.                     {
  261.                         SendClientMessage(playerid,ZUTA, "[AC-Balkan Security]: Druga opomena za BH, posle 4 opomene sledi kick!");
  262.                     }
  263.                     else if(Skakuce[playerid] == 65)
  264.                     {
  265.                         SendClientMessage(playerid,ZUTA, "[AC-Balkan Security]: Treca opomena za BH, posle 4 opomene sledi kick!");
  266.                     }
  267.                     else if(Skakuce[playerid] == 80)
  268.                     {
  269.                         SendClientMessage(playerid,ZUTA, "[AC-Balkan Security]: Cetvrta opomena za BH, posle 4 opomene sledi kick!");
  270.                         SetTimerEx("nanula",180000, false, "i", playerid);
  271.                     }
  272.                     else if(Skakuce[playerid] == 100)
  273.                     {
  274.                     if(kikovan[playerid] == 0)
  275.                     {
  276.                         kikovan[playerid] = 1;
  277.                         GetPlayerName(playerid, ime, sizeof(ime));
  278.                         GetPlayerIp(playerid, ipadresa, sizeof(ipadresa));
  279.                         format(string, sizeof(string), "%s %s je kikovan zbog 4/4 BH (Bunny Hop)opomene.",acime, ime);
  280.                         SendClientMessageToAll(CRVENA, string);
  281.                         SendClientMessage(playerid,ZUTA, "[AC-Balkan Security]: Kikovan si zbog 4/4 BH (Bunny Hop)opomene.");
  282.                         format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} 4/4 BH Opomene\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  283.                         ShowPlayerDialog(playerid, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "Ok");
  284.                         getdate(y,m,d);
  285.                         gettime(h,mi,s);
  286.                         format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Bunny Hop",d,m,y,h,mi,s,ime);
  287.                         log(string);
  288.                         SetTimerEx("kick",10, false, "i", playerid);
  289.                     }
  290.                     }
  291.             }
  292.     }
  293. }
  294. }
  295. return 1;
  296. }
  297. public OnPlayerDeath(playerid, killerid, reason)
  298. {
  299.     new string[128];
  300.     if(DBP == 1)
  301.     {
  302.         if(GetPVarInt(playerid, "Izbegavanje") == 0)
  303.         {
  304.             if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
  305.             {
  306.                 if(GetVehicleModel(GetPlayerVehicleID(killerid)) != 425 || GetVehicleModel(GetPlayerVehicleID(killerid)) != 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) != 432)
  307.                 {
  308.                     if(kikovan[killerid] == 0)
  309.                     {
  310.                         kikovan[killerid] = 1;
  311.                         GetPlayerName(killerid, ime, sizeof(ime));
  312.                         GetPlayerIp(killerid, ipadresa, sizeof(ipadresa));
  313.                         format(string, sizeof(string), "%s %s je kikovan zbog ubistva iz vozila (DB-Drive By)",acime, ime);
  314.                         SendClientMessageToAll(CRVENA, string);
  315.                         format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Drive By\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  316.                         ShowPlayerDialog(killerid, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "Ok");
  317.                         getdate(y,m,d);
  318.                         gettime(h,mi,s);
  319.                         format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog DriveBy",d,m,y,h,mi,s,ime);
  320.                         log(string);
  321.                         SetTimerEx("kick",10, false, "i", killerid);
  322.                     }
  323.                 }
  324.             }
  325.         }
  326.     }
  327.     return 1;
  328. }
  329. //------------------------------[RCON ZASTITA]-------------------
  330. public OnRconLoginAttempt(ip[], password[], success)
  331. {
  332.     if(RCONZ == 1)
  333.     {
  334.         if(!success)
  335.         {
  336.             new p2[16]; new string[176];
  337.             foreach(Player, i)
  338.             {
  339.                 if(GetPVarInt(i, "Izbegavanje") == 0)
  340.                 {
  341.                     GetPlayerIp(i, p2, sizeof(p2));
  342.                     if(!strcmp(ip, p2, true))
  343.                     {
  344.                         GetPlayerName(i, ime, sizeof(ime));
  345.                         if(Pokusaji[i] != 3)
  346.                         {
  347.                             Pokusaji[i] ++;
  348.                             SendClientMessage(i,CRVENA, "[AC-Balkan Security]: Pogresio si sifru, imas pravo na 3 pokusaja, ako pogresis sva 3 puta, dobijas ban!");
  349.                         }
  350.                         else
  351.                         {
  352.                             if(kikovan[i] == 0)
  353.                             {
  354.                                 kikovan[i] = 1;
  355.                                 GetPlayerName(i, ime, sizeof(ime));
  356.                                 GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  357.                                 format(string, sizeof(string), "%s %s je banovan zbog pokusaja upada u RCON",acime, ime);
  358.                                 SendClientMessageToAll(CRVENA, string);
  359.                                 format(string2, sizeof(string2),"{CD0000}Banovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} 3/3 RCON Opomene\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom banovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  360.                                 ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  361.                                 getdate(y,m,d);
  362.                                 gettime(h,mi,s);
  363.                                 format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je banovao %s zbog pokusaja upada u RCON",d,m,y,h,mi,s,ime);
  364.                                 log(string);
  365.                                 Ban(i);
  366.                             }
  367.                         }
  368.                     }
  369.                 }
  370.             }
  371.         }
  372.     }
  373.     return 1;
  374. }
  375. public OnPlayerSpawn(playerid)
  376. {
  377.     Spawnovan[playerid] = 1;
  378.     Skakuce[playerid] = 0;
  379.     Novac1[playerid] = GetPlayerMoney(playerid);
  380.     OpomenaNovca[playerid] = 0;
  381.     SetPVarInt(playerid, "SiguranTeleport", 1);
  382.     SetPVarInt(playerid, "SiguranInt", GetPlayerInterior(playerid));
  383.     SetPVarInt(playerid, "SiguranVW", GetPlayerVirtualWorld(playerid));
  384.     return 1;
  385. }
  386.  
  387. stock SetPlayerSpawn(playerid)
  388. {
  389.     Skakuce[playerid] = 0;
  390.     OpomenaNovca[playerid] = 0;
  391.     Novac1[playerid] = GetPlayerMoney(playerid);
  392.     SetPVarInt(playerid, "SiguranTeleport", 1);
  393.     SetPVarInt(playerid, "SiguranInt", GetPlayerInterior(playerid));
  394.     SetPVarInt(playerid, "SiguranVW", GetPlayerVirtualWorld(playerid));
  395.     return 1;
  396. }
  397. public OnPlayerText(playerid,text[])
  398. {
  399.     if(ZR == 1)
  400.     {
  401.         if(GetPVarInt(playerid, "Izbegavanje") == 0)
  402.         {
  403.             for(new i=0; i<MAX_ENTRY; i++)
  404.             {
  405.                 if(!reci[i][0]) continue;
  406.                 Cenzura(text,reci[i]);
  407.             }
  408.         }
  409.     }
  410.     return 1;
  411. }
  412. stock Letelica(carid)// ovde se nalaze sve letelice(vozila) koja ce se ignorisati prilikom ocitavanja speed hack-a
  413. {
  414.     new v = GetVehicleModel(carid);
  415.     if(v == 593 || v == 592 || v == 577 || v == 553 || v == 520 || v == 519 || v == 511|| v == 460 || v == 563 || v == 548 || v == 497 || v == 488 || v == 487 || v == 469 || v == 447 || v == 417)
  416.     {
  417.         return 1;
  418.     }
  419.     return 0;
  420. }
  421. stock StripNewLine(str[])
  422. {
  423.     new l = strlen(str);
  424.     while (l-- && str[l] <= ' ') str[l] = '\0';
  425. }
  426.  
  427. stock Cenzura(string[],word[],destch='*')
  428. {
  429.     new start_index=(-1),
  430.         end_index=(-1);
  431.  
  432.     start_index=strfind(string,word,true);
  433.     if(start_index==(-1)) return false;
  434.     end_index=(start_index+strlen(word));
  435.  
  436.     for( ; start_index<end_index; start_index++)
  437.         string[start_index]=destch;
  438.  
  439.     return true;
  440. }
  441. public kick(playerid)
  442. {
  443.     ResetPlayerWeapons(playerid);
  444.     Kick(playerid);
  445.     return 1;
  446. }
  447.  
  448. public nanula(playerid)
  449. {
  450.     if(Skakuce[playerid] >= 65 && Skakuce[playerid] < 76)
  451.     {
  452.         Skakuce[playerid] = 0;
  453.     }
  454.     return 1;
  455. }
  456. stock log(string[])
  457. {
  458.     new entry[200];
  459.     format(entry, sizeof(entry), "%s\r\n",string);
  460.     new File:hFile;
  461.     hFile = fopen("AC-BS/log.log", io_append);
  462.     fwrite(hFile, entry);
  463.     fclose(hFile);
  464. }
  465. stock SnimiAC()
  466. {
  467.     new string[228];
  468.     format(string, sizeof(string), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",VP,PJP,PB,ZO,RCONZ,ZR,DBP,BHP,PAB,NN,NH,NA,NT,FP,ANT,ANT2,AVR);
  469.     new File: file2 = fopen("AC-BS/anticheat.ini", io_write);
  470.     fwrite(file2, string);
  471.     fclose(file2);
  472.     return 1;
  473. }
  474. stock UcitajAC()
  475. {
  476.     new arrCoords[17][64];
  477.     new strFromFile2[128];
  478.     new File: file = fopen("AC-BS/anticheat.ini", io_read);
  479.     if (file)
  480.     {
  481.         fread(file, strFromFile2);
  482.         split(strFromFile2, arrCoords, ',');
  483.         VP = strval(arrCoords[0]);
  484.         PJP = strval(arrCoords[1]);
  485.         PB = strval(arrCoords[2]);
  486.         ZO = strval(arrCoords[3]);
  487.         RCONZ = strval(arrCoords[4]);
  488.         ZR = strval(arrCoords[5]);
  489.         DBP = strval(arrCoords[6]);
  490.         BHP = strval(arrCoords[7]);
  491.         PAB = strval(arrCoords[8]);
  492.         NN = strval(arrCoords[9]);
  493.         NH = strval(arrCoords[10]);
  494.         NA = strval(arrCoords[11]);
  495.         NT = strval(arrCoords[12]);
  496.         FP = strval(arrCoords[13]);
  497.         ANT = strval(arrCoords[14]);
  498.         ANT2 = strval(arrCoords[15]);
  499.         AVR  = strval(arrCoords[16]);
  500.         fclose(file);
  501.     }
  502.     else
  503.     {
  504.         fopen("AC/anticheat.ini", io_write);
  505.         print("Doslo je do greske!");
  506.         SnimiAC();
  507.         fclose(file);
  508.     }
  509.     return 1;
  510. }
  511. public OnPlayerStateChange(playerid, newstate, oldstate)
  512. {
  513.     if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  514.     {
  515.         new Float:vhelti; Zastita[playerid] = 2;
  516.         GetVehicleHealth(GetPlayerVehicleID(playerid), vhelti);
  517.         AutoHelti[playerid] = vhelti;
  518.     }
  519.     return 1;
  520. }
  521. //=====================[PROVERA BRZINE]=====================
  522. public AntiCheat()
  523. {
  524. new string[428];
  525. foreach(Player, i)
  526. {
  527.     if(Spawnovan[i] == 1)
  528.     {
  529.         if(Zastita[i] != 0)
  530.         {
  531.             Zastita[i]++; Novac1[i] = GetPlayerMoney(i);
  532.             SetPVarInt(i, "SiguranVW", GetPlayerVirtualWorld(i));
  533.             SetPVarInt(i, "SiguranInt", GetPlayerInterior(i));
  534.             SetPVarInt(i, "SiguranTeleport", 0);
  535.             new Float:Helti; new Float:Armor;
  536.             GetPlayerHealth(i,Helti);
  537.             SetPVarFloat(i,"SigurniHelti",Helti+2);
  538.             GetPlayerArmour(i, Armor);
  539.             SetPVarFloat(i,"SigurniArmor",Armor+2);
  540.             new Float:TelX; new Float:TelY; new Float:TelZ;
  541.             GetPlayerPos(i, TelX, TelY, TelZ);
  542.             Pozicija[i][0] = TelX; Pozicija[i][1] = TelY; Pozicija[i][2] = TelZ;
  543.             new Float:vhelti;
  544.             GetVehicleHealth(GetPlayerVehicleID(i), vhelti);
  545.             if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  546.             {
  547.                 AutoHelti[i] = vhelti;
  548.             }
  549.             if(Zastita[i] == 3)
  550.             {
  551.                 Zastita[i] = 0;
  552.             }
  553.         }
  554.     }
  555.     Sekunde++;
  556.     if(Sekunde == 3)
  557.     {
  558.         new Float:TelX; new Float:TelY; new Float:TelZ;
  559.         GetPlayerPos(i, TelX, TelY, TelZ);
  560.         Pozicija[i][0] = TelX;
  561.         Pozicija[i][1] = TelY;
  562.         Pozicija[i][2] = TelZ;
  563.         new Float:vhelti;
  564.         GetVehicleHealth(GetPlayerVehicleID(i), vhelti);
  565.         if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  566.         {
  567.             AutoHelti[i] = vhelti;
  568.         }
  569.         Sekunde = 0;
  570.     }
  571.        
  572.     if(PB == 1)
  573.     {
  574.         if(GetPVarInt(i, "Izbegavanje") == 0)
  575.         {
  576.             if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  577.             {
  578.                 new Float:X, Float:Y, Float:Z, Float:km;
  579.                 GetVehicleVelocity(GetPlayerVehicleID(i), X, Y, Z);
  580.                 km = floatmul(floatsqroot(floatadd(floatadd(floatpower(X, 2), floatpower(Y, 2)),  floatpower(Z, 2))), 135.0); // PROMENI ME PO POTREBI - SPEED2 (135.0)
  581.                 new Brzina2 = floatround(floatdiv(km, 0.75), floatround_floor);
  582.                 if(Brzina2 > MBrzina)
  583.                 {
  584.                     new vozilo = GetPlayerVehicleID(i);
  585.                     GetPlayerName(i, ime, sizeof(ime));
  586.                     GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  587.                     if(!Letelica(vozilo) && kikovan[i] == 0)
  588.                     {
  589.                         kikovan[i] = 1;
  590.                         format(string, sizeof(string), "%s %s je kikovan zbog Speed Hack-a (%d km/h).",acime, ime, Brzina2);
  591.                         SendClientMessageToAll(CRVENA, string);
  592.                         format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Speed Hack [%d km/h]\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,Brzina2,ipadresa,forum);
  593.                         ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  594.                         getdate(y,m,d);
  595.                         gettime(h,mi,s);
  596.                         format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Speed Hack-a",d,m,y,h,mi,s,ime);
  597.                         log(string);
  598.                         SetTimerEx("kick",10, false, "i", i);
  599.                     }
  600.                 }
  601.             }
  602.         }
  603.     }
  604. //=====================[PROVERA PINGA]=====================
  605.     if(GetPVarInt(i, "Izbegavanje") == 0)
  606.     {
  607.         if(VP == 0)
  608.         {
  609.             new ping = GetPlayerPing(i);
  610.             if(ping > MPing)
  611.             {
  612.                 if(Zastita[i] == 0 && kikovan[i] == 0)
  613.                 {
  614.                     kikovan[i] = 1;
  615.                     GetPlayerName(i, ime, sizeof(ime));
  616.                     GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  617.                     format(string, sizeof(string), "%s %s je kikovan zbog previsokog pinga : [%d/%d]",acime, ime,ping,MPing);
  618.                     SendClientMessageToAll(CRVENA, string);
  619.                     format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Previsok Ping [%d/%d]\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ping,MPing,ipadresa,forum);
  620.                     ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  621.                     getdate(y,m,d);
  622.                     gettime(h,mi,s);
  623.                     format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog previsokog ping-a [%d/%d]",d,m,y,h,mi,s,ime,ping,MPing);
  624.                     log(string);
  625.                     SetTimerEx("kick",10, false, "i", i);
  626.                 }
  627.             }
  628.         }
  629.     }
  630. //=====================[PROVERA ZABRANJENOG ORUZIJA]=====================
  631.     new oruzije; new municija;
  632.     if(ZO == 1)
  633.     {
  634.         if(GetPVarInt(i, "Izbegavanje") == 0)
  635.         {
  636.             for (new c = 0; c < 13; c++)
  637.             {
  638.                 GetPlayerWeaponData(i, c, oruzije, municija);
  639.                 if (oruzije != 0 && municija != 0 && kikovan[i] == 0)
  640.                 {
  641.                     new o = GetPlayerWeapon(i);
  642.                     GetPlayerName(i, ime, sizeof(ime));
  643.                     GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  644.                     if(o == 1||o == 8||o == 9||o == 16||o == 17||o == 18||o == 39||o == 40||o == 35||o == 36||o == 37||o == 38) // PROMENI PO POTREBI
  645.                     {
  646.                         new oru = GetPlayerWeapon(i); new imeoruzija[24]; kikovan[i] = 1;
  647.                         GetWeaponName(oru,imeoruzija, sizeof(imeoruzija));
  648.                         format(string, sizeof(string), "%s %s je kikovan zbog poseda: %s",acime,ime,imeoruzija);
  649.                         SendClientMessageToAll(CRVENA, string);
  650.                         format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} %s\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,imeoruzija,ipadresa,forum);
  651.                         ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  652.                         getdate(y,m,d);
  653.                         gettime(h,mi,s);
  654.                         format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog poseda zabranjenog ourzija: %s",d,m,y,h,mi,s,ime,imeoruzija);
  655.                         log(string);
  656.                         ResetPlayerWeapons(i);
  657.                         SetTimerEx("kick",10, false, "i", i);
  658.                     }
  659.                 }
  660.             }
  661.         }
  662.     }
  663. //=====================[PROVERA ZA JETPACK]=====================
  664.     if(PJP == 1)
  665.     {
  666.         if(GetPVarInt(i, "Izbegavanje") == 0)
  667.         {
  668.             new jp = GetPlayerSpecialAction(i);
  669.             if (jp == SPECIAL_ACTION_USEJETPACK && kikovan[i] == 0)
  670.             {
  671.                 GetPlayerName(i, ime, sizeof(ime)); kikovan[i] = 1;
  672.                 GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  673.                 format(string, sizeof(string), "%s %s je kikovan zbog koriscenja JetPack-a",acime, ime);
  674.                 SendClientMessageToAll(CRVENA, string);
  675.                 format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} JetPack\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  676.                 ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  677.                 getdate(y,m,d);
  678.                 gettime(h,mi,s);
  679.                 format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog poseda JetPack-a",d,m,y,h,mi,s,ime);
  680.                 log(string);
  681.                 SetTimerEx("kick",10, false, "i", i);
  682.             }
  683.         }
  684.     }
  685. //=====================[AIR BRAKE PROVERA]=====================
  686.     if(PAB == 1)
  687.     {
  688.         if(GetPVarInt(i, "Izbegavanje") == 0)
  689.         {
  690.             if(GetDistanceToPoint(i,Pozicija[i][0],Pozicija[i][1],Pozicija[i][2]) > 220 && Zastita[i] == 0 && GetPlayerInterior(i) == 0 && kikovan[i] == 0)
  691.             {
  692.             new ankategorija[320]; new anime[320];
  693.             GetAnimationName(GetPlayerAnimationIndex(i),ankategorija,320,anime,320);
  694.             GetPlayerName(i, ime, sizeof(ime));
  695.             GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  696.             if(strcmp(anime,"RUN_PLAYER", false ) == 0 && strcmp(ankategorija,"PED", false ) == 0)
  697.             {
  698.                 format(string, sizeof(string), "%s %s je kikovan zbog Air Brake-a.",acime, ime);
  699.                 SendClientMessageToAll(CRVENA, string); kikovan[i] = 1;
  700.                 format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} AirBrake\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  701.                 ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  702.                 getdate(y,m,d);
  703.                 gettime(h,mi,s);
  704.                 format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog AirBrake-a",d,m,y,h,mi,s,ime);
  705.                 log(string);
  706.                 SetTimerEx("kick",10, false, "i", i);
  707.             }
  708.             if(strcmp(anime,"WALK_PLAYER", false ) == 0 && strcmp(ankategorija,"PED", false ) == 0)
  709.             {
  710.                 format(string, sizeof(string), "%s %s je kikovan zbog Air Brake-a.",acime, ime);
  711.                 SendClientMessageToAll(CRVENA, string); kikovan[i] = 1;
  712.                 format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} AirBrake\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  713.                 ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  714.                 getdate(y,m,d);
  715.                 gettime(h,mi,s);
  716.                 format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog AirBrake-a",d,m,y,h,mi,s,ime);
  717.                 log(string);
  718.                 SetTimerEx("kick",10, false, "i", i);
  719.             }
  720.             }
  721.         }
  722.     }
  723. //=====================[PROVERA NESIGURNOG NOVCA]=====================
  724.     if(NN == 1)
  725.     {
  726.         if(GetPVarInt(i, "Izbegavanje") == 0)
  727.         {
  728.             new novac = GetPlayerMoney(i);
  729.             if(GetPVarInt(i, "SiguranNovac") == 0 && novac > Novac1[i] && Zastita[i] == 0 && kikovan[i] == 0)
  730.             {
  731.                 GetPlayerName(i, ime, sizeof(ime));
  732.                 SendClientMessage(i,ZUTA, "[AC-Balkan Security]: Novac ti je stavljen na realnu vrednost zbog Money Hack-a");
  733.                 ResetPlayerMoney (i);
  734.                 AC_BS_GivePlayerMoney (i, Novac1[i]);
  735.                 getdate(y,m,d);
  736.                 gettime(h,mi,s);
  737.                 format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je stavio novac na realnu vrednost %s -u zbog Money Hack-a",d,m,y,h,mi,s,ime);
  738.                 log(string);
  739.                 OpomenaNovca[i]++;
  740.                 if(OpomenaNovca[i] == 3)
  741.                 {
  742.                     ResetPlayerMoney (i); kikovan[i] = 1;
  743.                     AC_BS_GivePlayerMoney (i, Novac1[i]);
  744.                     GetPlayerName(i, ime, sizeof(ime));
  745.                     GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  746.                     format(string, sizeof(string), "%s %s je kikovan zbog Money Hack-a(3/3).",acime, ime);
  747.                     SendClientMessageToAll(CRVENA, string);
  748.                     format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} 3/3 Money Hack Opomena\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  749.                     ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  750.                     getdate(y,m,d);
  751.                     gettime(h,mi,s);
  752.                     format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog previse Money Hack opomena",d,m,y,h,mi,s,ime);
  753.                     log(string);
  754.                     SetTimerEx("kick",10, false, "i", i);
  755.                 }
  756.             }
  757.             if(GetPVarInt(i, "SiguranNovac") == 1)
  758.             {
  759.                 Zastita[i] = 1;
  760.                 Novac1[i] = GetPlayerMoney(i);
  761.                 SetPVarInt(i, "SiguranNovac", 0);
  762.             }
  763.         }
  764.     }
  765. //=====================[PROVERA HELTA]=====================
  766.     if(NH == 1)
  767.     {
  768.         if(GetPVarInt(i, "Izbegavanje") == 0)
  769.         {
  770.             new Float:Helti;
  771.             GetPlayerHealth(i,Helti);
  772.             if(Helti < GetPVarFloat(i, "SigurniHelti"))
  773.             {
  774.                 SetPVarFloat(i,"SigurniHelti",Helti+2);
  775.             }
  776.             if(GetPVarFloat(i, "ZastitaHelta") == 1)
  777.             {
  778.                 Zastita[i] = 1;
  779.                 SetPVarFloat(i,"ZastitaHelta",0);
  780.             }
  781.             if(KodSprunk(i))
  782.             {
  783.                 SetPVarFloat(i,"SigurniHelti",Helti+2);
  784.             }
  785.             if(Helti > GetPVarFloat(i, "SigurniHelti") && Zastita[i] == 0 && kikovan[i] == 0 && !KodSprunk(i))
  786.             {
  787.                 GetPlayerName(i, ime, sizeof(ime)); kikovan[i] = 1;
  788.                 GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  789.                 format(string, sizeof(string), "%s %s je kikovan zbog Health Hack-a.",acime, ime);
  790.                 SendClientMessageToAll(CRVENA, string);
  791.                 format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Health Hack\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  792.                 ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  793.                 getdate(y,m,d);
  794.                 gettime(h,mi,s);
  795.                 format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Health Hack-a",d,m,y,h,mi,s,ime);
  796.                 log(string);
  797.                 SetTimerEx("kick",10, false, "i", i);
  798.             }
  799.         }
  800.     }
  801. //=====================[PROVERA ARMORA]================
  802.     if(NA == 1)
  803.     {
  804.         if(GetPVarInt(i, "Izbegavanje") == 0)
  805.         {
  806.             new Float:Armor;
  807.             GetPlayerArmour(i, Armor);
  808.             if(Armor < GetPVarFloat(i, "SigurniArmor"))
  809.             {
  810.                 SetPVarFloat(i,"SigurniArmor",Armor+2);
  811.             }
  812.             if(GetPVarFloat(i, "ZastitaArmora") == 1)
  813.             {
  814.                 Zastita[i] = 1;
  815.                 SetPVarFloat(i,"ZastitaArmora",0);
  816.             }
  817.             if(Armor > GetPVarFloat(i, "SigurniArmor") && Zastita[i] == 0 && kikovan[i] == 0)
  818.             {
  819.                 GetPlayerName(i, ime, sizeof(ime)); kikovan[i] = 1;
  820.                 GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  821.                 format(string, sizeof(string), "%s %s je kikovan zbog Armour Hack-a.",acime, ime);
  822.                 SendClientMessageToAll(CRVENA, string);
  823.                 format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Armour Hack\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  824.                 ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  825.                 getdate(y,m,d);
  826.                 gettime(h,mi,s);
  827.                 format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Armour Hack-a",d,m,y,h,mi,s,ime);
  828.                 log(string);
  829.                 SetTimerEx("kick",10, false, "i", i);
  830.             }
  831.         }
  832.     }
  833. //====================[PROVERA ZA TELEPORTOVANJE U INT]======================
  834.     if(NT == 1)
  835.     {
  836.         if(GetPVarInt(i, "Izbegavanje") == 0)
  837.         {
  838.             if(GetPVarInt(i, "SiguranTeleport") == 1)
  839.             {
  840.                 Zastita[i] = 1;
  841.                 SetPVarInt(i, "SiguranVW", GetPlayerVirtualWorld(i));
  842.                 SetPVarInt(i, "SiguranInt", GetPlayerInterior(i));
  843.                 SetPVarInt(i, "SiguranTeleport", 0);
  844.             }
  845.             if(GetPVarFloat(i, "ZastitaTeleporta") == 1)
  846.             {
  847.                 Zastita[i] = 1;
  848.                 SetPVarFloat(i,"ZastitaTeleporta",0);
  849.             }
  850.             if(Zastita[i] == 0 && GetPVarInt(i, "SiguranTeleport") == 0 && GetPVarInt(i, "SiguranInt") != GetPlayerInterior(i) || Zastita[i] == 0 && GetPVarInt(i, "SiguranTeleport") == 0 && GetPVarInt(i, "SiguranVW") != GetPlayerVirtualWorld(i))
  851.             {
  852.                 GetPlayerName(i, ime, sizeof(ime));
  853.                 GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  854.                 if(GetPlayerInterior(i) >= 1 && kikovan[i] == 0)
  855.                 {
  856.                     kikovan[i] = 1;
  857.                     format(string, sizeof(string), "%s %s je kikovan zbog Teleportovanja[EXT >INT].",acime, ime);
  858.                     SendClientMessageToAll(CRVENA, string);
  859.                     format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Teleport[EXT >INT]\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  860.                     ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  861.                     getdate(y,m,d);
  862.                     gettime(h,mi,s);
  863.                     format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Teleportovanja[EXT >INT]",d,m,y,h,mi,s,ime);
  864.                     log(string);
  865.                     SetTimerEx("kick",10, false, "i", i);
  866.                 }
  867.                 if(GetPlayerInterior(i) == 0 && kikovan[i] == 0)
  868.                 {
  869.                     kikovan[i] = 1;
  870.                     format(string, sizeof(string), "%s %s je kikovan zbog Teleportovanja[INT > EXT].",acime, ime);
  871.                     SendClientMessageToAll(CRVENA, string);
  872.                     format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Teleport[INT > EXT]\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  873.                     ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  874.                     getdate(y,m,d);
  875.                     gettime(h,mi,s);
  876.                     format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Teleportovanja[INT > EXT]",d,m,y,h,mi,s,ime);
  877.                     log(string);
  878.                     SetTimerEx("kick",10, false, "i", i);
  879.                 }
  880.             }
  881.         }
  882.     }
  883. //=====================[FLY PROVERA]=====================
  884.     if(FP == 1)
  885.     {
  886.         if(GetPVarInt(i, "Izbegavanje") == 0)
  887.         {
  888.             new Float:FlyPozicijaZ; new Float:FlyPozicijaY; new Float:FlyPozicijaX;
  889.             new ankategorija[320]; new anime[320]; new Float:helti2;
  890.             GetAnimationName(GetPlayerAnimationIndex(i),ankategorija,320,anime,320);
  891.             GetPlayerPos(i, FlyPozicijaX, FlyPozicijaY, FlyPozicijaZ);
  892.             GetPlayerName(i, ime, sizeof(ime)); GetPlayerHealth(i,helti2);
  893.             GetPlayerIp(i, ipadresa, sizeof(ipadresa));
  894.             if(strcmp(anime,"SWIM_CRAWL", false ) == 0 && strcmp(ankategorija,"SWIM", false ) == 0)
  895.             {
  896.                 if(!IsPlayerInAnyVehicle(i) && FlyPozicijaZ > 100 && helti2 > 2 && Zastita[i] == 0)
  897.                 {
  898.                     FlyOpomena[i] = 1;
  899.                 }
  900.             }
  901.             if(strcmp(anime,"SWIM_BREAST", false ) == 0 && strcmp(ankategorija,"SWIM", false ) == 0)
  902.             {
  903.                 if(!IsPlayerInAnyVehicle(i) && FlyPozicijaZ > 100 && helti2 > 2 && Zastita[i] == 0)
  904.                 {
  905.                     FlyOpomena[i] = 1;
  906.                 }
  907.             }
  908.             if(strcmp(anime,"SWIM_TREAD", false ) == 0 && strcmp(ankategorija,"SWIM", false ) == 0)
  909.             {
  910.                 if(!IsPlayerInAnyVehicle(i) && FlyPozicijaZ > 100 && helti2 > 2 && Zastita[i] == 0)
  911.                 {
  912.                     FlyOpomena[i] = 1;
  913.                 }
  914.             }
  915.             if(FlyOpomena[i]== 1 && kikovan[i] == 0)
  916.             {
  917.                 kikovan[i] = 1;
  918.                 format(string, sizeof(string), "%s %s je kikovan zbog Fly Hack-a",acime, ime);
  919.                 SendClientMessageToAll(CRVENA, string);
  920.                 format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Fly Hack\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  921.                 ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  922.                 getdate(y,m,d);
  923.                 gettime(h,mi,s);
  924.                 format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog AirBrake-a",d,m,y,h,mi,s,ime);
  925.                 log(string);
  926.                 FlyOpomena[i] = 0;
  927.                 SetTimerEx("kick",5, false, "i", i);
  928.             }
  929.         }
  930.     }
  931. //======================================[TELEPORT PROVERA]==============================
  932.     if(ANT == 1)
  933.     {
  934.         if(GetPVarInt(i, "Izbegavanje") == 0)
  935.         {
  936.             new Float:TePoZ; new Float:TePoY; new Float:TePoX;
  937.             GetPlayerPos(i, TePoX, TePoY, TePoZ);
  938.             if(GetDistanceToPoint(i,Pozicija[i][0],Pozicija[i][1],Pozicija[i][2]) > 220 && Zastita[i] == 0 && GetPlayerInterior(i) == 0 && TePoZ >= 1 && !IsPlayerInRangeOfPoint(i, 35, 131.7287,-67.8546,1.5781) && kikovan[i] == 0)
  939.             {
  940.                 new ankategorija[320]; new anime[320];
  941.                 GetAnimationName(GetPlayerAnimationIndex(i),ankategorija,320,anime,320);
  942.                 if(strcmp(anime,"FALL_FALL", false ) == 0 && strcmp(ankategorija,"PED", false ) == 0)
  943.                 {
  944.                     return 1;
  945.                 }
  946.                 if(strcmp(anime,"RUN_PLAYER", false ) == 0 && strcmp(ankategorija,"PED", false ) == 0)
  947.                 {
  948.                     return 1;
  949.                 }
  950.                 if(strcmp(anime,"WALK_PLAYER", false ) == 0 && strcmp(ankategorija,"PED", false ) == 0)
  951.                 {
  952.                     return 1;
  953.                 }
  954.                 if(IsPlayerInRangeOfPoint(i, 5, -1935.77, 228.79, 34.16)||IsPlayerInRangeOfPoint(i, 5, -2707.48, 218.65, 4.9)||IsPlayerInRangeOfPoint(i, 5, 2645.61, -2029.15, 14.28)||IsPlayerInRangeOfPoint(i, 5, 1041.26, -1036.77, 32.48)||
  955.                 IsPlayerInRangeOfPoint(i, 5, 2387.55, 1035.70, 11.56)||IsPlayerInRangeOfPoint(i, 5, 1836.93, -1856.28, 14.13)||IsPlayerInRangeOfPoint(i, 5, 2006.11, 2292.87, 11.57)||IsPlayerInRangeOfPoint(i, 5, -1787.25, 1202.00, 25.84)||
  956.                 IsPlayerInRangeOfPoint(i, 5, 720.10, -470.93, 17.07)||IsPlayerInRangeOfPoint(i, 5, -1420.21, 2599.45, 56.43)||IsPlayerInRangeOfPoint(i, 5, -100.16, 1100.79, 20.34)||IsPlayerInRangeOfPoint(i, 5, 2078.44, -1831.44, 14.13)||
  957.                 IsPlayerInRangeOfPoint(i, 5, -2426.89, 1036.61, 51.14)||IsPlayerInRangeOfPoint(i, 5, 1957.96, 2161.96, 11.56)||IsPlayerInRangeOfPoint(i, 5, 488.29, -1724.85, 12.01)||IsPlayerInRangeOfPoint(i, 5, 1025.08, -1037.28, 32.28)||
  958.                 IsPlayerInRangeOfPoint(i, 5, 2393.70, 1472.80, 11.42)||IsPlayerInRangeOfPoint(i, 5, -1904.97, 268.51, 41.04)||IsPlayerInRangeOfPoint(i, 5, 403.58, 2486.33, 17.23)||IsPlayerInRangeOfPoint(i, 5, 1578.24, 1245.20, 11.57)||
  959.                 IsPlayerInRangeOfPoint(i, 5, -2105.79, 905.11, 77.07)||IsPlayerInRangeOfPoint(i, 5, 423.69, 2545.99, 17.07)||IsPlayerInRangeOfPoint(i, 5, 785.79, -513.12, 17.44)||IsPlayerInRangeOfPoint(i, 5, -2027.34, 141.02, 29.57)||
  960.                 IsPlayerInRangeOfPoint(i, 5, 1698.10, -2095.88, 14.29)||IsPlayerInRangeOfPoint(i, 5, -361.10, 1185.23, 20.49)||IsPlayerInRangeOfPoint(i, 5, -2463.27, -124.86, 26.41)||IsPlayerInRangeOfPoint(i, 5, 2505.64, -1683.72, 14.25)||
  961.                 IsPlayerInRangeOfPoint(i, 5, 1350.76, -615.56, 109.88)||IsPlayerInRangeOfPoint(i, 5, 2231.64, 156.93, 27.63)
  962.                 )
  963.                 {
  964.                     kikovan[i] = 1;
  965.                     format(string, sizeof(string), "%s %s je kikovan zbog Teleport Hack[1]",acime, ime);
  966.                     SendClientMessageToAll(CRVENA, string);
  967.                     format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Teleport Hack[1]\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  968.                     ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  969.                     getdate(y,m,d);
  970.                     gettime(h,mi,s);
  971.                     format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Teleport Hack[1]",d,m,y,h,mi,s,ime);
  972.                     log(string);
  973.                     SetTimerEx("kick",5, false, "i", i);
  974.                 }
  975.                 if(IsPlayerInRangeOfPoint(i, 5, -2695.51, 810.70, 50.57) || IsPlayerInRangeOfPoint(i, 5, 1293.61, 2529.54, 11.42)||IsPlayerInRangeOfPoint(i, 5, 1401.34, 1903.08, 11.99)||IsPlayerInRangeOfPoint(i, 5, 2436.50, 698.43, 11.60)||
  976.                 IsPlayerInRangeOfPoint(i, 5, 322.65, -1780.30, 5.55)||IsPlayerInRangeOfPoint(i, 5, 917.46, 2012.14, 11.65)||IsPlayerInRangeOfPoint(i, 5, 1641.14, -1526.87, 14.30)||IsPlayerInRangeOfPoint(i, 5, -1617.58, 688.69, -4.50)||
  977.                 IsPlayerInRangeOfPoint(i, 5, 837.05, -1101.93, 23.98)||IsPlayerInRangeOfPoint(i, 5, 2338.32, -1180.61, 1027.98)||IsPlayerInRangeOfPoint(i, 5, -975.5766, 1061.1312, 1345.6719)||IsPlayerInRangeOfPoint(i, 5, -750.80, 491.00, 1371.70)||
  978.                 IsPlayerInRangeOfPoint(i, 5, -1400.2138, 106.8926, 1032.2779)||IsPlayerInRangeOfPoint(i, 5, -2015.6638, 147.2069, 29.3127)||IsPlayerInRangeOfPoint(i, 5, 2220.26, -1148.01, 1025.80)||IsPlayerInRangeOfPoint(i, 5, -2660.6185, 1426.8320, 907.3626)||
  979.                 IsPlayerInRangeOfPoint(i, 5, -1394.20, 987.62, 1023.96)||IsPlayerInRangeOfPoint(i, 5, -1410.72, 1591.16, 1052.53)||IsPlayerInRangeOfPoint(i, 5, 315.8561, 1024.4964, 1949.7973)||IsPlayerInRangeOfPoint(i, 5, 2536.08, -1632.98, 13.79)||
  980.                 IsPlayerInRangeOfPoint(i, 5, 1992.93, 1047.31, 10.82)||IsPlayerInRangeOfPoint(i, 5, 2033.00, -1416.02, 16.99)||IsPlayerInRangeOfPoint(i, 5, -2653.11, 634.78, 14.45)||IsPlayerInRangeOfPoint(i, 5, 1580.22, 1768.93, 10.82)||
  981.                 IsPlayerInRangeOfPoint(i, 5, -1550.73, 99.29, 17.33)||IsPlayerInRangeOfPoint(i, 5, -2057.8000, 229.9000, 35.6204)||IsPlayerInRangeOfPoint(i, 5, -2366.0000, -1667.4000, 484.1011)||IsPlayerInRangeOfPoint(i, 5, 2503.7000, -1705.8000, 13.5480)||
  982.                 IsPlayerInRangeOfPoint(i, 5, 1997.9000, 1056.3000, 10.8203)||IsPlayerInRangeOfPoint(i, 5, -2872.7000, 2712.6001, 275.2690)||IsPlayerInRangeOfPoint(i, 5, 904.1000, 608.0000, -32.3281)||IsPlayerInRangeOfPoint(i, 5, -236.9000, 2663.8000, 73.6513)
  983.                 )
  984.                 {
  985.                     kikovan[i] = 1;
  986.                     format(string, sizeof(string), "%s %s je kikovan zbog Teleport Hack[1]",acime, ime);
  987.                     SendClientMessageToAll(CRVENA, string);
  988.                     format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Teleport Hack[1]\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  989.                     ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  990.                     getdate(y,m,d);
  991.                     gettime(h,mi,s);
  992.                     format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Teleport Hack[1]",d,m,y,h,mi,s,ime);
  993.                     log(string);
  994.                     SetTimerEx("kick",5, false, "i", i);
  995.                 }
  996.                 if(ANT2 == 1)
  997.                 {
  998.                     kikovan[i] = 1;
  999.                     format(string, sizeof(string), "%s %s je kikovan zbog Teleport Hack[2]",acime, ime);
  1000.                     SendClientMessageToAll(CRVENA, string);
  1001.                     format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Teleport Hack[2]\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  1002.                     ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  1003.                     getdate(y,m,d);
  1004.                     gettime(h,mi,s);
  1005.                     format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Teleport Hack[2]",d,m,y,h,mi,s,ime);
  1006.                     log(string);
  1007.                     SetTimerEx("kick",5, false, "i", i);
  1008.                 }
  1009.             }
  1010.         }
  1011.     }
  1012.     if(AVR == 1)
  1013.     {
  1014.         if(GetPVarInt(i, "Izbegavanje") == 0)
  1015.         {
  1016.             new Float:vhelti; GetVehicleHealth(GetPlayerVehicleID(i), vhelti);
  1017.             if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  1018.             {
  1019.                 if(vhelti < AutoHelti[i])
  1020.                 {
  1021.                     AutoHelti[i] = vhelti;
  1022.                 }
  1023.                 if(GetPVarInt(i, "PopravkaVozila") == 1)
  1024.                 {
  1025.                     AutoHelti[i] = vhelti;
  1026.                     SetPVarInt(i, "PopravkaVozila", 0);
  1027.                 }
  1028.                 if(IsPlayerInRangeOfPoint(i, 15, 719.9484,-457.3498,16.4282) || IsPlayerInRangeOfPoint(i, 15, -1420.6052,2584.6243,55.9356) || IsPlayerInRangeOfPoint(i, 15, -99.7463,1116.9677,19.8340)|| IsPlayerInRangeOfPoint(i, 15, 2063.4375,-1831.9276,13.6391)||
  1029.                     IsPlayerInRangeOfPoint(i, 15, -2425.9333,1022.5239,50.4900) || IsPlayerInRangeOfPoint(i, 15, 1974.0004,2162.5266,11.1561) || IsPlayerInRangeOfPoint(i, 15, 487.5558,-1739.5125,11.2265)|| IsPlayerInRangeOfPoint(i, 15, 1025.3940,-1024.2563,32.1938)||
  1030.                     IsPlayerInRangeOfPoint(i, 15, 2393.6174,1489.2686,10.9246)||IsPlayerInRangeOfPoint(i, 15, -1905.1163,283.4408,41.1392))
  1031.                 {
  1032.                     AutoHelti[i] = vhelti;
  1033.                     SetPVarInt(i, "PopravkaVozila", 1);
  1034.                 }
  1035.                 if(vhelti > AutoHelti[i] && Zastita[i] == 0 && GetPlayerInterior(i) == 0 && kikovan[i] == 0 && GetPVarInt(i, "PopravkaVozila") == 0)
  1036.                 {
  1037.                     if(!IsPlayerInRangeOfPoint(i, 15, 719.9484,-457.3498,16.4282) || !IsPlayerInRangeOfPoint(i, 15, -1420.6052,2584.6243,55.9356) || !IsPlayerInRangeOfPoint(i, 15, -99.7463,1116.9677,19.8340)|| !IsPlayerInRangeOfPoint(i, 15, 2063.4375,-1831.9276,13.6391)||
  1038.                     !IsPlayerInRangeOfPoint(i, 15, -2425.9333,1022.5239,50.4900) || !IsPlayerInRangeOfPoint(i, 15, 1974.0004,2162.5266,11.1561) || !IsPlayerInRangeOfPoint(i, 15, 487.5558,-1739.5125,11.2265)|| !IsPlayerInRangeOfPoint(i, 15, 1025.3940,-1024.2563,32.1938)||
  1039.                     !IsPlayerInRangeOfPoint(i, 15, 2393.6174,1489.2686,10.9246)||!IsPlayerInRangeOfPoint(i, 15, -1905.1163,283.4408,41.1392))
  1040.                     {
  1041.                         kikovan[i] = 1;
  1042.                         format(string, sizeof(string), "%s %s je kikovan zbog Vehicle Repair(Cheat)",acime, ime);
  1043.                         SendClientMessageToAll(CRVENA, string);
  1044.                         format(string2, sizeof(string2),"{CD0000}Kikovan si!\n{FFF8DC}Ime:{CD0000} %s\n{FFF8DC}Razlog:{CD0000} Vehicle Repair\n{FFF8DC}IP:{CD0000} %s\n \n{CD0000}Ukoliko mislis da je doslo do greske, odnosno da si greskom kikovan,\n pritisni F8 i prijavi gresku na forum ovog servera.\n Adresa: %s",ime,ipadresa,forum);
  1045.                         ShowPlayerDialog(i, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[AC - Balkan Security]",string2, "Ok", "");
  1046.                         getdate(y,m,d);
  1047.                         gettime(h,mi,s);
  1048.                         format(string,sizeof(string), "[%d/%d/%d]-[%d:%d:%d] [AC - Balkan Security] je kikovao %s zbog Vehicle Repair",d,m,y,h,mi,s,ime);
  1049.                         log(string);
  1050.                         SetTimerEx("kick",5, false, "i", i);
  1051.                     }
  1052.                 }
  1053.             }
  1054.         }
  1055.     }
  1056. //------[kraj foreach]
  1057. }
  1058. //------[kraj tajmera]
  1059. return 1;
  1060. }
  1061. //------------------[ANTICHEAT KOMANDE]---------------------
  1062. CMD:anticheat(playerid, params[])
  1063. {
  1064.     if(!IsPlayerAdmin(playerid))
  1065.     {
  1066.         SendClientMessage(playerid, BELA, "Nisi ovlascen da koristis ovu komandu!");
  1067.         return 1;
  1068.     }
  1069.     new string[900];
  1070.     new komande[] = "1. Ukljuci/Iskljuci: Proveru Ping-a\n2. Ukljuci/Iskljuci: Anti JetPack-a\n3. Ukljuci/Iskljuci: Anti Speed Hack\n4. Ukljuci/Iskljuci: Proveru Zabranjenih Oruzija\n5. Ukljuci/Iskljuci: Anti RCON Hack\n6. Ukljuci/Iskljuci: Zabranjene Reci\n7. Ukljuci/Iskljuci: Anti Drive By\n8. Ukljuci/Iskljuci: Anti Bunny Hop\n9. Ukljuci/Iskljuci: Anti AirBrake\n10. Ukljuci/Iskljuci: Anti Money Hack";
  1071.     new komande2[] = "\n11. Ukljuci/Iskljuci: Anti Helti Hack\n12. Ukljuci/Iskljuci: Anti Armor Hack\n13. Ukljuci/Iskljuci: Anti Teleport[INT]\n14. Ukljuci/Iskljuci: Anti Fly Hack\n15. Ukljuci/Iskljuci: Anti Teleport[1]\n16. Ukljuci/Iskljuci: Anti Teleport[2] \n17. Ukljuci/Iskljuci: Anti Vehicle Repair";
  1072.     format(string, sizeof(string),"%s %s",komande,komande2);
  1073.     ShowPlayerDialog(playerid, 19999, DIALOG_STYLE_LIST, "[Podesavanje AntiCheat-a]",string, "Ok", "Odustani");
  1074.     return 1;
  1075. }
  1076. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1077. {
  1078.         if(dialogid == 19999)
  1079.         {
  1080.             if(response)
  1081.             {
  1082.                 if(listitem == 0)
  1083.                 {
  1084.                 if(VP == 1)
  1085.                     {
  1086.                         SendClientMessage(playerid, BELA, "Iskljucio si proveru protiv previsokog ping-a");
  1087.                         VP = 0;
  1088.                     }
  1089.                     else if(VP == 0)
  1090.                     {
  1091.                         SendClientMessage(playerid, BELA, "Ukljucio si proveru protiv previsokog ping-a");
  1092.                         VP = 1;
  1093.                     }
  1094.                 }
  1095.                 else if(listitem == 1) // jetpack
  1096.                 {
  1097.                     if(PJP == 1)
  1098.                     {
  1099.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti JetPack");
  1100.                         PJP = 0;
  1101.                     }
  1102.                     else if(PJP == 0)
  1103.                     {
  1104.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti JetPack");
  1105.                         PJP = 1;
  1106.                     }
  1107.                 }
  1108.                 else if(listitem == 2)// brzina
  1109.                 {
  1110.                     if(PB == 1)
  1111.                     {
  1112.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Speed Hack");
  1113.                         PB = 0;
  1114.                     }
  1115.                     else if(PB == 0)
  1116.                     {
  1117.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Speed Hack");
  1118.                         PB = 1;
  1119.                     }
  1120.                 }
  1121.                 else if(listitem == 3)// zabranjena oruzija
  1122.                 {
  1123.                     if(ZO == 1)
  1124.                     {
  1125.                         SendClientMessage(playerid, BELA, "Iskljucio si proveru protiv Zabranjenih Oruzija");
  1126.                         ZO = 0;
  1127.                     }
  1128.                     else if(ZO == 0)
  1129.                     {
  1130.                         SendClientMessage(playerid, BELA, "Ukljucio si proveru protiv Zabranjenih Oruzija!");
  1131.                         ZO = 1;
  1132.                     }
  1133.                 }
  1134.                 else if(listitem == 4) // rcon zastita
  1135.                 {
  1136.                     if(RCONZ == 1)
  1137.                     {
  1138.                         RCONZ = 0;
  1139.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti RCON Hack!");
  1140.                     }
  1141.                     else if(RCONZ == 0)
  1142.                     {
  1143.                         RCONZ = 1;
  1144.                         SendClientMessage(playerid, BELA, "Ukljucio si Atni RCON Hack");
  1145.                     }
  1146.                 }
  1147.                 else if(listitem == 5) // zabranjene reci
  1148.                 {
  1149.                     if(ZR == 1)
  1150.                     {
  1151.                         ZR = 0;
  1152.                         SendClientMessage(playerid, BELA, "Iskljucio si proveru protiv Zabranjenih Reci!");
  1153.                     }
  1154.                     else if(ZR == 0)
  1155.                     {
  1156.                         ZR = 1;
  1157.                         SendClientMessage(playerid, BELA, "Ukljucio si proveru protiv Zabranjenih Reci");
  1158.                     }
  1159.                 }
  1160.                 else if(listitem == 6)// drive by provera
  1161.                 {
  1162.                     if(DBP == 1)
  1163.                     {
  1164.                         SendClientMessage(playerid, BELA, "Iskljucio si Atni Drive By!");
  1165.                         DBP = 0;
  1166.                     }
  1167.                     else if(DBP == 0)
  1168.                     {
  1169.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Drive By!");
  1170.                         DBP = 1;
  1171.                     }
  1172.                 }
  1173.                 else if(listitem == 7)// bunny hop provera
  1174.                 {
  1175.                     if(BHP == 1)
  1176.                     {
  1177.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Bunny Hop!");
  1178.                         BHP = 0;
  1179.                     }
  1180.                     else if(BHP == 0)
  1181.                     {
  1182.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Bunny Hop!");
  1183.                         BHP = 1;
  1184.                     }
  1185.                 }
  1186.                 else if(listitem == 8)// air brake provera
  1187.                 {
  1188.                     if(PAB == 1)
  1189.                     {
  1190.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti AirBrake!");
  1191.                         PAB = 0;
  1192.                     }
  1193.                     else if(PAB == 0)
  1194.                     {
  1195.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti AirBrake!");
  1196.                         PAB = 1;
  1197.                     }
  1198.                 }
  1199.                 else if(listitem == 9)// provera protiv cita za novac
  1200.                 {
  1201.                     if(NN == 1)
  1202.                     {
  1203.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Money Hack!");
  1204.                         NN = 0;
  1205.                     }
  1206.                     else if(NN == 0)
  1207.                     {
  1208.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Money Hack!");
  1209.                         NN = 1;
  1210.                     }
  1211.                 }
  1212.                 else if(listitem == 10)// provera protiv cita za helte
  1213.                 {
  1214.                     if(NH == 1)
  1215.                     {
  1216.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Health Hack!");
  1217.                         NH = 0;
  1218.                     }
  1219.                     else if(NH == 0)
  1220.                     {
  1221.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Health Hack!");
  1222.                         NH = 1;
  1223.                     }
  1224.                 }
  1225.                 else if(listitem == 11)// provera protiv cita za armor
  1226.                 {
  1227.                     if(NA == 1)
  1228.                     {
  1229.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Armour Hack!");
  1230.                         NA = 0;
  1231.                     }
  1232.                     else if(NA == 0)
  1233.                     {
  1234.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Armour Hack!");
  1235.                         NA = 1;
  1236.                     }
  1237.                 }
  1238.                 else if(listitem == 12)// provera protiv teleportovanja[int]
  1239.                 {
  1240.                     if(NT == 1)
  1241.                     {
  1242.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Teleport[INT]!!!");
  1243.                         NT = 0;
  1244.                     }
  1245.                     else if(NT == 0)
  1246.                     {
  1247.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Teleport[INT]!!!");
  1248.                         NT = 1;
  1249.                     }
  1250.                 }
  1251.                 else if(listitem == 13)// provera protiv fly hack-a
  1252.                 {
  1253.                     if(FP == 1)
  1254.                     {
  1255.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Fly Hack!");
  1256.                         FP = 0;
  1257.                     }
  1258.                     else if(FP == 0)
  1259.                     {
  1260.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Fly Hack!");
  1261.                         FP = 1;
  1262.                     }
  1263.                 }
  1264.                 else if(listitem == 14)// anti teleport[1]
  1265.                 {
  1266.                     if(ANT == 1)
  1267.                     {
  1268.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Teleport[1]");
  1269.                         ANT = 0;
  1270.                     }
  1271.                     else if(ANT == 0)
  1272.                     {
  1273.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Teleport[1]!");
  1274.                         ANT = 1;
  1275.                     }
  1276.                 }
  1277.                 else if(listitem == 15)// anti teleport[2]
  1278.                 {
  1279.                     if(ANT2 == 1)
  1280.                     {
  1281.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Teleport[2]");
  1282.                         ANT2 = 0;
  1283.                     }
  1284.                     else if(ANT2 == 0)
  1285.                     {
  1286.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Teleport[2]!");
  1287.                         ANT2 = 1;
  1288.                     }
  1289.                 }
  1290.                 else if(listitem == 16)// anti vehicle repair
  1291.                 {
  1292.                     if(AVR == 1)
  1293.                     {
  1294.                         SendClientMessage(playerid, BELA, "Iskljucio si Anti Vehicle Repair");
  1295.                         AVR = 0;
  1296.                     }
  1297.                     else if(AVR == 0)
  1298.                     {
  1299.                         SendClientMessage(playerid, BELA, "Ukljucio si Anti Vehicle Repair!");
  1300.                         AVR = 1;
  1301.                     }
  1302.                 }
  1303.             }
  1304.             SnimiAC();
  1305.         }
  1306.         return 1;
  1307. }
  1308. #error PO DRUGI PUT PROCITAJ INSTALIRANJE.TXT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement