Advertisement
domo101

Spike system by: Carl

Jul 19th, 2015
609
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.40 KB | None | 0 0
  1. //Boje na tekst nisam dodavao jer ne znam tvoje define-ove ...
  2. #include <a_samp>
  3. #include <zcmd> //ova 3 include-a su potrebna ;)
  4. #include <sscanf2>
  5.  
  6. #pragma tabsize 0 //samo da me ne jebu warninzi
  7.  
  8.  
  9. new bool:Spike1Kreiran[MAX_PLAYERS];
  10. new bool:Spike2Kreiran[MAX_PLAYERS];
  11. new Spike1[MAX_PLAYERS];
  12. new Spike2[MAX_PLAYERS];
  13. new Float:spX, Float:spY, Float:spZ, Float:spA;
  14.  
  15.  
  16. ///////////////////////////////////////////////////////
  17. CMD:spike(playerid, params[])
  18. {
  19. new id;
  20. GetPlayerPos(playerid, spX, spY, spZ);
  21. GetPlayerFacingAngle(playerid, spA);
  22. if(Provjera je li ulogiran[playerid] == 0) return SendClientMessage(playerid,-1, "Moras se ulogirati da bi koristio ovu komandu."); //npr. if(ProvjeraLogiran[playerid] == 0) ....
  23. if(PlayerInfo[playerid][clan organizacije] != id pd-a && PlayerInfo[playerid][lider organizacije] != id pd-a) return SendClientMessage(playerid,-1," Samo Policajci!"); //npr. ako je id policije 1 a clan definiran kao pMember ide: [pMember] != 1
  24. if(Ako je policajac na duznosti[playerid] == 0) return SendClientMessage(playerid, -1, "Niste na duznosti pa ne mozete koristi tu komandu!"); //npr if(PDNaDuznosti[playerid] ...
  25. if(PlayerInfo[playerid][za rank] < 3) return SCM(playerid, -1, "Morate biti rank 3+ da bi koristili ovu komandu!"); // npr. [pRank] < 3
  26. if(sscanf(params, "i", id))
  27. {
  28. SendClientMessage(playerid, -1, "/spike [1-2]");
  29. SendClientMessage(playerid, -1, "1 - Mali");
  30. SendClientMessage(playerid, -1, "2 - Veliki");
  31.  
  32. return 1;
  33. }
  34. if(id == 1)
  35. {
  36. if(Spike1Kreiran[playerid] == false)
  37. {
  38. Spike1[playerid] = CreateObject(2899, spX+5, spY, spZ-0.83, 0.0, 0.0, spA+180);
  39. Spike1Kreiran[playerid] = true;
  40. SendClientMessage(playerid, -1, "Postavili ste mali spike.");
  41. }
  42. else return SendClientMessage(playerid, -1, "Vec imate kreiran mali spike.");
  43. }
  44. else if(id == 2)
  45. {
  46. if(Spike2Kreiran[playerid] == false)
  47. {
  48. Spike2[playerid] = CreateObject(2892, spX+5, spY, spZ-0.95, 0.0, 0.0, spA+180);
  49. Spike2Kreiran[playerid] = true;
  50. SendClientMessage(playerid, -1, "Postavili ste veliki spike.");
  51. }
  52. else return SendClientMessage(playerid, -1, "Vec imate kreiran veliki spike.");
  53. }
  54. else return SendClientMessage(playerid, -1, "Pogresan ID spike-a (1-2).");
  55. return 1;
  56. }
  57. /////////////////////////////////////////////////////////////////////////////
  58. CMD:destroyspike(playerid, params[])
  59. {
  60. new id;
  61. if(Provjera je li ulogiran[playerid] == 0) return SendClientMessage(playerid,-1, "Moras se ulogirati da bi koristio ovu komandu."); //npr. if(ProvjeraLogiran[playerid] == 0) ....
  62. if(PlayerInfo[playerid][clan organizacije] != id pd-a && PlayerInfo[playerid][lider organizacije] != id pd-a) return SendClientMessage(playerid,-1," Samo Policajci!"); //npr. ako je id policije 1 a clan definiran kao pMember ide: [pMember] != 1
  63. if(Ako je policajac na duznosti[playerid] == 0) return SendClientMessage(playerid, -1, "Niste na duznosti pa ne mozete koristi tu komandu!"); //npr if(PDNaDuznosti[playerid] ...
  64. if(PlayerInfo[playerid][za rank] < 3) return SCM(playerid, -1, "Morate biti rank 3+ da bi koristili ovu komandu!"); // npr. [pRank] < 3
  65. if(sscanf(params, "i", id)) return SendClientMessage(playerid,-1, "/unistispike [1-2]");
  66. if(id == 1)
  67. {
  68. if(Spike1Kreiran[playerid] == true)
  69. {
  70. DestroyObject(Spike1[playerid]);
  71. SendClientMessage(playerid, -1, "Unistili ste mali spike.");
  72. Spike1Kreiran[playerid] = false;
  73. }
  74. else return SendClientMessage(playerid, -1, "Mali spike nije kreiran.");
  75. }
  76. else if(id == 2)
  77. {
  78. if(Spike2Kreiran[playerid] == true)
  79. {
  80. DestroyObject(Spike2[playerid]);
  81. SendClientMessage(playerid, -1, "Unistili ste veliki spike.");
  82. Spike2Kreiran[playerid] = false;
  83. }
  84. else return SendClientMessage(playerid, -1, "Veliki spike nije kreiran.");
  85. }
  86. else return SendClientMessage(playerid, -1, "Pogresan ID spike-a [1-2].");
  87. return 1;
  88. }
  89.  
  90. ////////////////////////////////////////////////////////////////////
  91. public OnPlayerUpdate(playerid)
  92. {
  93. ///////////////////////////////////////////////////////////////////////
  94. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  95. {
  96. if(IsPlayerInRangeOfPoint(playerid, 3.0, spX+5, spY, spZ-0.83))
  97. {
  98. if(Spike1Kreiran[playerid] == 1)
  99. {
  100. PopPlayerTires(playerid);
  101. }
  102. }
  103.  
  104. }
  105. ///////////////////////////////////////////////////////////////////
  106. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  107. {
  108. if(IsPlayerInRangeOfPoint(playerid, 3.0, spX+5, spY, spZ-0.95))
  109. {
  110. if(Spike2Kreiran[playerid] == 1)
  111. {
  112. PopPlayerTires(playerid);
  113. }
  114. }
  115.  
  116. }
  117. return 1;
  118. }
  119. /////////////////////////
  120. stock PopPlayerTires(playerid)
  121. {
  122. new vehicleid = GetPlayerVehicleID(playerid);
  123. new panels, doors, lights, tires;
  124. GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
  125. tires = encode_tires(1, 1, 1, 1);
  126. UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, 15);
  127. }
  128.  
  129. encode_tires(tires1, tires2, tires3, tires4) {
  130.  
  131. return tires1 | (tires2 << 1) | (tires3 << 2) | (tires4 << 3);
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement