PDA

Просмотр полной версии : [Вопрос] Проверка на координаты.



Mi-Zaft
26.04.2014, 19:20
Всем привет!)
Вообщем хочу сделать команду, но она должна работать на определенных точках карты.
Я не хочу делать проверку в самой команде, поэтому хочу сделать проверку в отдельном паблике.

В каком то моде видел такую тему

IsACop(playerid);
Если скин копа, то проверка проходит.

Так вот объясните, как сделать такую проверку на координаты.
Заранее спасибо)

L0ndl3m
26.04.2014, 20:26
Допустим есть 3 координаты, в начале мода создаём массив:


static const Float: SpecialCoords[][] =
{
{0.0, 0.0, 0.0}, // Первая координата
{0.0, 0.0, 0.0}, // Вторая координата
{0.0, 0.0, 0.0} // Третья координата
};


Далее делаем сам паблик:


IsPlayerInSpecialCoords(const playerid)
{
new i = sizeof(SpecialCoords);
do
{
--i;
if(IsPlayerInRangeOfPoint(playerid, 10.0, SpecialCoords[i][0], SpecialCoords[i][1], SpecialCoords[i][2]))
return 1; // Хотя бы находится у одной из координат (10 метров)
}
while(i);
return 0; // Не находится ни на одной из координат
}


Функция возвращает 1, если игрок находится хотя бы у одной из координат, указанной в массиве, 0 если не находится ни на одной из координат указанной в массиве.

Вот сама проверка:


if(IsPlayerInSpecialCoords(playerid) == 1)
SendClientMessage(playerid, -1, "Вы находитесь на одной из координат.");
else
SendClientMessage(playerid, -1, "Вы не находитесь ни на одной из координат.");

Mi-Zaft
27.04.2014, 00:05
Спасибо, а как допустим в команду засунуть эту проверку?
if(IsPlayerInSpecialCoords(const playerid) == true)
{
}
Или как?

L0ndl3m
27.04.2014, 00:51
Спасибо, а как допустим в команду засунуть эту проверку?
if(IsPlayerInSpecialCoords(const playerid) == true)
{
}
Или как?



Вот сама проверка:


if(IsPlayerInSpecialCoords(playerid) == 1)
SendClientMessage(playerid, -1, "Вы находитесь на одной из координат.");
else
SendClientMessage(playerid, -1, "Вы не находитесь ни на одной из координат.");


Если не одна строчка кода:


if(IsPlayerInSpecialCoords(playerid) == 1)
{
SendClientMessage(playerid, -1, "Вы находитесь на одной из координат.");
// Остальной код
}

Mi-Zaft
27.04.2014, 02:39
Спасибо большое.
Закрыто.

Salvacore
27.04.2014, 04:02
Close.