if(pInfo[playerid][PosX] == 0.0 && pInfo[playerid][PosY] == 0.0) // new player { new position = random(sizeof(CivilianSpawn)); SetPlayerPos(playerid, CivilianSpawn[position][0], CivilianSpawn[position][1], CivilianSpawn[position][2]+0.3); SetPlayerFacingAngle(playerid, CivilianSpawn[position][3]); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetCameraBehindPlayer(playerid); } else if(pInfo[playerid][PosX] != 0.0 && pInfo[playerid][PosY] != 0.0) // existing player { SetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]+1.5); SetPlayerFacingAngle(playerid, pInfo[playerid][PosAngle]); SetPlayerInterior(playerid, pInfo[playerid][Interior]); SetPlayerVirtualWorld(playerid, pInfo[playerid][VirtualWorld]); SendClientMessage(playerid, COLOR_GOV, "SERVER: {FFFFFF}Welcome to your last position."); if(pInfo[playerid][SkinID] == 0) return ShowModelSelectionMenu(playerid, skinlist, "Select Skin"); } else if(IsBit(pFlag[playerid], pBIT_INJURED)) { .... } else if(IsBit(pFlag[playerid], pBIT_HOSPITALIZED)) { .... } else if(pInfo[playerid][Prison] >= 2) { .... } else if(IsBit(pFlag[playerid], pBIT_CAGED)) { .... }
if(pInfo[playerid][PosX] == 0.0 && pInfo[playerid][PosY] == 0.0) // new player { new position = random(sizeof(CivilianSpawn)); SetPlayerPos(playerid, CivilianSpawn[position][0], CivilianSpawn[position][1], CivilianSpawn[position][2]+0.3); SetPlayerFacingAngle(playerid, CivilianSpawn[position][3]); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetCameraBehindPlayer(playerid); } else if(pInfo[playerid][PosX] != 0.0 && pInfo[playerid][PosY] != 0.0) // existing player { SetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]+1.5); SetPlayerFacingAngle(playerid, pInfo[playerid][PosAngle]); SetPlayerInterior(playerid, pInfo[playerid][Interior]); SetPlayerVirtualWorld(playerid, pInfo[playerid][VirtualWorld]); SendClientMessage(playerid, COLOR_GOV, "SERVER: {FFFFFF}Welcome to your last position."); if(pInfo[playerid][SkinID] == 0) return ShowModelSelectionMenu(playerid, skinlist, "Select Skin"); } if(IsBit(pFlag[playerid], pBIT_INJURED)) { .... } else if(IsBit(pFlag[playerid], pBIT_HOSPITALIZED)) { .... } else(IsBit(pFlag[playerid], pBIT_CAGED)) { .... } if(pInfo[playerid][Prison] >= 2) { .... }
Try this:
Код:
if(pInfo[playerid][PosX] == 0.0 && pInfo[playerid][PosY] == 0.0) // new player { new position = random(sizeof(CivilianSpawn)); SetPlayerPos(playerid, CivilianSpawn[position][0], CivilianSpawn[position][1], CivilianSpawn[position][2]+0.3); SetPlayerFacingAngle(playerid, CivilianSpawn[position][3]); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetCameraBehindPlayer(playerid); } else if(pInfo[playerid][PosX] != 0.0 && pInfo[playerid][PosY] != 0.0) // existing player { SetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]+1.5); SetPlayerFacingAngle(playerid, pInfo[playerid][PosAngle]); SetPlayerInterior(playerid, pInfo[playerid][Interior]); SetPlayerVirtualWorld(playerid, pInfo[playerid][VirtualWorld]); SendClientMessage(playerid, COLOR_GOV, "SERVER: {FFFFFF}Welcome to your last position."); if(pInfo[playerid][SkinID] == 0) return ShowModelSelectionMenu(playerid, skinlist, "Select Skin"); } if(IsBit(pFlag[playerid], pBIT_INJURED)) { .... } else if(IsBit(pFlag[playerid], pBIT_HOSPITALIZED)) { .... } else(IsBit(pFlag[playerid], pBIT_CAGED)) { .... } if(pInfo[playerid][Prison] >= 2) { .... } If the above code doesn't work then change all "else if" statements into "if" statements |
if(IsBit(pFlag[playerid], pBIT_INJURED))
{
....
}
else if(IsBit(pFlag[playerid], pBIT_HOSPITALIZED))
{
....
}
else(IsBit(pFlag[playerid], pBIT_CAGED))
{
....
}
else if(pInfo[playerid][Prison] >= 2)
{
....
}
else if(pInfo[playerid][PosX] == 0.0 && pInfo[playerid][PosY] == 0.0) // new player
{
new position = random(sizeof(CivilianSpawn));
SetPlayerPos(playerid, CivilianSpawn[position][0], CivilianSpawn[position][1], CivilianSpawn[position][2]+0.3);
SetPlayerFacingAngle(playerid, CivilianSpawn[position][3]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetCameraBehindPlayer(playerid);
}
else if(pInfo[playerid][PosX] != 0.0 && pInfo[playerid][PosY] != 0.0) // existing player
{
SetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]+1.5);
SetPlayerFacingAngle(playerid, pInfo[playerid][PosAngle]);
SetPlayerInterior(playerid, pInfo[playerid][Interior]);
SetPlayerVirtualWorld(playerid, pInfo[playerid][VirtualWorld]);
SendClientMessage(playerid, COLOR_GOV, "SERVER: {FFFFFF}Welcome to your last position.");
if(pInfo[playerid][SkinID] == 0) return ShowModelSelectionMenu(playerid, skinlist, "Select Skin");
}
First check if the player is injured, and in last instance set the player to the last position. If it still doesn't work, debug your pFlag value.
pawn Код:
|
else if(pInfo[playerid][PosX] != 0.0 && pInfo[playerid][PosY] != 0.0 && /*your injured checks here*/)