View on GitHub

EntityToolsDocs

Документация к EntityTools

InteractEntities

Команда предназначена для патрулирования по маршруту, заданному набором точек HotSpots, в поисках заданного Entity и последующего с ним взаимодействия.

Описание алгоритма

  1. Бот перемещается между точками HotSpots, производя поиск ближайшего Entity, удовлетворяющего критериям поиска.
    • Патрулирование может производиться в режиме игнорирования боя IgnoreCombat.
    • Область поиска Entity может быть ограничена опциями CustomRegions, ReactionRange и ReactionZRange.
  2. Когда целевое Entity найдено, бот следует к нему по кратчайшему пути.
    • В отличие от штатной команды InteractNPC возможно взаимодействие с движущимися Entity.
    • В случае, если взаимодействие прервано нападением противников, оно повторяется после выхода из боя.
    • После завершения взаимодействия или исчерпания попыток, целевая Entity временно помещается в черный список для предотвращения повторных безуспешных попыток взаимодействия с ним.
  3. После исчезновения всех Entity, удовлетворяющих критериям поиска, бот возобновляет патрулирование.

Настройки команды

Наименование Описание
  Настройки идентификации Entity (категория “Entity”)
EntityID
EntityIdType
EntityNameType
EntitySetType
Идентификация Entity производится сочетанием четырех перечисленных слева свойств, которые подробно описаны в разделе Идентификация Entity.
  Дополнительные фильтры Entity (категория “Entity Search Options”)
HealthCheck Дополнительная проверка уровня здоровья Entity (HP).
- True : Игнорируются Entity с нулевым количеством очков здоровья (HP) либо, имеющие флаг IsDead;
- False : Здоровье Entity (HP) не проверяется.
HoldTargetEntity Флаг удержания Entity.
- True : Бот продолжает следовать к ранее найденному Entity, даже в том случае, если будет обнаружено Entity поближе;
- False : Бот постоянно производит поиск и следует к ближайшему Entity.
  Область поиска Entity (категория “Search Area”)
ReactionRange Максимальное допустимое расстояние от Entity до персонажа. Entity на большем расстоянии игнорируются.
Опция отключается при установке значения 0. При этом поиск производится среди всех видимых боту Entity.
ReactionZRange Максимальная допустимая разница по высоте (ZAxis) между Entity и персонажем. Entity игнорируются, если находятся выше (ниже) заданной величины относительно персонажа.
Опция отключается при установке значения 0. При этом поиск производится среди всех видимых боту Entity.
RegionCheck Флаг, активирующий дополнительную проверку внутриигрового региона (не то же самое, что CustomRegion), в котором находится Entity.
- True : Поиск Entity производится в том же регионе, в котором находится персонаж;
- False : Проверка региона при поиске Entity не производится.
CustomRegions Набор CustomRegion‘ов, задающих область поиска Entity. Подробное описание приведено в разделе CustomRegionSet.
  Опции взаимодействия (категория “Interaction”)
Dialogs Ответы в окне диалога с Entity.
InteractDistance Максимальное допустимое расстояние, на котором возможно взаимодейтсвие с целевой Entity.
В пределах заданного расстояния также отключается режим игнорирования боя, если задан флаг IgnoreCombat.
При установке значения более 5 на Mapper соответствующая область отображается окружностью, центром которой является целевая Entity.
InteractTime Время взаимодействия в миллисекундах.
InteractOnce Флаг, запрещающий повторное взаимодействие с Entity. После взаимодействия Entity бессрочно помещается в черный списо.
InteractionTimeout Время запрета на повторное взаимодействие с Entity. Опция игнорируется если установлен флаг InteractOnce
  Управление боем (категория “Manage Combat Options”)
IgnoreCombat Флаг, предписывающий активировать режим игнорирования боя IgnoreCombat при следовании к целевой Entity.
IgnoreCombatCondition Дополнительное условие, управляющее режимом прерывания боя. Если условие на выполняется, то режим игнорирования боя не активируется.
IgnoreCombatMinHP Величина минимального здоровья персонажа HP (в процентах), при котором может быть активирован режим игнорирования боя. Если здоровье персонажа опустится ниже указанной величины, то персонаж вступи в бой.
При значении -1 команда не меняетт системное значение IgnoreCombatMinHP при активации режима игнорирования боя.
AbortCombatDistance Расстояние от Entity, за пределами которого бой принудительно прерывается.
Бой снова активируются на расстоянии CombatDistance от целевой Entity. При значении меньшем CombatDistance или при выключенном флаге IgnoreCombat, опция отключается.
  Прерывание команды (категория “Interruptions”)
EntitySearchTime Время поиска в миллисекундах, в течение которого бот пытается обнаружить заданную Entity, удовлетворяющую критериям поиска.
Команда прерывается, если до истечения заданного времени Entity не будет обнаружен.
Опция отключается при установке значения 0. При этом поиск продолжается неограниченное время.
  Прочие настройки (категория “Optional”)
ResetCurrentHotSpot Флаг, предписывающий двигаться к ближайшему HotSpot‘у после взаимодействия со всеми видимыми целевыми Entity (их исчезновения).
Если флаг не установлен, бот “запоминает” последний HotSpot, к которому двигался перед обнаружением Entity, и, после взаимодействия со всеми видимыми Entity (их исчезновения), продолжает движение к этому HotSpot’у.

Внутренние условия

Перед запуском команды проверяется истинность одного из условий:


Завершение команды

Команда самостоятельно не завершается, если не задан флаг StopOnApproached.

Принудительное завершение команды возможно одним из способов, перечисленных в статье.


Аналоги

Похожие команды, входящие в базовый функционал бота:


Блок-схема


Назад
Назад к перечню команд
Назад к содержанию