Guest User

Untitled

a guest
Jun 8th, 2011
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.13 KB | None | 0 0
  1. /*
  2. ||||||||||||||||||||||||||||||||||||||||||||||||||
  3. ||0.3C Tazer System By AlexzzPro ||
  4. ||Please do not re-release without my permission||
  5. ||Do not claim this as your own ||
  6. ||Enjoy! ||
  7. ||||||||||||||||||||||||||||||||||||||||||||||||||
  8. */
  9. #define FILTERSCRIPT
  10. #include <a_samp>
  11. #include <zcmd>
  12. #define GREEN 0x21DD00FF
  13. new tazeronbelt[MAX_PLAYERS];
  14. new tazertimer[MAX_PLAYERS];
  15. forward Float:GetDistanceBetweenPlayers(p1,p2); // Not created by me, Dont know who made this.
  16. forward tazeroff(playerid);
  17. forward usetazeragain(playerid);
  18. //=== here
  19. forward SetPlayerAttachedObject();
  20. forward RemovePlayerAttachedObject();
  21. //===============
  22. #if defined FILTERSCRIPT
  23.  
  24. public OnFilterScriptInit()
  25. {
  26. print("\n--------------------------------------");
  27. print(" Tazer System By AlexzzPro Loaded");
  28. print("--------------------------------------\n");
  29. return 1;
  30. }
  31. #endif
  32. public OnFilterScriptExit()
  33. {
  34. print("\n--------------------------------------");
  35. print(" Tazer System By AlexzzPro Un-Loaded");
  36. print("--------------------------------------\n");
  37. return 1;
  38. }
  39. public OnPlayerConnect(playerid)
  40. {
  41. tazeronbelt[playerid] = 1;
  42. return 1;
  43. }
  44.  
  45. public OnPlayerDisconnect(playerid, reason)
  46. {
  47. tazeronbelt[playerid] = 1;
  48. return 1;
  49. }
  50. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  51. {
  52. if(newkeys & KEY_FIRE)
  53. {
  54. if(tazeronbelt[playerid] == 0)
  55. {
  56. if(GetPlayerSkin(playerid) == 280 || GetPlayerSkin(playerid) == 281 || GetPlayerSkin(playerid) == 282 || GetPlayerSkin(playerid) == 283 || GetPlayerSkin(playerid) == 288 || GetPlayerSkin(playerid) == 284)
  57. {
  58. new tazervictim = GetClosestPlayer(playerid);
  59. new Float:health;
  60. if(GetPlayerSkin(tazervictim) == 280 || GetPlayerSkin(tazervictim) == 281 || GetPlayerSkin(tazervictim) == 282 || GetPlayerSkin(tazervictim) == 283 || GetPlayerSkin(tazervictim) == 288 || GetPlayerSkin(tazervictim) == 284)
  61. {
  62. SendClientMessage(playerid, GREEN, "You cant tazer other cops");
  63. return 1;
  64. }
  65. if(tazertimer[playerid] == 1)
  66. {
  67. SendClientMessage(playerid, GREEN, "Please wait before tazing again");
  68. return 1;
  69. }
  70. if(GetDistanceBetweenPlayers(playerid,tazervictim) < 2)
  71. {
  72. ApplyAnimation(playerid,"KNIFE","knife_3",4.1,0,1,1,0,0,1);
  73. TogglePlayerControllable(tazervictim, 0);
  74. ApplyAnimation(tazervictim, "PED","FLOOR_hit_f", 4.0, 1, 0, 0, 0, 0);
  75. GetPlayerHealth(tazervictim, health);
  76. SetPlayerHealth(tazervictim, health - 2);
  77. SendClientMessage(tazervictim, GREEN, "You have been tazed for 20 seconds");
  78. SetTimerEx("tazeroff", 20000, false, "i", tazervictim);
  79. SetTimerEx("usetazeragain", 9000, false, "i", playerid);
  80. tazertimer[playerid] = 1;
  81. }
  82. }
  83. return 1;
  84. }
  85. }
  86. return 1;
  87. }
  88. public usetazeragain(playerid)
  89. {
  90. tazertimer[playerid] = 0;
  91. return 1;
  92. }
  93. public tazeroff(playerid)
  94. {
  95. new tazervictim = GetClosestPlayer(playerid);
  96. TogglePlayerControllable(tazervictim, 1);
  97. SendClientMessage(playerid, GREEN, "You have been un-tazed");
  98. return 1;
  99. }
  100. CMD:tazer(playerid,params[])
  101. {
  102. if(IsPlayerConnected(playerid))
  103. {
  104. if(GetPlayerSkin(playerid) == 280 || GetPlayerSkin(playerid) == 281 || GetPlayerSkin(playerid) == 282 || GetPlayerSkin(playerid) == 283 || GetPlayerSkin(playerid) == 288 || GetPlayerSkin(playerid) == 284)
  105. {
  106. if(tazeronbelt[playerid] == 1)
  107. {
  108. tazeronbelt[playerid] = 0;
  109. SetPlayerAttachedObject(playerid, 0, 18642, 6, 0.06, 0.01, 0.08, 180.0, 0.0, 0.0);
  110. SendClientMessage(playerid,GREEN,"Your tazer has been un-holsterd");
  111. }
  112. else if(tazeronbelt[playerid] == 0)
  113. {
  114. tazeronbelt[playerid] = 1;
  115. RemovePlayerAttachedObject(playerid, 0);
  116. SendClientMessage(playerid,GREEN, "Your tazer has been holsterd");
  117. }
  118. else
  119. {
  120. SendClientMessage(playerid, GREEN, "You are not connected");
  121. }
  122. }
  123. else
  124. {
  125. SendClientMessage(playerid, GREEN, "You are not a cop");
  126. }
  127. return 1;
  128. }
  129. return 1;
  130. }
  131. stock GetClosestPlayer(playerid) // Not created by me, Dont know who made this.
  132. {
  133. new Float:cdist, targetid = -1;
  134. for(new i; i<MAX_PLAYERS; i++)
  135. {
  136. if (IsPlayerConnected(i) && playerid != i && (targetid < 0 || cdist > GetDistanceBetweenPlayers(playerid, i)))
  137. {
  138. targetid = i;
  139. cdist = GetDistanceBetweenPlayers(playerid, i);
  140. }
  141. }
  142. return targetid;
  143. }
  144. public Float:GetDistanceBetweenPlayers(p1,p2) // Not created by me, Dont know who made this.
  145. {
  146. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  147. if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
  148. {
  149. return -1.00;
  150. }
  151. GetPlayerPos(p1,x1,y1,z1);
  152. GetPlayerPos(p2,x2,y2,z2);
  153. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  154. }
Advertisement
Add Comment
Please, Sign In to add comment