ddaro11
Pawner SA:MP
Wiek: 27 Na forum: 4495 dni Posty: 51
Nick w MP: ddaro11
Piwa : 20
Sorka ju? podaje kod
Kod: #include <a_samp>
#include <dcmd>
#include <dfile>
#include <GetVehicleColor>
#define VERSION "Beta 1.2"
//Ustawienia skryptu
#define MAX_PLAYER_CARS 10 //Ilosc pojazdow pro gracz(Nie przesadzaj!)
//Dialogi
#define DIALOG_Salon_BUY 1
#define DIALOG_Salon_PANEL1 2
#define DIALOG_Salon_PANEL2 3
#define DIALOG_Salon_PANEL3 4
//Sciezka plikow pojazdow
#define PRIVCARPATH "/PrivCars/"
enum SalonData
{
vehID,
Float:vehX,
Float:vehY,
Float:vehZ,
Float:vehRot,
vehCena,
Float:vehSpawnX,
Float:vehSpawnY,
Float:vehSpawnZ,
Float:vehSpawnRot,
};
//POJAZDY W SALONIE
new SalonCars[][SalonData] =
{
//Modele znajdziesz tu(Jako "Vehicle ID"): http://weedarr.wikidot.com/veh
//MODEL X Y Z ROT CENA SPAWNX SPAWNY SPAWNZ SPAWNROT
{411,-1955.1764,304.9052,41.0471,356.2956, 10458, -1946.2059,257.6752,41.0471,48.0175},
{451,760.5490,-1334.0757,13.2632,178.1356, 9451, 780.4758,-1346.6498,13.2578,88.8131},
{429,753.8185,-1333.5018,13.2645,180.0635, 8541, 780.4758,-1346.6498,13.2578,88.8131},
{444,745.1850,-1333.7697,13.2639,179.2652, 13000, 780.4758,-1346.6498,13.2578,88.8131},
{462,738.9211,-1333.6132,13.2642,180.2306, 2000, 780.4758,-1346.6498,13.2578,88.8131},
{429,744.9489,-1353.0098,13.2219,359.8221, 4850, 780.4758,-1346.6498,13.2578,88.8131},
{451,749.9804,-1353.8097,13.2219,1.3309, 1545, 780.4758,-1346.6498,13.2578,88.8131},
{522,760.3621,-1353.6334,13.2410,317.2629, 11000, 780.4758,-1346.6498,13.2578,88.8131}
//Ostatnia linijka bez przecinka!
};
enum PlayerPrivCarData
{
bool:IsPrivate,
ownerID,
vehIndex,
WartoscPojazdu,
Float:parkX,
Float:parkY,
Float:parkZ,
Float:parkRot
};
enum SalonCarsIDsData
{
bool:isForSell,
cena,
Float:SpawnX,
Float:SpawnY,
Float:SpawnZ,
Float:SpawnRot,
Text3D:tdtext
};
enum PlayerData
{
SelectedPrivateVehicle,
bool:IsLocatingVehicle
};
new PC[MAX_VEHICLES][PlayerPrivCarData];
new SalonCarsIDs[MAX_VEHICLES][SalonCarsIDsData];
new Player[MAX_PLAYERS][PlayerData];
new bool:Scriptactivated;
new VehicleNames[][] = {
"Cadillac ", "Dacia ", "Bugatti ", "Scania", "Volvo", "Trabant", "UAZ", "Kamaz", "Trashmaster", "Maybach ", "Manana",
"Brabus", "Voodoo", "Ascari", "DMC", "Dodge", "Karetka", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat",
"Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife",
"Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo",
"Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "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", "ZR-350", "Walton", "Regina", "FSO", "BMX", "Burrito",
"Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring",
"BMW X5", "Blista Compact", "PoliceMaverick", "Boxvillde", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B",
"Bloodring Banger", "Rancher", "Super GT", "Hyundai", "Journey", "Bike", "MountainBike", "Beagle", "Cropduster","Stunt", "Baker",
"DAF", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "CementCar", "Tow Truck", "Fortune",
"Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Fel tzer", "Remington", "Slamvan", "BLADe", "Freight", "Streak",
"Vortex", "Vincent", "Jaguar", "Clover", "Sadler", "Straz Pozarna LA", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit",
"Utility", "Nevada", "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Ferrari", "Stratum", "Elegy", "Raindance",
"RC Tiger", "FIAT", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway",
"Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog",
"Club", "Freight Carriage", "Trailer 4", "Andromada", "Dodo", "RC Cam", "Launch", "PoliceCar (LSPD)", "PoliceCar (SFPD)",
"PoliceCar (LVPD)", "Ranger", "Picador", "S.W.A.T", "Alpha", "Datsun", "Glendale", "Sadler", "Luggage Trailer A",
"Luggage Trailer B", "Stairs", "Boxville", "Tiller", "Utility Trailer" };
public OnGameModeInit()
{
LoadScript(false);
return 1;
}
public OnGameModeExit()
{
OnFilterScriptExit();
return 1;
}
public OnFilterScriptInit()
{
LoadScript(true);
return 1;
}
public OnPlayerConnect(playerid)
{
if(Scriptactivated)
{
for(new index; index < MAX_PLAYER_CARS; index++)
LoadPlayerPrivateVehicle(playerid, index);
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
if(Scriptactivated)
{
for(new index; index < MAX_PLAYER_CARS; index++)
DeSpawnPlayerPrivateVehicle(playerid, index);
}
return 1;
}
public OnVehicleSpawn(vehicleid)
{
if(Scriptactivated)
{
if(PC[vehicleid][IsPrivate])
{
SetVehiclePos(vehicleid, PC[vehicleid][parkX], PC[vehicleid][parkY], PC[vehicleid][parkZ]);
SetVehicleZAngle(vehicleid, PC[vehicleid][parkRot]);
}
}
return 1;
}
public OnFilterScriptExit()
{
if(Scriptactivated)
{
for(new i; i <= GetPlayerPoolSize(); i++)
{
for(new index; index < MAX_PLAYER_CARS; index++)
DeSpawnPlayerPrivateVehicle(i, index);
}
for(new i; i <= GetVehiclePoolSize(); i++)
{
if(SalonCarsIDs[i][isForSell])
{
Delete3DTextLabel(SalonCarsIDs[i][tdtext]);
DestroyVehicle(i);
SalonCarsIDs[i][isForSell] = false;
}
}
}
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(Scriptactivated)
{
new string[300];
if(newstate & PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(SalonCarsIDs[vehicleid][isForSell])
{
format(string, sizeof string, "{FFFFFF}Czy na pewno chcesz kupic pojazd {FFFF00}%s{FFFFFF}?\nCena zakupu: {00FF00}%i$", VehicleNames[GetVehicleModel(vehicleid) - 400], SalonCarsIDs[vehicleid][cena]);
ShowPlayerDialog(playerid, DIALOG_Salon_BUY, DIALOG_STYLE_MSGBOX, "Salon Pojazdow", string, "Tak", "Nie");
}
else if(PC[vehicleid][IsPrivate] && PC[vehicleid][ownerID] != playerid)
RemovePlayerFromVehicle(playerid),
SendClientMessage(playerid, 0x00FF00FF, "{FF0000}Salon: {FFFFFF}Ten pojazd nie nalezy do Ciebie!");
}
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(Scriptactivated)
{
dcmd(autko, 7, cmdtext);
}
return 0;
}
dcmd_autko(playerid, params[])
{
#pragma unused params
new lstr[1024] = "{00FFFF}ID\t{FF00FF}Model\t{FF0000}Index\n", str[184];
for(new i; i <= GetVehiclePoolSize(); i++)
{
if(PC[i][IsPrivate] && PC[i][ownerID] == playerid)
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleID(playerid) == i)
format(str, sizeof str, "{00FFFF}%i\t{00FF00}%s\t{FF0000}%i\n", i, VehicleNames[GetVehicleModel(i) - 400], PC[i][vehIndex]);
else
format(str, sizeof str, "{00FFFF}%i\t{FF00FF}%s\t{FF0000}%i\n", i, VehicleNames[GetVehicleModel(i) - 400], PC[i][vehIndex]);
strcat(lstr, str);
}
}
ShowPlayerDialog(playerid, DIALOG_Salon_PANEL1, DIALOG_STYLE_TABLIST_HEADERS, "Panel Prywatnych Pojazdow - Wybierz pojazd", lstr, "Wybierz", "Wyjdz");
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(Scriptactivated)
{
if(Player[playerid][IsLocatingVehicle])
DisablePlayerCheckpoint(playerid),
Player[playerid][IsLocatingVehicle] = false;
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(Scriptactivated)
{
new vehicleid = GetPlayerVehicleID(playerid);
new str[300];
if(dialogid == DIALOG_Salon_PANEL3)
{
if(response)
{
vehicleid = Player[playerid][SelectedPrivateVehicle];
GivePlayerMoney(playerid, (PC[vehicleid][WartoscPojazdu] / 2));
DeletePlayerPrivateVehicle(playerid, PC[vehicleid][vehIndex]);
SendClientMessage(playerid, 0x00FF00FF, "{00FF00}Salon: {FFFFFF}Pojazd zostal pomyslnie sprzedany!");
}
else dcmd_autko(playerid, #);
}
if(dialogid == DIALOG_Salon_PANEL2)
{
if(response)
{
vehicleid = Player[playerid][SelectedPrivateVehicle];
if(listitem == 0) //Lokalizuj
{
new Float:x, Float:y, Float:z;
GetVehiclePos(vehicleid, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 3);
Player[playerid][IsLocatingVehicle] = true;
SendClientMessage(playerid, 0x00FF00FF, "{00FF00}Salon: {FFFFFF}Pojazd zostal pomyslnie zlokalizowany!");
}
if(listitem == 1) //Parkuj
{
if(IsPlayerInPrivateCar(playerid, Player[playerid][SelectedPrivateVehicle]))
{
new Float:x, Float:y, Float:z, Float:rot;
GetVehiclePos(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, rot);
PC[vehicleid][parkX] = x;
PC[vehicleid][parkY] = y;
PC[vehicleid][parkZ] = z;
PC[vehicleid][parkRot] = rot;
SavePlayerPrivateVehicle(playerid, PC[vehicleid][vehIndex]);
SendClientMessage(playerid, 0x00FF00FF, "{00FF00}Salon: {FFFFFF}Pojazd zostal pomyslnie zaparkowany!");
}
else SendClientMessage(playerid, 0x00FF00FF, "{FF0000}Salon: {FFFFFF}Nie jestes w wybranym prywatnym pojezdzie!");
}
if(listitem == 2) //Sprzedaj
{
format(str, sizeof str, "{FFFFFF}Czy na pewno chcesz sprzedac ten pojazd za polowe wartosci?\nCena sprzedazy: {00FF00}%i$", (PC[vehicleid][WartoscPojazdu] / 2));
ShowPlayerDialog(playerid, DIALOG_Salon_PANEL3, DIALOG_STYLE_MSGBOX, "Sprzedaz prywatnego pojazdu", str, "Tak", "Nie");
}
if(listitem == 3) //Respawn
{
SetVehicleToRespawn(vehicleid);
SendClientMessage(playerid, 0x00FF00FF, "{00FF00}Salon: {FFFFFF}Pojazd zostal pomyslnie zrespawnowany!");
}
}
else dcmd_autko(playerid, #);
}
if(dialogid == DIALOG_Salon_PANEL1)
{
if(response)
{
new TempIndex;
for(new i; i <= GetVehiclePoolSize(); i++)
{
if(PC[i][IsPrivate] && PC[i][ownerID] == playerid) TempIndex++;
if((listitem + 1) == TempIndex)
{
Player[playerid][SelectedPrivateVehicle] = i;
format(str, sizeof str, "{FFFF00}Wybrany Pojazd: {00FF00}%s {FFFF00}| ID: {00FFFF}%i", VehicleNames[GetVehicleModel(i) - 400], i);
ShowPlayerDialog(playerid, DIALOG_Salon_PANEL2, DIALOG_STYLE_LIST, str, "Lokalizuj\nParkuj\nSprzedaj\nRespawn", "Wybierz", "Wyjdz");
return 1;
}
}
}
}
if(dialogid == DIALOG_Salon_BUY)
{
if(SalonCarsIDs[vehicleid][isForSell])
{
if(response)
{
if(GetPlayerMoney(playerid) >= SalonCarsIDs[vehicleid][cena])
{
if(CreatePlayerPrivateVehicle(playerid, vehicleid, SalonCarsIDs[vehicleid][cena]))
SendClientMessage(playerid, 0x00FF00FF, "{00FF00}Salon: {FFFFFF}Pojazd zostal pomyslnie zakupiony! Przeparkuj go!"),
SendClientMessage(playerid, 0x00FF00FF, "{00FF00}Salon: {FFFFFF}Panel pojazdu znajdziesz pod komende /autko!");
else SendClientMessage(playerid, 0xFF0000FF, "{FF0000}Salon: {FFFFFF}Osiagnieto maksymalna ilosc zakupionych pojazdow!");
RemovePlayerFromVehicle(playerid);
}
else SendClientMessage(playerid, 0xFF0000FF, "{FF0000}Salon: {FFFFFF}Nie masz tyle kasy!"),
RemovePlayerFromVehicle(playerid);
}
else
{
RemovePlayerFromVehicle(playerid);
}
}
}
}
return 0;
}
forward bool:IsPlayerInPrivateCar(playerid, privcarid);
stock bool:IsPlayerInPrivateCar(playerid, privcarid)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid) && vehicleid == privcarid)
return true;
return false;
}
stock LoadScript(bool:withplayercars)
{
new string[300];
Scriptactivated = false;
new maxplayerscar = MAX_PLAYER_CARS;
printf("\n----------System prywatnych pojazdow by Nickk888 | Wersja: %s---------\n", VERSION);
print("[NPRIVCAR]Wczytuje i sprawdzam...");
if(!dfile_FileExists(PRIVCARPATH)) return print("[NPRIVCAR - BLAD]Folder 'PrivCars' nie zostal odnaleziony! Prosze stworzyc!");
if(maxplayerscar < 1 || maxplayerscar > 25) return print("[NPRIVCAR - BLAD]Ilosc pojazdow per gracz jest niepoprawny! Musi byc pomiedzy 1-25!");
print("[NPRIVCAR]Skrypt zostal pomyslnie wczytany! Dziekuje za wybranie skryptu 'NPRIVCAR'!");
print("\n-------------------------------------------------------------------------\n");
Scriptactivated = true;
for(new i; i < sizeof SalonCars; i++)
{
new id = CreateVehicle(SalonCars[i][vehID], SalonCars[i][vehX], SalonCars[i][vehY], SalonCars[i][vehZ], SalonCars[i][vehRot], random(1), random(1), 1);
SalonCarsIDs[id][isForSell] = true;
SalonCarsIDs[id][cena] = SalonCars[i][vehCena];
SalonCarsIDs[id][SpawnX] = SalonCars[i][vehSpawnX];
SalonCarsIDs[id][SpawnY] = SalonCars[i][vehSpawnY];
SalonCarsIDs[id][SpawnZ] = SalonCars[i][vehSpawnZ];
SalonCarsIDs[id][SpawnRot] = SalonCars[i][vehSpawnRot];
format(string, sizeof string, "{FFFF00}%s\n{FFFFFF}Cena: {00FF00}%i$\n{FFFFFF}Wejdz by kupic!", VehicleNames[GetVehicleModel(id) - 400], SalonCarsIDs[id][cena]);
SalonCarsIDs[id][tdtext] = Create3DTextLabel(string, -1, 0.0, 0.0, 0.0, 30, 0, 0);
Attach3DTextLabelToVehicle(SalonCarsIDs[id][tdtext], id, 0.0, 0.0, 0.0);
}
if(withplayercars)
{
for(new i; i <= GetPlayerPoolSize(); i++)
for(new index; index < MAX_PLAYER_CARS; index++)
LoadPlayerPrivateVehicle(i, index);
}
return true;
}
stock GetFreeVehicleIndex(playerid)
{
new string[300], pname[64];
GetPlayerName(playerid, pname, 64);
format(string, sizeof string, PRIVCARPATH"%s_CARS.ini", pname);
if(dfile_FileExists(string))
{
dfile_Open(string);
for(new i; i < MAX_PLAYER_CARS; i++)
{
format(string, sizeof string, "%i_Created", i);
if(dfile_ReadBool(string) == false)
{
dfile_CloseFile();
return i;
}
}
dfile_CloseFile();
return -1;
}
return -1;
}
forward bool:DeletePlayerPrivateVehicle(playerid, index);
stock bool:DeletePlayerPrivateVehicle(playerid, index)
{
new string[300], pname[64], vehicleid;
GetPlayerName(playerid, pname, 64);
format(string, sizeof string, PRIVCARPATH"%s_CARS.ini", pname);
for(new i; i <= GetVehiclePoolSize(); i++)
if(PC[i][IsPrivate] && PC[i][vehIndex] == index && PC[i][ownerID] == playerid) vehicleid = i;
if(dfile_FileExists(string))
{
//
dfile_Open(string);
format(string, sizeof string, "%i_Created", index);
dfile_WriteBool(string, false);
//
dfile_SaveFile();
dfile_CloseFile();
PC[vehicleid][IsPrivate] = false;
DestroyVehicle(vehicleid);
return true;
}
return false;
}
forward bool:SavePlayerPrivateVehicle(playerid, index);
stock bool:SavePlayerPrivateVehicle(playerid, index)
{
new string[300], pname[64], vehicleid, color1, color2;
GetPlayerName(playerid, pname, 64);
format(string, sizeof string, PRIVCARPATH"%s_CARS.ini", pname);
for(new i; i <= GetVehiclePoolSize(); i++)
if(PC[i][IsPrivate] && PC[i][vehIndex] == index && PC[i][ownerID] == playerid) vehicleid = i;
GetVehicleColor(vehicleid, color1, color2);
if(dfile_FileExists(string))
{
//
dfile_Open(string);
format(string, sizeof string, "%i_X", index);
dfile_WriteFloat(string, PC[vehicleid][parkX]);
format(string, sizeof string, "%i_Y", index);
dfile_WriteFloat(string, PC[vehicleid][parkY]);
format(string, sizeof string, "%i_Z", index);
dfile_WriteFloat(string, PC[vehicleid][parkZ]);
format(string, sizeof string, "%i_Rot", index);
dfile_WriteFloat(string, PC[vehicleid][parkRot]);
format(string, sizeof string, "%i_Color1", index);
dfile_WriteInt(string, color1);
format(string, sizeof string, "%i_Color2", index);
dfile_WriteInt(string, color2);
format(string, sizeof string, "%i_ModSpoiler", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_SPOILER));
format(string, sizeof string, "%i_ModHood", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HOOD));
format(string, sizeof string, "%i_ModRoof", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_ROOF));
format(string, sizeof string, "%i_ModSideskirt", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_SIDESKIRT));
format(string, sizeof string, "%i_ModLamps", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_LAMPS));
format(string, sizeof string, "%i_ModNitro", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_NITRO));
format(string, sizeof string, "%i_ModExhaust", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_EXHAUST));
format(string, sizeof string, "%i_ModWheels", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_WHEELS));
format(string, sizeof string, "%i_ModStereo", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_STEREO));
format(string, sizeof string, "%i_ModHydraulics", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HYDRAULICS));
format(string, sizeof string, "%i_ModFrontbumper", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_FRONT_BUMPER));
format(string, sizeof string, "%i_ModRearbumper", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_REAR_BUMPER));
format(string, sizeof string, "%i_ModVentright", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_VENT_RIGHT));
format(string, sizeof string, "%i_ModVentleft", index);
dfile_WriteInt(string, GetVehicleComponentInSlot(vehicleid, CARMODTYPE_VENT_LEFT));
//
dfile_SaveFile();
dfile_CloseFile();
return true;
}
return false;
}
forward bool:LoadPlayerPrivateVehicle(playerid, index);
stock bool:LoadPlayerPrivateVehicle(playerid, index)
{
new string[300], pname[64];
GetPlayerName(playerid, pname, 64);
format(string, sizeof string, PRIVCARPATH"%s_CARS.ini", pname);
if(dfile_FileExists(string))
{
//
dfile_Open(string);
format(string, sizeof string, "%i_Created", index);
if(dfile_ReadBool(string) == true)
{
format(string, sizeof string, "%i_Model", index);
new model = dfile_ReadInt(string);
format(string, sizeof string, "%i_X", index);
new Float:x = dfile_ReadFloat(string);
format(string, sizeof string, "%i_Y", index);
new Float:y = dfile_ReadFloat(string);
format(string, sizeof string, "%i_Z", index);
new Float:z = dfile_ReadFloat(string);
format(string, sizeof string, "%i_Rot", index);
new Float:rot = dfile_ReadFloat(string);
format(string, sizeof string, "%i_Color1", index);
new c1 = dfile_ReadInt(string);
format(string, sizeof string, "%i_Color2", index);
new c2 = dfile_ReadInt(string);
new vehicleid = CreateVehicle(model, x, y, z, rot, c1, c2, -1);
format(string, sizeof string, "%i_ModSpoiler", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModHood", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModRoof", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModSideskirt", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModLamps", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModNitro", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModExhaust", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModWheels", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModStereo", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModHydraulics", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModFrontbumper", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModRearbumper", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModVentright", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
format(string, sizeof string, "%i_ModVentleft", index);
AddVehicleComponent(vehicleid, dfile_ReadInt(string));
PC[vehicleid][IsPrivate] = true;
PC[vehicleid][vehIndex] = index;
PC[vehicleid][ownerID] = playerid;
PC[vehicleid][parkX] = x;
PC[vehicleid][parkY] = y;
PC[vehicleid][parkZ] = z;
PC[vehicleid][parkRot] = rot;
format(string, sizeof string, "%i_Wartosc", index);
PC[vehicleid][WartoscPojazdu] = dfile_ReadInt(string);
}
//
dfile_CloseFile();
return true;
}
return false;
}
forward bool:CreatePlayerPrivateVehicle(playerid, vehicleid, wartoscpojazdu);
stock bool:CreatePlayerPrivateVehicle(playerid, vehicleid, wartoscpojazdu)
{
new string[300], pname[64], index;
GetPlayerName(playerid, pname, 64);
format(string, sizeof string, PRIVCARPATH"%s_CARS.ini", pname);
if(!dfile_FileExists(string))
{
dfile_Create(string);
index = GetFreeVehicleIndex(playerid);
if(index == -1) return false;
//
dfile_Open(string);
format(string, sizeof string, "%i_Created", index);
dfile_WriteBool(string, true);
format(string, sizeof string, "%i_Model", index);
dfile_WriteInt(string, GetVehicleModel(vehicleid));
format(string, sizeof string, "%i_X", index);
dfile_WriteFloat(string, SalonCarsIDs[vehicleid][SpawnX]);
format(string, sizeof string, "%i_Y", index);
dfile_WriteFloat(string, SalonCarsIDs[vehicleid][SpawnY]);
format(string, sizeof string, "%i_Z", index);
dfile_WriteFloat(string, SalonCarsIDs[vehicleid][SpawnZ] + 1.0);
format(string, sizeof string, "%i_Rot", index);
dfile_WriteFloat(string, SalonCarsIDs[vehicleid][SpawnRot]);
format(string, sizeof string, "%i_Color1", index);
dfile_WriteInt(string, random(350));
format(string, sizeof string, "%i_Color2", index);
dfile_WriteInt(string, random(350));
format(string, sizeof string, "%i_Wartosc", index);
dfile_WriteInt(string, wartoscpojazdu);
format(string, sizeof string, "%i_ModSpoiler", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModHood", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModRoof", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModSideskirt", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModLamps", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModNitro", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModExhaust", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModWheels", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModStereo", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModHydraulics", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModFrontbumper", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModRearbumper", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModVentright", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModVentleft", index);
dfile_WriteInt(string, 0);
//
dfile_SaveFile();
dfile_CloseFile();
GivePlayerMoney(playerid, -wartoscpojazdu);
LoadPlayerPrivateVehicle(playerid, index);
return true;
}
else if(dfile_FileExists(string))
{
index = GetFreeVehicleIndex(playerid);
if(index == -1) return false;
//
dfile_Open(string);
format(string, sizeof string, "%i_Created", index);
dfile_WriteBool(string, true);
format(string, sizeof string, "%i_Model", index);
dfile_WriteInt(string, GetVehicleModel(vehicleid));
format(string, sizeof string, "%i_X", index);
dfile_WriteFloat(string, 782.6724);
format(string, sizeof string, "%i_Y", index);
dfile_WriteFloat(string, -1356.6254);
format(string, sizeof string, "%i_Z", index);
dfile_WriteFloat(string, 13.2605);
format(string, sizeof string, "%i_Rot", index);
dfile_WriteFloat(string, 88.9467);
format(string, sizeof string, "%i_Color1", index);
dfile_WriteInt(string, random(350));
format(string, sizeof string, "%i_Color2", index);
dfile_WriteInt(string, random(350));
format(string, sizeof string, "%i_Wartosc", index);
dfile_WriteInt(string, wartoscpojazdu);
format(string, sizeof string, "%i_ModSpoiler", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModHood", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModRoof", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModSideskirt", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModLamps", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModNitro", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModExhaust", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModWheels", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModStereo", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModHydraulics", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModFrontbumper", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModRearbumper", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModVentright", index);
dfile_WriteInt(string, 0);
format(string, sizeof string, "%i_ModVentleft", index);
dfile_WriteInt(string, 0);
//
dfile_SaveFile();
dfile_CloseFile();
GivePlayerMoney(playerid, -wartoscpojazdu);
LoadPlayerPrivateVehicle(playerid, index);
return true;
}
return false;
}
stock DeSpawnPlayerPrivateVehicle(playerid, index)
{
for(new i; i <= GetVehiclePoolSize(); i++)
{
if(PC[i][IsPrivate] && PC[i][vehIndex] == index && PC[i][ownerID] == playerid)
{
DestroyVehicle(i);
PC[i][IsPrivate] = false;
PC[i][vehIndex] = -1;
PC[i][ownerID] = -1;
PC[i][parkX] = 0.0;
PC[i][parkY] = 0.0;
PC[i][parkZ] = 0.0;
PC[i][parkRot] = 0.0;
return 1;
}
}
return 0;
}