22.08.2013, 10:04
Hey. For some reason in my server after I restart it vehicles spawn in correct position(X, Y, Z), but in incorrect ZAngle.
Here's my code:
Saving stock & Loading callback
That's what it shows in vehicleid.ini file in scriptfiles folder:
So, it spawns vehicle in the correct X, Y and Z but in incorrect ZAngle. Please Help!
Here's my code:
pawn Код:
enum vInfo
{
Float:vX[MAX_VEHICLES],
Float:vY[MAX_VEHICLES],
Float:vZ[MAX_VEHICLES],
Float:vZA[MAX_VEHICLES]
}
new VehicleInfo[MAX_VEHICLES][vInfo];
pawn Код:
stock SaveVehicleData(vehicleid)
{
GetVehiclePos(vehicleid, VehicleInfo[vehicleid][vX], VehicleInfo[vehicleid][vY], VehicleInfo[vehicleid][vZ]);
GetVehicleZAngle(vehicleid, VehicleInfo[vehicleid][vZA]);
new vini[32];
format(vini, sizeof(vini), "Vehicles/%d.ini", vehicleid);
new INI:vFile = INI_Open(vini);
INI_WriteFloat(vFile, "vX", VehicleInfo[vehicleid][vX]);
INI_WriteFloat(vFile, "vY", VehicleInfo[vehicleid][vY]);
INI_WriteFloat(vFile, "vZ", VehicleInfo[vehicleid][vZ]);
INI_WriteFloat(vFile, "vA", VehicleInfo[vehicleid][vZA]);
INI_Close(vFile);
return 1;
}
public LoadVehicle_data(vehicleid, name[], value[])
{
INI_Float("vX", VehicleInfo[vehicleid][vX]);
INI_Float("vY", VehicleInfo[vehicleid][vY]);
INI_Float("vZ", VehicleInfo[vehicleid][vZ]);
INI_Float("vA", VehicleInfo[vehicleid][vZA]);
return 1;
}
pawn Код:
public OnVehicleCreated(vehicleid)
{
if(fexist(vini))
{
INI_ParseFile(vini, "LoadVehicle_%s", .bExtra = true, .extra = vehicleid);
SetVehiclePos(vehicleid, VehicleInfo[vehicleid][vX], VehicleInfo[vehicleid][vY], VehicleInfo[vehicleid][vZ]);
SetVehicleZAngle(vehicleid, VehicleInfo[vehicleid][vZA]);
return 1;
}else{
}
}
Код:
[data] vX = 1598.373901 vY = -1619.995361 vZ = 13.228223 vA = 63.154762