enum vInfo
{
vID,
vHasKey,
vKeyID,
vModel,
vFuel,
vUsingFuel,
vOil,
vCanRun,
vInsured,
Float:vX,
Float:vY,
Float:vZ,
Float:vA,
vColor1,
vColor2,
vFaction,
vOwner[MAX_PLAYER_NAME],
vPrevOwners,
vLocked,
vRegdate[24],
vCash,
vWeapon,
vPot,
vCrack
};
new string[40], vCount = 0, bCount = 0;
for(new i = 0; i < sizeof(VehicleInfo); i++)
{
new vFile[35];
format(vFile, 50, vPATH ,i);
if(fexist(vFile))
{
INI_ParseFile(vFile, "LoadVehicle", .bExtra = true, .extra = i);
if(VehicleInfo[i][vModel] != 0)
{
vCount++;
VehicleInfo[i][vID] = CreateVehicle(VehicleInfo[i][vModel], VehicleInfo[i][vX],VehicleInfo[i][vY],VehicleInfo[i][vZ],VehicleInfo[i][vA], VehicleInfo[i][vColor1], VehicleInfo[i][vColor2], -1);
SetVehicleParamsEx(i, 0, 0, 0, 0, 0, 0, 0);
}
}
}
format(string, sizeof(string), " %i vehicles have been loaded!\n", vCount);
print(string);
function SaveVehicle(fileid)
{
new vFile[128], Float:vsX, Float:vsY, Float:vsZ, Float:vsA;
format(vFile, sizeof(vFile),vPATH,fileid);
GetVehiclePos(VehicleInfo[fileid][vID], vsX, vsY, vsZ);
GetVehicleZAngle(VehicleInfo[fileid][vID], vsA);
VehicleInfo[fileid][vX] = vsX;
VehicleInfo[fileid][vY] = vsY;
VehicleInfo[fileid][vZ] = vsZ;
VehicleInfo[fileid][vA] = vsA;
new INI:File = INI_Open(vFile);
INI_WriteInt(File,"KeyID",VehicleInfo[fileid][vKeyID]);
INI_WriteInt(File,"HasKey",VehicleInfo[fileid][vHasKey]);
INI_WriteInt(File,"Model",VehicleInfo[fileid][vModel]);
INI_WriteInt(File,"Fuel",VehicleInfo[fileid][vFuel]);
INI_WriteInt(File,"UsingFuel",VehicleInfo[fileid][vUsingFuel]);
INI_WriteInt(File,"Oil",VehicleInfo[fileid][vOil]);
INI_WriteInt(File,"CanRun",VehicleInfo[fileid][vCanRun]);
INI_WriteInt(File,"Insured",VehicleInfo[fileid][vInsured]);
INI_WriteFloat(File,"X",VehicleInfo[fileid][vX]);
INI_WriteFloat(File,"Y",VehicleInfo[fileid][vY]);
INI_WriteFloat(File,"Z",VehicleInfo[fileid][vZ]);
INI_WriteFloat(File,"A",VehicleInfo[fileid][vA]);
INI_WriteInt(File,"Color1",VehicleInfo[fileid][vColor1]);
INI_WriteInt(File,"Color2",VehicleInfo[fileid][vColor2]);
INI_WriteInt(File,"Faction",VehicleInfo[fileid][vFaction]);
INI_WriteString(File,"Owner",VehicleInfo[fileid][vOwner]);
INI_WriteInt(File,"PrevOwners",VehicleInfo[fileid][vPrevOwners]);
INI_WriteString(File,"RegDate",VehicleInfo[fileid][vRegdate]);
INI_WriteInt(File,"Cash",VehicleInfo[fileid][vCash]);
INI_WriteInt(File,"Weapon",VehicleInfo[fileid][vWeapon]);
INI_WriteInt(File,"Pot",VehicleInfo[fileid][vPot]);
INI_WriteInt(File,"Crack",VehicleInfo[fileid][vCrack]);
INI_Close(File);
return 1;
}
new vCount,vFile[35];
for(new i,j=sizeof(VehicleInfo);i<j;i++)
{
format(vFile,sizeof(vFile),vPATH,i);
if(exist(vFile))
{
INI_ParseFile(vFile,"LoadVehicle",.bExtra = true, .extra = i);
if(VehicleInfo[i][vModel] != 0)
{
vCount ++;
VehicleInfo[i][vID] = CreateVehicle(VehicleInfo[i][vModel],VehicleInfo[i][vX],VehicleInfo[i][vY],VehicleInfo[i][vZ],VehicleInfo[i][vA],VehicleInfo[i][vColor1],VehicleInfo[i][vColor2],-1);
SetVehicleParamsEx(VehicleInfo[i][vID],0,0,0,0,0,0,0);
}
}
}
printf("%i vehicles have been loaded!",vCount);
function LoadVehicle(fileid, name[], value[])
{
INI_Int("KeyID",VehicleInfo[fileid][vKeyID]);
INI_Int("HasKey",VehicleInfo[fileid][vHasKey]);
INI_Int("Model",VehicleInfo[fileid][vModel]);
INI_Int("Fuel",VehicleInfo[fileid][vFuel]);
INI_Int("UsingFuel",VehicleInfo[fileid][vUsingFuel]);
INI_Int("Oil",VehicleInfo[fileid][vOil]);
INI_Int("CanRun",VehicleInfo[fileid][vCanRun]);
INI_Int("Insured",VehicleInfo[fileid][vInsured]);
INI_Float("X",VehicleInfo[fileid][vX]);
INI_Float("Y",VehicleInfo[fileid][vY]);
INI_Float("Z",VehicleInfo[fileid][vZ]);
INI_Float("A",VehicleInfo[fileid][vA]);
INI_Int("Color1",VehicleInfo[fileid][vColor1]);
INI_Int("Color2",VehicleInfo[fileid][vColor2]);
INI_Int("Faction",VehicleInfo[fileid][vFaction]);
INI_String("Owner",VehicleInfo[fileid][vOwner], MAX_PLAYER_NAME);
INI_Int("PrevOwners",VehicleInfo[fileid][vPrevOwners]);
INI_String("RegDate",VehicleInfo[fileid][vRegdate], 30);
INI_Int("Cash",VehicleInfo[fileid][vCash]);
INI_Int("Weapon",VehicleInfo[fileid][vWeapon]);
INI_Int("Pot",VehicleInfo[fileid][vPot]);
INI_Int("Crack",VehicleInfo[fileid][vCrack]);
return 1;
}
Where are you saving these vehicles (if) + is there any show coordinates! You should load vehicle from file
|
Try setting the vehicle position after creating them,
https://sampwiki.blast.hk/wiki/SetVehiclePos May not be the real fix, but it could be a workaround |