Advertisement
exod182

Advanced Vehicle Functions 1.1

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