SAMP/SetPlayerCheckpoint

Материал из Pawno Wiki

SetPlayerCheckpoint


Описание:

Устанавливает чекпоинт (красный цилиндр) для игрока. Также показывает красную отметку на радаре. Когда игроки входят в чекпоинт, вызывается OnPlayerEnterCheckpoint, и могут выполняться действия.


Параметры:

(playerid, Float: x, Float: y, Float: z, Float: size)


playeridID игрока, для которого нужно установить чекпоинт.
xКоордината X для установки чекпоинта.
yКоордината Y для установки чекпоинта.
zКоордината Z для установки чекпоинта.
sizeРазмер чекпоинта.


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

  • 1: функция успешно выполнена.
  • 0: функция не выполнена. Это означает, что указанный игрок не существует.


⚡ Известные ошибки:

  • Если чекпоинт уже установлена, он будет использовать размер этого чекпоинта вместо нового.
  • Чекпоинты, созданные на объектах, созданных сервером (CreateObject / CreatePlayerObject), появятся на «реальной» земле, но все равно будут работать правильно. Датчик может быть использован вместо.


💡 Чекпоинты являются асинхронными, то есть одновременно может отображаться только один. Чтобы «транслировать» чекпоинты (показывать их только тогда, когда игроки достаточно близко), используйте стример чекпоинтов.


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

// В этом примере чекпоинт игрока будет установлена при его появлении.
// При входе на чекпоинт он получbn 1000 долларов, и чекпоинт будет отключен.
new bool:onCheck[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
    SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0);
    onCheck[playerid] = true;
    return 1;
}
 
public OnPlayerEnterCheckpoint(playerid)
{
    if(onCheck[playerid]) // если true  
    { 
        GivePlayerMoney(playerid, 1000);
        DisablePlayerCheckpoint(playerid);
        onCheck[playerid] = false;
    }
    return 1;
}


Связанные функции

Следующие функции также могут быть полезны, поскольку они так или иначе связаны с рассматриваемой функцией.
  • DisablePlayerCheckpoint - Отключение текущей контрольной точки игрока.
  • IsPlayerInCheckpoint - Проверьте, находится ли игрок на контрольной точке.
  • SetPlayerRaceCheckpoint - Создание контрольной точки гонки для игрока.
  • DisablePlayerRaceCheckpoint - Отключить текущую контрольную точку гонки игрока.
  • IsPlayerInRaceCheckpoint - Проверяет, находится ли игрок на контрольной точке гонки.


Связанные обратные вызовы

Следующие обратные вызовы также могут быть полезны, поскольку они так или иначе связаны с рассматриваемым обратным вызовом.
  • OnPlayerEnterCheckpoint - Вызывается, когда игрок входит в контрольную точку.
  • OnPlayerLeaveCheckpoint - Вызывается, когда игрок покидает контрольную точку.
  • OnPlayerEnterRaceCheckpoint - Вызывается, когда игрок входит в контрольную точку гонки.
  • OnPlayerLeaveRaceCheckpoint - Вызывается, когда игрок покидает контрольную точку гонки.