Guest User

Reachless' Tazer System

a guest
Jan 30th, 2012
2,551
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. // Filterscript Settings
  4.  
  5. #define TAZE_WEAPON 23 // The weapon the tazer needs to be attached to.
  6. #define TAZE_TIMER 5000 // The time needed to be spent until the criminal automatically gets up.
  7. #define TAZE_SPARK 18717 // The objectid of the spark (It's recommended you don't change this...)
  8. #define TAZE_DESTROY 1250 // The time needed to be spent until the spark dissappears.
  9. #define TAZE_LOSEHP 1 // Set to 1 if you want the victim to lose health when shot. Set 0 or any
  10. // other value if you want the victim not to lose health.
  11.  
  12. //
  13.  
  14. new Tazer[MAX_PLAYERS];
  15. new Spark[MAX_PLAYERS];
  16. new Tazed[MAX_PLAYERS];
  17.  
  18. forward DestroySpark(playerid);
  19. forward TazedRemove(playerid);
  20.  
  21. public OnFilterScriptInit()
  22. {
  23. print("\n--------------------------------------");
  24. print(" Reachless' Tazer System v0.3");
  25. print("--------------------------------------\n");
  26. return 1;
  27. }
  28.  
  29. public OnPlayerConnect(playerid)
  30. {
  31. Tazed[playerid] = 0;
  32. Tazer[playerid] = 0;
  33. return 1;
  34. }
  35.  
  36. public DestroySpark(playerid)
  37. {
  38. DestroyObject(Spark[playerid]);
  39. return 1;
  40. }
  41.  
  42. public TazedRemove(playerid)
  43. {
  44. TogglePlayerControllable(playerid, 1);
  45. ClearAnimations(playerid);
  46. Tazed[playerid] = 0;
  47. return 1;
  48. }
  49.  
  50. public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
  51. {
  52. if(Tazer[playerid] == 1 && GetPlayerWeapon(playerid) == TAZE_WEAPON)
  53. {
  54. new Float:health,losehp;
  55. GetPlayerHealth(damagedid,health);
  56. losehp = TAZE_LOSEHP;
  57. if(Tazed[damagedid] == 1) return 1;
  58. new Float:x, Float:y, Float:z;
  59. GetPlayerPos(damagedid, x, y, z);
  60. ClearAnimations(damagedid);
  61. ApplyAnimation(damagedid,"PED","KO_skid_front",4.1,0,1,1,1,0);
  62. Spark[damagedid] = CreateObject(TAZE_SPARK, x, y, z-3, 0, 0, 0);
  63. SetTimerEx("DestroySpark", TAZE_DESTROY, 0, "i", damagedid);
  64. SetTimerEx("TazedRemove", TAZE_TIMER, 0, "i", damagedid);
  65. //TogglePlayerControllable(damagedid, 0);
  66. Tazed[damagedid] = 1;
  67. if(losehp) {} else SetPlayerHealth(damagedid, health+amount);
  68. }
  69. return 1;
  70. }
  71.  
  72.  
  73. public OnPlayerCommandText(playerid, cmdtext[])
  74. {
  75. if (strcmp("/sdpistol", cmdtext, true, 6) == 0)
  76. {
  77. GivePlayerWeapon(playerid, TAZE_WEAPON, 100);
  78. return 1;
  79. }
  80. if (strcmp("/tazer", cmdtext, true, 6) == 0)
  81. {
  82. new string[256];
  83. new sendername[MAX_PLAYER_NAME];
  84. GetPlayerName(playerid, sendername, sizeof(sendername));
  85. if(Tazer[playerid] == 0)
  86. {
  87. if(GetPlayerWeapon(playerid) == TAZE_WEAPON) {} else return SendClientMessage(playerid, 0xFFFFFFFF, "{DC0C0C}Tazer: {FFFFFF}You need to attach the tazer to a Silenced Pistol.");
  88. Tazer[playerid] = 1;
  89. format(string, sizeof(string), "{DC0C0C}Tazer: {FFFFFF}You attached the tazer to your Silenced Pistol, %s.", sendername);
  90. SendClientMessage(playerid, 0xFFFFFFFF, string);
  91. return 1;
  92. }
  93. else if(Tazer[playerid] == 1)
  94. {
  95. Tazer[playerid] = 0;
  96. format(string, sizeof(string), "{DC0C0C}Tazer: {FFFFFF}You deattached the tazer from your Silenced Pistol, %s.", sendername);
  97. SendClientMessage(playerid, 0xFFFFFFFF, string);
  98. return 1;
  99. }
  100. else Tazer[playerid] = 0;
  101. return 1;
  102. }
  103. return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment