Advertisement
exod182

Advanced Vehicle Functions 1.2

Aug 27th, 2014
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.00 KB | None | 0 0
  1. /* ---------------------------------
  2. Advanced Vehicle Functions PAWN include
  3.  
  4. - File: a_veh.inc
  5. - Author: Exod_Martinez
  6. ---------------------------------*/
  7. /*
  8. native GetVehiclePaintjob(vehicleid);
  9. native GetVehicleSpawn(vehicleid, &Float:x, &Float:y, &Float:z, &Float:a);
  10. native GetVehicleColor(vehicleid, &color1, &color2);
  11. native GetVehicleRespawnDelay(vehicleid);
  12.  
  13. native ToggleEngine(vehicleid);
  14. native ToggleLights(vehicleid);
  15. native ToggleAlarm(vehicleid);
  16. native ToggleDoors(vehicleid);
  17. native ToggleBonnet(vehicleid);
  18. native ToggleBoot(vehicleid);
  19. native ToggleObjective(vehicleid);
  20.  
  21. native ToggleStatus(vehicleid, param[]);
  22.  
  23. //engine, lights, alarm, doors, bonnet, boot, objective
  24. */
  25.  
  26.  
  27. enum exd_vehEnum{
  28. exd_vModel,
  29. Float:exd_vSpawnPos[4],
  30. exd_vColor[2],
  31. exd_vInterior,
  32. exd_vVirtualWorld,
  33. exd_vPaintJob,
  34. exd_vRespawnDelay
  35. bool:exd_vLocked
  36. }
  37. new exd_Vehicles[MAX_VEHICLES][exd_vehEnum];
  38.  
  39. forward exd_OnVehicleRespray(playerid, vehicleid, color1, color2);
  40.  
  41. stock exd_CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay){
  42. new vid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay);
  43. exd_Vehicles[vid][exd_vModel] = vehicletype;
  44. exd_Vehicles[vid][exd_vSpawnPos][0] = x; exd_Vehicles[vid][exd_vSpawnPos][1] = y;
  45. exd_Vehicles[vid][exd_vSpawnPos][2] = z; exd_Vehicles[vid][exd_vSpawnPos][3] = rotation;
  46. exd_Vehicles[vid][exd_vColor][0] = color1; exd_Vehicles[vid][exd_vColor][1] = color2;
  47. exd_Vehicles[vid][exd_vRespawnDelay] = respawn_delay;
  48. exd_Vehicles[vid][exd_vLocked] = false;
  49. return vid;
  50. }
  51.  
  52. stock exd_AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2){
  53. new vid = AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2);
  54. exd_Vehicles[vid][exd_vModel] = modelid;
  55. exd_Vehicles[vid][exd_vSpawnPos][0] = spawn_x; exd_Vehicles[vid][exd_vSpawnPos][1] = spawn_y;
  56. exd_Vehicles[vid][exd_vSpawnPos][2] = spawn_z; exd_Vehicles[vid][exd_vSpawnPos][3] = z_angle;
  57. exd_Vehicles[vid][exd_vColor][0] = color1; exd_Vehicles[vid][exd_vColor][1] = color2;
  58. exd_Vehicles[vid][exd_vRespawnDelay] = -1;
  59. exd_Vehicles[vid][exd_vLocked] = false;
  60. return vid;
  61. }
  62.  
  63. stock exd_AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay){
  64. new vid = AddStaticVehicleEx(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, respawn_delay);
  65. exd_Vehicles[vid][exd_vModel] = modelid;
  66. exd_Vehicles[vid][exd_vSpawnPos][0] = spawn_x; exd_Vehicles[vid][exd_vSpawnPos][1] = spawn_y;
  67. exd_Vehicles[vid][exd_vSpawnPos][2] = spawn_z; exd_Vehicles[vid][exd_vSpawnPos][3] = z_angle;
  68. exd_Vehicles[vid][exd_vColor][0] = color1; exd_Vehicles[vid][exd_vColor][1] = color2;
  69. exd_Vehicles[vid][exd_vRespawnDelay] = respawn_delay;
  70. exd_Vehicles[vid][exd_vLocked] = false;
  71. return vid;
  72. }
  73.  
  74. stock exd_ChangeVehiclePaintjob(vehicleid, paintjobid){
  75. exd_Vehicles[vehicleid][exd_vPaintJob] = paintjobid;
  76. return ChangeVehiclePaintjob(vehicleid, paintjobid);
  77. }
  78.  
  79. stock exd_ChangeVehicleColor(vehicleid, color1, color2){
  80. exd_Vehicles[vehicleid][exd_vColor][0] = color1;
  81. exd_Vehicles[vehicleid][exd_vColor][1] = color2;
  82. return ChangeVehicleColor(vehicleid, color1, color2);
  83. }
  84.  
  85. stock exd_DestroyVehicle(vehicleid){
  86. exd_Vehicles[vehicleid][exd_vModel] = 0;
  87. for(new i=0;i<4;i++){
  88. exd_Vehicles[vehicleid][exd_vSpawnPos][i] = 0.0;
  89. }
  90. return DestroyVehicle(vehicleid);
  91. }
  92.  
  93. stock GetVehiclePaintjob(vehicleid)return exd_Vehicles[vehicleid][exd_vPaintJob];
  94. stock GetVehicleRespawnDelay(vehicleid)return exd_Vehicles[vehicleid][exd_vRespawnDelay];
  95.  
  96. stock GetVehicleColor(vehicleid, &color1, &color2){
  97. color1 = exd_Vehicles[vehicleid][exd_vColor][0];
  98. color2 = exd_Vehicles[vehicleid][exd_vColor][1];
  99. return true;
  100. }
  101.  
  102. stock GetVehicleSpawn(vehicleid, &Float:x, &Float:y, &Float:z, &Float:a){
  103. x = exd_Vehicles[vehicleid][exd_vSpawnPos][0];
  104. y = exd_Vehicles[vehicleid][exd_vSpawnPos][1];
  105. z = exd_Vehicles[vehicleid][exd_vSpawnPos][2];
  106. a = exd_Vehicles[vehicleid][exd_vSpawnPos][3];
  107. return true;
  108. }
  109.  
  110. stock ToggleEngine(vehicleid){
  111. new engine, lights, alarm, doors, bonnet, boot, objective;
  112. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  113. if(engine == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
  114. return SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
  115. }
  116.  
  117. stock ToggleLights(vehicleid){
  118. new engine, lights, alarm, doors, bonnet, boot, objective;
  119. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  120. if(lights == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
  121. return SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
  122. }
  123.  
  124. stock ToggleAlarm(vehicleid){
  125. new engine, lights, alarm, doors, bonnet, boot, objective;
  126. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  127. if(alarm == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, VEHICLE_PARAMS_ON, doors, bonnet, boot, objective);
  128. return SetVehicleParamsEx(vehicleid, engine, lights, VEHICLE_PARAMS_OFF, doors, bonnet, boot, objective);
  129. }
  130.  
  131. stock ToggleDoors(vehicleid){
  132. new engine, lights, alarm, doors, bonnet, boot, objective;
  133. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  134. if(doors == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, alarm, VEHICLE_PARAMS_ON, bonnet, boot, objective);
  135. return SetVehicleParamsEx(vehicleid, engine, lights, alarm, VEHICLE_PARAMS_OFF, bonnet, boot, objective);
  136. }
  137.  
  138. stock ToggleBonnet(vehicleid){
  139. new engine, lights, alarm, doors, bonnet, boot, objective;
  140. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  141. if(bonnet == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, VEHICLE_PARAMS_ON, boot, objective);
  142. return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, VEHICLE_PARAMS_OFF, boot, objective);
  143. }
  144.  
  145. stock ToggleBoot(vehicleid){
  146. new engine, lights, alarm, doors, bonnet, boot, objective;
  147. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  148. if(boot == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_ON, objective);
  149. return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_OFF, objective);
  150. }
  151.  
  152. stock ToggleObjective(vehicleid){
  153. new engine, lights, alarm, doors, bonnet, boot, objective;
  154. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  155. if(objective == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, VEHICLE_PARAMS_ON);
  156. return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, VEHICLE_PARAMS_OFF);
  157. }
  158.  
  159. stock ToggleStatus(vehicleid, param[]){
  160. new engine, lights, alarm, doors, bonnet, boot, objective;
  161. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  162. if(strcmp(param, "") == 0){
  163. }
  164. else if(strcmp(param, "engine", true) == 0 || strcmp(param, "motor", true) == 0){
  165. if(engine == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
  166. return SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
  167. }
  168. else if(strcmp(param, "lights", true) == 0 || strcmp(param, "licht", true) == 0){
  169. if(lights == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
  170. return SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
  171. }
  172. else if(strcmp(param, "alarm") == 0){
  173. if(alarm == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, VEHICLE_PARAMS_ON, doors, bonnet, boot, objective);
  174. return SetVehicleParamsEx(vehicleid, engine, lights, VEHICLE_PARAMS_OFF, doors, bonnet, boot, objective);
  175. }
  176. else if(strcmp(param, "doors") == 0 || strcmp(param, "tuer") == 0){
  177. if(doors == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, alarm, VEHICLE_PARAMS_ON, bonnet, boot, objective);
  178. return SetVehicleParamsEx(vehicleid, engine, lights, alarm, VEHICLE_PARAMS_OFF, bonnet, boot, objective);
  179. }
  180. else if(strcmp(param, "bonnet") == 0 || strcmp(param, "motorhaube") == 0){
  181. if(bonnet == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, VEHICLE_PARAMS_ON, boot, objective);
  182. return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, VEHICLE_PARAMS_OFF, boot, objective);
  183. }
  184. else if(strcmp(param, "boot") == 0 || strcmp(param, "kofferraum"){
  185. if(boot == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_ON, objective);
  186. return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_OFF, objective);
  187. }
  188. else if(strcmp(param, "objective") == 0){
  189. if(objective == VEHICLE_PARAMS_OFF)return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, VEHICLE_PARAMS_ON);
  190. return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, VEHICLE_PARAMS_OFF);
  191. }
  192. return print("Es ist ein Fehler aufgetreten: ToggleStatus -> Falscher Parameter");
  193. }
  194.  
  195. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  196. {
  197. exd_Vehicles[vehicleid][exd_vColor][0] = color1;
  198. exd_Vehicles[vehicleid][exd_vColor][1] = color2;
  199. if (funcidx("exd_OnVehicleRespray") != -1)
  200. {
  201. return CallLocalFunction("exd_OnVehicleRespray", "iiii", playerid, vehicleid, color1, color2);
  202. }
  203. return 1;
  204. }
  205.  
  206. #if defined _ALS_CreateVehicle
  207. #undef CreateVehicle
  208. #else
  209. #define _ALS_CreateVehicle
  210. #endif
  211.  
  212. #if defined _ALS_DestoryVehicle
  213. #undef DestroyVehicle
  214. #else
  215. #define _ALS_DestoryVehicle
  216. #endif
  217.  
  218. #if defined _ALS_AddStaticVehicle
  219. #undef AddStaticVehicle
  220. #else
  221. #define _ALS_AddStaticVehicle
  222. #endif
  223.  
  224. #if defined _ALS_AddStaticVehicleEx
  225. #undef AddStaticVehicleEx
  226. #else
  227. #define _ALS_AddStaticVehicle
  228. #endif
  229.  
  230. #if defined _ALS_ChangeVehiclePaintjob
  231. #undef ChangeVehiclePaintjob
  232. #else
  233. #define _ALS_ChangeVehiclePaintjob
  234. #endif
  235.  
  236. #if defined _ALS_ChangeVehicleColor
  237. #undef ChangeVehicleColor
  238. #else
  239. #define _ALS_ChangeVehicleColor
  240. #endif
  241.  
  242. #if defined _ALS_OnVehicleRespray
  243. #undef OnVehicleRespray
  244. #else
  245. #define _ALS_OnVehicleRespray
  246. #endif
  247.  
  248. #define CreateVehicle exd_CreateVehicle
  249. #define DestroyVehicle exd_DestroyVehicle
  250. #define AddStaticVehicle exd_AddStaticVehicle
  251. #define AddStaticVehicleEx exd_AddStaticVehicleEx
  252. #define ChangeVehiclePaintjob exd_ChangeVehiclePaintjob
  253. #define ChangeVehicleColor exd_ChangeVehicleColor
  254.  
  255. #define OnVehicleRespray exd_OnVehicleRespray
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement