25.09.2016, 08:56
in my server when players joins the server it loads his owned vehicles and when he quit the game his vehicles disappearing so i want to make it when i start the server it can load all players vehicles here is the code
}
so anyone convert it that when i start server it loads users vehicles please?
Код:
stock LoadPlayerVehicles(playerid)
{
GetPlayerVehicles{playerid} = 0;
verifydestroycar{playerid} = 0;
new vehcount = 0;
for(new v = 0; v < MAX_SHOP_VEHICLES; v++)
{
new file[40];
format(file, sizeof(file), VEH_FILE, v);
if(fexist(file))
{
INI_ParseFile(file, "LoadVeh_%s", .bExtra = true, .extra = v);
if(!strcmp(GetName(playerid), VehicleInfo[v][vOwner], false))
{
new newveh = CreateVehicle(VehicleInfo[v][vModel], VehicleInfo[v][vPosX], VehicleInfo[v][vPosY], VehicleInfo[v][vPosZ], VehicleInfo[v][vPosA], VehicleInfo[v][vColor1], VehicleInfo[v][vColor2], 500000);
SetVehicleNumberPlate(newveh, VehicleInfo[v][vPlate]);
if(VehicleInfo[v][vPaintJob] != 0)
{
ChangeVehiclePaintjob(newveh, VehicleInfo[v][vPaintJob]);
}
if(VehicleInfo[v][vHealth] <= 251.0)
{
SetVehicleHealth(newveh, 1000.0);
VehicleInfo[v][vHealth] = 1000.0;
}
else
{
SetVehicleHealth(newveh, VehicleInfo[v][vHealth]);
}
for(new m = 0; m < 12; m++)
{
if(GetVehicleMods[v][m] > 0)
{
AddVehicleComponent(newveh, GetVehicleMods[v][m]);
}
}
if(VehicleInfo[v][vLocked] == 1)
{
SetVehicleParamsForAll(newveh, 0, 1);
GetVehicleParamsEx(newveh, engine, lights, alarm, doors, bonnet, boot, condition);
SetVehicleParamsEx(newveh, engine, lights, alarm, ON, bonnet, boot, condition);
}
else if(VehicleInfo[v][vLocked] == 0)
{
SetVehicleParamsForAll(newveh, 0, 0);
GetVehicleParamsEx(newveh, engine, lights, alarm, doors, bonnet, boot, condition);
SetVehicleParamsEx(newveh, engine, lights, alarm, OFF, bonnet, boot, condition);
}
if(VehicleInfo[v][vNeons] != NO_NEONS && VehicleInfo[v][vNeons] == BLUE_NEONS)
{
blueneons[newveh] = CreateObject(18648,0,0,0,0,0,0);
blueneons2[newveh] = CreateObject(18648,0,0,0,0,0,0);
AttachObjectToVehicle(blueneons[newveh], newveh, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(blueneons2[newveh], newveh, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
else if(VehicleInfo[v][vNeons] != NO_NEONS && VehicleInfo[v][vNeons] == RED_NEONS)
{
redneons[newveh] = CreateObject(18647,0,0,0,0,0,0);
redneons2[newveh] = CreateObject(18647,0,0,0,0,0,0);
AttachObjectToVehicle(redneons[newveh], newveh, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(redneons2[newveh], newveh, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
else if(VehicleInfo[v][vNeons] != NO_NEONS && VehicleInfo[v][vNeons] == GREEN_NEONS)
{
greenneons[newveh] = CreateObject(18649,0,0,0,0,0,0);
greenneons2[newveh] = CreateObject(18649,0,0,0,0,0,0);
AttachObjectToVehicle(greenneons[newveh], newveh, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(greenneons2[newveh], newveh, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
else if(VehicleInfo[v][vNeons] != NO_NEONS && VehicleInfo[v][vNeons] == YELLOW_NEONS)
{
yellowneons[newveh] = CreateObject(18650,0,0,0,0,0,0);
yellowneons2[newveh] = CreateObject(18650,0,0,0,0,0,0);
AttachObjectToVehicle(yellowneons[newveh], newveh, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(yellowneons2[newveh], newveh, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
else if(VehicleInfo[v][vNeons] != NO_NEONS && VehicleInfo[v][vNeons] == PINK_NEONS)
{
pinkneons[newveh] = CreateObject(18651,0,0,0,0,0,0);
pinkneons2[newveh] = CreateObject(18651,0,0,0,0,0,0);
AttachObjectToVehicle(pinkneons[newveh], newveh, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(pinkneons2[newveh], newveh, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
IsShopVehicle[newveh] = v;
GetPlayerVehicles{playerid}++;
GetServerVehicles++;
GetVehicleFuel[newveh] = VehicleInfo[v][vFuel];
GetVehicleCurrentHealth[newveh] = VehicleInfo[v][vHealth];
vehcount++;
if(vehcount == MAX_VIP_VEHS)
{
return 1;
}
}
}
}
return 1;
}
Код:
stock UnloadPlayerVehicles(playerid)
{
new vehcount = 0;
for(new v = 0; v < MAX_VEHICLES; v++)
{
if(IsShopVehicle[v] != -1)
{
if(!strcmp(GetName(playerid), VehicleInfo[IsShopVehicle[v]][vOwner], false))
{
new color1, color2;
if(GetVehicleColor(v, color1, color2))
{
VehicleInfo[IsShopVehicle[v]][vColor1] = color1;
VehicleInfo[IsShopVehicle[v]][vColor2] = color2;
}
new Float:health;
GetVehicleHealth(v, health);
VehicleInfo[IsShopVehicle[v]][vHealth] = health;
SaveVehicleStats(IsShopVehicle[v]);
DestroyNeons(v);
DestroyVehicle(v);
GetPlayerVehicles{playerid}--;
GetServerVehicles--;
IsShopVehicle[v] = -1;
vehcount++;
if(vehcount == MAX_VIP_VEHS)
{
return 1;
}
}
}
}
return 1;
}
Код:
public OnPlayerDisconnect(playerid, reason)
{
UnloadPlayerVehicles(playerid);
Код:
OnPlayerConnect
{
LoadPlayerVehicles(playerid);
}


