Advertisement
Guest User

Jason

a guest
Feb 22nd, 2010
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.82 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #include <a_samp>
  3. #include <a_npc>
  4.  
  5. //Definitions-------------------------------------------------------------------
  6.  
  7. #define COLOR_YELLOW 0xFFFF00AA
  8. #define COLOR_DARKGREEN 0x33AA33AA
  9. #define COLOR_RED 0xAA3333AA
  10. #define COLOR_WHITE 0xFFFFFFAA
  11.  
  12. enum pData
  13. {
  14. Derby,
  15. };
  16. new pInfo[MAX_PLAYERS][pData];
  17.  
  18. //------------------------------------------------------------------------------
  19.  
  20. public OnPlayerCommandText(playerid, cmdtext[])
  21. {
  22.  
  23. //Vehicles----------------------------------------------------------------------
  24.  
  25. new vehicle1, vehicle2, vehicle3, vehicle4, vehicle5, vehicle6, vehicle7, vehicle8, vehicle9;
  26.  
  27. vehicle1 = AddStaticVehicle(504,-1506.0249,963.6489,1036.9043,308.2458,1,1); // Car 1
  28. vehicle2 = AddStaticVehicle(504,-1517.5923,996.9760,1037.4785,267.5391,1,1); // Car 2
  29. vehicle3 = AddStaticVehicle(504,-1496.8602,1034.8605,1038.1382,217.1305,1,1); // Car 3
  30. vehicle4 = AddStaticVehicle(504,-1459.6935,1052.6312,1038.3616,201.4902,1,1); // Car 4
  31. vehicle5 = AddStaticVehicle(504,-1415.9689,1059.4755,1038.3984,182.9101,1,1); // Car 5
  32. vehicle6 = AddStaticVehicle(504,-1371.5483,1058.7356,1038.3197,178.5217,1,1); // Car 6
  33. vehicle7 = AddStaticVehicle(504,-1327.7202,1052.9230,1038.1437,155.3537,1,1); // Car 7
  34. vehicle8 = AddStaticVehicle(504,-1290.2139,1026.1642,1037.8479,138.0186,1,1); // Car 8
  35. vehicle9 = AddStaticVehicle(504,-1285.0289,971.0375,1036.7104,56.0545,1,1); // Car 9
  36. LinkVehicleToInterior(vehicle1, 15);
  37. LinkVehicleToInterior(vehicle2, 15);
  38. LinkVehicleToInterior(vehicle3, 15);
  39. LinkVehicleToInterior(vehicle4, 15);
  40. LinkVehicleToInterior(vehicle5, 15);
  41. LinkVehicleToInterior(vehicle6, 15);
  42. LinkVehicleToInterior(vehicle7, 15);
  43. LinkVehicleToInterior(vehicle8, 15);
  44. LinkVehicleToInterior(vehicle9, 15);
  45. SetVehicleVirtualWorld(vehicle1, 999);
  46. SetVehicleVirtualWorld(vehicle2, 999);
  47. SetVehicleVirtualWorld(vehicle3, 999);
  48. SetVehicleVirtualWorld(vehicle4, 999);
  49. SetVehicleVirtualWorld(vehicle5, 999);
  50. SetVehicleVirtualWorld(vehicle6, 999);
  51. SetVehicleVirtualWorld(vehicle7, 999);
  52. SetVehicleVirtualWorld(vehicle8, 999);
  53. SetVehicleVirtualWorld(vehicle9, 999);
  54.  
  55. //Join/Leave Commands-----------------------------------------------------------
  56.  
  57. if (strcmp(cmdtext, "/derbyjoin", true) == 0)
  58. {
  59. if(pInfo[playerid][Derby] == 0)
  60. {
  61. SetPlayerVirtualWorld(playerid, 999);
  62. SetPlayerInterior(playerid, 15);
  63. new string[256], name[24]; GetPlayerName(playerid,name,24);
  64. format(string,256,"%s has joined the Derby. Type /derbyjoin to join them!",name);
  65. SendClientMessageToAll(COLOR_WHITE,string);
  66. SendClientMessage(playerid,COLOR_YELLOW,"Welcome to the Derby, please wait patiently for the derby to commence.");
  67. if(IsVehicleOccupied(vehicle1))
  68. {
  69. PutPlayerInVehicle(playerid,vehicle2,0);
  70. pInfo[playerid][Derby] = 1;
  71. }
  72. else
  73. {
  74. PutPlayerInVehicle(playerid,vehicle1,0);
  75. pInfo[playerid][Derby] = 1;
  76. }
  77.  
  78. if(IsVehicleOccupied(vehicle2))
  79. {
  80. PutPlayerInVehicle(playerid,vehicle3,0);
  81. pInfo[playerid][Derby] = 1;
  82. }
  83. else
  84. {
  85. PutPlayerInVehicle(playerid,vehicle2,0);
  86. pInfo[playerid][Derby] = 1;
  87. }
  88.  
  89. if(IsVehicleOccupied(vehicle3))
  90. {
  91. PutPlayerInVehicle(playerid,vehicle4,0);
  92. pInfo[playerid][Derby] = 1;
  93. }
  94. else
  95. {
  96. PutPlayerInVehicle(playerid,vehicle3,0);
  97. pInfo[playerid][Derby] = 1;
  98. }
  99.  
  100. if(IsVehicleOccupied(vehicle4))
  101. {
  102. PutPlayerInVehicle(playerid,vehicle5,0);
  103. pInfo[playerid][Derby] = 1;
  104. }
  105. else
  106. {
  107. PutPlayerInVehicle(playerid,vehicle4,0);
  108. pInfo[playerid][Derby] = 1;
  109. }
  110.  
  111. if(IsVehicleOccupied(vehicle5))
  112. {
  113. PutPlayerInVehicle(playerid,vehicle6,0);
  114. pInfo[playerid][Derby] = 1;
  115. }
  116. else
  117. {
  118. PutPlayerInVehicle(playerid,vehicle5,0);
  119. pInfo[playerid][Derby] = 1;
  120. }
  121.  
  122. if(IsVehicleOccupied(vehicle6))
  123. {
  124. PutPlayerInVehicle(playerid,vehicle7,0);
  125. pInfo[playerid][Derby] = 1;
  126. }
  127. else
  128. {
  129. PutPlayerInVehicle(playerid,vehicle6,0);
  130. pInfo[playerid][Derby] = 1;
  131. }
  132.  
  133. if(IsVehicleOccupied(vehicle7))
  134. {
  135. PutPlayerInVehicle(playerid,vehicle8,0);
  136. pInfo[playerid][Derby] = 1;
  137. }
  138. else
  139. {
  140. PutPlayerInVehicle(playerid,vehicle7,0);
  141. pInfo[playerid][Derby] = 1;
  142. }
  143.  
  144. if(IsVehicleOccupied(vehicle8))
  145. {
  146. PutPlayerInVehicle(playerid,vehicle9,0);
  147. pInfo[playerid][Derby] = 1;
  148. }
  149. else
  150. {
  151. PutPlayerInVehicle(playerid,vehicle8,0);
  152. pInfo[playerid][Derby] = 1;
  153. }
  154.  
  155. if(IsVehicleOccupied(vehicle9))
  156. {
  157. SendClientMessage(playerid,0x33AA33AA,"The derby is full!");
  158. pInfo[playerid][Derby] = 0;
  159. }
  160. else
  161. {
  162. PutPlayerInVehicle(playerid,vehicle9,0);
  163. pInfo[playerid][Derby] = 1;
  164. }
  165. }
  166. return 1;
  167. }
  168.  
  169. if (strcmp(cmdtext, "/derbyleave", true) == 0)
  170. {
  171. pInfo[playerid][Derby] = 0;
  172. SetPlayerVirtualWorld(playerid, 0);
  173. SetPlayerInterior(playerid, 0);
  174. SetPlayerHealth(playerid, 0);
  175. new string[256], name[24]; GetPlayerName(playerid,name,24);
  176. format(string,256,"%s has left the Derby.",name);
  177. SendClientMessageToAll(COLOR_WHITE,string);
  178. return 1;
  179. }
  180.  
  181. return 0;
  182. }
  183.  
  184. //Publics-----------------------------------------------------------------------
  185.  
  186. public OnPlayerDeath(playerid, killerid, reason)
  187. {
  188. pInfo[playerid][Derby] = 0;
  189. return 1;
  190. }
  191.  
  192. public OnPlayerConnect(playerid)
  193. {
  194. pInfo[playerid][Derby] = 0;
  195. return 1;
  196. }
  197.  
  198. public OnPlayerDisconnect(playerid)
  199. {
  200. pInfo[playerid][Derby] = 0;
  201. return 1;
  202. }
  203.  
  204. public OnPlayerSpawn(playerid)
  205. {
  206. SetPlayerInterior(playerid,0);
  207. return 1;
  208. }
  209.  
  210. //IsVehicleOccupied-------------------------------------------------------------
  211.  
  212. stock IsVehicleOccupied(vehicleid)
  213. {
  214. for(new i = 0; i < MAX_PLAYERS; i++)
  215. {
  216. if(IsPlayerInVehicle(i,vehicleid))
  217. return 1;
  218. }
  219. return 0;
  220. }
  221.  
  222. //------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement