I have little problem with my function. Sometimes, when I spawn a vehicle, the vehicle of another player disappear. My vehicle function looks like this:
Код:
public SpawnPlayerVehicle(playerid,ModelID)
{
new Float: xPos,Float: yPos,Float: zPos,Float: Ang,Float: xVel,Float: yVel,Float: zVel;
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
GetVehiclePos(GetPlayerVehicleID(playerid),xPos,yPos,zPos); GetVehicleZAngle(GetPlayerVehicleID(playerid),Ang);
GetVehicleVelocity(GetPlayerVehicleID(playerid),xVel,yVel,zVel);
}
else
{
GetPlayerPos(playerid,xPos,yPos,zPos); GetPlayerFacingAngle(playerid,Ang);
GetPlayerVelocity(playerid,xVel,yVel,zVel);
}
if(Player[playerid][pVehicle] != INVALID_VEHICLE_ID)
{
DestroyVehicle(Player[playerid][pVehicle]);
}
if(ModelID > 399 && ModelID < 612)
{
new Color1 = random(sizeof(VehicleColors));
new Color2 = random(sizeof(VehicleColors));
Player[playerid][pVehicle] = CreateVehicle(ModelID,xPos,yPos,zPos + 1,Ang,VehicleColors[Color1],VehicleColors[Color2],0);
SetVehicleVirtualWorld(Player[playerid][pVehicle],Player[playerid][pWorld]);
PutPlayerInVehicle(playerid,Player[playerid][pVehicle],0);
SetVehicleVelocity(Player[playerid][pVehicle],xVel,yVel,zVel);
PlayerPlaySound(playerid,1056,0,0,0);
}
else
{
Player[playerid][pVehicle] = INVALID_VEHICLE_ID;
}
return 1;
}