SAMP/MoveObject
Материал из Wikipedia Pi
MoveObject
Добавлено |
Набор параметров поворота объекта (RotX, RotY, RotZ) работает только начиная с версии SA-MP 0.3d RC3 и не будет работать в предыдущих версиях! |
Описание:
Двигает объект в заданные координаты с заданной скоростью.
Параметры:
(objectid, Float: X, Float: Y, Float: Z, Float: Speed, Float: RotX, Float: RotY, Float: RotZ)
objectid | ID перемещаемого объекта. |
Float: X | Координата X для перемещения объекта. |
Float: Y | Координата Y, куда нужно переместить объект. |
Float: Z | Координата Z, к которой нужно переместить объект. |
Float: Speed | Скорость, с которой перемещается объект (единиц в секунду). |
Float: RotX | ФИНАЛЬНОЕ вращение по оси X (необязательно). |
Float: RotY | ЗАКЛЮЧИТЕЛЬНОЕ вращение по оси Y (необязательно). |
Float: RotZ | КОНЕЧНОЕ вращение по оси Z (необязательно). |
Возвращаемые значения:
Время, необходимое для перемещения объекта в миллисекундах.
Примечание |
Игроки/автомобили могут находиться на объекте во время его движения, а не сползать с него, как раньше. |
Важное |
Эта функция может использоваться для плавного вращения объектов. Однако для этого объект также необходимо переместить. Указанный поворот - это поворот, который будет иметь объект после перемещения. Следовательно, объект не будет вращаться, если не применяется движение. В качестве примера сценария взгляните на сценарий фильтра ferriswheel.pwn, сделанный Каем, включенный в пакет сервера (SA-MP 0.3d и выше). Чтобы полностью понять приведенное выше примечание, вы можете (но не ограничиваясь) увеличить положение по оси z на (+0,001), а затем (-0,001) после его повторного перемещения, так как без изменения X, Y или Z объект не будет вращаться. |
Пример использования:
new obj; // Добавляем в верхней части вашего мода
public OnGameModeInit()
{
obj = CreateObject(980, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/moveobject", true) == 0)
{
new string[50];
new movetime = MoveObject(obj, 0, 0, 10, 2.00);
format(string, sizeof(string), "Объект завершит движение через %d миллисекунд", movetime);
SendClientMessage(playerid, 0xFF000000, string);
return 1;
}
return 0;
}
Связанные функции
Следующие функции также могут быть полезны, поскольку они так или иначе связаны с рассматриваемой функцией.
- CreateObject - Создать объект.
- DestroyObject - Уничтожить объект.
- IsValidObject - Проверяет, действует ли определенный объект.
- IsObjectMoving - Проверьте, движется ли объект.
- StopObject - Остановить движение объекта.
- SetObjectPos - Установите положение объекта.
- SetObjectRot - Установить поворот объекта.
- GetObjectPos - Найти объект.
- GetObjectRot - Проверьте вращение объекта.
- AttachObjectToPlayer - Прикрепить объект к игроку.
Связанные обратные вызовы
Следующие обратные вызовы также могут быть полезны, поскольку они так или иначе связаны с рассматриваемым обратным вызовом.
- OnObjectMoved - Вызывается, когда объект перестает двигаться.