SAMP/SetPlayerRaceCheckpoint

Материал из Pawno Info Wikipedia

SetPlayerRaceCheckpoint


Описание:

Создает контрольную точку гонки. Когда игрок входит в него, вызывается обратный вызов OnPlayerEnterRaceCheckpoint.


Параметры:

((playerid, type, Float: x, Float: y, Float: z, Float: nextx, Float: nexty, Float: nextz, Float: size)


playeridID игрока, для которого нужно установить контрольную точку..
typeТип КПП. 0 - Нормально , 1 - Готово, 2 - Ничего (только контрольная точка без чего-либо), 3 - Нормальный воздух, 4 - Финиш, 5 - Воздух (вращается и останавливается), 6 - Воздух (увеличивается, уменьшается и исчезает) , 7 - Воздух (качается вниз и вверх), 8 - Воздух (качается вверх и вниз).
xX-координата.
yY-координата.
zZ-координата.
nextxX-координата следующей точки для направления стрелки.
nextyY-координата следующей точки для направления стрелки.
nextzZ-координата следующей точки для направления стрелки.
sizeРазмер (диаметр) КПП.


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

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


Wiki removed.png

Предупреждение

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


Wiki note important.png

Важное
примечание

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


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

public SetRaceCheckpoint(playerid, Airrace, target, next)
{
     if(next == -1 && Airrace == 0)
         SetPlayerRaceCheckpoint(playerid,1,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],
                         0.0,0.0,0.0,CPsize);
     else if(next == -1 && Airrace == 1)
         SetPlayerRaceCheckpoint(playerid,4,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],
                         0.0,0.0,0.0,CPsize);
     else if(Airrace == 1)
         SetPlayerRaceCheckpoint(playerid,3,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],
                         RaceCheckpoints[next][0],RaceCheckpoints[next][1],RaceCheckpoints[next][2],CPsize);
     else
         SetPlayerRaceCheckpoint(playerid,0,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],
                         RaceCheckpoints[next][0],RaceCheckpoints[next][1],RaceCheckpoints[next][2],CPsize);
}


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

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


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

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