Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.92 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_commands>
  3. #include <YSI\y_master>
  4.  
  5. strtok(const string[], &index)
  6. {
  7. new length = strlen(string);
  8. while ((index < length) && (string[index] <= ' '))
  9. {
  10. index++;
  11. }
  12.  
  13. new offset = index;
  14. new result[20];
  15. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  16. {
  17. result[index - offset] = string[index];
  18. index++;
  19. }
  20. result[index - offset] = EOS;
  21. return result;
  22. }
  23.  
  24. stock IsVehicleDriven(vehicleid)
  25. {
  26. for (new i = 0; i < MAX_PLAYERS; i++) // For each player i
  27. {
  28. if (IsPlayerInVehicle(i, vehicleid)) // Is player i in our vehicle?
  29. {
  30. if (GetPlayerVehicleSeat(i) == 0) // Is he a driver?
  31. return i;
  32. }
  33. }
  34. return -1;
  35. }
  36.  
  37. stock IsVehicleDrivenByPlayer(vehicleid, playerid)
  38. {
  39. if (IsPlayerInVehicle(playerid, vehicleid)) // Is player playerid in our vehicle?
  40. {
  41. if (GetPlayerVehicleSeat(playerid) == 0) // Is he a driver?
  42. return 1;
  43. }
  44. return 0;
  45. }
  46.  
  47. new remoteplanted[MAX_PLAYERS] = 0;
  48. new car;
  49. new vehStatus = IsVehicleDriven(car);
  50.  
  51. public OnFilterScriptInit()
  52. {
  53. AddStaticVehicle(579, 2043.7872, 1343.8685, 10.6719, 285.0782, 0, 1);
  54. }
  55.  
  56. public OnFilterScriptExit()
  57. { return 1;
  58. }
  59.  
  60. new Float:X, Float:Y, Float:Z;
  61.  
  62. YCMD:rigbomb(playerid, params[])
  63. {
  64. // Command Parameter Strings
  65. new string1[10], string2[10], idx;
  66. format(string1, 10, strtok(params, idx));
  67. format(string2, 10, strtok(params, idx));
  68.  
  69. // Onto parameters...
  70. if(strcmp(string1, "help", true, 4) == 0)
  71. {
  72. SendClientMessage(playerid, 0xFFFFFFFF, "| - RIGBOMB HELP - You need to be in a car to use certain commands.");
  73. SendClientMessage(playerid, 0xFFFFFFFF, "Timer bomb: /rigbomb timer [seconds]");
  74. SendClientMessage(playerid, 0xFFFFFFFF, "Remote bomb: /rigbomb remote [plant/detonate]");
  75. SendClientMessage(playerid, 0xFFFFFFFF, "Speed bomb: /rigbomb speed [speed threshold]");
  76. SendClientMessage(playerid, 0xFFFFFFFF, "Chemical bomb: /rigbomb chemical [plant/detonate]");
  77. }
  78.  
  79. else if(strcmp(string1, "timer", true, 5) == 0)
  80. {
  81. if(!IsPlayerInAnyVehicle(playerid))
  82. {
  83. SendClientMessage(playerid, 0xFF0000AA,"You need to be in a car to use this command.");
  84. return 1;
  85. }
  86.  
  87. // COMMAND
  88. SendClientMessage(playerid, 0xFF0000AA,"WIP: Timer");
  89. return 1;
  90. }
  91.  
  92. else if(strcmp(string1, "remote", true, 6) == 0)
  93. {
  94.  
  95. if(strlen(string2) == 0) return SendClientMessage(playerid, 0xFF0000AA, "Error: Insufficient Parameters");
  96.  
  97. if(strcmp(string2, "plant", true, 5) == 0)
  98. {
  99. if(!IsPlayerInAnyVehicle(playerid))
  100. {
  101. SendClientMessage(playerid, 0xFF0000AA,"You need to be in a car to use this command.");
  102. return 1;
  103. }
  104.  
  105. // COMMAND
  106.  
  107. car = GetPlayerVehicleID(playerid);
  108. remoteplanted[playerid] = 1;
  109. SendClientMessage(playerid, 0x6DDC00FF,"Remote bomb planted: Stay clear.");
  110. return 1;
  111. }
  112.  
  113. if(strcmp(string2, "detonate", true, 8) == 0)
  114. {
  115. if(remoteplanted[playerid] == 1)
  116. {
  117. if (vehStatus == -1)
  118. {
  119. GetVehiclePos(car, X, Y, Z);
  120. CreateExplosion(X, Y, Z, 2, 10.0);
  121. CreateExplosion(X, Y, Z, 2, 10.0);
  122. CreateExplosion(X, Y, Z, 4, 10.0);
  123. DestroyVehicle(car);
  124. remoteplanted[playerid] = 0;
  125. return 1;
  126. }
  127. else
  128. {
  129. new player = vehStatus;
  130. // playerid "player" drives the vehicle
  131. GetVehiclePos(car, X, Y, Z);
  132. CreateExplosion(X, Y, Z, 2, 10.0);
  133. CreateExplosion(X, Y, Z, 2, 10.0);
  134. CreateExplosion(X, Y, Z, 4, 10.0);
  135. SetVehicleHealth(car, 1);
  136. remoteplanted[playerid] = 0;
  137. for (new i = 0; i < MAX_PLAYERS; i++)
  138. {
  139. if (IsPlayerInVehicle(i, car))
  140. {
  141. SetPlayerHealth(i, 0);
  142. return 1;
  143. }
  144. }
  145. }
  146.  
  147. SendClientMessage(playerid, 0xFF0000AA,"String confirmation: Detonate");
  148. remoteplanted[playerid] = 0;
  149.  
  150. return 1;
  151. }
  152. else
  153. {
  154. SendClientMessage(playerid, 0xFF0000AA,"There is no bomb ready for detonation.");
  155. return 1;
  156. }
  157. }
  158.  
  159. }
  160.  
  161. else if(strcmp(string1, "speed", true, 5) == 0)
  162. {
  163. if(!IsPlayerInAnyVehicle(playerid))
  164. {
  165. SendClientMessage(playerid, 0xFF0000AA,"You need to be in a car to use this command.");
  166. return 1;
  167. }
  168.  
  169. // COMMAND
  170. SendClientMessage(playerid, 0xFF0000AA,"WIP: Speed");
  171. return 1;
  172. }
  173.  
  174. else if(strcmp(string1, "chemical", true, 8) == 0)
  175. {
  176. if(strlen(string2) == 0) return SendClientMessage(playerid, 0xFF0000AA, "Error: Insufficient Parameters");
  177.  
  178. if(strcmp(string2, "plant", true, 5) == 0)
  179. {
  180. if(!IsPlayerInAnyVehicle(playerid))
  181. {
  182. SendClientMessage(playerid, 0xFF0000AA,"You need to be in a car to use this command.");
  183. return 1;
  184. }
  185.  
  186. // COMMAND
  187. SendClientMessage(playerid, 0xFF0000AA,"String confirmation: Plant");
  188. return 1;
  189. }
  190. if(strcmp(string2, "detonate", true, 8) == 0)
  191. {
  192. SendClientMessage(playerid, 0xFF0000AA,"String confirmation: Detonate");
  193. return 1;
  194. }
  195. }
  196.  
  197. return 1;
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement