View on GitHub

EntityToolsDocs

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

MoveToEntity

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

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

  1. Бот перемещается между точками HotSpots производя поиск ближайшего Entity, удовлетворяющего критериям поиска.
  2. Когда целевое Entity найдено, бот следует к нему по кратчайшему пути.
    • Целевое Entity может быть принудительно атаковано, если установлен флаг AttackTargetEntity. При этом игнорируется список Blacklist выполняемого quester-профиля.
    • При перво воздействии на целевое Entity применяется умение PowerId.
  3. После исчезновения (уничтожения) всех Entity, удовлетворяющих критериям поиска, бот возобновляет патрулирование.

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

Наименование Описание
  Настройки идентификации Entity (категория “Entity”)
EntityID
EntityIdType
EntityNameType
Идентификация 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.
CustomRegionsPlayerCheck Флаг, устанавливающий требование нахождения персонажа в области, заданной опцией CustomRegions. Команда не будет запущена, если персонаж находится за пределами заданной области.
CurrentMap Идентификатор карты, на которой должен производиться поиск Entity. Команда не будет запущена, если персонаж находится за пределами заданной карты.
Опция игнорируется, если идентификатор не задан.
  Управление боем (категория “Manage Combat Options”)
IgnoreCombat Флаг, предписывающий активировать режим игнорирования боя IgnoreCombat при следовании к целевой Entity.
IgnoreCombatCondition Дополнительное условие, управляющее режимом прерывания боя. Если условие на выполняется, то режим игнорирования боя не активируется.
IgnoreCombatMinHP Величина минимального здоровья персонажа HP (в процентах), при котором может быть активирован режим игнорирования боя. Если здоровье персонажа опустится ниже указанной величины, то персонаж вступи в бой.
При значении -1 команда не меняетт системное значение IgnoreCombatMinHP при активации режима игнорирования боя.
CombatDistance Расстояние до целевой Entity, на котором отключается режим игнорирования боя IgnoreCombat.
Минимальное значение 5.
AbortCombatDistance Расстояние от Entity, за пределами которого бой принудительно прерывается.
Бой снова активируются на расстоянии CombatDistance от целевой Entity. При значении меньшем CombatDistance или при выключенном флаге IgnoreCombat, опция отключается.
AttackTargetEntity Флаг, предписывающий атаковать целевую Entity.
Опция игнорируется, если флаг IgnoreCombat не установлен.
PowerId Идентификатор умения, применяемого к целевому Entity в качестве первого удара. Заданное умение может применяться, даже если цель является дружественной.
PowerCastingTime Время активации умения, заданного опцией PowerId.
  Прерывание команды (категория “Interruptions”)
StopOnApproached Флаг, завершающий выполнение команды после того как персонаж приблизился к целевой Entity на расстояние CombatDistance.
EntitySearchTime Время поиска в миллисекундах, в течение которого бот пытается обнаружить заданную Entity, удовлетворяющую критериям поиска.
Команда прерывается, если до истечения заданного времени Entity не будет обнаружен.
Опция отключается при установке значения 0. При этом поиск продолжается неограниченное время.
  Прочие опции
ResetCurrentHotSpot Флаг, предписывающий двигаться к ближайшему HotSpot‘у после исчезновения (уничтожения) всех видимых целевых Entity.
Если флаг не установлен, бот “запоминает” последний HotSpot, к которому двигался перед обнаружением Entity, и после уничтожения всех видимых Entity (их исчезновения), продолжает движение к этому HotSpot’у.

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

Перед запуском команды проверяется истинность следующих условий: 1) Персонаж находится на карте CurrentMap, если задана соответствующая опция. 2) Персонаж находится в области, заданной опцией CustomRegions, если установлен флаг опцией CustomRegionsPlayerCheck. 3) Кроме того, должно быть истинным одно из условий:


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

Команда завершается в следующих случаях: 1) Персонаж приблицился к заданному Entity, при условии, что задан флаг StopOnApproached. 2) Истекло время поиска Entity, заданное опцией EntitySearchTime. 3) Внутренние условия стали ложны.

Если опции StopOnApproached и EntitySearchTime не заданы, то команда выполняется до тех пор, пока не будет прервана принудительно одним из способов, перечисленных в статье.


Блок-схема


Аналоги

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


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