Команды для работы с перемещением персонажа в 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();
Очистить список непроходимых тайлов.