Advertisement
Xaviour212

Ulric Vehicle System v2.2

Jun 12th, 2011
7,148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 46.47 KB | None | 0 0
  1. /*==========================Ulric Vehicle System================================
  2.     Credits to:
  3.         - Xaviour212, make this filterscript
  4.         - Sheen, helping me
  5.         - Xtrememood, fixed the Lock bug
  6. //==========================Change log==========================================
  7.     In v1.6 :
  8.         - Fixed /vbuy bug
  9.         - New CMD : /vfind, /vunfind, /vadmpark
  10.         - Type /vfind - for find you car
  11.         - Type /vunfind - for destroy checkpoint of /vfind
  12.         - Type /vadmpark (RCON CMD) -  for park car
  13.     In v2.0 :
  14.         - Fixed plate bug
  15.         - Manual set cost for Vehicle
  16.         - Fixed bug in lock vehicle
  17.         - Added a new command, /setcost and /sellcarto
  18.         - New GameText for someone who entered car if it he is the owner of the car
  19.         - Type /setcost (RCON CMD) for set a vehicle cost
  20.         - Type /sellcarto for sell you car to a player
  21.     In v2.0.1
  22.         - Fixed /vbuy
  23.         - Fixed Park bug
  24.     In v2.2
  25.         - Added 3 Slot
  26.         - New CMD /vcall (Now use a /vcall [Slot]) and with a timer 5 second
  27.         - Removed CMD /sellcarto, /vfind and /vunfind
  28.         - New CMD /mycar for look you car
  29.         - New CMD /openbonnet and /closebonnet
  30.         - New CMD /buyalarm to buy alarm in your car
  31.         - New CMD /alarmon, /alarmoff, /opendoor, /closedoor, /lighton, /lightoff
  32.         - New funtion AddSellerVehicle
  33. ====================Dont Remove The Credits, Please.....======================*/
  34.  
  35. #include <a_samp>
  36. #include <dini>
  37. #include <sscanf2>
  38.  
  39. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  40.  
  41. #define Blue 0x0259EAAA
  42. #define Red 0xFF0000AA
  43. #define Green 0x16EB43FF
  44.  
  45. #define DefVehCost 80000 // You can change this
  46. #define DefVehPlate "~Xav~212"
  47.  
  48. enum VehicleData
  49. {
  50.     Cost,
  51.     Locked,
  52.     Parked,
  53.     Owner,
  54.     SellCost,
  55.     VehID,
  56.     Alarm,
  57.     AlarmOn,
  58.     ToSell
  59. };
  60. new VehicleInfo[MAX_VEHICLES][VehicleData];
  61.  
  62. new file[256];
  63. new engine,lights,alarm,doors,bonnet,boot,objective;
  64. new VehNames[212][] =
  65. {
  66.         "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster",
  67.         "Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto",
  68.         "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee",
  69.         "Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo",
  70.         "RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer",
  71.         "Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer",
  72.         "Pcj - 600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot",
  73.         "Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","Zr3 50","Walton","Regina","Comet","Bmx",
  74.         "Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo",
  75.         "Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa",
  76.         "RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher","Super GT","Elegant",
  77.         "Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic",
  78.         "Buccaneer","Shamal","Hydra","FCR - 900","NRG - 500","Hpv - 1000","Cement Truck","Tow Truck","Fortune","Cadrona",
  79.         "FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight",
  80.         "Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob",
  81.         "Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus",
  82.         "Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight",
  83.         "Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford",
  84.         "BF-400","Newsvan","Tug","Trailer A","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C",
  85.         "Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)","Police Car (LVPD)","Police Ranger",
  86.         "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  87.         "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  88. };
  89.  
  90. public OnFilterScriptInit()
  91. {
  92.     print("\n--------------------------------------");
  93.     print(" Ulric Vehicle System by Xaviour212");
  94.     print("--------------------------------------\n");
  95.     CreateUlricVehicle(500,2487.1797,-1682.7505,13.0802,92.0700,4,1,80000);
  96.     for(new i = 0; i < MAX_VEHICLES; i++)
  97.     {
  98.         if(!dini_Exists(VFile(i)))
  99.         {
  100.             SetVehicleNumberPlate(i, DefVehPlate);//You can change this
  101.         }
  102.         else if(dini_Exists(VFile(i)))
  103.         {
  104.             SetVehicleNumberPlate(i, dini_Get(VFile(i), "Plate"));
  105.             VehicleInfo[i][Locked] = dini_Int(VFile(i), "Lock");
  106.             VehicleInfo[i][Parked] = dini_Int(VFile(i), "Parked");
  107.             VehicleInfo[i][Alarm] = dini_Int(VFile(i), "Alarm");
  108.             VehicleInfo[i][AlarmOn] = dini_Int(VFile(i), "AlarmOn");
  109.             SetVehicleToRespawn(i);
  110.         }
  111.     }
  112.     return 1;
  113. }
  114.  
  115. public OnVehicleSpawn(vehicleid)
  116. {
  117.     new playerid;
  118.     for(new i = 0; i < MAX_VEHICLES; i++)
  119.     if(dini_Exists(VFile(i)))
  120.     {
  121.         SetVehicleNumberPlate(i, dini_Get(VFile(i), "Plate"));
  122.         if(VehicleInfo[i][Parked] == 1)
  123.         {
  124.              SetVehiclePos(i, dini_Float(VFile(GetPlayerVehicleID(playerid)), "X"), dini_Float(VFile(GetPlayerVehicleID(playerid)), "Y"), dini_Float(VFile(GetPlayerVehicleID(playerid)), "Z"));
  125.         }
  126.     }
  127.     return 1;
  128. }
  129.  
  130. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  131. {
  132.     new string[100];
  133.     if(dini_Int(VFile(vehicleid),"UnBuyable") == 0 && dini_Int(VFile(vehicleid),"Owned") == 1 && dini_Int(PFile(playerid),"CarID") != vehicleid)
  134.     {
  135.         format(string, sizeof(string), "~r~This %s has belogs to %s. And this car is not available for purchase", VehNames[GetVehicleModel(vehicleid)-400],dini_Get(VFile(vehicleid),"Owner"));
  136.         GameTextForPlayer(playerid, string, 3000, 3);
  137.     }
  138.     if(dini_Int(VFile(vehicleid),"UnBuyable") == 0 && dini_Int(VFile(vehicleid),"Owned") == 1 && dini_Int(PFile(playerid),"Slot1") == vehicleid)
  139.     {
  140.         format(string, sizeof(string), "~g~Welcome to you %s, %s. Enjoy with you car", VehNames[GetVehicleModel(vehicleid)-400], Gn(playerid));
  141.         GameTextForPlayer(playerid, string, 3000, 3);
  142.     }
  143.     else if(dini_Int(VFile(vehicleid),"UnBuyable") == 0 && dini_Int(VFile(vehicleid),"Owned") == 1 && dini_Int(PFile(playerid),"Slot2") == vehicleid)
  144.     {
  145.         format(string, sizeof(string), "~g~Welcome to you %s, %s. Enjoy with you car", VehNames[GetVehicleModel(vehicleid)-400], Gn(playerid));
  146.         GameTextForPlayer(playerid, string, 3000, 3);
  147.     }
  148.     else if(dini_Int(VFile(vehicleid),"UnBuyable") == 0 && dini_Int(VFile(vehicleid),"Owned") == 1 && dini_Int(PFile(playerid),"Slot3") == vehicleid)
  149.     {
  150.         format(string, sizeof(string), "~g~Welcome to you %s, %s. Enjoy with you car", VehNames[GetVehicleModel(vehicleid)-400], Gn(playerid));
  151.         GameTextForPlayer(playerid, string, 3000, 3);
  152.     }
  153.     else if(dini_Int(VFile(vehicleid),"UnBuyable") == 1)
  154.     {
  155.         format(string, sizeof(string), "~b~This %s in Unbuyable by Administration server", VehNames[GetVehicleModel(vehicleid)-400]);
  156.         GameTextForPlayer(playerid, string, 3000, 4);
  157.     }
  158.     else if(dini_Int(VFile(vehicleid),"UnBuyable") == 0 && dini_Int(VFile(vehicleid),"Owned") == 0 && VehicleInfo[vehicleid][ToSell] == 1)
  159.     {
  160.         format(string, sizeof(string), "~g~This %s in Buyable. \nThe cost is %d", VehNames[GetVehicleModel(vehicleid)-400], VehicleInfo[vehicleid][Cost]);
  161.         GameTextForPlayer(playerid, string, 3000, 4);
  162.     }
  163.     return 1;
  164. }
  165.  
  166. public OnPlayerUpdate(playerid)
  167. {
  168.     new veh1 = GetPlayerVehicleID(playerid);
  169.     if(IsPlayerInAnyVehicle(playerid))
  170.     {
  171.         if(dini_Int(VFile(veh1),"Lock") == 1 && veh1!=Car1(playerid) && veh1!=Car2(playerid) && veh1!=Car3(playerid))
  172.         {
  173.             new string[126];
  174.             new Float:A, Float:B, Float:C;
  175.             GetPlayerPos(playerid, A, B ,C);
  176.             SetPlayerPos(playerid, A, B ,C);
  177.             format(string, sizeof(string), "This %s locked by %s", VehNames[GetVehicleModel(veh1)-400],dini_Get(VFile(veh1),"Owner"));
  178.             SendClientMessage(playerid, Red, string);
  179.         }
  180.         if(dini_Int(VFile(veh1),"AlarmOn") == 1 && veh1!=Car1(playerid) && veh1!=Car2(playerid) && veh1!=Car3(playerid))
  181.         {
  182.             GetVehicleParamsEx(veh1, engine, lights, alarm, doors, bonnet, boot, objective);
  183.             SetVehicleParamsEx(veh1, engine, lights, 1, doors, bonnet, boot, objective);
  184.             SetTimerEx("DisableAlarm",18000,false,"i",veh1);
  185.         }
  186.     }
  187.     return 1;
  188. }
  189.  
  190. public OnPlayerCommandText(playerid, cmdtext[])
  191. {
  192.     dcmd(vbuy,4,cmdtext);
  193.     dcmd(vsell,5,cmdtext);
  194.     dcmd(vcall,5,cmdtext);
  195.     dcmd(vunbuyable,10,cmdtext);
  196.     dcmd(vbuyable,8,cmdtext);
  197.     dcmd(vlock,5,cmdtext);
  198.     dcmd(vunlock,7,cmdtext);
  199.     dcmd(vpark,5,cmdtext);
  200.     dcmd(vplate,6,cmdtext);
  201.     dcmd(vhelp,5,cmdtext);
  202.     //============================Update in v.16================================
  203.     dcmd(vadmpark,8,cmdtext);
  204.     //=============================Added in v2.0================================
  205.     dcmd(setcost,7,cmdtext);
  206.     dcmd(admvhelp,9,cmdtext);
  207.     //=============================Added in v2.2================================
  208.     dcmd(mycar,5,cmdtext);
  209.     dcmd(openbonnet,10,cmdtext);
  210.     dcmd(closebonnet,11,cmdtext);
  211.     dcmd(buyalarm,8,cmdtext);
  212.     dcmd(alarmon,7,cmdtext);
  213.     dcmd(alarmoff,8,cmdtext);
  214.     dcmd(opendoor,8,cmdtext);
  215.     dcmd(closedoor,9,cmdtext);
  216.     dcmd(lighton,7,cmdtext);
  217.     dcmd(lightoff,8,cmdtext);
  218.  
  219.     return 0;
  220. }
  221.  
  222. dcmd_vbuy(playerid, params[])
  223. {
  224.     #pragma unused params
  225.     new vehicleid = GetPlayerVehicleID(playerid), string[218];
  226.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in Vehicle to use this command");
  227.     if(VehicleInfo[vehicleid][ToSell] == 0) return SendClientMessage(playerid,Red,"[ERROR]This is not a buyable");
  228.     if(dini_Int(VFile(vehicleid),"Owned")== 1) return SendClientMessage(playerid,Red,"[ERROR]This car is already owned");
  229.     if(dini_Int(VFile(vehicleid),"UnBuyable")== 1) return SendClientMessage(playerid,Red,"[ERROR]This car in unbuyable");
  230.     if(GetPlayerMoney(playerid)< VehicleInfo[vehicleid][Cost]) return SendClientMessage(playerid,Red,"[ERROR]You dont have a some money");
  231.     if(Car1(playerid) == 0)
  232.     {
  233.         if(!dini_Exists(PFile(playerid)))
  234.         {
  235.             dini_Create(PFile(playerid));
  236.             SetPlayerSlot1(playerid, vehicleid);
  237.         }
  238.         else if(dini_Exists(PFile(playerid)))
  239.         {
  240.             SetPlayerSlot1(playerid, vehicleid);
  241.         }
  242.         if(!dini_Exists(VFile(vehicleid)))
  243.         {
  244.             dini_Create(VFile(vehicleid));
  245.             SetVehicleOwner(vehicleid, playerid);
  246.         }
  247.         else if(dini_Exists(VFile(vehicleid)))
  248.         {
  249.             SetVehicleOwner(vehicleid, playerid);
  250.         }
  251.         format(string, sizeof(string), "You has buy a %s and placed in slot 1", VehNames[GetVehicleModel(vehicleid)-400]);
  252.         SendClientMessage(playerid, Green, string);
  253.         GivePlayerMoney(playerid, -VehicleInfo[vehicleid][Cost]);
  254.     }
  255.     else if(Car1(playerid) > 0)
  256.     {
  257.         if(Car2(playerid) == 0)
  258.         {
  259.             if(!dini_Exists(PFile(playerid)))
  260.             {
  261.                 dini_Create(PFile(playerid));
  262.                 SetPlayerSlot2(playerid, vehicleid);
  263.             }
  264.             else if(dini_Exists(PFile(playerid)))
  265.             {
  266.                 SetPlayerSlot2(playerid, vehicleid);
  267.             }
  268.             if(!dini_Exists(VFile(vehicleid)))
  269.             {
  270.                 dini_Create(VFile(vehicleid));
  271.                 SetVehicleOwner(vehicleid, playerid);
  272.             }
  273.             else if(dini_Exists(VFile(vehicleid)))
  274.             {
  275.                 SetVehicleOwner(vehicleid, playerid);
  276.             }
  277.             format(string, sizeof(string), "You has buy a %s and placed in slot 2", VehNames[GetVehicleModel(vehicleid)-400]);
  278.             SendClientMessage(playerid, Green, string);
  279.             GivePlayerMoney(playerid, -VehicleInfo[vehicleid][Cost]);
  280.         }
  281.         else if(Car2(playerid) > 0)
  282.         {
  283.             if(Car3(playerid) == 0)
  284.             {
  285.                 if(!dini_Exists(PFile(playerid)))
  286.                 {
  287.                     dini_Create(PFile(playerid));
  288.                     SetPlayerSlot3(playerid, vehicleid);
  289.                 }
  290.                 else if(dini_Exists(PFile(playerid)))
  291.                 {
  292.                     SetPlayerSlot3(playerid, vehicleid);
  293.                 }
  294.                 if(!dini_Exists(VFile(vehicleid)))
  295.                 {
  296.                     dini_Create(VFile(vehicleid));
  297.                     SetVehicleOwner(vehicleid, playerid);
  298.                 }
  299.                 else if(dini_Exists(VFile(vehicleid)))
  300.                 {
  301.                     SetVehicleOwner(vehicleid, playerid);
  302.                 }
  303.                 format(string, sizeof(string), "You has buy a %s and placed in slot 1", VehNames[GetVehicleModel(vehicleid)-400]);
  304.                 SendClientMessage(playerid, Green, string);
  305.                 GivePlayerMoney(playerid, -VehicleInfo[vehicleid][Cost]);
  306.             }
  307.             else if(Car3(playerid) > 0)
  308.             {
  309.                 SendClientMessage(playerid, Red, "You dont have some slot more. You have to sell your vehicle in first");
  310.             }
  311.         }
  312.     }
  313.     return 1;
  314. }
  315.  
  316. dcmd_vsell(playerid, params[])
  317. {
  318.     #pragma unused params
  319.     new vehicleid = GetPlayerVehicleID(playerid);
  320.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in Vehicle to use this command");
  321.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  322.     {
  323.         SetSlot1PlayerEmpty(playerid);
  324.         SetVehicleNotOwned(vehicleid);
  325.         dini_Remove(VFile(vehicleid));
  326.         SendClientMessage(playerid, Green,"You has sell your car in slot 1. Now your slot 1 has empty");
  327.         GivePlayerMoney(playerid, VehicleInfo[vehicleid][Cost]-1000);
  328.         SetVehicleToRespawn(vehicleid);
  329.     }
  330.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  331.     {
  332.         SetSlot2PlayerEmpty(playerid);
  333.         SetVehicleNotOwned(vehicleid);
  334.         dini_Remove(VFile(vehicleid));
  335.         SendClientMessage(playerid, Green,"You has sell your car in slot 2. Now your slot 2 has empty");
  336.         GivePlayerMoney(playerid, VehicleInfo[vehicleid][Cost]-1000);
  337.         SetVehicleToRespawn(vehicleid);
  338.     }
  339.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  340.     {
  341.         SetSlot3PlayerEmpty(playerid);
  342.         SetVehicleNotOwned(vehicleid);
  343.         dini_Remove(VFile(vehicleid));
  344.         SendClientMessage(playerid, Green,"You has sell your car in slot 3. Now your slot 3 has empty");
  345.         GivePlayerMoney(playerid, VehicleInfo[vehicleid][Cost]-1000);
  346.         SetVehicleToRespawn(vehicleid);
  347.     }
  348.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  349.     {
  350.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  351.     }
  352.     return 1;
  353. }
  354.  
  355. dcmd_vcall(playerid, params[])
  356. {
  357.     new Slot;
  358.     if(sscanf(params,"d",Slot))return SendClientMessage(playerid, Red, "[ERROR]Usage: /vcall [Slot]");
  359.     if(Slot == 1)
  360.     {
  361.         if(Car1(playerid) == 0) return SendClientMessage(playerid, Red, "You didn't have a car in slot 1");
  362.         SetTimerEx("Timer1",5000,false,"i",playerid);
  363.         SendClientMessage(playerid, Green, "You has call you vehicle. Please wait 5 second");
  364.         SetVehicleToRespawn(Car1(playerid));
  365.     }
  366.     else if(Slot == 2)
  367.     {
  368.         if(Car2(playerid) == 0) return SendClientMessage(playerid, Red, "You didn't have a car in slot 2");
  369.         SetTimerEx("Timer1",5000,false,"i",playerid);
  370.         SendClientMessage(playerid, Green, "You has call you vehicle. Please wait 5 second");
  371.         SetVehicleToRespawn(Car2(playerid));
  372.     }
  373.     else if(Slot == 3)
  374.     {
  375.         if(Car3(playerid) == 0) return SendClientMessage(playerid, Red, "You didn't have a car in slot 3");
  376.         SetTimerEx("Timer1",5000,false,"i",playerid);
  377.         SendClientMessage(playerid, Green, "You has call you vehicle. Please wait 5 second");
  378.     }
  379.     return 1;
  380. }
  381.  
  382. dcmd_vunbuyable(playerid, params[])
  383. {
  384.     #pragma unused params
  385.     new vehicleid = GetPlayerVehicleID(playerid), string[50];
  386.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Red,"[ERROR]Only RCON Admin can use this command");
  387.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  388.     if(VehicleInfo[vehicleid][ToSell] == 0) return SendClientMessage(playerid,Red,"[ERROR]This is not a buyable");
  389.     if(dini_Int(VFile(vehicleid),"UnBuyable")== 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle already in unbuyable");
  390.     if(!dini_Exists(VFile(vehicleid)))
  391.     {
  392.         dini_Create(VFile(vehicleid));
  393.         SetUnbuyableVehicle(vehicleid, 1);
  394.     }
  395.     else
  396.     {
  397.         SetUnbuyableVehicle(vehicleid, 1);
  398.     }
  399.     format(string, sizeof(string), "Now this %s is in unbuyable", VehNames[GetVehicleModel(vehicleid)-400]);
  400.     SendClientMessage(playerid, Green, string);
  401.     return 1;
  402. }
  403.  
  404. dcmd_vbuyable(playerid, params[])
  405. {
  406.     #pragma unused params
  407.     new vehicleid = GetPlayerVehicleID(playerid), string[50];
  408.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Red,"[ERROR]Only RCON Admin can use this command");
  409.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  410.     if(VehicleInfo[vehicleid][ToSell] == 0) return SendClientMessage(playerid,Red,"[ERROR]This is not a buyable");
  411.     if(dini_Int(VFile(vehicleid),"UnBuyable")== 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle already in buyable");
  412.     if(!dini_Exists(VFile(vehicleid)))
  413.     {
  414.         dini_Create(VFile(vehicleid));
  415.         SetUnbuyableVehicle(vehicleid, 0);
  416.     }
  417.     else
  418.     {
  419.         SetUnbuyableVehicle(vehicleid, 0);
  420.     }
  421.     format(string, sizeof(string), "Now this %s is in buyable", VehNames[GetVehicleModel(vehicleid)-400]);
  422.     SendClientMessage(playerid, Green, string);
  423.     return 1;
  424. }
  425.  
  426. dcmd_vlock(playerid, params[])
  427. {
  428.     #pragma unused params
  429.     new vehicleid = GetPlayerVehicleID(playerid), string[50];
  430.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  431.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  432.     {
  433.         if(VehicleInfo[vehicleid][Locked] == 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle has been locked");
  434.         SetVehicleLockStatus(vehicleid, 1);
  435.         format(string, sizeof(string), "Now this %s has been locked", VehNames[GetVehicleModel(vehicleid)-400]);
  436.         SendClientMessage(playerid, Green, string);
  437.     }
  438.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  439.     {
  440.         if(VehicleInfo[vehicleid][Locked] == 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle has been locked");
  441.         SetVehicleLockStatus(vehicleid, 1);
  442.         format(string, sizeof(string), "Now this %s has been locked", VehNames[GetVehicleModel(vehicleid)-400]);
  443.         SendClientMessage(playerid, Green, string);
  444.     }
  445.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  446.     {
  447.         if(VehicleInfo[vehicleid][Locked] == 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle has been locked");
  448.         SetVehicleLockStatus(vehicleid, 1);
  449.         format(string, sizeof(string), "Now this %s has been locked", VehNames[GetVehicleModel(vehicleid)-400]);
  450.         SendClientMessage(playerid, Green, string);
  451.     }
  452.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  453.     {
  454.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  455.     }
  456.     return 1;
  457. }
  458.  
  459. dcmd_vunlock(playerid, params[])
  460. {
  461.     #pragma unused params
  462.     new vehicleid = GetPlayerVehicleID(playerid), string[100];
  463.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  464.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  465.     {
  466.         if(VehicleInfo[vehicleid][Locked] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle not in locked");
  467.         SetVehicleLockStatus(vehicleid, 0);
  468.         format(string, sizeof(string), "Now this %s has been unlocked", VehNames[GetVehicleModel(vehicleid)-400]);
  469.         SendClientMessage(playerid, Green, string);
  470.     }
  471.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  472.     {
  473.         if(VehicleInfo[vehicleid][Locked] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle not in locked");
  474.         SetVehicleLockStatus(vehicleid, 0);
  475.         format(string, sizeof(string), "Now this %s has been unlocked", VehNames[GetVehicleModel(vehicleid)-400]);
  476.         SendClientMessage(playerid, Green, string);
  477.     }
  478.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  479.     {
  480.         if(VehicleInfo[vehicleid][Locked] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle not in locked");
  481.         SetVehicleLockStatus(vehicleid, 0);
  482.         format(string, sizeof(string), "Now this %s has been unlocked", VehNames[GetVehicleModel(vehicleid)-400]);
  483.         SendClientMessage(playerid, Green, string);
  484.     }
  485.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  486.     {
  487.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  488.     }
  489.     return 1;
  490. }
  491.  
  492. dcmd_vpark(playerid, params[])
  493. {
  494.     #pragma unused params
  495.     new vehicleid = GetPlayerVehicleID(playerid), string[100];
  496.     new Float:A, Float:B, Float:C;
  497.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  498.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  499.     {
  500.         GetPlayerPos(playerid, A, B, C);
  501.         ParkVehicle1(vehicleid, playerid, A, B, C);
  502.         format(string, sizeof(string), "You has park you car in %f, %f, %f", A, B, C);
  503.         SendClientMessage(playerid, Green, string);
  504.     }
  505.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  506.     {
  507.         GetPlayerPos(playerid, A, B, C);
  508.         ParkVehicle2(vehicleid, playerid, A, B, C);
  509.         format(string, sizeof(string), "You has park you car in %f, %f, %f", A, B, C);
  510.         SendClientMessage(playerid, Green, string);
  511.     }
  512.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  513.     {
  514.         GetPlayerPos(playerid, A, B, C);
  515.         ParkVehicle3(vehicleid, playerid, A, B, C);
  516.         format(string, sizeof(string), "You has park you car in %f, %f, %f", A, B, C);
  517.         SendClientMessage(playerid, Green, string);
  518.     }
  519.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  520.     {
  521.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  522.     }
  523.     return 1;
  524. }
  525.  
  526. dcmd_vplate(playerid, params[])
  527. {
  528.     new string[50], vehicleid = GetPlayerVehicleID(playerid);
  529.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  530.     if(!strlen(params)) return SendClientMessage(playerid, Red, "[ERROR]Use: /vplate [plate]");
  531.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  532.     {
  533.         dini_Set(VFile(vehicleid),"Plate",params);
  534.         SetVehicleNumberPlate(vehicleid, params);
  535.         format(string, sizeof(string), "You car plate has been changed to %s", params);
  536.         SendClientMessage(playerid, Green, string);
  537.         SetVehicleToRespawn(vehicleid);
  538.     }
  539.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  540.     {
  541.         dini_Set(VFile(vehicleid),"Plate",params);
  542.         SetVehicleNumberPlate(vehicleid, params);
  543.         format(string, sizeof(string), "You car plate has been changed to %s", params);
  544.         SendClientMessage(playerid, Green, string);
  545.         SetVehicleToRespawn(vehicleid);
  546.     }
  547.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  548.     {
  549.         dini_Set(VFile(vehicleid),"Plate",params);
  550.         SetVehicleNumberPlate(vehicleid, params);
  551.         format(string, sizeof(string), "You car plate has been changed to %s", params);
  552.         SendClientMessage(playerid, Green, string);
  553.         SetVehicleToRespawn(vehicleid);
  554.     }
  555.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  556.     {
  557.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  558.     }
  559.     return 1;
  560. }
  561.  
  562. dcmd_vhelp(playerid, params[])
  563. {
  564.     #pragma unused params
  565.     SendClientMessage(playerid, Blue, "Ulric Vehicle System by ~Xaviour212~");
  566.     SendClientMessage(playerid, Green, "Type /vbuy to buy a vehicle");
  567.     SendClientMessage(playerid, Green, "Type /vsell to sell you car");
  568.     SendClientMessage(playerid, Green, "Type /vcall to call your vehicle");
  569.     SendClientMessage(playerid, Green, "Type /vlock to lock your car");
  570.     SendClientMessage(playerid, Green, "Type /vunlock to unlock your car");
  571.     SendClientMessage(playerid, Green, "Type /vpark to park your vehicle");
  572.     SendClientMessage(playerid, Green, "Type /vplate to change your car plate");
  573.     SendClientMessage(playerid, Green, "Type /mycar for look you car");
  574.     SendClientMessage(playerid, Green, "Type /openbonnet to open you car bonnet");
  575.     SendClientMessage(playerid, Green, "Type /closebonnet to close your car");
  576.     SendClientMessage(playerid, Green, "Type /buyalarm to buy alarm");
  577.     SendClientMessage(playerid, Green, "Type /alarmon for turned alarm");
  578.     SendClientMessage(playerid, Green, "Type /alarmoff for turn off alarm");
  579.     return 1;
  580. }
  581.  
  582. dcmd_admvhelp(playerid, params[])
  583. {
  584.     #pragma unused params
  585.     if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Red, "You are not a admin");
  586.     SendClientMessage(playerid, Blue, "Rcon Commands");
  587.     SendClientMessage(playerid, Green, "Type /vbuyable to set a car to buyable");
  588.     SendClientMessage(playerid, Green, "Type /vunbuyable to set a car to unbuyable");
  589.     SendClientMessage(playerid, Green, "Type /vadmpark to park a vehicle");
  590.     SendClientMessage(playerid, Green, "Type /setcost to set a vehicle cost");
  591.     return 1;
  592. }
  593.  
  594. dcmd_vadmpark(playerid, params[])
  595. {
  596.     #pragma unused params
  597.     new vehicleid = GetPlayerVehicleID(playerid), string[100];
  598.     new Float:A, Float:B, Float:C;
  599.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Red,"[ERROR]Only RCON admin can use this command");
  600.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  601.     GetPlayerPos(playerid, A, B, C);
  602.     ParkVehicle(vehicleid);
  603.     format(string, sizeof(string), "You has park this %s in %f, %f, %f", VehNames[GetVehicleModel(vehicleid)-400], A, B, C);
  604.     SendClientMessage(playerid, Green, string);
  605.     return 1;
  606. }
  607.  
  608. dcmd_setcost(playerid, params[])
  609. {
  610.     new vehicleid = GetPlayerVehicleID(playerid), string[100];
  611.     new cost;
  612.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Red,"[ERROR]Only RCON admin can use this command");
  613.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  614.     if(VehicleInfo[vehicleid][ToSell] == 0) return SendClientMessage(playerid,Red,"[ERROR]This is not a buyable");
  615.     if(sscanf(params,"d",cost))return SendClientMessage(playerid, Red, "[ERROR]Usage: /setcost [Amount]");
  616.     if(!dini_Exists(VFile(vehicleid)))
  617.     {
  618.         dini_Create(VFile(vehicleid));
  619.         SetVehicleCost(vehicleid, cost);
  620.     }
  621.     else if(dini_Exists(VFile(vehicleid)))
  622.     {
  623.         SetVehicleCost(vehicleid, cost);
  624.     }
  625.     format(string, sizeof(string), "You has changed this %s cost to %d", VehNames[GetVehicleModel(vehicleid)-400], cost);
  626.     SendClientMessage(playerid, Green, string);
  627.     return 1;
  628. }
  629.  
  630. dcmd_mycar(playerid, params[])
  631. {
  632.     #pragma unused params
  633.     PlayerVehicle(playerid);
  634.     return 1;
  635. }
  636.  
  637. dcmd_openbonnet(playerid, params[])
  638. {
  639.     #pragma unused params
  640.     new vehicleid = GetPlayerVehicleID(playerid);
  641.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  642.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  643.     {
  644.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  645.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 1, 1, objective);
  646.     }
  647.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  648.     {
  649.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  650.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 1, 1, objective);
  651.     }
  652.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  653.     {
  654.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  655.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 1, 1, objective);
  656.     }
  657.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  658.     {
  659.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  660.     }
  661.     return 1;
  662. }
  663.  
  664. dcmd_closebonnet(playerid, params[])
  665. {
  666.     #pragma unused params
  667.     new vehicleid = GetPlayerVehicleID(playerid);
  668.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  669.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  670.     {
  671.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  672.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 0, 0, objective);
  673.     }
  674.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  675.     {
  676.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  677.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 0, 0, objective);
  678.     }
  679.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  680.     {
  681.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  682.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 0, 0, objective);
  683.     }
  684.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  685.     {
  686.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  687.     }
  688.     return 1;
  689. }
  690.  
  691. dcmd_opendoor(playerid, params[])
  692. {
  693.     #pragma unused params
  694.     new vehicleid = GetPlayerVehicleID(playerid);
  695.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  696.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  697.     {
  698.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  699.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, 1, bonnet, boot, objective);
  700.     }
  701.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  702.     {
  703.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  704.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, 1, bonnet, boot, objective);
  705.     }
  706.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  707.     {
  708.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  709.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, 1, bonnet, boot, objective);
  710.     }
  711.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  712.     {
  713.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  714.     }
  715.     return 1;
  716. }
  717.  
  718. dcmd_closedoor(playerid, params[])
  719. {
  720.     #pragma unused params
  721.     new vehicleid = GetPlayerVehicleID(playerid);
  722.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  723.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  724.     {
  725.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  726.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, 0, bonnet, boot, objective);
  727.     }
  728.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  729.     {
  730.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  731.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, 0, bonnet, boot, objective);
  732.     }
  733.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  734.     {
  735.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  736.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, 0, bonnet, boot, objective);
  737.     }
  738.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  739.     {
  740.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  741.     }
  742.     return 1;
  743. }
  744.  
  745. dcmd_lighton(playerid, params[])
  746. {
  747.     #pragma unused params
  748.     new vehicleid = GetPlayerVehicleID(playerid);
  749.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  750.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  751.     {
  752.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  753.         SetVehicleParamsEx(vehicleid, engine, 1, alarm, doors, bonnet, boot, objective);
  754.     }
  755.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  756.     {
  757.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  758.         SetVehicleParamsEx(vehicleid, engine, 1, alarm, doors, bonnet, boot, objective);
  759.     }
  760.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  761.     {
  762.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  763.         SetVehicleParamsEx(vehicleid, engine, 1, alarm, doors, bonnet, boot, objective);
  764.     }
  765.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  766.     {
  767.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  768.     }
  769.     return 1;
  770. }
  771.  
  772. dcmd_lightoff(playerid, params[])
  773. {
  774.     #pragma unused params
  775.     new vehicleid = GetPlayerVehicleID(playerid);
  776.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  777.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  778.     {
  779.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  780.         SetVehicleParamsEx(vehicleid, engine, 0, alarm, doors, bonnet, boot, objective);
  781.     }
  782.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  783.     {
  784.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  785.         SetVehicleParamsEx(vehicleid, engine, 0, alarm, doors, bonnet, boot, objective);
  786.     }
  787.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  788.     {
  789.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  790.         SetVehicleParamsEx(vehicleid, engine, 0, alarm, doors, bonnet, boot, objective);
  791.     }
  792.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  793.     {
  794.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  795.     }
  796.     return 1;
  797. }
  798.  
  799. dcmd_buyalarm(playerid, params[])
  800. {
  801.     #pragma unused params
  802.     new vehicleid = GetPlayerVehicleID(playerid);
  803.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  804.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  805.     {
  806.         if(VehicleInfo[vehicleid][Alarm] == 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle already have alarm");
  807.         VehicleInfo[vehicleid][Alarm] = 1;
  808.         dini_IntSet(VFile(vehicleid),"Alarm",1);
  809.         SendClientMessage(playerid, Blue, "Your vehicle has an alarm installed");
  810.     }
  811.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  812.     {
  813.         if(VehicleInfo[vehicleid][Alarm] == 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle already have alarm");
  814.         VehicleInfo[vehicleid][Alarm] = 1;
  815.         dini_IntSet(VFile(vehicleid),"Alarm",1);
  816.         SendClientMessage(playerid, Blue, "Your vehicle has an alarm installed");
  817.     }
  818.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  819.     {
  820.         if(VehicleInfo[vehicleid][Alarm] == 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle already have alarm");
  821.         VehicleInfo[vehicleid][Alarm] = 1;
  822.         dini_IntSet(VFile(vehicleid),"Alarm",1);
  823.         SendClientMessage(playerid, Blue, "Your vehicle has an alarm installed");
  824.     }
  825.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  826.     {
  827.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  828.     }
  829.     return 1;
  830. }
  831.  
  832. dcmd_alarmon(playerid, params[])
  833. {
  834.     #pragma unused params
  835.     new vehicleid = GetPlayerVehicleID(playerid);
  836.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  837.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  838.     {
  839.         if(VehicleInfo[vehicleid][Alarm] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle didnt have alarm");
  840.         if(VehicleInfo[vehicleid][AlarmOn] == 1) return SendClientMessage(playerid, Red, "[ERROR]Alarm has been active in this vehicle");
  841.         VehicleInfo[vehicleid][AlarmOn] = 1;
  842.         dini_IntSet(VFile(vehicleid),"AlarmOn",1);
  843.         SendClientMessage(playerid, Blue, "Alarm has been turned");
  844.     }
  845.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  846.     {
  847.         if(VehicleInfo[vehicleid][Alarm] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle didnt have alarm");
  848.         if(VehicleInfo[vehicleid][AlarmOn] == 1) return SendClientMessage(playerid, Red, "[ERROR]Alarm has been active in this vehicle");
  849.         VehicleInfo[vehicleid][AlarmOn] = 1;
  850.         dini_IntSet(VFile(vehicleid),"AlarmOn",1);
  851.         SendClientMessage(playerid, Blue, "Alarm has been turned");
  852.     }
  853.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  854.     {
  855.         if(VehicleInfo[vehicleid][Alarm] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle didnt have alarm");
  856.         if(VehicleInfo[vehicleid][AlarmOn] == 1) return SendClientMessage(playerid, Red, "[ERROR]Alarm has been active in this vehicle");
  857.         VehicleInfo[vehicleid][AlarmOn] = 1;
  858.         dini_IntSet(VFile(vehicleid),"AlarmOn",1);
  859.         SendClientMessage(playerid, Blue, "Alarm has been turned");
  860.     }
  861.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  862.     {
  863.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  864.     }
  865.     return 1;
  866. }
  867.  
  868. dcmd_alarmoff(playerid, params[])
  869. {
  870.     #pragma unused params
  871.     new vehicleid = GetPlayerVehicleID(playerid);
  872.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
  873.     if(vehicleid==Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  874.     {
  875.         if(VehicleInfo[vehicleid][Alarm] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle didnt have alarm");
  876.         if(VehicleInfo[vehicleid][AlarmOn] == 0) return SendClientMessage(playerid, Red, "[ERROR]Alarm in this vehicle didnt in active");
  877.         VehicleInfo[vehicleid][AlarmOn] = 0;
  878.         dini_IntSet(VFile(vehicleid),"AlarmOn",0);
  879.         SendClientMessage(playerid, Blue, "Alarm has been turn off");
  880.     }
  881.     else if(vehicleid!=Car1(playerid) && vehicleid==Car2(playerid) && vehicleid!=Car3(playerid))
  882.     {
  883.         if(VehicleInfo[vehicleid][Alarm] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle didnt have alarm");
  884.         if(VehicleInfo[vehicleid][AlarmOn] == 0) return SendClientMessage(playerid, Red, "[ERROR]Alarm in this vehicle didnt in active");
  885.         VehicleInfo[vehicleid][AlarmOn] = 0;
  886.         dini_IntSet(VFile(vehicleid),"AlarmOn",0);
  887.         SendClientMessage(playerid, Blue, "Alarm has been turn off");
  888.     }
  889.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid==Car3(playerid))
  890.     {
  891.         if(VehicleInfo[vehicleid][Alarm] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle didnt have alarm");
  892.         if(VehicleInfo[vehicleid][AlarmOn] == 0) return SendClientMessage(playerid, Red, "[ERROR]Alarm in this vehicle didnt in active");
  893.         VehicleInfo[vehicleid][AlarmOn] = 0;
  894.         dini_IntSet(VFile(vehicleid),"AlarmOn",0);
  895.         SendClientMessage(playerid, Blue, "Alarm has been turn off");
  896.     }
  897.     else if(vehicleid!=Car1(playerid) && vehicleid!=Car2(playerid) && vehicleid!=Car3(playerid))
  898.     {
  899.         SendClientMessage(playerid, Red, "[ERROR]This is not your car");
  900.     }
  901.     return 1;
  902. }
  903. /*==============================================================================
  904.                                 Function
  905. ==============================================================================*/
  906. forward SetVehicleCost(vehicleid, cost);
  907. public SetVehicleCost(vehicleid, cost)
  908. {
  909.     dini_IntSet(VFile(vehicleid),"Cost",cost);
  910.     VehicleInfo[vehicleid][Cost] = cost;
  911. }
  912.  
  913. forward SetVehicleOwner(vehicleid, playerid);
  914. public SetVehicleOwner(vehicleid, playerid)
  915. {
  916.     dini_IntSet(VFile(vehicleid),"Owned",1);
  917.     dini_Set(VFile(vehicleid),"Owner",Gn(playerid));
  918.     dini_Set(VFile(vehicleid),"Plate",Gn(playerid));
  919. }
  920.  
  921. forward SetVehicleNotOwned(vehicleid);
  922. public SetVehicleNotOwned(vehicleid)
  923. {
  924.     dini_IntSet(VFile(vehicleid),"Owner",0);
  925.     dini_IntSet(VFile(vehicleid),"Owned",0);
  926.     dini_IntSet(VFile(vehicleid),"UnBuyable",0);
  927.     SetVehicleLockStatus(vehicleid, 0);
  928. }
  929.  
  930. SetUnbuyableVehicle(vehicleid, status)
  931. {
  932.     dini_IntSet(VFile(vehicleid),"UnBuyable",status);
  933.     dini_IntSet(VFile(vehicleid),"Owned",0);
  934.     dini_IntSet(VFile(vehicleid),"Owner",0);
  935. }
  936.  
  937. SetVehicleLockStatus(vehicleid, status)
  938. {
  939.     dini_IntSet(VFile(vehicleid),"Lock",status);
  940.     VehicleInfo[vehicleid][Locked] = status;
  941. }
  942.  
  943. SetPlayerSlot1(playerid, vehicleid)
  944. {
  945.     dini_IntSet(PFile(playerid),"Slot1",vehicleid);
  946. }
  947.  
  948. SetPlayerSlot2(playerid, vehicleid)
  949. {
  950.     dini_IntSet(PFile(playerid),"Slot2",vehicleid);
  951. }
  952.  
  953. SetPlayerSlot3(playerid, vehicleid)
  954. {
  955.     dini_IntSet(PFile(playerid),"Slot3",vehicleid);
  956. }
  957.  
  958. SetSlot1PlayerEmpty(playerid)
  959. {
  960.     dini_IntSet(PFile(playerid),"Slot1",0);
  961. }
  962.  
  963. SetSlot2PlayerEmpty(playerid)
  964. {
  965.     dini_IntSet(PFile(playerid),"Slot2",0);
  966. }
  967.  
  968. SetSlot3PlayerEmpty(playerid)
  969. {
  970.     dini_IntSet(PFile(playerid),"Slot3",0);
  971. }
  972.  
  973. stock Car1(playerid) return dini_Int(PFile(playerid),"Slot1");
  974.  
  975. stock Car2(playerid) return dini_Int(PFile(playerid),"Slot2");
  976.  
  977. stock Car3(playerid) return dini_Int(PFile(playerid),"Slot3");
  978.  
  979. ParkVehicle1(vehicleid, playerid, Float:X, Float:Y, Float:Z)
  980. {
  981.     dini_IntSet(VFile(vehicleid),"Parked",1);
  982.     GetVehiclePos(Car1(playerid),X,Y,Z);
  983.     dini_FloatSet(VFile(vehicleid),"X",X);
  984.     dini_FloatSet(VFile(vehicleid),"Y",Y);
  985.     dini_FloatSet(VFile(vehicleid),"Z",Z);
  986.     VehicleInfo[vehicleid][Parked] = 1;
  987. }
  988.  
  989. ParkVehicle2(vehicleid, playerid, Float:X, Float:Y, Float:Z)
  990. {
  991.     dini_IntSet(VFile(vehicleid),"Parked",1);
  992.     GetVehiclePos(Car2(playerid),X,Y,Z);
  993.     dini_FloatSet(VFile(vehicleid),"X",X);
  994.     dini_FloatSet(VFile(vehicleid),"Y",Y);
  995.     dini_FloatSet(VFile(vehicleid),"Z",Z);
  996.     VehicleInfo[vehicleid][Parked] = 1;
  997. }
  998.  
  999. ParkVehicle3(vehicleid, playerid, Float:X, Float:Y, Float:Z)
  1000. {
  1001.     dini_IntSet(VFile(vehicleid),"Parked",1);
  1002.     GetVehiclePos(Car3(playerid),X,Y,Z);
  1003.     dini_FloatSet(VFile(vehicleid),"X",X);
  1004.     dini_FloatSet(VFile(vehicleid),"Y",Y);
  1005.     dini_FloatSet(VFile(vehicleid),"Z",Z);
  1006.     VehicleInfo[vehicleid][Parked] = 1;
  1007. }
  1008.  
  1009. ParkVehicle(vehicleid)
  1010. {
  1011.     new Float:A, Float:B, Float:C;
  1012.     dini_IntSet(VFile(vehicleid),"Parked",1);
  1013.     GetVehiclePos(vehicleid,A,B,C);
  1014.     dini_FloatSet(VFile(vehicleid),"X",A);
  1015.     dini_FloatSet(VFile(vehicleid),"Y",B);
  1016.     dini_FloatSet(VFile(vehicleid),"Z",C);
  1017.     VehicleInfo[vehicleid][Parked] = 1;
  1018. }
  1019.  
  1020. forward Timer1(playerid);
  1021. public Timer1(playerid)
  1022. {
  1023.     new veh1 = Car1(playerid);
  1024.     new string[128];
  1025.     CallVehicle1(playerid);
  1026.     format(string, sizeof(string), "Your %s has been teleported to you. Enjoy with you car", VehNames[GetVehicleModel(veh1)-400]);
  1027.     SendClientMessage(playerid, Green, string);
  1028. }
  1029.  
  1030. forward Timer2(playerid);
  1031. public Timer2(playerid)
  1032. {
  1033.     new veh2 = Car2(playerid);
  1034.     new string[128];
  1035.     CallVehicle2(playerid);
  1036.     format(string, sizeof(string), "Your %s has been teleported to you. Enjoy with you car", VehNames[GetVehicleModel(veh2)-400]);
  1037.     SendClientMessage(playerid, Green, string);
  1038. }
  1039.  
  1040. forward Timer3(playerid);
  1041. public Timer3(playerid)
  1042. {
  1043.     new veh3 = Car3(playerid);
  1044.     new string[128];
  1045.     CallVehicle3(playerid);
  1046.     format(string, sizeof(string), "Your %s has been teleported to you. Enjoy with you car", VehNames[GetVehicleModel(veh3)-400]);
  1047.     SendClientMessage(playerid, Green, string);
  1048. }
  1049.  
  1050. CallVehicle1(playerid)
  1051. {
  1052.     new Float:p[4];
  1053.     GetPlayerPos(playerid,p[0],p[1],p[2]);
  1054.     GetPlayerFacingAngle(playerid,p[3]);
  1055.     SetVehiclePos(Car1(playerid),p[0]+3,p[1],p[2]);
  1056.     SetVehicleZAngle(Car1(playerid),p[3]);
  1057. }
  1058.  
  1059. CallVehicle2(playerid)
  1060. {
  1061.     new Float:p[4];
  1062.     GetPlayerPos(playerid,p[0],p[1],p[2]);
  1063.     GetPlayerFacingAngle(playerid,p[3]);
  1064.     SetVehiclePos(Car2(playerid),p[0]+3,p[1],p[2]);
  1065.     SetVehicleZAngle(Car2(playerid),p[3]);
  1066. }
  1067.  
  1068. CallVehicle3(playerid)
  1069. {
  1070.     new Float:p[4];
  1071.     GetPlayerPos(playerid,p[0],p[1],p[2]);
  1072.     GetPlayerFacingAngle(playerid,p[3]);
  1073.     SetVehiclePos(Car3(playerid),p[0]+3,p[1],p[2]);
  1074.     SetVehicleZAngle(Car3(playerid),p[3]);
  1075. }
  1076.  
  1077. forward DisableAlarm(vehicleid);
  1078. public DisableAlarm(vehicleid)
  1079. {
  1080.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  1081.     SetVehicleParamsEx(vehicleid, engine, lights, 0, doors, bonnet, boot, objective);
  1082.     return 1;
  1083. }
  1084.  
  1085. stock CreateUlricVehicle(VehicleModel, Float:X, Float:Y, Float:Z, Float:angle, Colour1, Colour2, cost)
  1086. {
  1087.     new ulric = AddStaticVehicle(VehicleModel, X, Y, Z, angle, Colour1, Colour2);
  1088.     dini_Create(VFile(ulric));
  1089.     VehicleInfo[ulric][ToSell] = 1;
  1090.     SetVehicleCost(ulric, cost);
  1091.     return 1;
  1092. }
  1093.  
  1094. PlayerVehicle(playerid)
  1095. {
  1096.     new string[128]; new veh3=Car3(playerid);
  1097.     new veh1=Car1(playerid); new veh2=Car2(playerid);
  1098.     SendClientMessage(playerid, Blue, "");
  1099.     SendClientMessage(playerid, Blue, "");
  1100.     format(string, sizeof(string), "===========%s Vehicle=========", Gn(playerid));
  1101.     SendClientMessage(playerid, Blue, string);
  1102.     if(Car1(playerid) > 0)
  1103.     {
  1104.         format(string, sizeof(string), "Slot 1 - %s", VehNames[GetVehicleModel(veh1)-400]);
  1105.         SendClientMessage(playerid, Green, string);
  1106.     }
  1107.     else if(Car1(playerid) == 0)
  1108.     {
  1109.         format(string, sizeof(string), "Slot 1 - NONE");
  1110.         SendClientMessage(playerid, Green, string);
  1111.     }
  1112.     if(Car2(playerid) > 0)
  1113.     {
  1114.         format(string, sizeof(string), "Slot 2 - %s", VehNames[GetVehicleModel(veh2)-400]);
  1115.         SendClientMessage(playerid, Green, string);
  1116.     }
  1117.     else if(Car2(playerid) == 0)
  1118.     {
  1119.         format(string, sizeof(string), "Slot 2 - NONE");
  1120.         SendClientMessage(playerid, Green, string);
  1121.     }
  1122.     if(Car3(playerid) > 0)
  1123.     {
  1124.         format(string, sizeof(string), "Slot 3 - %s", VehNames[GetVehicleModel(veh3)-400]);
  1125.         SendClientMessage(playerid, Green, string);
  1126.     }
  1127.     else if(Car3(playerid) == 0)
  1128.     {
  1129.         format(string, sizeof(string), "Slot 3 - NONE");
  1130.         SendClientMessage(playerid, Green, string);
  1131.     }
  1132.     SendClientMessage(playerid, Blue, "=================================");
  1133. }
  1134.  
  1135. stock Gn(playerid)
  1136. {
  1137.     new pname[24];
  1138.     GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
  1139.     return pname;
  1140. }
  1141.  
  1142. stock PFile(playerid)
  1143. {
  1144.     format(file,64,"Cars/Users/%s.ini",Gn(playerid));
  1145.     return file;
  1146. }
  1147.  
  1148. stock VFile(vehicleid)
  1149. {
  1150.     new Car[64];
  1151.     format(Car,64,"Cars/%d.ini",vehicleid);
  1152.     return Car;
  1153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement