IsPlayerInRangeOfPoint — различия между версиями

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск
(Новая страница: «{{Description | Проверяет, находится ли игрок в указанном радиусе вокруг точки. }} {{Params|playerid, Float:r…»)
 
(нет различий)

Текущая версия на 23:08, 7 августа 2018

Описание:

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

Параметры:

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


См. также: