Frost1218 27 Опубликовано 18 февраля, 2017 Друзья! Скажите как убрать сохранение позиции при выходе с сервера? Например: Со спавна (Южного) Доехал до (Анашана) Вышел с сервера, И снова появился у (Анашана) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 18 февраля, 2017 Поищи: OnPlayerSpawn SetPlayerSpawn и залей код сюда Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Frost1218 27 Опубликовано 18 февраля, 2017 (изменено) OnPlayerSpawn OnPlayerSpawn Есть! Остального нет! Вот паблик public OnPlayerSpawn(playerid) { new string[128]; if(!PlayerLogged[playerid]) return 1; SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0); StopAudioStreamForPlayer(playerid); SetPlayerHealthEx(playerid, 100); StatusInfo[playerid][sSpawn] = 1; PlayerTied[playerid] = false; PlayerCuffed[playerid] = false; switch(PlayerInfo[playerid][pMember]) { case REPORTER_ORG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 43, 99999); case POLICE_ORG: SetPlayerColor(playerid, COLOR_WHITE); case MEDIC_ORG: SetPlayerColor(playerid, COLOR_WHITE); case HITMAN_ORG: SetPlayerColor(playerid, COLOR_WHITE); case FIRE_ORG: SetPlayerColor(playerid, COLOR_WHITE); case PATRUL_ORG: SetPlayerColor(playerid, COLOR_WHITE); case TRANSPORT_ORG: SetPlayerColor(playerid, COLOR_WHITE); case MERIA_ORG: { SetPlayerColor(playerid, COLOR_WHITE); if(PlayerInfo[playerid][pRank] == 1) { GivePlayerWeaponEx(playerid, 3); GivePlayerWeaponEx(playerid, 24); } } case GROOVE_GANG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 5); case BALLAS_GANG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 5); case VAGOS_GANG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 5); case RIFA_GANG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 5); case MONGOLS_MC: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 4); case OUTLAWS_MC: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 4); case RUSSIAN_MAFIA: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 1); default: SetPlayerColor(playerid, COLOR_WHITE); } SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); if(!PlayerStarting[playerid]) { LoadingPlayerAnimations(playerid); GivePlayerSavedWeapons(playerid); TextDrawShowForPlayer(playerid, Advertising); if(PlayerInfo[playerid][pBandana] != 0) SetPlayerBandana(playerid, PlayerInfo[playerid][pBandana]); if(PlayerInfo[playerid][pHat] != 0) SetPlayerHat(playerid, PlayerInfo[playerid][pHat]); CurrentPlayerTime(playerid); } else if(PlayerInfo[playerid][pJailTime] == 9999) { PlayerInfo[playerid][pJailTime] = GetPlayerWantedLevel(playerid)*300; SendClientMessage(playerid, COLOR_ORANGE, "Ты посажен в тюрьму за выход при аресте"); return 1; } else if(PlayerInfo[playerid][pGiveBohka] > 0) { JailTimer[playerid] = SetTimerEx("CountPlayerUnJail", 1000, true, "i", playerid); SpawnPlayerInJailMed(playerid); if(!DeathArrest[playerid]) SendClientMessage(playerid, COLOR_ORANGE, "Ты был вылечен доктором тюрьмы."); DeathArrest[playerid] = false; PlayerStarting[playerid] = true; return 1; } if(!PlayerRegister[playerid]) { if(!PlayerStarting[playerid]) { PlayerStarting[playerid] = true; if(PlayerInfo[playerid][pSpawn] == 0) SetPlayerSavedPos(playerid); //SetPlayerPos(playerid, 2510.3245,-2131.0320,23.4558); if(PlayerInfo[playerid][pSpawn] == 1) { SetPlayerHealthEx(playerid, PlayerInfo[playerid][pHealth]); new houseid; if(PlayerInfo[playerid][pHouse] != 0) houseid = PlayerInfo[playerid][pHouse]; else houseid = PlayerInfo[playerid][pRent]; IsInPlayerHouse[playerid][houseid] = true; GetPlayerHouse[playerid] = houseid; SetPlayerHouseInterior(playerid, houseid); PlayerInInterior[playerid] = true; CurrentPlayerTime(playerid); if(PlayerInfo[playerid][pHouse] != 0) SendClientMessage(playerid, COLOR_WHITE, "Чтобы посмотреть меню дома используй команду {9DDAF2}/house"); if(HouseInfo[houseid][hHealth] == 1) SetPlayerHealthEx(playerid, 100); } if(PlayerInfo[playerid][pSpawn] == 0) { SetPlayerPos(playerid, 2510.5493,-2123.7427,23.4558); } } else { if(PlayerSavedPositions[playerid]) { SetPlayerSavedPos(playerid); SetPlayerSavedCar(playerid); } if(!PlayerSavedPositions[playerid]) { if(PlayerInfo[playerid][pSpawn] == 0) { if(PlayerInfo[playerid][pLevel] < 1) SetPlayerHealthEx(playerid, 45+PlayerInfo[playerid][pLevel]*5); else SetPlayerHealthEx(playerid, 100); SetPlayerPos(playerid, 357.0509,151.1285,1003.8500); SetPlayerFacingAngle(playerid, 270.0); TogglePlayerControllable(playerid, 0); SetTimerEx("UnFreezePlayer", 2000, false, "i", playerid); // где 2000 это время заморозки (2000 = 2 секунды) SetPlayerVirtualWorld(playerid, MEDD_MIR); if(GetPlayerMoneyEx(playerid) >= GetMedPrice) { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetMedPrice); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoneyEx(playerid, -GetMedPrice); } else { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetPlayerMoneyEx(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); ResetPlayerMoneyEx(playerid); } } if(PlayerInfo[playerid][pSpawn] == 1) { if(PlayerInfo[playerid][pLevel] < 1) SetPlayerHealthEx(playerid, 45+PlayerInfo[playerid][pLevel]*5); else SetPlayerHealthEx(playerid, 100); SetPlayerPos(playerid, 376.6834,130.2055,1003.8500); SetPlayerFacingAngle(playerid, 270.0); TogglePlayerControllable(playerid, 0); SetTimerEx("UnFreezePlayer", 2000, false, "i", playerid); // где 2000 это время заморозки (2000 = 2 секунды) SetPlayerVirtualWorld(playerid, MEDD_MIR); if(GetPlayerMoneyEx(playerid) >= GetMedPrice) { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetMedPrice); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoneyEx(playerid, -GetMedPrice); } else { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetPlayerMoneyEx(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); ResetPlayerMoneyEx(playerid); } } if(PlayerInfo[playerid][pSpawn] == 2) { if(PlayerInfo[playerid][pLevel] < 1) SetPlayerHealthEx(playerid, 45+PlayerInfo[playerid][pLevel]*5); else SetPlayerHealthEx(playerid, 100); SetPlayerPos(playerid, 356.6400,143.0867,1003.8500); SetPlayerFacingAngle(playerid, 270.0); TogglePlayerControllable(playerid, 0); SetTimerEx("UnFreezePlayer", 2000, false, "i", playerid); // где 2000 это время заморозки (2000 = 2 секунды) SetPlayerVirtualWorld(playerid, MEDD_MIR); if(GetPlayerMoneyEx(playerid) >= GetMedPrice) { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetMedPrice); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoneyEx(playerid, -GetMedPrice); } else { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetPlayerMoneyEx(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); ResetPlayerMoneyEx(playerid); } } if(PlayerInfo[playerid][pMember] == POLICE_ORG) { SetPlayerHealthEx(playerid, 100); SetPlayerPos(playerid, 1429.4624,1721.7318,16.2153); SetPlayerFacingAngle(playerid, 270.0); SetPlayerVirtualWorld(playerid, 0); } } else { PlayerSavedPositions[playerid] = false; } } } else { PlayerStarting[playerid] = true; SetPlayerPos(playerid, 2518.0452,-2126.5271,21.9800);//место спавна SetPlayerFacingAngle(playerid, 0.0); TogglePlayerControllable(playerid, 0); SetTimerEx("UnFreezePlayer", 2000, false, "i", playerid); // где 2000 это время заморозки (2000 = 2 секунды) ShowDialog(playerid, 00000, DIALOG_STYLE_MSGBOX, "Информация", "{FFFFFF}\ С удачным приездом в П.Батырево!\n\n\ {FFFFFF}Чтобы узнать локализации сервера используй команду {00FF00}/gps\n\ Для помощи на сервере используй команду {FFFFFF}/menu\n\n\ {FFFFFF}Для того чтобы связаться с администрацией используй:\n\ (( /report ))\n\ {FFFFFF}Устройся на работу:\n\ (( /gps --> Месторасположение работ.))\n\ {FFFFFF}\nНаша группа ВК - vk.com/\nПриятной игры!\ ", "Закрыть", ""); SetPlayerHealthEx(playerid, 100); PlayerRegister[playerid] = false; } SetCameraBehindPlayer(playerid); return 1; } Изменено 18 февраля, 2017 пользователем Frost1218 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 18 февраля, 2017 Где PlayerSavedPos бери в коментарий/удаляй Не трудно догадаться Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Frost1218 27 Опубликовано 19 февраля, 2017 , В коде много playersavedpos может поможешь? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MDELAET 26 Опубликовано 19 февраля, 2017 @Frost1218, public OnPlayerSpawn(playerid) { new string[128]; if(!PlayerLogged[playerid]) return 1; SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0); StopAudioStreamForPlayer(playerid); SetPlayerHealthEx(playerid, 100); StatusInfo[playerid][sSpawn] = 1; PlayerTied[playerid] = false; PlayerCuffed[playerid] = false; switch(PlayerInfo[playerid][pMember]) { case REPORTER_ORG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 43, 99999); case POLICE_ORG: SetPlayerColor(playerid, COLOR_WHITE); case MEDIC_ORG: SetPlayerColor(playerid, COLOR_WHITE); case HITMAN_ORG: SetPlayerColor(playerid, COLOR_WHITE); case FIRE_ORG: SetPlayerColor(playerid, COLOR_WHITE); case PATRUL_ORG: SetPlayerColor(playerid, COLOR_WHITE); case TRANSPORT_ORG: SetPlayerColor(playerid, COLOR_WHITE); case MERIA_ORG: { SetPlayerColor(playerid, COLOR_WHITE); if(PlayerInfo[playerid][pRank] == 1) { GivePlayerWeaponEx(playerid, 3); GivePlayerWeaponEx(playerid, 24); } } case GROOVE_GANG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 5); case BALLAS_GANG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 5); case VAGOS_GANG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 5); case RIFA_GANG: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 5); case MONGOLS_MC: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 4); case OUTLAWS_MC: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 4); case RUSSIAN_MAFIA: SetPlayerColor(playerid, COLOR_WHITE), GivePlayerWeaponEx(playerid, 1); default: SetPlayerColor(playerid, COLOR_WHITE); } SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); if(!PlayerStarting[playerid]) { LoadingPlayerAnimations(playerid); GivePlayerSavedWeapons(playerid); TextDrawShowForPlayer(playerid, Advertising); if(PlayerInfo[playerid][pBandana] != 0) SetPlayerBandana(playerid, PlayerInfo[playerid][pBandana]); if(PlayerInfo[playerid][pHat] != 0) SetPlayerHat(playerid, PlayerInfo[playerid][pHat]); CurrentPlayerTime(playerid); } else if(PlayerInfo[playerid][pJailTime] == 9999) { PlayerInfo[playerid][pJailTime] = GetPlayerWantedLevel(playerid)*300; SendClientMessage(playerid, COLOR_ORANGE, "Ты посажен в тюрьму за выход при аресте"); return 1; } else if(PlayerInfo[playerid][pGiveBohka] > 0) { JailTimer[playerid] = SetTimerEx("CountPlayerUnJail", 1000, true, "i", playerid); SpawnPlayerInJailMed(playerid); if(!DeathArrest[playerid]) SendClientMessage(playerid, COLOR_ORANGE, "Ты был вылечен доктором тюрьмы."); DeathArrest[playerid] = false; PlayerStarting[playerid] = true; return 1; } if(!PlayerRegister[playerid]) { if(!PlayerStarting[playerid]) { PlayerStarting[playerid] = true; if(PlayerInfo[playerid][pSpawn] == 0) SetPlayerSavedPos(playerid); SetPlayerPos(playerid, 2510.3245,-2131.0320,23.4558); if(PlayerInfo[playerid][pSpawn] == 1) { SetPlayerHealthEx(playerid, PlayerInfo[playerid][pHealth]); new houseid; if(PlayerInfo[playerid][pHouse] != 0) houseid = PlayerInfo[playerid][pHouse]; else houseid = PlayerInfo[playerid][pRent]; IsInPlayerHouse[playerid][houseid] = true; GetPlayerHouse[playerid] = houseid; SetPlayerHouseInterior(playerid, houseid); PlayerInInterior[playerid] = true; CurrentPlayerTime(playerid); if(PlayerInfo[playerid][pHouse] != 0) SendClientMessage(playerid, COLOR_WHITE, "Чтобы посмотреть меню дома используй команду {9DDAF2}/house"); if(HouseInfo[houseid][hHealth] == 1) SetPlayerHealthEx(playerid, 100); } if(PlayerInfo[playerid][pSpawn] == 0) { SetPlayerPos(playerid, 2510.5493,-2123.7427,23.4558); } } else { if(PlayerSavedPositions[playerid]) { SetPlayerSavedPos(playerid); SetPlayerSavedCar(playerid); } if(!PlayerSavedPositions[playerid]) { if(PlayerInfo[playerid][pSpawn] == 0) { if(PlayerInfo[playerid][pLevel] < 1) SetPlayerHealthEx(playerid, 45+PlayerInfo[playerid][pLevel]*5); else SetPlayerHealthEx(playerid, 100); SetPlayerPos(playerid, 357.0509,151.1285,1003.8500); SetPlayerFacingAngle(playerid, 270.0); TogglePlayerControllable(playerid, 0); SetTimerEx("UnFreezePlayer", 2000, false, "i", playerid); // где 2000 это время заморозки (2000 = 2 секунды) SetPlayerVirtualWorld(playerid, MEDD_MIR); if(GetPlayerMoneyEx(playerid) >= GetMedPrice) { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetMedPrice); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoneyEx(playerid, -GetMedPrice); } else { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetPlayerMoneyEx(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); ResetPlayerMoneyEx(playerid); } } if(PlayerInfo[playerid][pSpawn] == 1) { if(PlayerInfo[playerid][pLevel] < 1) SetPlayerHealthEx(playerid, 45+PlayerInfo[playerid][pLevel]*5); else SetPlayerHealthEx(playerid, 100); SetPlayerPos(playerid, 376.6834,130.2055,1003.8500); SetPlayerFacingAngle(playerid, 270.0); TogglePlayerControllable(playerid, 0); SetTimerEx("UnFreezePlayer", 2000, false, "i", playerid); // где 2000 это время заморозки (2000 = 2 секунды) SetPlayerVirtualWorld(playerid, MEDD_MIR); if(GetPlayerMoneyEx(playerid) >= GetMedPrice) { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetMedPrice); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoneyEx(playerid, -GetMedPrice); } else { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetPlayerMoneyEx(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); ResetPlayerMoneyEx(playerid); } } if(PlayerInfo[playerid][pSpawn] == 2) { if(PlayerInfo[playerid][pLevel] < 1) SetPlayerHealthEx(playerid, 45+PlayerInfo[playerid][pLevel]*5); else SetPlayerHealthEx(playerid, 100); SetPlayerPos(playerid, 356.6400,143.0867,1003.8500); SetPlayerFacingAngle(playerid, 270.0); TogglePlayerControllable(playerid, 0); SetTimerEx("UnFreezePlayer", 2000, false, "i", playerid); // где 2000 это время заморозки (2000 = 2 секунды) SetPlayerVirtualWorld(playerid, MEDD_MIR); if(GetPlayerMoneyEx(playerid) >= GetMedPrice) { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetMedPrice); SendClientMessage(playerid, COLOR_WHITE, string); GivePlayerMoneyEx(playerid, -GetMedPrice); } else { f(string, "{00BED2}За лечения доктор взял с тебя {FFFFFF}%d$", GetPlayerMoneyEx(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); ResetPlayerMoneyEx(playerid); } } if(PlayerInfo[playerid][pMember] == POLICE_ORG) { SetPlayerHealthEx(playerid, 100); SetPlayerPos(playerid, 1429.4624,1721.7318,16.2153); SetPlayerFacingAngle(playerid, 270.0); SetPlayerVirtualWorld(playerid, 0); } } else { PlayerSavedPositions[playerid] = false; } } } else { PlayerStarting[playerid] = true; SetPlayerPos(playerid, 2518.0452,-2126.5271,21.9800);//место спавна SetPlayerFacingAngle(playerid, 0.0); TogglePlayerControllable(playerid, 0); SetTimerEx("UnFreezePlayer", 2000, false, "i", playerid); // где 2000 это время заморозки (2000 = 2 секунды) ShowDialog(playerid, 00000, DIALOG_STYLE_MSGBOX, "Информация", "{FFFFFF}\ С удачным приездом в П.Батырево!\n\n\ {FFFFFF}Чтобы узнать локализации сервера используй команду {00FF00}/gps\n\ Для помощи на сервере используй команду {FFFFFF}/menu\n\n\ {FFFFFF}Для того чтобы связаться с администрацией используй:\n\ (( /report ))\n\ {FFFFFF}Устройся на работу:\n\ (( /gps --> Месторасположение работ.))\n\ {FFFFFF}\nНаша группа ВК - vk.com/\nПриятной игры!\ ", "Закрыть", ""); SetPlayerHealthEx(playerid, 100); PlayerRegister[playerid] = false; } SetCameraBehindPlayer(playerid); return 1; } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты