IsPlayerInRangeOfPoint

Материал из Pro-Pawn Wiki
Версия от 23:08, 7 августа 2018; Daniel-Cortez (обсуждение | вклад) (Новая страница: «{{Description | Проверяет, находится ли игрок в указанном радиусе вокруг точки. }} {{Params|playerid, Float:r…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Описание:

Проверяет, находится ли игрок в указанном радиусе вокруг точки.

Параметры:

(playerid, Float:range, Float:x, Float:y, Float:z)
playerid ID игрока.
Float:range Радиус вокруг точки.
Float:x, Float:y, Float:z Координаты точки.


Возвращаемое значение:

1, если игрок подключен и находится на расстоянии от 0.0 до dist (не включая верхнюю границу) от точки, иначе 0.

Info rhombus.png
Примечание
Если требуется узнать точное расстояние от игрока до точки, для этой цели лучше подойдёт функция GetPlayerDistanceFromPoint().


Пример использования:

CMD:tpgroup(playerid, params[])
{
    if (0 == IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
    extract params -> new Float:dist, Float:x, Float:y, Float:z; else // sscanf2
        return SendClientMessage(playerid, -1, "Использование: /tpgroup [радиус] [x] [y] [z]");
    new Float:px, Float:py, Float:pz;
    new count = 0;
    GetPlayerPos(playerid, px, py, pz);
    for (new i = GetPlayerPoolSize(); i >= 0; --i)
        if (IsPlayerInRangeOfPoint(i, dist, px, py, pz))
            SetPlayerPos(i, x, y, z), count++;
    new string[32];
    format(string, sizeof(string), "Телепортировано игроков: %d", count);
    return SendClientMessage(playerid, -1, string);
}


См. также: