Advertisement
Guest User

b_vehcontrol

a guest
Apr 13th, 2013
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.52 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #if defined _B_VehControl_included
  4.     #endinput
  5. #endif
  6. #define _B_VehControl_included
  7.  
  8. native B_SetVehicleNumberPlate(vehicleid,numplate[]) = SetVehicleNumberPlate;
  9. native B_AddStaticVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2) = AddStaticVehicle;
  10. native B_AddStaticVehicleEx(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2,repawndelay) = AddStaticVehicleEx;
  11. native B_CreateVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2,repawndelay) = CreateVehicle;
  12. native B_ChangeVehicleColor(vehicleid, color1, color2) = ChangeVehicleColor;
  13.  
  14. /*
  15.     native SetVehicleTuev(vehicleid,tuev);
  16.     native GetVehicleTuev(vehicleid);
  17.     native GetVehicleNumberPlate(vehicleid);
  18.     native SetVehicleMotor(vehicleid,_state=-1);
  19.     native SetVehicleLicht(vehicleid,_state=-1);
  20.     native SetVehicleDoor(vehicleid,_state=-1);
  21.     native SetVehicleBonnet(vehicleid,_state=-1);
  22.     native SetVehicleBoot(vehicleid,_state=-1);
  23.     native GetVehicleColor(vehicleid,&color1,&color2);
  24.     native GetVehicleInRange(playerid,Float:max = 3.0);
  25.     native SetVehicleAlarm(vehicleid,_state=-1);
  26. */
  27.  
  28. enum VehicleControlEnum{B_Tuev[32],B_Kennzeichen[32],B_VehicleMotor,B_VehicleLicht,B_VehicleDoors,B_VehicleBonnet,B_VehicleBoot,B_VehicleColor[2],B_VehicleAlarm};
  29. new B_Vehicle[MAX_VEHICLES][VehicleControlEnum],_engine,_lights,_alarm,_doors,_bonnet,_boot,_objective;
  30.  
  31. #if defined FILTERSCRIPT
  32.  
  33.     forward B_V_OnFilterScriptInit();
  34.     public OnFilterScriptInit()
  35.     {
  36.         print("\n----------------------------------");
  37.         print("Vehicle Control System by Beavis");
  38.         print("----------------------------------\n");
  39.         ManualVehicleEngineAndLights();
  40.         return CallLocalFunction("B_V_OnFilterScriptInit","");
  41.     }
  42.  
  43.     #if defined _ALS_OnFilterScriptInit
  44.         #undef OnFilterScriptInit
  45.     #else
  46.         #define _ALS_OnFilterScriptInit
  47.     #endif
  48.     #define OnFilterScriptInit B_V_OnFilterScriptInit
  49.  
  50. #else
  51.  
  52.     forward B_V_OnGameModeInit();
  53.     public OnGameModeInit()
  54.     {
  55.         print("\n----------------------------------");
  56.         print("Vehicle Control System by Beavis");
  57.         print("----------------------------------\n");
  58.         ManualVehicleEngineAndLights();
  59.         return CallLocalFunction("B_V_OnGameModeInit","");
  60.     }
  61.  
  62.     #if defined _ALS_OnGameModeInit
  63.         #undef OnGameModeInit
  64.     #else
  65.         #define _ALS_OnGameModeInit
  66.     #endif
  67.     #define OnGameModeInit B_V_OnGameModeInit
  68.  
  69. #endif
  70.  
  71. forward B_V_OnVehicleRespray(playerid, vehicleid, color1, color2);
  72. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  73. {
  74.     B_Vehicle[vehicleid][B_VehicleColor][0]=color1;
  75.     B_Vehicle[vehicleid][B_VehicleColor][1]=color2;
  76.     return CallLocalFunction("B_V_OnVehicleRespray","dddd",playerid, vehicleid, color1, color2);
  77. }
  78.  
  79. stock _AddStaticVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2)
  80. {
  81.     if(color1 < 0 || color2 < 0){color1 = random(127);color2 = random(127);}
  82.     new car = B_AddStaticVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2);
  83.     format(B_Vehicle[car][B_Kennzeichen],32,"XYZR 000");
  84.     B_Vehicle[car][B_VehicleMotor]=0;
  85.     B_Vehicle[car][B_VehicleLicht]=0;
  86.     B_Vehicle[car][B_VehicleDoors]=0;
  87.     B_Vehicle[car][B_VehicleBonnet]=0;
  88.     B_Vehicle[car][B_VehicleBoot]=0;
  89.     B_Vehicle[car][B_VehicleColor][0]=color1;
  90.     B_Vehicle[car][B_VehicleColor][1]=color2;
  91.     return car;
  92. }
  93.  
  94. stock _AddStaticVehicleEx(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2,repawndelay)
  95. {
  96.     if(color1 < 0 || color2 < 0){color1 = random(127);color2 = random(127);}
  97.     new car = B_AddStaticVehicleEx(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2,repawndelay);
  98.     format(B_Vehicle[car][B_Kennzeichen],32,"XYZR 000");
  99.     B_Vehicle[car][B_VehicleMotor]=0;
  100.     B_Vehicle[car][B_VehicleLicht]=0;
  101.     B_Vehicle[car][B_VehicleDoors]=0;
  102.     B_Vehicle[car][B_VehicleBonnet]=0;
  103.     B_Vehicle[car][B_VehicleBoot]=0;
  104.     B_Vehicle[car][B_VehicleColor][0]=color1;
  105.     B_Vehicle[car][B_VehicleColor][1]=color2;
  106.     return car;
  107. }
  108.  
  109. stock _CreateVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2,repawndelay)
  110. {
  111.     if(color1 < 0 || color2 < 0){color1 = random(127);color2 = random(127);}
  112.     new car = B_CreateVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2,repawndelay);
  113.     format(B_Vehicle[car][B_Kennzeichen],32,"XYZR 000");
  114.     B_Vehicle[car][B_VehicleMotor]=0;
  115.     B_Vehicle[car][B_VehicleLicht]=0;
  116.     B_Vehicle[car][B_VehicleDoors]=0;
  117.     B_Vehicle[car][B_VehicleBonnet]=0;
  118.     B_Vehicle[car][B_VehicleBoot]=0;
  119.     B_Vehicle[car][B_VehicleColor][0]=color1;
  120.     B_Vehicle[car][B_VehicleColor][1]=color2;
  121.     return car;
  122. }
  123.  
  124. stock _SetVehicleNumberPlate(vehicleid,numplate[])
  125. {
  126.     format(B_Vehicle[vehicleid][B_Kennzeichen],32,numplate);
  127.     B_SetVehicleNumberPlate(vehicleid,numplate);
  128.     return 1;
  129. }
  130.  
  131. stock _ChangeVehicleColor(vehicleid, color1, color2)
  132. {
  133.     B_Vehicle[vehicleid][B_VehicleColor][0]=color1;
  134.     B_Vehicle[vehicleid][B_VehicleColor][1]=color2;
  135.     B_ChangeVehicleColor(vehicleid, color1, color2);
  136.     return 1;
  137. }
  138.  
  139. stock SetVehicleTuev(vehicleid,tuev)
  140. {
  141.     if(!tuev)return format(B_Vehicle[vehicleid][B_Tuev],32,"{AE0000}Nicht Vorhanden");
  142.     format(B_Vehicle[vehicleid][B_Tuev],"{008E00}Vorhanden");
  143.     return 1;
  144. }
  145.  
  146. stock GetVehicleTuev(vehicleid)
  147. {
  148.     new KZ[30];
  149.     format(KZ,30,"%s",B_Vehicle[vehicleid][B_Tuev]);
  150.     return KZ;
  151. }
  152.  
  153. stock GetVehicleNumberPlate(vehicleid)
  154. {
  155.     new KZ[30];
  156.     format(KZ,30,"%s",B_Vehicle[vehicleid][B_Kennzeichen]);
  157.     return KZ;
  158. }
  159.  
  160. stock SetVehicleMotor(vehicleid,_state=-1){
  161.     GetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,_boot,_objective);
  162.     if(_state!=-1)return SetVehicleParamsEx(vehicleid,_state,_lights,_alarm,_doors,_bonnet,_boot,_objective),B_Vehicle[vehicleid][B_VehicleMotor]=_state;
  163.     if(B_Vehicle[vehicleid][B_VehicleMotor]==0){SetVehicleParamsEx(vehicleid,1,_lights,_alarm,_doors,_bonnet,_boot,_objective);B_Vehicle[vehicleid][B_VehicleMotor]=1;}
  164.     else{SetVehicleParamsEx(vehicleid,0,_lights,_alarm,_doors,_bonnet,_boot,_objective);B_Vehicle[vehicleid][B_VehicleMotor]=0;}
  165.     return 1;}
  166.  
  167. stock SetVehicleLicht(vehicleid,_state=-1){
  168.     GetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,_boot,_objective);
  169.     if(_state!=-1)return SetVehicleParamsEx(vehicleid,_engine,_state,_alarm,_doors,_bonnet,_boot,_objective),B_Vehicle[vehicleid][B_VehicleLicht]=_state;
  170.     if(B_Vehicle[vehicleid][B_VehicleLicht]==0){SetVehicleParamsEx(vehicleid,_engine,1,_alarm,_doors,_bonnet,_boot,_objective);B_Vehicle[vehicleid][B_VehicleLicht]=1;}
  171.     else{SetVehicleParamsEx(vehicleid,_engine,0,_alarm,_doors,_bonnet,_boot,_objective);B_Vehicle[vehicleid][B_VehicleLicht]=0;}
  172.     return 1;}
  173.  
  174. stock SetVehicleDoor(vehicleid,_state=-1){
  175.     GetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,_boot,_objective);
  176.     if(_state!=-1)return SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_state,_bonnet,_boot,_objective),B_Vehicle[vehicleid][B_VehicleDoors]=_state;
  177.     if(B_Vehicle[vehicleid][B_VehicleDoors]==0){SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,1,_bonnet,_boot,_objective);B_Vehicle[vehicleid][B_VehicleDoors]=1;}
  178.     else{SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,0,_bonnet,_boot,_objective);B_Vehicle[vehicleid][B_VehicleDoors]=0;}
  179.     return 1;}
  180.  
  181. stock SetVehicleBonnet(vehicleid,_state=-1){
  182.     GetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,_boot,_objective);
  183.     if(_state!=-1)return SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_state,_boot,_objective),B_Vehicle[vehicleid][B_VehicleBonnet]=_state;
  184.     if(B_Vehicle[vehicleid][B_VehicleBonnet]==0){SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,1,_boot,_objective);B_Vehicle[vehicleid][B_VehicleBonnet]=1;}
  185.     else{SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,0,_boot,_objective);B_Vehicle[vehicleid][B_VehicleBonnet]=0;}
  186.     return 1;}
  187.  
  188. stock SetVehicleBoot(vehicleid,_state=-1){
  189.     GetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,_boot,_objective);
  190.     if(_state!=-1)return SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,_state,_objective),B_Vehicle[vehicleid][B_VehicleBoot]=_state;
  191.     if(B_Vehicle[vehicleid][B_VehicleBoot]==0){SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,1,_objective);B_Vehicle[vehicleid][B_VehicleBoot]=1;}
  192.     else{SetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,0,_objective);B_Vehicle[vehicleid][B_VehicleBoot]=0;}
  193.     return 1;}
  194.  
  195. stock GetVehicleColor(vehicleid,&color1,&color2){
  196.     if(vehicleid == INVALID_VEHICLE_ID) return 0;
  197.     color1=B_Vehicle[vehicleid][B_VehicleColor][0];
  198.     color2=B_Vehicle[vehicleid][B_VehicleColor][1];
  199.     return 1;}
  200.  
  201. stock SetVehicleAlarm(vehicleid,_state=-1){
  202.     GetVehicleParamsEx(vehicleid,_engine,_lights,_alarm,_doors,_bonnet,_boot,_objective);
  203.     if(_state!=-1)return SetVehicleParamsEx(vehicleid,_engine,_lights,_state,_doors,_bonnet,_boot,_objective),B_Vehicle[vehicleid][B_VehicleAlarm]=_state;
  204.     if(B_Vehicle[vehicleid][B_VehicleAlarm]==0){SetVehicleParamsEx(vehicleid,_engine,_lights,1,_doors,_bonnet,_boot,_objective);B_Vehicle[vehicleid][B_VehicleAlarm]=1;}
  205.     else{SetVehicleParamsEx(vehicleid,_engine,_lights,0,_doors,_bonnet,_boot,_objective);B_Vehicle[vehicleid][B_VehicleAlarm]=0;}
  206.     return 1;}
  207.    
  208. stock GetVehicleInRange(playerid,Float:max = 5.0)
  209. {
  210.     new Float:pos[3], id = -1, Float:temp;
  211.     for(new v = 0; v <= MAX_VEHICLES; v++)
  212.     {
  213.         GetVehiclePos(v,pos[0],pos[1],pos[2]);
  214.         temp = GetPlayerDistanceFromPoint(playerid,pos[0],pos[1],pos[2]);
  215.         if(temp < max)
  216.         {
  217.             max = temp;
  218.             id = v;
  219.         }
  220.     }
  221.     return id;
  222. }
  223.  
  224. //Hooks
  225. #if defined _ALS_SetVehicleNumberPlate
  226.     #undef SetVehicleNumberPlate
  227. #else
  228.     #define _ALS_SetVehicleNumberPlate
  229. #endif
  230. #define SetVehicleNumberPlate _SetVehicleNumberPlate
  231.  
  232. #if defined _ALS_AddStaticVehicle
  233.     #undef AddStaticVehicle
  234. #else
  235.     #define _ALS_AddStaticVehicle
  236. #endif
  237. #define AddStaticVehicle _AddStaticVehicle
  238.  
  239. #if defined _ALS_AddStaticVehicleEx
  240.     #undef AddStaticVehicleEx
  241. #else
  242.     #define _ALS_AddStaticVehicleEx
  243. #endif
  244. #define AddStaticVehicleEx _AddStaticVehicleEx
  245.  
  246. #if defined _ALS_CreateVehicle
  247.     #undef CreateVehicle
  248. #else
  249.     #define _ALS_CreateVehicle
  250. #endif
  251. #define CreateVehicle _CreateVehicle
  252.  
  253. #if defined _ALS_ChangeVehicleColor
  254.     #undef ChangeVehicleColor
  255. #else
  256.     #define _ALS_ChangeVehicleColor
  257. #endif
  258. #define ChangeVehicleColor _ChangeVehicleColor
  259.  
  260. #if defined _ALS_OnVehicleRespray
  261.     #undef OnVehicleRespray
  262. #else
  263.     #define _ALS_OnVehicleRespray
  264. #endif
  265. #define OnVehicleRespray B_V_OnVehicleRespray
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement