Advertisement
slenderm48

Flashcar

Aug 1st, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.68 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3.  
  4. #define FILTERSCRIPT
  5.  
  6. forward FlasherFunc();
  7.  
  8. new obj[MAX_VEHICLES] = { INVALID_OBJECT_ID, ... };
  9. new obj2[MAX_VEHICLES] = { INVALID_OBJECT_ID, ... };
  10. new LightPwr[MAX_VEHICLES];
  11. new Flasher[MAX_VEHICLES] = 0;
  12. new FlasherState[MAX_VEHICLES];
  13. new FlashTimer;
  14.  
  15. public OnFilterScriptInit()
  16. {
  17. print("\n--------------------------------------");
  18. print(" Police Flash lights V2.1");
  19. print(" By OngTung");
  20. print("--------------------------------------\n");
  21.  
  22. for (new x=0; x<MAX_VEHICLES; x++)
  23. {
  24. LightPwr[x]=1;
  25. Flasher[x]=0;
  26. FlasherState[x]=0;
  27. }
  28.  
  29. FlashTimer = SetTimer("FlasherFunc",200,1);
  30. return 1;
  31. }
  32.  
  33. public OnFilterScriptExit()
  34. {
  35. KillTimer(FlashTimer);
  36. for (new i = 0; i < MAX_VEHICLES; i++)
  37. {
  38. DestroyObject(obj[i]);
  39. DestroyObject(obj2[i]);
  40. }
  41. return 1;
  42. }
  43.  
  44. public OnVehicleSpawn(vehicleid)
  45. {
  46. DestroyObject(obj[vehicleid]);
  47. DestroyObject(obj2[vehicleid]);
  48. Flasher[vehicleid] = 0;
  49. return 1;
  50. }
  51.  
  52. public OnVehicleDeath(vehicleid, killerid)
  53. {
  54. DestroyObject(obj[vehicleid]);
  55. DestroyObject(obj2[vehicleid]);
  56. Flasher[vehicleid] = 0;
  57. return 1;
  58. }
  59.  
  60. CMD:flash(playerid, params[])
  61. {
  62. new vehicleid,panels,doors,lights,tires;
  63. vehicleid = GetPlayerVehicleID(playerid);
  64. if(!Flasher[vehicleid]) {
  65. if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  66. {
  67. return SendClientMessage(playerid, -1, "* You are not the driver!");
  68. }
  69. if (!GetVehicleModel(vehicleid)) return SendClientMessage(playerid, -1, "* You are not in a vehicle!");
  70. if (IsValidObject(obj[vehicleid]) || IsValidObject(obj2[vehicleid]))
  71. {
  72. SendClientMessage(playerid, -1, "You switched off the lights."), DestroyObject(obj[vehicleid]), DestroyObject(obj2[vehicleid]);
  73. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  74. if(LightPwr[vehicleid] == 1)
  75. UpdateVehicleDamageStatus(vehicleid, panels, doors, 0, tires);
  76. else
  77. UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
  78. Flasher[vehicleid] = 0;
  79. }
  80. switch (GetVehicleModel(vehicleid))
  81. {
  82. case 596:
  83. {
  84. obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  85. obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  86. AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
  87. AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
  88. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  89. Flasher[vehicleid] = 1;
  90. }
  91. case 597:
  92. {
  93. obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  94. obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  95. AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
  96. AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
  97. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  98. Flasher[vehicleid] = 1;
  99. }
  100. case 598:
  101. {
  102. obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  103. obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  104. AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
  105. AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
  106. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  107. Flasher[vehicleid] = 1;
  108. }
  109. case 599:
  110. {
  111. obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  112. obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  113. AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
  114. AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
  115. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  116. Flasher[vehicleid] = 1;
  117. }
  118. case 541://bullet
  119. {
  120. obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  121. AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.375000,0.524999,0.375000,0.000000,0.000000,0.000000);
  122.  
  123. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  124. Flasher[vehicleid] = 1;
  125. }
  126. case 426://premier
  127. {
  128. obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  129. AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.524999,0.749999,0.375000,0.000000,0.000000,0.000000);
  130.  
  131. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  132. Flasher[vehicleid] = 1;
  133. }
  134. case 427://enforcer
  135. {
  136. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  137. Flasher[vehicleid] = 1;
  138. }
  139. case 416://Ambulance
  140. {
  141. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  142. Flasher[vehicleid] = 1;
  143. }
  144. case 407://FireTruck
  145. {
  146. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  147. Flasher[vehicleid] = 1;
  148. }
  149. case 560://sultan
  150. {
  151. obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  152. AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.225000,0.750000,0.449999,0.000000,0.000000,0.000000);
  153. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  154. Flasher[vehicleid] = 1;
  155. }
  156. case 490://FBI
  157. {
  158. obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  159. AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.000000,1.125000,0.599999,0.000000,0.000000,0.000000);
  160. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  161. Flasher[vehicleid] = 1;
  162. }
  163. default:
  164. {
  165. return SendClientMessage(playerid, -1, "You are not in a CODE 2 compatible police vehicle!");
  166. }
  167. }
  168. return SendClientMessage(playerid, -1, "Lights on, you are now in a CODE 2 run!");
  169. } else {
  170. if (IsValidObject(obj[vehicleid]) || IsValidObject(obj2[vehicleid])) {
  171. SendClientMessage(playerid, -1, "You switched off the lights."), DestroyObject(obj[vehicleid]), DestroyObject(obj2[vehicleid]);
  172. }
  173. GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  174. if(LightPwr[vehicleid] == 1)
  175. UpdateVehicleDamageStatus(vehicleid, panels, doors, 0, tires);
  176. else
  177. UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
  178. Flasher[vehicleid] = 0;
  179. }
  180. return 1;
  181. }
  182.  
  183. public FlasherFunc() {
  184. new panelsx,doorsx,lightsx,tiresx;
  185. for (new p=0; p<MAX_VEHICLES; p++)
  186. {
  187. if (Flasher[p] == 1)
  188. {
  189. if (FlasherState[p] == 1)
  190. {
  191. GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
  192. UpdateVehicleDamageStatus(p, panelsx, doorsx, 4, tiresx);
  193. FlasherState[p] = 0;
  194. }
  195. else
  196. {
  197. GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
  198. UpdateVehicleDamageStatus(p, panelsx, doorsx, 1, tiresx);
  199. FlasherState[p] = 1;
  200. }
  201. }
  202. }
  203. return 1;
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement