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

Проблема с домами

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

Sprunky

Ребят, как сделать проверку на два дома, на один работает, но на два нет.
 

COMMAND:getcar(playerid)
{
	// Check if the player has logged in
	if (APlayerData[playerid][LoggedIn] == true)
	{
		if (APlayerData[playerid][Zpassconfig] == 1 && ZpassComplete[playerid] != 1)
		{
			ZpassDialogCmd(playerid);
            return 1;
		}
		if (APlayerData[playerid][PlayerJailed] == 0)
		{
			if (APlayerData[playerid][MissionFailed] == false)
			{
				if (APlayerData[playerid][JobStarted] == false)
				{
					if (GetPlayerVehicleID(playerid) == 0)
					{
	  					if(GetPlayerInterior(playerid) == 0)
	  					{
							new Float:x, Float:y, Float:z;
			    			GetPlayerPos(playerid, x, y, z);
			    			if (z <= 550.0)
			    			{
			    			    if (APlayerData[playerid][LoggedSkin] == true)
			    			    {
			    			        //if ((!IsPlayerInRangeOfPoint(playerid, 100, 202.16, 263.82, 2.95)) or (!IsPlayerInRangeOfPoint(playerid, 120, 5954.13, -630.17, 8.56)))
			    			        //{
			  					    SendAdminNoMsg(playerid, "/getcar");
			  					    new HouseList[110];
									new HouseID = APlayerData[playerid][Houses];
									if (APlayerData[playerid][Houses] == 0) return SendClientMessage(playerid, 0xFF0000FF, "[ERROR]{FFFFFF} У вас отсутствует дом!");
									if(!IsPlayerInRangeOfPoint(playerid, 25.0, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ])) return  SendClientMessage(playerid, 0xFF0000FF, "[ERROR]{FFFFFF} Команда дальше 50 метров от дома не работает!");
									for (new i; i < MAX_HOUSESPERPLAYER; i++)
									{
										// Check if this houseindex is occupied
										if (APlayerData[playerid][Houses][i] != 0)
											format(HouseList, sizeof(HouseList), "%s{00FF00}%s\n", HouseList, AHouseData[APlayerData[playerid][Houses][i]][HouseName]);
										else
											format(HouseList, sizeof(HouseList), "%s{FFFFFF}%s\n", HouseList, " ");
									}
									ShowPlayerDialog(playerid, DialogGetCarSelectHouse, DIALOG_STYLE_LIST, "Выберите дом:", HouseList, "Выбрать", "Отмена");
									//}
									//else
									    //SendClientMessage(playerid, 0xFF0000FF, "[ERROR]{FFFFFF} В этой зоне команда /getcar не работает!");
								}
								else
								    SendClientMessage(playerid, 0xFF0000FF, "На данный момент нельзя использовать эту команду!");
							}
							else
								SendClientMessage(playerid, 0xFF0000FF, "[ERROR]{FFFFFF} Слишком большая высота!");
     					}
						else
							SendClientMessage(playerid, 0xFF0000FF, "В помещении нельзя вызвать транспорт!");
					}
					else
						SendClientMessage(playerid, 0xFF0000FF, "Выйдите из транспорта!");
       	   		}
				else
					SendClientMessage(playerid, 0xFF0000FF, "Вы не можете использовать /getcar т.к. вы работаете!");
   	   		}
			else
				SendClientMessage(playerid, 0xFF0000FF, "Вы не можете использовать /getcar т.к. вы работаете!");
		}
		else
		    SendClientMessage(playerid, 0xFF0000FF, "Вы не можете использовать /getcar т.к. вы розыскиваетесь или уже сидите в тюрьме!");
	}
	else
	    return 0;
	return 1;
}

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


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

@Sprunky,Причём здесь команда /getcar? 

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


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

, Это не РП сервер. /getcar отвечает за ТП авто из дома[если в доме купил].
+ Если бы ты немного разбирался, то не задавал такой тупой вопрос.

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

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


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

    format(HouseList, sizeof(HouseList), "%s{00FF00}%s\n", HouseList, AHouseData[APlayerData[playerid][Houses][i]][HouseName]);
else
format(HouseList, sizeof(HouseList), "%s{FFFFFF}%s\n", HouseList,AHouseData[APlayerData[playerid][Houses][i]][HouseName]);
  • Like 1

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


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

, А чтобы около двух домов в радиусе 25 или 50 метров возможно сделать как-то? В этой команде она около одного дома работает.

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

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


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

@Sprunky,юзайте IsPlayerInRangeOfPoint

Пример.

if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))

7.0 - радиус, 2695.6880, -1704.6300, 11.8438 - координаты.

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

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


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

, Система должна работать для каждого игрока, у которого есть дом. Т.е. если дом в координата 0 0 0, то будет работать до 50 и так в других местах. 

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


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

@Sprunky

if(!IsPlayerInRangeOfPoint(playerid, 50.0, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
Изменено пользователем ExPlaY

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


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

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

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

×

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

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