Команды для работы с поиском объектов в 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.