27.03.2017, 13:45
(
Последний раз редактировалось DevHarden; 29.03.2017 в 15:40.
)
PHP код:
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 VehicleInfo[MAX_VEHICLES][vInfo];
PHP код:
Public OnGameModeInit()
{
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], 0);
SetVehicleParamsEx(VehicleInfo[i][vID], 0, 0, 0, 0, 0, 0, 0);
}
}
}
format(string, sizeof(string), " %i vehicles have been loaded!\n", vCount);
print(string);
}
PHP код:
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;
}
Vehicle system saves the vehicle location perfectly, even after manually checking it before and after a manual restart. The problem arises when it is restarted and they are loaded in. They all spawn at "0.0, 0.0, 0.0" under the map and then free fall and spawn back on the map in the field but everything else about the vehicle is saved and correctly loaded, I am just having issues with the co-ordinates.
I've ran trial and error on all of the code and cannot figure out the problem. The problem started happening randomly as the code was previously working 100% correctly so either I accidentally changed something and am missing it or something else could be interfering with the system in which I hope somebody has had and can point me to a solution.
Thank you!
Feel free to message me your skype if you'd like to look over the complete code that doesn't involve the vehicle loading.