IsPlayerInRangeOfPoint
Материал из Pro-Pawn Wiki
Описание:
Проверяет, находится ли игрок в указанном радиусе вокруг точки.
Параметры:
(playerid, Float:range, Float:x, Float:y, Float:z) |
playerid | ID игрока. |
Float:range | Радиус вокруг точки. |
Float:x, Float:y, Float:z | Координаты точки. |
Возвращаемое значение:
1
, если игрок подключен и находится на расстоянии от 0.0
до dist
(не включая верхнюю границу) от точки, иначе 0
.
Примечание |
Если требуется узнать точное расстояние от игрока до точки, для этой цели лучше подойдёт функция 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);
}
{
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);
}
См. также: