Перейти к содержанию
Авторизация  
Frost1218

Сохранение позиции

Рекомендуемые сообщения

Frost1218

Друзья! Скажите как убрать сохранение позиции при выходе с сервера?

Например: Со спавна (Южного) Доехал до (Анашана) Вышел с сервера, И снова появился у (Анашана) 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Поищи: OnPlayerSpawn

SetPlayerSpawn и залей код сюда

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Frost1218

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;
}

Изменено пользователем Frost1218

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Где PlayerSavedPos бери в коментарий/удаляй

Не трудно догадаться

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Frost1218

, В коде много playersavedpos может поможешь? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
MDELAET

@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;
} 

 

 

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.