SAMP/MoveObject

Материал из Wiki.Pawno-Info.Ru
Перейти к навигации Перейти к поиску

MoveObject

Wiki added.png

Добавлено

Набор параметров поворота объекта (RotX, RotY, RotZ) работает только начиная с версии SA-MP 0.3d RC3 и не будет работать в предыдущих версиях!


Описание:

Двигает объект в заданные координаты с заданной скоростью.


Параметры:

(objectid, Float: X, Float: Y, Float: Z, Float: Speed, Float: RotX, Float: RotY, Float: RotZ)


objectidID перемещаемого объекта.
Float: XКоордината X для перемещения объекта.
Float: YКоордината Y, куда нужно переместить объект.
Float: ZКоордината Z, к которой нужно переместить объект.
Float: SpeedСкорость, с которой перемещается объект (единиц в секунду).
Float: RotXФИНАЛЬНОЕ вращение по оси X (необязательно).
Float: RotYЗАКЛЮЧИТЕЛЬНОЕ вращение по оси Y (необязательно).
Float: RotZКОНЕЧНОЕ вращение по оси Z (необязательно).


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

Время, необходимое для перемещения объекта в миллисекундах.


Wiki note.png

Примечание

Игроки/автомобили могут находиться на объекте во время его движения, а не сползать с него, как раньше.


Wiki note important.png

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

Эта функция может использоваться для плавного вращения объектов. Однако для этого объект также необходимо переместить. Указанный поворот - это поворот, который будет иметь объект после перемещения. Следовательно, объект не будет вращаться, если не применяется движение. В качестве примера сценария взгляните на сценарий фильтра 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 - Вызывается, когда объект перестает двигаться.