Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*==========================Ulric Vehicle System================================
- Credits to:
- - Xaviour212, make this filterscript
- - Sheen, helping me
- - Xtrememood, fixed the Lock bug
- //==========================Change log==========================================
- In v1.6 :
- - Fixed /vbuy bug
- - New CMD : /vfind, /vunfind, /vadmpark
- - Type /vfind - for find you car
- - Type /vunfind - for destroy checkpoint of /vfind
- - Type /vadmpark (RCON CMD) - for park car
- In v2.0 :
- - Fixed plate bug
- - Manual set cost for Vehicle
- - Fixed bug in lock vehicle
- - Added a new command, /setcost and /sellcarto
- - New GameText for someone who entered car if it he is the owner of the car
- - Type /setcost (RCON CMD) for set a vehicle cost
- - Type /sellcarto for sell you car to a player
- In v2.0.1
- - Fixed /vbuy
- - Fixed Park bug
- ====================Dont Remove The Credits, Please.....======================*/
- #include <a_samp>
- #include <dini>
- #include <sscanf>
- #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
- #define Blue 0x0259EAAA
- #define Red 0xFF0000AA
- #define Green 0x16EB43FF
- #define DefVehCost 80000 // You can change this
- #define DefVehPlate "~Xav~212"
- enum VehicleData
- {
- Cost,
- Locked,
- Parked,
- Owner,
- SellCost,
- VehID
- };
- new VehicleInfo[MAX_VEHICLES][VehicleData];
- enum CarSellData
- {
- Owner,
- SellCost,
- VehID
- };
- new SellCarInfo[CarSellData];
- new file[256];
- new VehNames[212][] =
- {
- "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster",
- "Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto",
- "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee",
- "Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo",
- "RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer",
- "Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer",
- "Pcj - 600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot",
- "Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","Zr3 50","Walton","Regina","Comet","Bmx",
- "Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo",
- "Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa",
- "RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher","Super GT","Elegant",
- "Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic",
- "Buccaneer","Shamal","Hydra","FCR - 900","NRG - 500","Hpv - 1000","Cement Truck","Tow Truck","Fortune","Cadrona",
- "FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight",
- "Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob",
- "Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus",
- "Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight",
- "Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford",
- "BF-400","Newsvan","Tug","Trailer A","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C",
- "Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)","Police Car (LVPD)","Police Ranger",
- "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
- "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
- };
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Ulric Vehicle System by Xaviour212");
- print("--------------------------------------\n");
- AddStaticVehicle(500,2487.1797,-1682.7505,13.0802,92.0700,4,1); //This Mesa only for test, you can buy all vehicle in your server if it vehicle not in unbuyable
- for(new i = 0; i < MAX_VEHICLES; i++)
- {
- if(!dini_Exists(VFile(i)))
- {
- SetVehicleNumberPlate(i, DefVehPlate);//You can change this
- VehicleInfo[i][Cost] = DefVehCost;
- SetVehicleCost(i, VehicleInfo[i][Cost]);
- }
- else if(dini_Exists(VFile(i)))
- {
- SetVehicleNumberPlate(i, dini_Get(VFile(i), "Plate"));
- VehicleInfo[i][Cost] = dini_Int(VFile(i), "Cost");
- SetVehicleCost(i, VehicleInfo[i][Cost]);
- VehicleInfo[i][Locked] = dini_Int(VFile(i), "Lock");
- VehicleInfo[i][Parked] = dini_Int(VFile(i), "Parked");
- }
- }
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- new playerid;
- for(new i = 0; i < MAX_VEHICLES; i++)
- if(dini_Exists(VFile(i)))
- {
- if(VehicleInfo[i][Parked] == 1)
- {
- SetVehiclePos(i, dini_Float(VFile(GetPlayerVehicleID(playerid)), "X"), dini_Float(VFile(GetPlayerVehicleID(playerid)), "Y"), dini_Float(VFile(GetPlayerVehicleID(playerid)), "Z"));
- }
- }
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- new string[100];
- if(dini_Int(VFile(vehicleid),"UnBuyable") == 0 && dini_Int(VFile(vehicleid),"Owned") == 1 && dini_Int(PFile(playerid),"CarID") != vehicleid)
- {
- 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"));
- GameTextForPlayer(playerid, string, 3000, 3);
- }
- if(dini_Int(VFile(vehicleid),"UnBuyable") == 0 && dini_Int(VFile(vehicleid),"Owned") == 1 && dini_Int(PFile(playerid),"CarID") == vehicleid)
- {
- format(string, sizeof(string), "~g~Welcome to you %s, %s. Enjoy with you car", VehNames[GetVehicleModel(vehicleid)-400], Gn(playerid));
- GameTextForPlayer(playerid, string, 3000, 3);
- }
- else if(dini_Int(VFile(vehicleid),"UnBuyable") == 1)
- {
- format(string, sizeof(string), "~b~This %s in Unbuyable by Administration server", VehNames[GetVehicleModel(vehicleid)-400]);
- GameTextForPlayer(playerid, string, 3000, 4);
- }
- else if(dini_Int(VFile(vehicleid),"UnBuyable") == 0 && dini_Int(VFile(vehicleid),"Owned") == 0)
- {
- format(string, sizeof(string), "~g~This %s in Buyable. \nThe cost is %d", VehNames[GetVehicleModel(vehicleid)-400], VehicleInfo[vehicleid][Cost]);
- GameTextForPlayer(playerid, string, 3000, 4);
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- new veh1 = GetPlayerVehicleID(playerid);
- if(IsPlayerInAnyVehicle(playerid))
- {
- if(dini_Int(VFile(veh1),"Lock") == 1 && veh1!=Pc(playerid))
- {
- new string[126];
- RemovePlayerFromVehicle(playerid);
- format(string, sizeof(string), "This %s locked by %s", VehNames[GetVehicleModel(veh1)-400],dini_Get(VFile(veh1),"Owner"));
- SendClientMessage(playerid, Red, string);
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(vbuy,4,cmdtext);
- dcmd(vsell,5,cmdtext);
- dcmd(vcall,5,cmdtext);
- dcmd(vunbuyable,10,cmdtext);
- dcmd(vbuyable,8,cmdtext);
- dcmd(vlock,5,cmdtext);
- dcmd(vunlock,7,cmdtext);
- dcmd(vpark,5,cmdtext);
- dcmd(vplate,6,cmdtext);
- dcmd(vhelp,5,cmdtext);
- //============================Update in v.16================================
- dcmd(vfind,5,cmdtext);
- dcmd(vunfind,7,cmdtext);
- dcmd(vadmpark,8,cmdtext);
- //========================Added in v2.0=====================================
- dcmd(setcost,7,cmdtext);
- dcmd(sellcarto,9,cmdtext);
- return 0;
- }
- dcmd_vbuy(playerid, params[])
- {
- #pragma unused params
- new vehicleid = GetPlayerVehicleID(playerid), string[50];
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in Vehicle to use this command");
- if(dini_Int(VFile(vehicleid),"Owned")== 1) return SendClientMessage(playerid,Red,"[ERROR]This car is already owned");
- if(dini_Int(VFile(vehicleid),"UnBuyable")== 1) return SendClientMessage(playerid,Red,"[ERROR]This car in unbuyable");
- if(dini_Int(PFile(playerid),"HaveCar")== 1) return SendClientMessage(playerid,Red,"[ERROR]You already have a Car");
- if(GetPlayerMoney(playerid)< VehicleInfo[vehicleid][Cost]) return SendClientMessage(playerid,Red,"[ERROR]You dont have a some money");
- if(!dini_Exists(PFile(playerid)))
- {
- dini_Create(PFile(playerid));
- SetPlayerVehicle(playerid, vehicleid);
- }
- else if(dini_Exists(PFile(playerid)))
- {
- SetPlayerVehicle(playerid, vehicleid);
- }
- if(!dini_Exists(VFile(vehicleid)))
- {
- dini_Create(VFile(vehicleid));
- SetVehicleOwner(vehicleid, playerid);
- }
- else if(dini_Exists(VFile(vehicleid)))
- {
- SetVehicleOwner(vehicleid, playerid);
- }
- format(string, sizeof(string), "You has buy a %s", VehNames[GetVehicleModel(vehicleid)-400]);
- SendClientMessage(playerid, Green, string);
- SendClientMessage(playerid, Blue, "To call your vehicle, type /vcall. Type /vhelp to help command");
- GivePlayerMoney(playerid, -VehicleInfo[vehicleid][Cost]);
- return 1;
- }
- dcmd_vsell(playerid, params[])
- {
- #pragma unused params
- new vehicleid = GetPlayerVehicleID(playerid);
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in Vehicle to use this command");
- if(dini_Int(PFile(playerid),"HaveCar") == 0) return SendClientMessage(playerid, Red, "[ERROR]You dont have a car");
- if(vehicleid!=Pc(playerid)) return SendClientMessage(playerid,Red,"[ERROR]This vehicle is not your car");
- SetPlayerNotHaveVehicle(playerid);
- SetVehicleNotOwned(vehicleid);
- dini_Remove(VFile(vehicleid));
- SendClientMessage(playerid, Green,"You has sell your car. Now you can buy a car again");
- GivePlayerMoney(playerid, VehicleInfo[vehicleid][Cost]-1000);
- SetVehicleToRespawn(vehicleid);
- return 1;
- }
- dcmd_vcall(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"HaveCar") == 0)return SendClientMessage(playerid,Red,"[ERROR]You dont have a car");
- if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Red, "[ERROR]You must not used vehicle to call you car");
- CallVehicle(playerid);
- SendClientMessage(playerid, Green, "You has call you vehicle. Enjoy with you car");
- return 1;
- }
- dcmd_vunbuyable(playerid, params[])
- {
- #pragma unused params
- new vehicleid = GetPlayerVehicleID(playerid), string[50];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Red,"[ERROR]Only RCON Admin can use this command");
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
- if(dini_Int(VFile(vehicleid),"UnBuyable")== 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle already in unbuyable");
- if(!dini_Exists(VFile(vehicleid)))
- {
- dini_Create(VFile(vehicleid));
- SetUnbuyableVehicle(vehicleid, 1);
- }
- else
- {
- SetUnbuyableVehicle(vehicleid, 1);
- }
- format(string, sizeof(string), "Now this %s is in unbuyable", VehNames[GetVehicleModel(vehicleid)-400]);
- SendClientMessage(playerid, Green, string);
- return 1;
- }
- dcmd_vbuyable(playerid, params[])
- {
- #pragma unused params
- new vehicleid = GetPlayerVehicleID(playerid), string[50];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Red,"[ERROR]Only RCON Admin can use this command");
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
- if(dini_Int(VFile(vehicleid),"UnBuyable")== 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle already in buyable");
- if(!dini_Exists(VFile(vehicleid)))
- {
- dini_Create(VFile(vehicleid));
- SetUnbuyableVehicle(vehicleid, 0);
- }
- else
- {
- SetUnbuyableVehicle(vehicleid, 0);
- }
- format(string, sizeof(string), "Now this %s is in buyable", VehNames[GetVehicleModel(vehicleid)-400]);
- SendClientMessage(playerid, Green, string);
- return 1;
- }
- dcmd_vlock(playerid, params[])
- {
- #pragma unused params
- new vehicleid = GetPlayerVehicleID(playerid), string[50];
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
- if(dini_Int(PFile(playerid),"HaveCar") == 0) return SendClientMessage(playerid, Red, "[ERROR]You dont have a car");
- if(vehicleid!=Pc(playerid)) return SendClientMessage(playerid,Red,"[ERROR]This vehicle is not your car");
- if(VehicleInfo[vehicleid][Locked] == 1) return SendClientMessage(playerid, Red, "[ERROR]This vehicle has been locked");
- SetVehicleLockStatus(vehicleid, 1);
- format(string, sizeof(string), "Now this %s has been locked", VehNames[GetVehicleModel(vehicleid)-400]);
- SendClientMessage(playerid, Green, string);
- return 1;
- }
- dcmd_vunlock(playerid, params[])
- {
- #pragma unused params
- new vehicleid = GetPlayerVehicleID(playerid), string[100];
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
- if(dini_Int(PFile(playerid),"HaveCar") == 0) return SendClientMessage(playerid, Red, "[ERROR]You dont have a car");
- if(vehicleid!=Pc(playerid)) return SendClientMessage(playerid,Red,"[ERROR]This vehicle is not your car");
- if(VehicleInfo[vehicleid][Locked] == 0) return SendClientMessage(playerid, Red, "[ERROR]This vehicle not in locked");
- SetVehicleLockStatus(vehicleid, 0);
- format(string, sizeof(string), "Now this %s has been unlocked", VehNames[GetVehicleModel(vehicleid)-400]);
- SendClientMessage(playerid, Green, string);
- return 1;
- }
- dcmd_vpark(playerid, params[])
- {
- #pragma unused params
- new vehicleid = GetPlayerVehicleID(playerid), string[100];
- new Float:A, Float:B, Float:C;
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
- if(dini_Int(PFile(playerid),"HaveCar") == 0) return SendClientMessage(playerid, Red, "[ERROR]You dont have a car");
- if(vehicleid!=Pc(playerid)) return SendClientMessage(playerid,Red,"[ERROR]This vehicle is not your car");
- GetPlayerPos(playerid, A, B, C);
- ParkVehicle(vehicleid);
- format(string, sizeof(string), "You has park you car in %f, %f, %f", A, B, C);
- SendClientMessage(playerid, Green, string);
- return 1;
- }
- dcmd_vplate(playerid, params[])
- {
- new string[50], vehicleid = GetPlayerVehicleID(playerid);
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
- if(!strlen(params)) return SendClientMessage(playerid, Red, "[ERROR]Use: /vplate [plate]");
- if(dini_Int(PFile(playerid),"HaveCar") == 0) return SendClientMessage(playerid, Red, "[ERROR]You dont have a car");
- if(vehicleid!=Pc(playerid)) return SendClientMessage(playerid,Red,"[ERROR]This vehicle is not your car");
- dini_Set(VFile(vehicleid),"Plate",params);
- SetVehicleNumberPlate(vehicleid, params);
- format(string, sizeof(string), "You car plate has been changed to %s", params);
- SendClientMessage(playerid, Green, string);
- SetVehicleToRespawn(vehicleid);
- return 1;
- }
- dcmd_vfind(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"HaveCar") == 0) return SendClientMessage(playerid, Red, "[ERROR]You dont have a car");
- new Float:A, Float:B, Float:C;
- GetVehiclePos(Pc(playerid),A,B,C);
- SetPlayerRaceCheckpoint(playerid, 1, A, B, C, 0.0, 0.0, 0.0, 2);
- SendClientMessage(playerid, Green, "Follow checkpoint to find you car");
- return 1;
- }
- dcmd_vunfind(playerid, params[])
- {
- #pragma unused params
- DisablePlayerRaceCheckpoint(playerid);
- SendClientMessage(playerid, Green, "Checkpoint has been destroyed");
- return 1;
- }
- dcmd_vhelp(playerid, params[])
- {
- #pragma unused params
- SendClientMessage(playerid, Blue, "Ulric Vehicle System by ~Xaviour212~");
- SendClientMessage(playerid, Green, "Type /vbuy to buy a vehicle");
- SendClientMessage(playerid, Green, "Type /vsell to sell you car");
- SendClientMessage(playerid, Green, "Type /vcall to call your vehicle");
- SendClientMessage(playerid, Green, "Type /vlock to lock your car");
- SendClientMessage(playerid, Green, "Type /vunlock to unlock your car");
- SendClientMessage(playerid, Green, "Type /vpark to park your vehicle");
- SendClientMessage(playerid, Green, "Type /vplate to change your car plate");
- SendClientMessage(playerid, Green, "Type /vfind to find you car");
- SendClientMessage(playerid, Green, "Type /vunfind to destroy a checkpoint from /vfind");
- if(IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, Blue, "Rcon Commands");
- SendClientMessage(playerid, Green, "Type /vbuyable to set a car to buyable");
- SendClientMessage(playerid, Green, "Type /vunbuyable to set a car to unbuyable");
- SendClientMessage(playerid, Green, "Type /vadmpark to park a vehicle");
- }
- return 1;
- }
- dcmd_vadmpark(playerid, params[])
- {
- #pragma unused params
- new vehicleid = GetPlayerVehicleID(playerid), string[100];
- new Float:A, Float:B, Float:C;
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Red,"[ERROR]Only RCON admin can use this command");
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
- GetPlayerPos(playerid, A, B, C);
- ParkVehicle(vehicleid);
- format(string, sizeof(string), "You has park this %s in %f, %f, %f", VehNames[GetVehicleModel(vehicleid)-400], A, B, C);
- SendClientMessage(playerid, Green, string);
- return 1;
- }
- dcmd_setcost(playerid, params[])
- {
- new vehicleid = GetPlayerVehicleID(playerid), string[100];
- new cost;
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Red,"[ERROR]Only RCON admin can use this command");
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in vehicle to use this command");
- if(sscanf(params,"d",cost))return SendClientMessage(playerid, Red, "[ERROR]Usage: /setcost [Amount]");
- SetVehicleCost(vehicleid, cost);
- format(string, sizeof(string), "You has changed this %s cost to %d", VehNames[GetVehicleModel(vehicleid)-400], cost);
- SendClientMessage(playerid, Green, string);
- return 1;
- }
- dcmd_sellcarto(playerid, params[])
- {
- new veh1 = GetPlayerVehicleID(playerid), string[100];
- new cost, player1, tmp[128];
- if(dini_Int(PFile(playerid),"HaveCar") == 0) return SendClientMessage(playerid, Red, "[ERROR]You dont have a car");
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Red,"[ERROR]You must in Vehicle to use this command");
- if(veh1!=Pc(playerid)) return SendClientMessage(playerid,Red,"[ERROR]This vehicle is not your car");
- if(sscanf(params,"dd",player1, cost))return SendClientMessage(playerid, Red, "[ERROR]Usage: /sellcarto [PlayerID] [Cost]");
- if(!IsPlayerInVehicle(player1, veh1)) return SendClientMessage(playerid, Red, "[ERROR]This player not in you car");
- SetVehicleCost(veh1, cost);
- SellCarInfo[Owner] = playerid;
- SellCarInfo[VehID] = veh1;
- SellCarInfo[SellCost] = cost;
- format(string, sizeof(string), "You has sell this %s to %s with cost %d", VehNames[GetVehicleModel(veh1)-400], Gn(player1), cost);
- SendClientMessage(playerid, Green, string);
- format(tmp, sizeof(tmp), "%s has sell a %s to you with a cost %d", Gn(playerid), VehNames[GetVehicleModel(veh1)-400], cost);
- ShowPlayerDialog(player1, 1338, DIALOG_STYLE_MSGBOX, "Do you agree with its bid?", tmp, "Yes", "No");
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- DisablePlayerRaceCheckpoint(playerid);
- SendClientMessage(playerid, Green, "Your car has been found");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 1338)
- {
- if(response)
- {
- if(GetPlayerMoney(playerid) < SellCarInfo[SellCost])
- {
- new string[256], tmp[256];
- new veh1 = GetPlayerVehicleID(playerid);
- GiveCarTo(veh1,SellCarInfo[Owner], playerid, SellCarInfo[SellCost]);
- format(string, sizeof(string), "You has accepted the bid of %s", Gn(SellCarInfo[Owner]));
- SendClientMessage(playerid, Green, string);
- format(tmp, sizeof(tmp), "%s has accepted your offers", Gn(playerid));
- SendClientMessage(SellCarInfo[Owner], Green, tmp);
- }
- else
- {
- SendClientMessage(playerid, Red, "[ERROR]You dont have some money");
- SendClientMessage(SellCarInfo[Owner], Red, "[ERROR]This player dont have a some money");
- }
- }
- else
- {
- new string[128], vehicleid;
- format(string, sizeof(string), "%s has rejected your offers", Gn(playerid));
- SendClientMessage(VehicleInfo[vehicleid][Owner], Red, string);
- }
- return 1;
- }
- return 0;
- }
- /*==============================================================================
- Function
- ==============================================================================*/
- forward SetVehicleCost(vehicleid, cost);
- public SetVehicleCost(vehicleid, cost)
- {
- dini_IntSet(VFile(vehicleid),"Cost",cost);
- VehicleInfo[vehicleid][Cost] = cost;
- }
- forward SetPlayerVehicle(playerid, vehicleid);
- public SetPlayerVehicle(playerid, vehicleid)
- {
- dini_IntSet(PFile(playerid),"HaveCar",1);
- dini_IntSet(PFile(playerid),"CarID",vehicleid);
- }
- forward SetVehicleOwner(vehicleid, playerid);
- public SetVehicleOwner(vehicleid, playerid)
- {
- dini_IntSet(VFile(vehicleid),"Owned",1);
- dini_Set(VFile(vehicleid),"Owner",Gn(playerid));
- dini_Set(VFile(vehicleid),"Plate",Gn(playerid));
- }
- forward SetPlayerNotHaveVehicle(playerid);
- public SetPlayerNotHaveVehicle(playerid)
- {
- dini_IntSet(PFile(playerid),"HaveCar",0);
- dini_Set(PFile(playerid),"CarID","None");
- }
- forward SetVehicleNotOwned(vehicleid);
- public SetVehicleNotOwned(vehicleid)
- {
- dini_IntSet(VFile(vehicleid),"Owner",0);
- dini_IntSet(VFile(vehicleid),"Owned",0);
- dini_IntSet(VFile(vehicleid),"UnBuyable",0);
- SetVehicleLockStatus(vehicleid, 0);
- }
- forward CallVehicle(playerid);
- public CallVehicle(playerid)
- {
- new Float:p[4];
- GetPlayerPos(playerid,p[0],p[1],p[2]);
- GetPlayerFacingAngle(playerid,p[3]);
- SetVehiclePos(Pc(playerid),p[0],p[1],p[2]);
- SetVehicleZAngle(Pc(playerid),p[3]);
- PutPlayerInVehicle(playerid,Pc(playerid),0);
- }
- SetUnbuyableVehicle(vehicleid, status)
- {
- dini_IntSet(VFile(vehicleid),"UnBuyable",status);
- dini_IntSet(VFile(vehicleid),"Owned",0);
- dini_IntSet(VFile(vehicleid),"Owner",0);
- }
- SetVehicleLockStatus(vehicleid, status)
- {
- dini_IntSet(VFile(vehicleid),"Lock",status);
- VehicleInfo[vehicleid][Locked] = status;
- }
- GiveCarTo(vehicleid, playerid, playerid2, cost)
- {
- SetPlayerVehicle(playerid2, vehicleid);
- SetPlayerNotHaveVehicle(playerid);
- GivePlayerMoney(playerid, cost);
- GivePlayerMoney(playerid2, -cost);
- SetVehicleOwner(vehicleid, playerid2);
- }
- forward ParkVehicle(vehicleid);
- public ParkVehicle(vehicleid)
- {
- new playerid;
- new Float:A, Float:B, Float:C;
- dini_IntSet(VFile(vehicleid),"Parked",1);
- GetVehiclePos(Pc(playerid),A,B,C);
- dini_FloatSet(VFile(vehicleid),"X",A);
- dini_FloatSet(VFile(vehicleid),"Y",B);
- dini_FloatSet(VFile(vehicleid),"Z",C);
- VehicleInfo[vehicleid][Parked] = 1;
- }
- stock Gn(playerid)
- {
- new pname[24];
- GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
- return pname;
- }
- stock PFile(playerid)
- {
- format(file,64,"Cars/Users/%s.ini",Gn(playerid));
- return file;
- }
- stock VFile(vehicleid)
- {
- new Car[64];
- format(Car,64,"Cars/%d.ini",vehicleid);
- return Car;
- }
- stock Pc(playerid) return dini_Int(PFile(playerid),"CarId");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement