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

Группа команд поисковых функций для Orion Assistant 2.0.

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

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

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

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

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

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

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


flags - фильтры поиска:

  • fast - поиск останавливается на первом найденном объекте;

  • near - поиск ближайшего объекта к персонажу;

  • mobile - поиск только живых существ;

  • item - поиск только неодушевленных предметов;

  • human - поиск только гуманоидных созданий, типы: 0x0190-0x0193, 0x03DB, 0x03DF и 0x03E2;

  • live - поиск только живых существ;

  • dead - поиск только мертвых существ, типы: 0x0192 и 0x0193.

  • injured - поиск объекта с наименьшим количеством ХП (работает только для FindFriend/FindEnemy).

  • next - поиск следующего объекта (работает только для FindFriend/FindEnemy).

  • ignorefriends - игнорировать друзей (Introduced in OA 2.0.8.0).

  • ignoreenemies - игнорировать врагов (Introduced in OA 2.0.8.0).

  • ignoreself - игнорировать себя (Introduced in OA 2.0.8.0).

  • inlos - проверка прямой видимости (Introduced in OA 3.0.0.0).

При использовании human, live или dead - флаг mobile выставляется автоматически

При использовании next - флаг fast выставляется автоматически


notoriety - Злобность искомого персонажа.

  • innocent/blue (1)

  • friendly/green (2)

  • gray (3)

  • criminal (4)

  • enemy/orange (5)

  • murderer/red (6)

  • invulnerable/yellow (7)


distance - Дистанция поиска.

Помимо числовых значений может принимать строковые константы: finddistance, usedistance, opencorpsedistance.

(Introduced in OA 3.0.0.0) Если в дистанции указано 'xyz:1,2,3' - происходит поиск только в указанных координатах. Для игнорирования оси для x,y используется -1, для z -1000. Например, поиск по X и Z: "xyz:1504,-1,30" (искать в x=1504 и z=30) или "xyz:772" - искать предметы, у которых X равен 772.


bool Orion.UseType('graphic', ['color'=0xFFFF], ['container'=self], [recurse=true]);

Поиск объекта по типу и цвету в контейнере.

    • graphic - Тип или список типов для поиска. 0xFFFF игнорируется.
    • color - Цвет или список цветов для поиска. 0xFFFF игнорируется.
    • container - Контейнер, в котором производится поиск.
    • recurse - Рекурсивный поиск по подконтейнерам.

(Introduced in OA 2.0.8.2) Результат: true в случае успешного использования.


bool Orion.UseFromGround('graphic', ['color'=0xFFFF], ['distance'=useObjectsDistance], ['flags']);

Поиск объекта по типу и цвету на земле.

    • graphic - Тип или список типов для поиска. 0xFFFF игнорируется.
    • color - Цвет или список цветов для поиска. 0xFFFF игнорируется.
    • distance - Дистанция поиска.
    • flags - Флаги фильтров поиска.

(Introduced in OA 2.0.8.2) Результат: true в случае успешного использования.


bool Orion.UseTypeList('listName', ['container'=self], [recurse=true]);

Поиск объекта по списку поиска в контейнере.

    • listName - Имя списка поиска.
    • container - Контейнер, в котором производится поиск.
    • recurse - Рекурсивный поиск по подконтейнерам.

Результат: true если объект нашелся и был использован.


bool Orion.UseFromGroundList('listName', ['distance'=useObjectsDistance], ['flags']);

Поиск объекта по списку поиска на земле.

    • listName - Имя списка поиска.
    • distance - Дистанция поиска.
    • flags - Флаги фильтров поиска.

Результат: true если объект нашелся и был использован.


StringList Orion.FindType('graphic', ['color'=0xFFFF], ['container'=backpack], ['flags'], ['distance'=searchObjectsDistance], ['notoriety'], [recurse]);

Поиск объекта по типу и цвету.

    • graphic - Тип или список типов для поиска. 0xFFFF игнорируется.
    • color - Цвет или список цветов для поиска. 0xFFFF игнорируется.
    • container - Контейнер, в котором производится поиск.
    • flags - Флаги фильтров поиска.
    • distance - Дистанция поиска.
    • notoriety - Злобность искомого персонажа.
    • recurse - Рекурсивный поиск по подконтейнерам.

Результат: Список найденных серийников.


void Orion.Ignore('serial', [state=true]);

Установить/снять флаг игнорирования на объект serial.


void Orion.IgnoreReset();

Снять флаг игнорирования со всех объектов.


GameObject Orion.FindObject('serial');

Результат: объект типа GameObject или null.


int Orion.Count('graphic', ['color'=0xFFFF], ['container'=self], ['distance'=searchObjectsDistance], [recurse=true]);

Возвращает общее количество предметов (не количество найденных объектов, а количество предметов).

    • graphic - Тип или список типов для поиска. 0xFFFF игнорируется.
    • color - Цвет или список цветов для поиска. 0xFFFF игнорируется.
    • container - Контейнер, в котором производится поиск.
    • distance - Дистанция поиска.
    • recurse - Рекурсивный поиск по подконтейнерам.

Результат: количество предметов.


void Orion.ResetIgnoreList();

Сбросить использование списка игнорирования.


void Orion.UseIgnoreList('listName');

Использовать список игнорирования listName.


StringList Orion.FindList('listName', ['container'=backpack], ['flags'], ['distance'=searchObjectsDistance], ['notoriety'], [recurse]);

Поиск объекта по списку поиска.

    • listName - Имя списка поиска.
    • container - Контейнер, в котором производится поиск.
    • flags - Флаги фильтров поиска.
    • distance - Дистанция поиска.
    • notoriety - Злобность искомого персонажа.
    • recurse - Рекурсивный поиск по подконтейнерам.

Результат: Список найденных серийников.


GameObject Orion.ObjAtLayer('layerName', ['serial'=self]);

Результат: объект типа GameObject в указанном слое у объекта serial или null.


String Orion.FindFriend(['flags'=fast], ['distance'=searchObjectsDistance]);

Поиск объекта по списку друзей.

    • flags - Флаги фильтров поиска.
    • distance - Дистанция поиска.

Результат: серийник найденного друга.


String Orion.FindEnemy(['flags'=fast], ['distance'=searchObjectsDistance]);

Поиск объекта по списку врагов.

    • flags - Флаги фильтров поиска.
    • distance - Дистанция поиска.

Результат: серийник найденного врага.


Introduced in 3.0.0.0

void Orion.SetLOSOptions('options');

Установить опции для функции расчета LOS.

Доступные options:

'sphere' - Функция LOS для эмулятора Sphere;

'sphereadvanced' - Функция LOS для эмулятора Sphere (C и выше);

'runuo' - Функция LOS для эмулятора RunUO/ServUO;

'pol' - Функция LOS для эмулятора POL;

'spherecheckcorners' - Опция только для эмулятора Sphere, проверка углов;

'polusenoshoot - Опция только для эмулятора POL, использование флага No Shoot;

'pollosthroughtwindows' - Опция только для эмулятора POL, видно сквозь окна.

Допускается комбинировать флаги: Orion.SetLOSOptions('pol|pollosthroughtwindows');


bool Orion.InLOS('serial');

Проверка видимости объекта serial.

Результат: true если объект находится в прямой видимости, false если нет.


bool Orion.InLOS(x, y, [z=65535]);

Проверка видимости до координат.

Если z=65535 то поиск проходит без учета z.

Результат: true если точка находится в прямой видимости, false если нет.


GameObjectList Orion.FindTypeEx('graphic', ['color'=0xFFFF], ['container'=backpack], ['flags'], ['distance'=searchObjectsDistance], ['notoriety'], [recurse]);

Поиск объекта по типу и цвету.

    • graphic - Тип или список типов для поиска. 0xFFFF игнорируется.
    • color - Цвет или список цветов для поиска. 0xFFFF игнорируется.
    • container - Контейнер, в котором производится поиск.
    • flags - Флаги фильтров поиска.
    • distance - Дистанция поиска.
    • notoriety - Злобность искомого персонажа.
    • recurse - Рекурсивный поиск по подконтейнерам.

Результат: Список найденных объектов типа GameObject.


GameObjectList Orion.FindListEx('listName', ['container'=backpack], ['flags'], ['distance'=searchObjectsDistance], ['notoriety'], [recurse]);

Поиск объекта по списку поиска.

    • listName - Имя списка поиска.
    • container - Контейнер, в котором производится поиск.
    • flags - Флаги фильтров поиска.
    • distance - Дистанция поиска.
    • notoriety - Злобность искомого персонажа.
    • recurse - Рекурсивный поиск по подконтейнерам.

Результат: Список найденных объектов типа GameObject.