SetPlayerPosFindZ

Материал из Pro-Pawn Wiki
Версия от 22:55, 5 августа 2018; Daniel-Cortez (обсуждение | вклад) (Новая страница: «{{Description | Перемещает игрока на указанные координаты с автоматическим подбором координат…»)

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

Описание:

Перемещает игрока на указанные координаты с автоматическим подбором координаты Z (высоты).

Параметры:

(playerid, Float:x, Float:y, Float:z)
playerid ID игрока.
Float:x, Float:y, Float:z Координаты, на которые требуется переместить игрока.


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

1 в случае успеха, либо 0, если игрок не подключен.

Info rhombus.png
Примечание
Точная высота (координата Z) определяется на стороне клиента и может отличаться от указанной в параметре z. Имейте это в виду при реализации античита на телепортацию.
Если игрок находится в транспорте, данная функция переместит его без транспорта. Используйте функцию SetVehiclePos(), если хотите переместить игрока вместе с транспортом.


Bug.png
Баг SA-MP
Если координаты перемещения находятся слишком далеко от прежних координат игрока (т.е. на стороне клиента карта на новых координатах ещё не прогружена), для перемещения будет выбрана высота 0.0, при которой велика вероятность перемещения игрока под землю.


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

CMD:blink(playerid, params[])
{
    if (0 == IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
    // Перемщаем игрока на 30 метров в ту сторону, в которую он повёрнут.
    const Float:distance = 30.0;
    new Float:x, Float:y, Float:z, Float:f;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, f);
    x += distance * floatsin(-f, degrees);
    y += distance * floatcos(-f, degrees);
    z += 5.0;
    return SetPlayerPosFindZ(playerid, x, y, z);
}


См. также: