#include forward OnPlayerFirstSpawn(playerid); static bool:PlayerFirstSpawn[MAX_PLAYERS]; hook OnPlayerConnect(playerid) { PlayerFirstSpawn[playerid] = true; } hook OnPlayerRequestClass(playerid, classid) { new Float:x, Float:y, Float:z, Float:a; Character_GetLastPos(playerid, x, y, z, a); SetSpawnInfo(playerid, DEFAULT_TEAM, Player_GetSkin(playerid), x, y, z, a, 0, 0, 0, 0, 0, 0); SpawnPlayer(playerid); } hook OnPlayerSpawn(playerid) { SetPlayerHealth(playerid, 100.0); printf("%s triggered OnPlayerSpawn.", ReturnPlayerRPName(playerid)); if(PlayerFirstSpawn[playerid]) { CallRemoteFunction("OnPlayerFirstSpawn", "i", playerid); } else if(!IsPlayerWounded(playerid)) { SetPlayerPos(playerid, DEFAULT_POSX, DEFAULT_POSY, DEFAULT_POSZ); SetPlayerFacingAngle(playerid, DEFAULT_POSA); SetPlayerInterior(playerid, DEFAULT_INT); SetPlayerVirtualWorld(playerid, DEFAULT_VW); } else CallRemoteFunction("OnPlayerSpawnToHospital", "i", playerid); SetCameraBehindPlayer(playerid); } public OnPlayerFirstSpawn(playerid) { PlayerFirstSpawn[playerid] = false; SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1); SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1); ClearChat(playerid); SendInfoMessageF(playerid, "Welcome back to %s.", SERVER_NAME); SendInfoMessage(playerid, "Be sure to stay up to date on the {02a4c4}Server Rules {FFFFFF}to avoid any issues!"); SendInfoMessageF(playerid, "Visit our website at {ff8c00}%s{ffffff} for all information regarding the community.", SERVER_WEBSITE); } stock bool:IsPlayerSpawned(playerid) { if(PlayerFirstSpawn[playerid]) { return false; } return true; }