Команды для работы с перемещением персонажа в Orion Assistant 2.0 - Hotride/OrionUO GitHub Wiki

Группа команд для работы с перемещением персонажа для Orion Assistant 2.0.

Формат команд:

ReturnType NameSpace.name(requiredParameters, [optionalParameters=defaultValue]);

  • ReturnType - возвращаемое значение функции (void - функция ничего не возвращает);

  • NameSpace - область видимости функции;

  • name - имя функции;

  • requiredParameters - обязательные параметры;

  • optionalParameters - не обязательные параметры, значение по умолчанию указано после знака =


direction - строковые константы направлений:

  • 'North' / 'n' - направление 0

  • 'NorthEast' / 'ne' - направление 1

  • 'East' / 'e' - направление 2

  • 'SouthEast' / 'se' - направление 3

  • 'South' / 's' - направление 4

  • 'SouthWest' / 'sw' - направление 5

  • 'West' / 'w' - направление 6

  • 'NorthWest' / 'nw' - направление 7


void Orion.BlockMoving(state);

Заблокировать возможность перемещения персонажа.


bool Orion.CanWalk('direction', x, y, z);

Проверка на возможность сделать шаг.

Результат: true если можно шагнуть из текущих координат и направления в заданные (разворот считается шагом).


bool Orion.Step('direction', [run=false]);

Запрос на перемещение персонажа с возможностью бега.

Результат: true если шаг успешно сделан (разворот считается шагом).


Extended in 3.0.0.0

bool Orion.WalkTo(x, y, z, [distanceXY=1], [distanceZ=5], [run=2], [openDoor=2]);

Поиск пути к указанным координатам до достижения указанного расстояния.

run: 0 - только идти, 1 - только бежать, 2 - в зависимости от опции Always Run

openDoor: 0 - не открывать двери, 1 - открывать двери, 2 - в зависимости от опции Auto Open Doors.

Результат: true если достигли точки назначения или указанной дистанции.


void Orion.StopWalking();

Отменить поиск пути.


bool Orion.IsWalking();

Идет ли персонаж в данный момент (автоматическое перемещение).

Результат: true если автоперемещение включено.


Introduced in 3.0.0.0

void Orion.Turn('direction');

Запрос на разворот персонажа.


PositionObjectList Orion.GetPathArray(endX, endY, [endZ=256], [distanceXY=1], [distanceZ=5], [run=2], [openDoor=2]);

Получить список точек пути к указанным координатам.

run: 0 - только идти, 1 - только бежать, 2 - в зависимости от опции Always Run

openDoor: 0 - не открывать двери, 1 - открывать двери, 2 - в зависимости от опции Auto Open Doors.

Результат: массив PositionObject, либо пустой массив.


PositionObjectList Orion.GetPathArrayEx(startX, startY, [startZ=256], endX, endY, [endZ=256], [distanceXY=1], [distanceZ=5], [run=2], [openDoor=2]);

Получить список точек пути из указанных координат start* в указанные координаты end*.

run: 0 - только идти, 1 - только бежать, 2 - в зависимости от опции Always Run

openDoor: 0 - не открывать двери, 1 - открывать двери, 2 - в зависимости от опции Auto Open Doors.

Результат: массив PositionObject, либо пустой массив.


void Orion.SetBadLocation(x, y);

Установить точку в указанных координатах как непроходимую.

Тайлы в этих координатах будут считаться непроходимыми без проверки (только при работе скриптовых функций).


void Orion.ClearBadLocations();

Очистить список непроходимых тайлов.