Advertisement
Guest User

Untitled

a guest
Apr 24th, 2016
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.65 KB | None | 0 0
  1. #define COLOR_RED 0xAA3333AA
  2.  
  3. #undef MAX_PLAYERS
  4. #define MAX_PLAYERS 500 // Change to you're servers max player count.
  5.  
  6. #define MAX_SLOTS 48
  7.  
  8. new NotMoving[MAX_PLAYERS];
  9. new WeaponID[MAX_PLAYERS];
  10. new CheckCrouch[MAX_PLAYERS];
  11. new Ammo[MAX_PLAYERS][MAX_SLOTS];
  12.  
  13. new aWeaponNames[][32] = {
  14. {"Fist"}, // 0
  15. {"Brass Knuckles"}, // 1
  16. {"Golf Club"}, // 2
  17. {"Night Stick"}, // 3
  18. {"Knife"}, // 4
  19. {"Baseball Bat"}, // 5
  20. {"Shovel"}, // 6
  21. {"Pool Cue"}, // 7
  22. {"Katana"}, // 8
  23. {"Chainsaw"}, // 9
  24. {"Purple Dildo"}, // 10
  25. {"Vibrator"}, // 11
  26. {"Vibrator"}, // 12
  27. {"Vibrator"}, // 13
  28. {"Flowers"}, // 14
  29. {"Cane"}, // 15
  30. {"Grenade"}, // 16
  31. {"Teargas"}, // 17
  32. {"Molotov"}, // 18
  33. {" "}, // 19
  34. {" "}, // 20
  35. {" "}, // 21
  36. {"Colt 45"}, // 22
  37. {"Silenced Pistol"}, // 23
  38. {"Deagle"}, // 24
  39. {"Shotgun"}, // 25
  40. {"Sawns"}, // 26
  41. {"Spas"}, // 27
  42. {"Uzi"}, // 28
  43. {"MP5"}, // 29
  44. {"AK47"}, // 30
  45. {"M4"}, // 31
  46. {"Tec9"}, // 32
  47. {"Country Rifle"}, // 33
  48. {"Sniper Rifle"}, // 34
  49. {"Rocket Launcher"}, // 35
  50. {"Heat-Seeking Rocket Launcher"}, // 36
  51. {"Flamethrower"}, // 37
  52. {"Minigun"}, // 38
  53. {"Satchel Charge"}, // 39
  54. {"Detonator"}, // 40
  55. {"Spray Can"}, // 41
  56. {"Fire Extinguisher"}, // 42
  57. {"Camera"}, // 43
  58. {"Night Vision Goggles"}, // 44
  59. {"Infrared Vision Goggles"}, // 45
  60. {"Parachute"}, // 46
  61. {"Fake Pistol"} // 47
  62. };
  63.  
  64. public OnFilterScriptInit()
  65. {
  66. print("\n--------------------------------------");
  67. print(" Simple & Accurate Anti-C-Bug by Whitetiger.");
  68. print("--------------------------------------\n");
  69. return 1;
  70. }
  71.  
  72. public OnFilterScriptExit()
  73. {
  74. return 1;
  75. }
  76.  
  77. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  78. {
  79. if((newkeys & KEY_FIRE) && (oldkeys & KEY_CROUCH) && !((oldkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) || (oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ) {
  80. switch(GetPlayerWeapon(playerid)) {
  81. case 23..25, 27, 29..34, 41: {
  82. if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
  83. OnPlayerCBug(playerid);
  84. }
  85. return 1;
  86. }
  87. }
  88. }
  89.  
  90. if(CheckCrouch[playerid] == 1) {
  91. switch(WeaponID[playerid]) {
  92. case 23..25, 27, 29..34, 41: {
  93. if((newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK ) {
  94. if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
  95. OnPlayerCBug(playerid);
  96. }
  97. }
  98. }
  99. }
  100. }
  101.  
  102. //if(newkeys & KEY_CROUCH || (oldkeys & KEY_CROUCH)) return 1;
  103.  
  104. else if(((newkeys & KEY_FIRE) && (newkeys & KEY_HANDBRAKE) && !((newkeys & KEY_SPRINT) || (newkeys & KEY_JUMP))) ||
  105. (newkeys & KEY_FIRE) && !((newkeys & KEY_SPRINT) || (newkeys & KEY_JUMP)) ||
  106. (NotMoving[playerid] && (newkeys & KEY_FIRE) && (newkeys & KEY_HANDBRAKE)) ||
  107. (NotMoving[playerid] && (newkeys & KEY_FIRE)) ||
  108. (newkeys & KEY_FIRE) && (oldkeys & KEY_CROUCH) && !((oldkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ||
  109. (oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ) {
  110. SetTimerEx("CrouchCheck", 3000, 0, "d", playerid);
  111. CheckCrouch[playerid] = 1;
  112. WeaponID[playerid] = GetPlayerWeapon(playerid);
  113. Ammo[playerid][GetPlayerWeapon(playerid)] = GetPlayerAmmo(playerid);
  114. return 1;
  115. }
  116.  
  117. return 1;
  118. }
  119.  
  120. public OnPlayerUpdate(playerid)
  121. {
  122. new Keys, ud, lr;
  123. GetPlayerKeys(playerid, Keys, ud, lr);
  124. if(CheckCrouch[playerid] == 1) {
  125. switch(WeaponID[playerid]) {
  126. case 23..25, 27, 29..34, 41: {
  127. if((Keys & KEY_CROUCH) && !((Keys & KEY_FIRE) || (Keys & KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK ) {
  128. if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
  129. OnPlayerCBug(playerid);
  130. }
  131. }
  132. //else SendClientMessage(playerid, COLOR_RED, "Failed in onplayer update");
  133. }
  134. }
  135. }
  136.  
  137. if(!ud && !lr) { NotMoving[playerid] = 1; /*OnPlayerKeyStateChange(playerid, Keys, 0);*/ }
  138. else { NotMoving[playerid] = 0; /*OnPlayerKeyStateChange(playerid, Keys, 0);*/ }
  139.  
  140. return 1;
  141. }
  142.  
  143. forward OnPlayerCBug(playerid);
  144. public OnPlayerCBug(playerid) {
  145. new playername[MAX_PLAYER_NAME];
  146. GetPlayerName(playerid, playername, sizeof(playername));
  147. new str2[128];
  148. format(str2, sizeof(str2), "Junkbuster hat denn User %s Grund *Aussnutzung von Cbug* vom Server gekickt.", playername, aWeaponNames[WeaponID[playerid]]);
  149. SendClientMessageToAll(COLOR_RED, str2);
  150. CheckCrouch[playerid] = 0;
  151. Kick(playerid);
  152. return 1;
  153. }
  154. forward CrouchCheck(playerid);
  155. public CrouchCheck(playerid) {
  156. CheckCrouch[playerid] = 0;
  157. return 1;
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement