Advertisement
Guest User

Untitled

a guest
Oct 31st, 2010
814
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.94 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #define MAX_SPIKES 51 // Maximale Nagelbänder
  3. #define MAX_STSS 99999 // Maximale Straßensperren
  4.  
  5. #include <a_samp>
  6.  
  7. new Float:x[MAX_SPIKES];
  8. new Float:y[MAX_SPIKES];
  9. new Float:z[MAX_SPIKES];
  10. new Float:rz[MAX_SPIKES];
  11. new spike[MAX_SPIKES];
  12. new Spikeplatt[MAX_SPIKES];
  13. new nbpid[MAX_SPIKES];
  14. new Spikez = 0;
  15. new string[100];
  16.  
  17. new Float:Ax;
  18. new Float:Ay;
  19. new Float:Az;
  20. new Float:Arz;
  21. new Absperrung[MAX_STSS];
  22. new Absperrungz = 0;
  23.  
  24. #if defined FILTERSCRIPT
  25.  
  26. public OnFilterScriptExit()
  27. {
  28. new i;
  29. for(;i<MAX_SPIKES;i++)
  30. {
  31. DestroyObject(spike[i]);
  32. }
  33. return 1;
  34. }
  35.  
  36. #endif
  37.  
  38. public OnPlayerCommandText(playerid, cmdtext[])
  39. {
  40. if (!strcmp("/sts", cmdtext))
  41. {
  42. if (GetPlayerSkin(playerid) == 280 || GetPlayerSkin(playerid) == 265 || GetPlayerSkin(playerid) == 283 || GetPlayerSkin(playerid) == 284 || GetPlayerSkin(playerid) == 285 )
  43. {
  44. Absperrungz = Absperrungz + 1;
  45. GetPlayerPos(playerid,Ax,Ay,Az);
  46. GetPlayerFacingAngle(playerid, Arz);
  47. Absperrung[Absperrungz] = CreateObject(1228, Ax, Ay, Az-0.50, 0, 0, Arz+90);
  48. format(string, sizeof(string), "** Straßensperre Nr. %d wurde erstellt! **",Absperrungz);
  49. SendClientMessage(playerid, 0x00FF35FF, string);
  50. }
  51. else
  52. {
  53. SendClientMessage(playerid, 0xC70000FF, "** Du bist kein Polizist **");
  54. }
  55. return 1;
  56.  
  57. }
  58. if (!strcmp("/nb", cmdtext))
  59. {
  60. if (GetPlayerSkin(playerid) == 280 || GetPlayerSkin(playerid) == 265 || GetPlayerSkin(playerid) == 283 || GetPlayerSkin(playerid) == 284 || GetPlayerSkin(playerid) == 285 )
  61. {
  62. Spikez = Spikez + 1;
  63. if(Spikez < MAX_SPIKES)
  64. {
  65. GetPlayerPos(playerid,x[Spikez],y[Spikez],z[Spikez]);
  66. GetPlayerFacingAngle(playerid, rz[Spikez]);
  67. spike[Spikez] = CreateObject(2892, x[Spikez], y[Spikez], z[Spikez]-0.8, 0, 0, rz[Spikez]+90);
  68. format(string, sizeof(string), "** Das Nagelband Nr. %d wurde verlegt! **",Spikez);
  69. SendClientMessage(playerid, 0x00FF35FF, string);
  70. Spikeplatt[Spikez] = 1;
  71. nbpid[Spikez] = playerid;
  72. }
  73. else
  74. {
  75. SendClientMessage(playerid, 0x00FF35FF, "** Alle Nagelbänder wurden verlegt! **");
  76. }
  77. }
  78. else
  79. {
  80. SendClientMessage(playerid, 0xC70000FF, "** Du bist kein Polizist **");
  81. }
  82. return 1;
  83. }
  84. if (!strcmp("/rfs", cmdtext))
  85. {
  86. if (GetPlayerSkin(playerid) == 280 || GetPlayerSkin(playerid) == 265 || GetPlayerSkin(playerid) == 283 || GetPlayerSkin(playerid) == 284 || GetPlayerSkin(playerid) == 285 )
  87. {
  88. format(string, sizeof(string), "** Alle %d Nagelbänder wurden gelöscht! **",Spikez);
  89. SendClientMessage(playerid, 0xD80000FF, string);
  90. format(string, sizeof(string), "** Alle %d Straßensperren wurden gelöscht! **",Absperrungz);
  91. SendClientMessage(playerid, 0xD80000FF, string);
  92. Absperrungz += 1;
  93. new i;
  94. for(;i<Absperrungz;)
  95. {
  96. DestroyObject(Absperrung[i]);
  97. i++;
  98. }
  99. SendRconCommand("reloadfs spike");
  100. }
  101. else
  102. {
  103. SendClientMessage(playerid, 0xC70000FF, "** Du bist kein Polizist **");
  104. }
  105. return 1;
  106. }
  107. return 0;
  108. }
  109.  
  110. encode_tires(tire1, tire2, tire3, tire4) {
  111.  
  112. return tire1 | (tire2 << 1) | (tire3 << 2) | (tire4 << 3);
  113. }
  114.  
  115. public OnPlayerUpdate(playerid)
  116. {
  117. if(IsPlayerInAnyVehicle(playerid))
  118. {
  119. new i;
  120. for(;i<MAX_SPIKES;i++)
  121. {
  122. if(IsPlayerInRangeOfPoint(playerid, 3.0, x[i], y[i], z[i]))
  123. {
  124. if (Spikeplatt[i] == 1)
  125. {
  126. UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), 0, 0, 0, encode_tires(1, 1, 1, 1));
  127. DestroyObject(spike[i]);
  128. new name[MAX_PLAYER_NAME];
  129. GetPlayerName(playerid, name, sizeof(name));
  130. format(string, sizeof(string), "** %s ist durch dein Nagelband gefahren **",name);
  131. SendClientMessage(nbpid[i], 0x00AD00FF, string);
  132. Spikeplatt[i] = 0;
  133. }
  134. }
  135.  
  136. }
  137. }
  138. return 1;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement