Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.34 KB | None | 0 0
  1. /*
  2. Balkanija ( Anti Cheat )
  3. Version: 1.0.0
  4. Made by: Kuzej
  5.  
  6. DETEKCIJE:
  7. - Anti Speed Hack - Rjeseno (100%)
  8. - Anti Bunny Hop - Rjeseno (100%)
  9. - Anti DriveBy - Rjeseno (100%)
  10. - Anti Health Hack - Rjeseno (85%)
  11. - Anti Car Teleport - Rjeseno (95%)
  12. - Anti Weapon Hack - Rjeseno (100%)
  13. - Anti Armour Hack - Rjeseno (100%)
  14. - Anti Money Hack - Rjeseno (100%)
  15. - Anti Jetpack - Rjeseno (100%)
  16. - Anti Swear - Rjeseno (100%)
  17. - Anti Spawn - Rjeseno (100%)
  18. - Anti Bot - Rjeseno (100%)
  19. - Anti Caps Lock - Rjeseno (100%)
  20. - Anti Bullet Crasher - Rjeseno (95%)
  21.  
  22.  
  23. */
  24.  
  25. #define IsValidWeapon(%0) (%0>=1 && %0<=18 || %0>=21 && %0<=46)
  26.  
  27. #include < YSI\y_ini >
  28. #include < a_samp >
  29. #include < YSI\y_commands >
  30. #include < foreach >
  31.  
  32. #define SCMA SendClientMessageToAll
  33. #define SCM SendClientMessage
  34.  
  35. #define AC "{F5052D}"
  36. #define WHITE "{FFFFFF}"
  37.  
  38. #define ANTICHEAT(%0,%1) \
  39. SCM(%0, -1, "{F5052D}ANTICHEAT: {FFFFFF} "%1)
  40.  
  41. #pragma tabsize 0
  42.  
  43. new PlayerIP[MAX_PLAYERS][256];
  44. new BotIP[MAX_PLAYERS][256];
  45. new RegistrovanLogovan[MAX_PLAYERS];
  46. new Skocio[MAX_PLAYERS];
  47. new Oruzje[MAX_PLAYERS][50], municija[MAX_PLAYERS][50];
  48. new OldMoney[MAX_PLAYERS];
  49. new NewMoney[MAX_PLAYERS];
  50.  
  51. /*
  52.  
  53. Ukoliko nadjete neki bug prijavite:
  54. www.balkania-samp.com
  55.  
  56.  
  57.  
  58. ** **
  59.  
  60. */
  61.  
  62. enum zAC
  63. {
  64. zAdmin,
  65. zLevel
  66. }
  67. new zAntiCheat[MAX_PLAYERS][zAC];
  68.  
  69. new AntiSwear[][] =
  70. {
  71. "jebem","sestra","majka","tetka","otac","crkva","dzamija","pop","hodza","musliman",
  72. "pravoslavac","katolik","papa","svrsim","j e b e m","mater","konj","svinja","picka",
  73. "kurac","crkva","manastir","allaha","alaha"
  74. };
  75.  
  76.  
  77.  
  78. public OnFilterScriptInit()
  79. {
  80. print("========================================");
  81. print(" ANTICHEAT LOADING PROCCES ");
  82. print(" CREATED: KUZEJ ");
  83. print(" VERSION: v1.0.0 ");
  84. print("========================================");
  85.  
  86. SetTimer("CheckMoney",2000,true);
  87. return 1;
  88. }
  89.  
  90. public OnFilterScriptExit()
  91. {
  92. return 1;
  93. }
  94.  
  95.  
  96. public OnPlayerRequestClass(playerid, classid)
  97. {
  98. return 1;
  99. }
  100.  
  101. public OnPlayerConnect(playerid)
  102. {
  103.  
  104. NewMoney[playerid] = GetPlayerMoney(playerid);
  105.  
  106. foreach(Player,i)
  107. {
  108. GetPlayerIp(i,PlayerIP[playerid],256);
  109. GetPlayerIp(playerid,BotIP[playerid],256);
  110. if(i == playerid) return 0;
  111. if(strcmp(PlayerIP[ i],BotIP[playerid], true) == 0)
  112. {
  113. Kick(playerid);
  114. Kick(i);
  115. }
  116. }
  117.  
  118. ANTIB0(playerid,"Podizanje detekcija u toku...");
  119.  
  120. SCM(playerid,-1," ");
  121. SCM(playerid,-1," ");
  122. SCM(playerid,-1," ");
  123.  
  124. ANTIB0(playerid,"Detekcije su uspesno podignute...");
  125.  
  126. SCM(playerid,-1," ");
  127. SCM(playerid,-1," ");
  128. SCM(playerid,-1," ");
  129.  
  130. ANTIB0(playerid,"Anti Cheat spreman da hvata citere...");
  131.  
  132. Skocio[playerid] = 0;
  133. RegistrovanLogovan[playerid] = 0;
  134. return 1;
  135. }
  136.  
  137. public OnPlayerDisconnect(playerid, reason)
  138. {
  139. return 1;
  140. }
  141.  
  142. public OnPlayerSpawn(playerid)
  143. {
  144.  
  145. return 1;
  146. }
  147.  
  148. public OnPlayerDeath(playerid, killerid, reason)
  149. {
  150. if(IsPlayerConnected(killerid) && zAntiCheat[playerid][zLevel] >= 1)
  151. {
  152. new string[256];
  153. format(string,sizeof(string), ""AC"ANTIB0: "WHITE"Igrac %s (ID:%d) je ubio igraca %s (ID:%d)", Ime(killerid), killerid, Ime(playerid), playerid);
  154. AdminMessage(-1, string);
  155. }
  156. return 1;
  157. }
  158.  
  159. public OnVehicleSpawn(vehicleid)
  160. {
  161. return 1;
  162. }
  163.  
  164. public OnVehicleDeath(vehicleid, killerid)
  165. {
  166. return 1;
  167. }
  168.  
  169. public OnPlayerText(playerid, text[])
  170. {
  171. if(KoristiCaps(text))
  172. {
  173. ANTIB0(playerid,"Nije dozvoljeno koriscenje Caps-Lock-a u chatu!");
  174. return 0;
  175. }
  176. for(new words; words < sizeof(AntiSwear); words++)
  177. {
  178. if(strfind(text,AntiSwear[words],true) != -1 ) { ANTIB0(playerid,"Zabranjeno je vredjanje!"); return 0; }
  179. }
  180. return 1;
  181. }
  182.  
  183. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  184. {
  185. return 1;
  186. }
  187.  
  188. public OnPlayerExitVehicle(playerid, vehicleid)
  189. {
  190. return 1;
  191. }
  192.  
  193. public OnPlayerStateChange(playerid, newstate, oldstate)
  194. {
  195. if((newstate == PLAYER_STATE_DRIVER) || (newstate == PLAYER_STATE_PASSENGER))
  196. {
  197. for(new j=0; j<11; j++) GetPlayerWeaponData(playerid, j, Oruzje[playerid][j], municija[playerid][j]);
  198. ResetPlayerWeapons(playerid);
  199. }
  200. if((newstate == PLAYER_STATE_ONFOOT) && ((oldstate == PLAYER_STATE_DRIVER) || (oldstate == PLAYER_STATE_PASSENGER)))
  201. {
  202. for(new j=0; j<11; j++) GivePlayerWeapon(playerid, Oruzje[playerid][j], municija[playerid][j]);
  203. }
  204. return 1;
  205. }
  206.  
  207. public OnPlayerEnterCheckpoint(playerid)
  208. {
  209. return 1;
  210. }
  211.  
  212. public OnPlayerLeaveCheckpoint(playerid)
  213. {
  214. return 1;
  215. }
  216.  
  217. public OnPlayerEnterRaceCheckpoint(playerid)
  218. {
  219. return 1;
  220. }
  221.  
  222. public OnPlayerLeaveRaceCheckpoint(playerid)
  223. {
  224. return 1;
  225. }
  226.  
  227. public OnRconCommand(cmd[])
  228. {
  229. return 1;
  230. }
  231.  
  232. public OnPlayerRequestSpawn(playerid)
  233. {
  234. new string[128];
  235. if(RegistrovanLogovan[playerid] == 0) return ANTIB0(playerid,"Izbacen si zbog: "AC"Spawn Hacka"); Kick(playerid);
  236. format(string, sizeof(string), ""AC"ANTIB0: "WHITE"Igrac je izbacen zbog: "AC"Spawn Hacka "WHITE"(/offban)",Ime(playerid));
  237. AdminMessage(-1, string);
  238.  
  239. return 1;
  240. }
  241.  
  242. public OnObjectMoved(objectid)
  243. {
  244. return 1;
  245. }
  246.  
  247. public OnPlayerObjectMoved(playerid, objectid)
  248. {
  249. return 1;
  250. }
  251.  
  252. public OnPlayerPickUpPickup(playerid, pickupid)
  253. {
  254. return 1;
  255. }
  256.  
  257. public OnVehicleMod(playerid, vehicleid, componentid)
  258. {
  259. return 1;
  260. }
  261.  
  262. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  263. {
  264. return 1;
  265. }
  266.  
  267. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  268. {
  269. return 1;
  270. }
  271.  
  272. public OnPlayerSelectedMenuRow(playerid, row)
  273. {
  274. return 1;
  275. }
  276.  
  277. public OnPlayerExitedMenu(playerid)
  278. {
  279. return 1;
  280. }
  281.  
  282. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  283. {
  284. return 1;
  285. }
  286.  
  287. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  288. {
  289. if((newkeys & KEY_JUMP) && !IsPlayerInAnyVehicle(playerid))
  290. {
  291. Skocio[playerid] ++;
  292. SetTimerEx("SkociReset", 3000, false, "i", playerid);
  293. if(Skocio[playerid] == 3)
  294. {
  295. ApplyAnimation(playerid, "GYMNASIUM", "gym_jog_falloff",4.1,0,1,1,0,0);
  296. ANTIB0(playerid,"Zabranjeno je raditi Bunny Hop (Freezovani ste)!");
  297. SetTimerEx("KeyJump", 3000, false, "i", playerid);
  298. Freeze(playerid);
  299. }
  300. }
  301. return 1;
  302. }
  303.  
  304. public OnRconLoginAttempt(ip[], password[], success)
  305. {
  306. return 1;
  307. }
  308.  
  309. public OnPlayerUpdate(playerid)
  310. {
  311. if(UzmiBrzinu(playerid) > 280)
  312. {
  313. new string[128];
  314. ANTIB0(playerid,"Izbacen si zbog: "AC"Car Teleport"); Kick(playerid);
  315. format(string, sizeof(string), ""AC"ANTICHEAT: "WHITE"Igrac je kikovan zbog: "AC"Car Teleport "WHITE"(/offban)",Ime(playerid));
  316. AdminMessage(-1, string);
  317. return 1;
  318. }
  319. new Float:Armour; GetPlayerArmour(playerid, Armour);
  320. if(Armour > 99.0)
  321. {
  322. new string[128];
  323. ANTIB0(playerid,"Izbacen si zbog: "AC"Armour Hacka");
  324. format(string, sizeof(string), ""AC"ANTICHEAT: "WHITE"Igrac je kikovan zbog: "AC"Armour Hacka "WHITE"(/offban)",Ime(playerid));
  325. AdminMessage(-1, string);
  326. Kick(playerid);
  327. return 1;
  328. }
  329. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
  330. {
  331. new string[128];
  332. ANTIB0(playerid,"Izbacen si zbog: "AC"Jetpack Hacka");
  333. format(string, sizeof(string), ""AC"ANTICHEAT: "WHITE"Igrac je kikovan zbog: "AC"Jetpack Hacka "WHITE"(/offban)",Ime(playerid));
  334. AdminMessage(-1, string);
  335. Kick(playerid);
  336. return 1;
  337. }
  338. switch(GetPlayerWeapon(playerid))
  339. {
  340. case 1,2,3,9,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46:
  341. {
  342. new string[128];
  343. ANTIB0(playerid,"Izbacen si zbog koriscenja: "AC"Weapon Hacka");
  344. format(string, sizeof(string), ""AC"ANTICHEAT: "WHITE"Igrac %s je kikovan zbog koriscenja: "AC"Weapon Hacka "WHITE"(/offban)", Ime(playerid));
  345. AdminMessage(-1, string);
  346. Kick(playerid);
  347. }
  348. }
  349. return 1;
  350. }
  351.  
  352. public OnPlayerStreamIn(playerid, forplayerid)
  353. {
  354. return 1;
  355. }
  356.  
  357. public OnPlayerStreamOut(playerid, forplayerid)
  358. {
  359. return 1;
  360. }
  361.  
  362. public OnVehicleStreamIn(vehicleid, forplayerid)
  363. {
  364. return 1;
  365. }
  366.  
  367. public OnVehicleStreamOut(vehicleid, forplayerid)
  368. {
  369. return 1;
  370. }
  371.  
  372. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  373. {
  374. return 1;
  375. }
  376.  
  377. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  378. {
  379. return 1;
  380. }
  381.  
  382.  
  383. forward AdminMessage(color, string[]);
  384. public AdminMessage(color, string[])
  385. {
  386. foreach(Player,i)
  387. {
  388. if(zAntiCheat[i][zAdmin] >= 1)
  389. {
  390. SCM(i, color, string);
  391. }
  392. }
  393. }
  394.  
  395. forward Freeze(playerid);
  396. public Freeze(playerid)
  397. {
  398. TogglePlayerControllable(playerid, 1);
  399. return 1;
  400. }
  401.  
  402. stock KoristiCaps(text[])
  403. {
  404. for( new i, j = strlen( text )-1; i < j; i ++ )
  405. {
  406. if( ( 'A' <= text[ i ] <= 'Z' ) && ( 'A' <= text[ i+1 ] <= 'Z' ) )
  407. return true;
  408. }
  409. return false;
  410. }
  411.  
  412. stock Ime(playerid)
  413. {
  414. new name[MAX_PLAYER_NAME];
  415. GetPlayerName(playerid, name, sizeof(name));
  416. return name;
  417. }
  418.  
  419. stock UzmiBrzinu(playerid)
  420. {
  421. new Float:ST[4];
  422. if(IsPlayerInAnyVehicle(playerid))
  423. GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  424. else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  425. ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 178.8617875;
  426. return floatround(ST[3]);
  427. }
  428.  
  429. forward KeyJump(playerid);
  430. public KeyJump(playerid)
  431. {
  432. Skocio[playerid] = 0;
  433. ClearAnimations(playerid);
  434. return 1;
  435. }
  436.  
  437. forward SkociReset(playerid);
  438. public SkociReset(playerid)
  439. {
  440. Skocio[playerid] = 0;
  441. return 1;
  442. }
  443.  
  444. public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
  445. {
  446. if( hittype != BULLET_HIT_TYPE_NONE )
  447. {
  448. if( !( -1000.0 <= fX <= 1000.0 ) || !( -1000.0 <= fY <= 1000.0 ) || !( -1000.0 <= fZ <= 1000.0 ) )
  449. {
  450. Kick(playerid);
  451. return 0;
  452. }
  453. }
  454. if( hittype == BULLET_HIT_TYPE_PLAYER )
  455. {
  456. if(hitid == playerid)
  457. {
  458. Kick(playerid);
  459. return 0;
  460. }
  461. }
  462. if( hittype == BULLET_HIT_TYPE_PLAYER )
  463. {
  464. if( fX == 0.000000 && fY == 0.000000 && fZ == 0.500000 && weaponid == 0)
  465. {
  466. Kick(playerid);
  467. return 0;
  468. }
  469. }
  470. if( hittype == 0 && !IsValidWeapon(weaponid) )
  471. {
  472. if( fX == 0.000000 && fY == 0.000000 && fZ == 0.000000 )
  473. {
  474. Kick(playerid);
  475. return 0;
  476. }
  477. }
  478. return 1;
  479. }
  480.  
  481. forward GivePlayerMoneyEx(playerid,ammount);
  482. public GivePlayerMoneyEx(playerid,ammount)
  483. {
  484. OldMoney[playerid] = GetPlayerMoney(playerid);
  485. NewMoney[playerid] = ammount;
  486. GivePlayerMoney(playerid,ammount);
  487.  
  488. return 1;
  489. }
  490.  
  491. forward CheckMoney();
  492. public CheckMoney()
  493. {
  494. foreach(Player,i)
  495. {
  496. if(IsPlayerConnected(i))
  497. {
  498. if(GetPlayerMoney(i) > NewMoney[i])
  499. {
  500. ResetPlayerMoney(i);
  501. GivePlayerMoney(i,OldMoney[i]);
  502. Ban(i);
  503. }
  504. }
  505. }
  506. return 1;
  507. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement