if(PlayerInfo[playerid][pCrashed] >= 1 && PlayerInfo[playerid][pCrashed] <= 2) { SetPlayerToTeamColor(playerid); SetPlayerInterior(playerid,PlayerInfo[playerid][pInt]); DOO_SetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z] + 1); SetPlayerVirtualWorld(playerid,PlayerInfo[playerid][pWorld]); if(PlayerInfo[playerid][pCrashHealth] > 10.0) { SetPlayerHealthEx(playerid,PlayerInfo[playerid][pCrashHealth]); } else { SetPlayerHealthEx(playerid,10.0); } if(PlayerInfo[playerid][pPos_x] == 0.0 && PlayerInfo[playerid][pPos_y] == 0.0 && PlayerInfo[playerid][pPos_z] == 0.0) { DOO_SetPlayerPos(playerid,-88.2428,1378.3292,10.2734); SetPlayerFacingAngle(playerid, 0); SetPlayerInterior(playerid,0); } SetPlayerArmourEx(playerid,PlayerInfo[playerid][pCrashArmour]); SetTimerEx("UnsetCrash", 20000, false, "i", playerid); SetPlayerWeapons(playerid); return 1; } if(PlayerInfo[playerid][pCrashed] > 2) { PlayerInfo[playerid][pCrashed] = 0; } if(type == 1) { TogglePlayerSpectating(playerid,1); PlayerInfo2[UsingSpawnBar][playerid] = 1; TextDrawHideForPlayer(playerid, E1); TextDrawShowForPlayer(playerid, NewbieDraw3); TextDrawShowForPlayer(playerid, NewbieDraw1[playerid]); TextDrawShowForPlayer(playerid, NewbieDraw2[playerid]); SpawnSpots(playerid); SetTimerEx("SpawnBarFix", 2000, false, "i", playerid); SendClientMessage(playerid,COLOR_WHITE," "); SendClientMessage(playerid,COLOR_WHITE,"Press Your fire key to spawn at that location, and sprint key to change location."); return 1; } if(house != 255) { SetPlayerToTeamColor(playerid); SetPlayerInterior(playerid,HouseInfo[house][hInt]); SetPlayerVirtualWorld(playerid,house+100); DOO_SetPlayerPos(playerid, HouseInfo[house][hExitx], HouseInfo[house][hExity],HouseInfo[house][hExitz]); // Warp the player PlayerInfo[playerid][pLocal] = house; PlayerInfo[playerid][pInt] = HouseInfo[house][hInt]; PlayerInfo2[HouseEntered][playerid] = house; return 1; } else if (PlayerInfo[playerid][pMember] == 6)//Police Force spawn { SetPlayerToTeamColor(playerid); rand = random(sizeof(gCopPlayerSpawns)); DOO_SetPlayerPos(playerid, gCopPlayerSpawns[rand][0], gCopPlayerSpawns[rand][1], gCopPlayerSpawns[rand][2]); // Warp the player SetPlayerFacingAngle(playerid, 270.0); SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0; return 1; } else if (PlayerInfo[playerid][pMember] == 2)//FBI spawn { SetPlayerToTeamColor(playerid); SetPlayerInterior(playerid,3); DOO_SetPlayerPos(playerid, 299.7097,183.1322,1007.1719); SetPlayerFacingAngle(playerid, 90); SetPlayerVirtualWorld(playerid,1); PlayerInfo[playerid][pInt] = 3; PlayerInfo2[IntEntered][playerid] = 14; return 1; } else if(PlayerInfo[playerid][pMember] == 3)//Mayor/Gov spawn { SetPlayerToTeamColor(playerid); SetPlayerInterior(playerid, 3); DOO_SetPlayerPos(playerid, 356.2998,151.9914,1025.7891); PlayerInfo[playerid][pInt] = 3; PlayerInfo2[IntEntered][playerid] = 5; return 1; } else if (PlayerInfo[playerid][pMember] == 4)//Fire/Ambulance spawn { SetPlayerToTeamColor(playerid); DOO_SetPlayerPos(playerid, -3429.0164,475.4126,57.6132); SetPlayerFacingAngle(playerid, 0); SetPlayerVirtualWorld(playerid,0); PlayerInfo2[IntEntered][playerid] = 2; return 1; } else if (PlayerInfo[playerid][pMember] >= 7 && FamilyInfo[PlayerInfo[playerid][pMember]][FamilyInterior] != 0) // Factions { new fam = PlayerInfo[playerid][pMember]; SetPlayerToTeamColor(playerid); SetPlayerVirtualWorld(playerid,fam); switch (FamilyInfo[fam][FamilyInterior]) { case 1: { SetPlayerInterior(playerid,5); DOO_SetPlayerPos(playerid, 309.9930,1122.5713,1083.8828); } case 2: { SetPlayerInterior(playerid,2); DOO_SetPlayerPos(playerid, 2465.8018,-1698.3330,1013.5078); } case 3: { SetPlayerInterior(playerid,3); DOO_SetPlayerPos(playerid, 2496.0498,-1694.3333,1014.7422); } case 4: { SetPlayerInterior(playerid,8); DOO_SetPlayerPos(playerid, 2807.6926,-1171.0026,1025.5703); } case 5: { SetPlayerInterior(playerid,5); DOO_SetPlayerPos(playerid, 2347.8057,-1181.1316,1027.9766); } case 6: { SetPlayerInterior(playerid,1); DOO_SetPlayerPos(playerid, 2529.6406,-1679.5159,1015.4986); } } return 1; } else // Nooby Spawn { SetPlayerToTeamColor(playerid); DOO_SetPlayerPos(playerid, -88.2428,1378.3292,10.2734); SetPlayerFacingAngle(playerid, 0); SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0; } return 1; }
You need to store the last known co-ordinates of the player in the playerfile under OnPlayerDisconnect. Then when they spawn, you need to load those co-ords and set their position there.
|