Руководство по Quester'у (Turorial)
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Руководство по Quester'у (Turorial)
Quester
Этот режим работы Astral предназначен для управления одним персонажем и выполнением заранее определенной последовательности действий, которая называется Профиль (Profile).
Содержание
Этот режим работы Astral предназначен для управления одним персонажем и выполнением заранее определенной последовательности действий, которая называется Профиль (Profile).
Содержание
Last edited by michaelprog on Sat Nov 25, 2017 8:42 pm, edited 6 times in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Назначение Quester'a. Описание интерфейса.
Quester Role
Для выбора данного режима работы в главном окне Astral'а нажмите на центральную кнопку и выберите "Quester" слева вверху.
Когда выбран Quester на главном окне отображается кнопка Main, которая открывает панель Quester'а в этом же окне Astra'а, а также кнопка "Options", которая позволяет изменить некоторые общие параметры работы Questr'a или включить режим "Multi Bots".

Панель Main Quester'a
Основная часть панели Quester'а отведена для древовидной структуры, отображающей последовательность команд (или действий, также именуемых далее Action) профиля. Для краткости всю совокупность команд будем именовать скриптом.
Отработавшие команды обозначены темной иконкой "v". Светлой иконкой ">" помечаются выполняемые в текущий момент команды и блоки в которых они находятся. Темной иконкой "x" отмечены еще не выполнявшиеся команды.
Ключевые элементы управления на панели Main Quester'a
(A) Load profile
Загружает Quester-профиль (zip-файл, загруженный с данного форума).
Профили хранятся в виде архивных zip-файлов с двойным расширением .amp.zip. Перед использованием их не нужно разархивировать.
(B) Show Mapper
Открывает отдельное окно, схематично отображающее местность вокруг персонажа
(C) Open Editor
Открывает окно Редактира для создания или изменения загруженных Quester-профилей[/list]
На вкладке Quester'а также есть несколько кнопок, управляющих Astral'ом в данном режиме:
1. Options
По нажатию на кнопку "Options" можно управлять текстовым описанием команд "Display mode" в древовидном списке команд (на рисунке обозначено "1" в красной рамке):
1a) При выборе "Action Name" будет отображаться название команды, заданное разработчиком профиля в свойстве "OverradeName" или сгенерированное Astral'ом по-умолчанию (если "OverradeName" не задано). Большинство разработчиков задают адекватные названия командам, что позволяет легко ориентироваться в процессе выполнения скрипта.
2b) При выборе "Associated mission" будет отображаться локализованное название связанного квеста, которое извлекается из игры. Однако для того, чтобы это работало разработчик профиля должен каждую команду связать с конкретным квестом (задачей, подзадачей) через свойство "AssociateMission". (ИМХО) Это не всегда возможно и часто ломает логику функционирования профиля. По ряду причин я стараюсь не устанавливать связь команды с соответствующим квестом.
2. Selected action...
По нажатию кнопки "Selected action..." (На рисунке обозначено "2" в оранжевой рамке) открывается выпадющее меню, в котором можно:
2a) "Set Start Point" - Задать выбранную команду в качестве активной. Эту операцию можно выполнить только если бот остановлен (т.е. НЕ производится выполнение Quester-профиля). После запуска бота выполнение профиля начнется с выбранной команды.
2b) "Set start point to quest" - устанавливает связь выбранной команды с квестом, который вы веберете в открывшемся окне. (см. свойсто "AssociateMission"). Этой операцией я ни разу не пользовался
2с) "Edit" - открывает окно редактора профилей и выделяет выбранную команду в качестве текущей редактируемой. Если редактор профилей уже открыт, то данная команда выбирается в нем в качестве редактируемой, но фокус не перемещается на окно редактора профилей. Переключиться на него придется вручную.
3. Status...
По нажатию кнопки "Status..." (На рисунке обозначено "3" в зеленой рамке) открывается выпадющее меню, в котором можно:
3a) "Reset complited" - сбрасывает все выполненные команды профиля. Эту операцию можно выполнить только если бот остановлен (т.е. НЕ производится выполнение Quester-профиля). После запуска бота выполнение профиля начнется сначала.
3b) "Save..." - сохранить прогресс выполнения профиля в файл с расширением .bin (состояние выполнен/невыполнен для каждой команды, и текущую активную команду(или несколько команд)).
3c) "Load..." - загрузить ранее сохраненный прогресс выполнения профиля из файла с расширением .bin.
3d) "Resend actions to cliens" - операция, используемая только в режиме "Multi Bots" из экземпляра Astral'а, выполняющего роль Сервера. Она принудительно отправляет текущую исполняемую команду на исполнение экземплярами Astral'а, являющимися клинетами.
Когда профиль загружен, его выполнение запускается и приостанавливается по нажатию на кнопку "Play".
Панель Options Quester'a
Вернемся на главную панель Бота (нажмите иконку домика вверху окна, стрелку "<=" или слово "Main").
По нажатию на кнопку "Options" открывается панель в которой на вкладке "General" можно задать:
В панели "Options" на вкладке "Multi bots" активируется групповой режим Quester'a. Для этого Вам необходимо иметь элитную подписку и достаточно мощный компьютер, для запуска нескольких экземпляров Astra'a и игрового клиента Neverwintr'a. Обсуждение режима здесь: Multi-Bots mode. Посмотреть как это работает можно на youtube
Для выбора данного режима работы в главном окне Astral'а нажмите на центральную кнопку и выберите "Quester" слева вверху.
Когда выбран Quester на главном окне отображается кнопка Main, которая открывает панель Quester'а в этом же окне Astra'а, а также кнопка "Options", которая позволяет изменить некоторые общие параметры работы Questr'a или включить режим "Multi Bots".
Панель Main Quester'a
Основная часть панели Quester'а отведена для древовидной структуры, отображающей последовательность команд (или действий, также именуемых далее Action) профиля. Для краткости всю совокупность команд будем именовать скриптом.
Отработавшие команды обозначены темной иконкой "v". Светлой иконкой ">" помечаются выполняемые в текущий момент команды и блоки в которых они находятся. Темной иконкой "x" отмечены еще не выполнявшиеся команды.
Ключевые элементы управления на панели Main Quester'a
(A) Load profile
Загружает Quester-профиль (zip-файл, загруженный с данного форума).
Профили хранятся в виде архивных zip-файлов с двойным расширением .amp.zip. Перед использованием их не нужно разархивировать.
(B) Show Mapper
Открывает отдельное окно, схематично отображающее местность вокруг персонажа
(C) Open Editor
Открывает окно Редактира для создания или изменения загруженных Quester-профилей[/list]
На вкладке Quester'а также есть несколько кнопок, управляющих Astral'ом в данном режиме:
1. Options
По нажатию на кнопку "Options" можно управлять текстовым описанием команд "Display mode" в древовидном списке команд (на рисунке обозначено "1" в красной рамке):
1a) При выборе "Action Name" будет отображаться название команды, заданное разработчиком профиля в свойстве "OverradeName" или сгенерированное Astral'ом по-умолчанию (если "OverradeName" не задано). Большинство разработчиков задают адекватные названия командам, что позволяет легко ориентироваться в процессе выполнения скрипта.
2b) При выборе "Associated mission" будет отображаться локализованное название связанного квеста, которое извлекается из игры. Однако для того, чтобы это работало разработчик профиля должен каждую команду связать с конкретным квестом (задачей, подзадачей) через свойство "AssociateMission". (ИМХО) Это не всегда возможно и часто ломает логику функционирования профиля. По ряду причин я стараюсь не устанавливать связь команды с соответствующим квестом.
2. Selected action...
По нажатию кнопки "Selected action..." (На рисунке обозначено "2" в оранжевой рамке) открывается выпадющее меню, в котором можно:
2a) "Set Start Point" - Задать выбранную команду в качестве активной. Эту операцию можно выполнить только если бот остановлен (т.е. НЕ производится выполнение Quester-профиля). После запуска бота выполнение профиля начнется с выбранной команды.
2b) "Set start point to quest" - устанавливает связь выбранной команды с квестом, который вы веберете в открывшемся окне. (см. свойсто "AssociateMission"). Этой операцией я ни разу не пользовался
2с) "Edit" - открывает окно редактора профилей и выделяет выбранную команду в качестве текущей редактируемой. Если редактор профилей уже открыт, то данная команда выбирается в нем в качестве редактируемой, но фокус не перемещается на окно редактора профилей. Переключиться на него придется вручную.
3. Status...
По нажатию кнопки "Status..." (На рисунке обозначено "3" в зеленой рамке) открывается выпадющее меню, в котором можно:
3a) "Reset complited" - сбрасывает все выполненные команды профиля. Эту операцию можно выполнить только если бот остановлен (т.е. НЕ производится выполнение Quester-профиля). После запуска бота выполнение профиля начнется сначала.
3b) "Save..." - сохранить прогресс выполнения профиля в файл с расширением .bin (состояние выполнен/невыполнен для каждой команды, и текущую активную команду(или несколько команд)).
3c) "Load..." - загрузить ранее сохраненный прогресс выполнения профиля из файла с расширением .bin.
3d) "Resend actions to cliens" - операция, используемая только в режиме "Multi Bots" из экземпляра Astral'а, выполняющего роль Сервера. Она принудительно отправляет текущую исполняемую команду на исполнение экземплярами Astral'а, являющимися клинетами.
Когда профиль загружен, его выполнение запускается и приостанавливается по нажатию на кнопку "Play".
Панель Options Quester'a
Вернемся на главную панель Бота (нажмите иконку домика вверху окна, стрелку "<=" или слово "Main").
По нажатию на кнопку "Options" открывается панель в которой на вкладке "General" можно задать:
- Включить/отключить автоматическую закупку зелий исцеления и их количество. Для корректной работы в свойствах Quester-профиля должен быть заполнен список продавцов ("Vendors").
Заявлено, что приобретаться будут лучшие зелья, но с этим похоже проблемы. У меня приобретает низкоуровневый мусор. Если потребность в зельях существует, то лучше в Quester-профиле добавить необходимое действие. - Включить/отключить автоматическую закупку аптечек и их количество. Работает нормально.
- Задает количество свободных ячеек в инвентаре, при достижении которого бот пытается вернуться к ближайшему продавцу для продажи лута. Для корректной работы в свойствах Quester-профиля должен быть заполнен список продавцов ("Vendors").
- Включает/отключает поиск ближайшего продавца для продажи ему лута, в зависимости от количества свободного места в инвентаре, выраженное в %.
- Включает/отключает режим ожидания на костре в случае если персонаж ранен или имеет неполную шкалу здоровья. Кране рекомендуется отключать опцию при прохождении подземелий вместе с живыми игроками.
В панели "Options" на вкладке "Multi bots" активируется групповой режим Quester'a. Для этого Вам необходимо иметь элитную подписку и достаточно мощный компьютер, для запуска нескольких экземпляров Astra'a и игрового клиента Neverwintr'a. Обсуждение режима здесь: Multi-Bots mode. Посмотреть как это работает можно на youtube
You do not have the required permissions to view the files attached to this post.
Last edited by michaelprog on Thu Dec 21, 2017 7:39 am, edited 1 time in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Редактор Quester'a. Описание интерфейса.
Редактор Quester'a. Описание интерфейса.
Основную часть Окна редактора профилей Quester'а занята тремя вкладками:
1) Actions - Основная вкладка, содержащая последовательность команд (или действий) в виде дерева, состовляющих профиль ("Actions" слева) и настроек выделенной команды ("Action Edition" справа).
2) Profile - Вкладка, содержащая основные переменные, определяющие работу профиля ("General" слева), списки продавцов (вкладка "Vendors" справа), игнорируемых мобов (вкладка "BlackList" справа), областей Mapper'а (вкладка "Custom Regions" справа или Коллекция "Custom Regions" в группе свойств "General" слева).
3) Options - для задания сочетаний быстрых клавиш к вставке определенных действий в дерево профиля(Action).
Назначение кнопок, смысл которых очевиден ("New", "Load", "Save", "Save as"), описывать не буду.
"Show Mapper" открывает в отдельном окне Mapper - схематичное отображение местности вокруг персонажа.
Вкладка "Actions"
Основная работа с профилем ведется на вкладке "Actions".
Список команд (Actions) и операции с ними
Слева находится список команд (Actions), последовательность которых определяет действия Персонажа в игре. Для краткости совокупность команд будем называть "скрипт". В дальнейшем во избежание разночтений я буду использовать английский термин Action для обозначения любой команды Astral'а, которая может быть включена в скрипт.
Под списком Actions находятся кнопки:
Справа отображаются индивидуальный настройки команды, выбранной в списке (Actions).
Основную часть Окна редактора профилей Quester'а занята тремя вкладками:
1) Actions - Основная вкладка, содержащая последовательность команд (или действий) в виде дерева, состовляющих профиль ("Actions" слева) и настроек выделенной команды ("Action Edition" справа).
2) Profile - Вкладка, содержащая основные переменные, определяющие работу профиля ("General" слева), списки продавцов (вкладка "Vendors" справа), игнорируемых мобов (вкладка "BlackList" справа), областей Mapper'а (вкладка "Custom Regions" справа или Коллекция "Custom Regions" в группе свойств "General" слева).
3) Options - для задания сочетаний быстрых клавиш к вставке определенных действий в дерево профиля(Action).
Назначение кнопок, смысл которых очевиден ("New", "Load", "Save", "Save as"), описывать не буду.
"Show Mapper" открывает в отдельном окне Mapper - схематичное отображение местности вокруг персонажа.
Вкладка "Actions"
Основная работа с профилем ведется на вкладке "Actions".
Список команд (Actions) и операции с ними
Слева находится список команд (Actions), последовательность которых определяет действия Персонажа в игре. Для краткости совокупность команд будем называть "скрипт". В дальнейшем во избежание разночтений я буду использовать английский термин Action для обозначения любой команды Astral'а, которая может быть включена в скрипт.
Под списком Actions находятся кнопки:
- Add action ... - данная кнопка добавляет в список новую команду (до или после выделенной в списке команды, или в конец списка). Место вставки новой команды можно изменить если нажать на стрелку на кнопке.
- after selected - добавляет новую команду сразу после выбранной в момент вставки. Если перед вставкой был выбран ActionPack, новая команда будет добавлена во-внутрь выбранного ActionPack'a.
- befor selected - добавляет новую команду непосредственно перед выбранной в момент вставки. Если перед вставкой был выбран ActionPack, новая команда будет добавлена во-внутрь выбранного ActionPack'a
- at the end - добавляет новую команду в конец списка команд того уровня к которому относится выбранная. Если выбранная команда находится в ActionPack'e, то новая команда будет добавлена в конец списка команд этого же ActionPack'a, то есть уровень вложенности у выбранной до вставки команды и новой команды будет одинаковым. На рисунке выше выбрана команда "East_Side", вложенная в ActionPack "Grind <Soshenstar_river>". При добавлении в режиме "at the end" новая команда будет вставлена во внутрь блока "Grind <Soshenstar_river>" после команды "Return <Nayanzaru>"
- Remove - удаляет выбранную команду из списка.
- Set Start Point - устанавливает выбранную команду в качестве активной в панели Main Quester'a. При запуске бота выполнение профиля начнется с данной команды.
- Копировать - для этого нужно выделить команду в списке и нажать правую кнопку мыши и выбрать "Copy" в контекстном меню.
- Вставить скопированную команду - для этого нужно сначала скопировать необходимую команду из списка как указано выше, а затем нажать на кнопку Add action ..., расположенную под списком.
- Перемещать - для этого нужно выделить команду в списке и нажать левую кнопку мыши и не отпуская перетащить на другую команду, после которой вы хотите разместить перемещаемую команду, отпустить левую кнопку мыши и подтвердить действие в открывшемся диалоговом окне.
Чтобы переместить любую команду в ActionPack, целевую команду следует перетащить на него и после подтверждения перемещения во втором диалогом окне нажать "Yes". При нажатии "No" перемещаемая команда будет размещена ПОСЛЕ ActionPack'a.
Справа отображаются индивидуальный настройки команды, выбранной в списке (Actions).
- Вкладка "General" содержит текстовые и числовые поля, а также флаги (свойства со значениями Истина/Ложь - True/False), определяющие поведение команды. Более подробно общие для всех команд свойства, рассмотрены здесь.
- Вкладка "Conditions" содержит совокупность условий, в зависимости от выполнения которых команда запускается или игнорируется. Об условиях подробнее здесь ТЫНЦ.
- Вкладка "HotSpots" становится доступна лишь для нескольких типов команд и содержит координаты точек, которые персонаж должен обойти при выполнении данной команды. К таким командам относится Grind, InteractNode, Interact NPS.
You do not have the required permissions to view the files attached to this post.
Last edited by michaelprog on Wed Jun 20, 2018 9:20 am, edited 7 times in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Основные свойства команд (действий, Action'ов)
Основные свойства команд (действий, Action'ов):
ActionID - уникальный идентификатор команды в Quester-профиле. Может использоваться в команде(Action) "GoToAction", меняющей последовательность выполнения команд, путем принудительного перехода к исполнению команды, заданной посредством ActionID.
Disabled - флаг который включает или выключает команду. Если Disabled=True данная команда (Action, ActionPack) будет пропущена. Управление флагом не возможно из скрипта поэтому он имеет отладочный характер во время написания скрипта.
OverrideName - это поле имеет характер комментария, и используется для описания назначения команды. Оно будет отображаться в основной панеле Quester'a "Display mode" установлено в "Action Name". Eсли поле не заполненно то в списке команд вы увидите стандартное название команды, сгенерированное ботом.
AssociateMission - идентификатор игрового задания (квеста, задачи, подзадачи) с выполнением которого связано данная команда(Action). Помимо информационной роли может нести и управляющую нагрузку.
Если свойство задано, то команда (Action, ActionPack) запускается только если соответствующий квест есть в списке задач персонажа и не завершена.
О структуре квестов (задач) в Neverwinter'е и состояниях их выполнения читай под спойлером. PlayWhileMissionUnsuccess - флаг работающий в паре со свойством AssociateMission , который будучи установленным перезапускает команду (Action, ActionPack) после её выполнения, если связанный квест не будет завершен (успешен или провален - без разницы).
Здесь следует отметить, что проверка на наличие AssociateMission в журнале заданий персонажа производится ДО запуска команды на исполнение. Проверка успешности AssociateMission при установленном флаге PlayWhileMissionUnsuccess=True производится ПОСЛЕ выполнения команды (Action, ActionPack), и если AssociateMission не завершена, то выполнение команды запускается снова и снова.
Почему я предпочитаю не использовать AssociateMission описано под спойлером. Флаги, управляющих повторением (перезапуском) команды
В свойствах команды (Action, ActionPack) есть три флага, управляющих повторением (перезапуском) команды после её завершения.
OnlyOneConditionMustBeGood - флаг управляет правилом проверки списка условий, заданных на вкладке "Conditions".
Если OnlyOneConditionMustBeGood=False, то совокупность условий из списка "Conditions" будет истиной, если ВСЕ условия истины.
Если OnlyOneConditionMustBeGood=True, то совокупность условий из списка "Conditions" будет истиной, если истино ЛЮБОЕ из условий, у которых Loked=False.
Здесь следует отметить, что каждое условие на вкладке "Conditions" имеет флаг Loked (по-умолчанию равный False). Если на условии флаг Loked=True, то условие всегда должно быть истинным, чтобы вся совокупность условий была истиной, независимо от значения флага OnlyOneConditionMustBeGood у данной команды.
Рассмотрим несколько примеров (под спойлером). MaxRunningTime - определяет время выполнение команды в секундах. По умолчанию значение установлено в 0, что означает отсутствие временного ограничения. В противном случае команда (Action, ActionPack) выполняется заданное количество секунд, после чего считается выполненным. OnlyDoneByServer - флаг, который используется ТОЛЬКО в режиме "Multi Bots". Если он НЕ установлен (False) команда будет передана на исполнение ботам-клиентам.
ActionID - уникальный идентификатор команды в Quester-профиле. Может использоваться в команде(Action) "GoToAction", меняющей последовательность выполнения команд, путем принудительного перехода к исполнению команды, заданной посредством ActionID.
Disabled - флаг который включает или выключает команду. Если Disabled=True данная команда (Action, ActionPack) будет пропущена. Управление флагом не возможно из скрипта поэтому он имеет отладочный характер во время написания скрипта.
OverrideName - это поле имеет характер комментария, и используется для описания назначения команды. Оно будет отображаться в основной панеле Quester'a "Display mode" установлено в "Action Name". Eсли поле не заполненно то в списке команд вы увидите стандартное название команды, сгенерированное ботом.
AssociateMission - идентификатор игрового задания (квеста, задачи, подзадачи) с выполнением которого связано данная команда(Action). Помимо информационной роли может нести и управляющую нагрузку.
Если свойство задано, то команда (Action, ActionPack) запускается только если соответствующий квест есть в списке задач персонажа и не завершена.
О структуре квестов (задач) в Neverwinter'е и состояниях их выполнения читай под спойлером. PlayWhileMissionUnsuccess - флаг работающий в паре со свойством AssociateMission , который будучи установленным перезапускает команду (Action, ActionPack) после её выполнения, если связанный квест не будет завершен (успешен или провален - без разницы).
Здесь следует отметить, что проверка на наличие AssociateMission в журнале заданий персонажа производится ДО запуска команды на исполнение. Проверка успешности AssociateMission при установленном флаге PlayWhileMissionUnsuccess=True производится ПОСЛЕ выполнения команды (Action, ActionPack), и если AssociateMission не завершена, то выполнение команды запускается снова и снова.
Почему я предпочитаю не использовать AssociateMission описано под спойлером. Флаги, управляющих повторением (перезапуском) команды
В свойствах команды (Action, ActionPack) есть три флага, управляющих повторением (перезапуском) команды после её завершения.
- PlayWhileMissionUnsuccess - ДО выполнения команды проверяется AssociateMission, и если связанная миссия не завершена, то команда запускается, а в противном случае - пропускается.
- Loop - ПЕРЕД выполнением команды проверяется соблюдение условий, заданных на вкладке "Conditions", и если они выполняются - команда запускается.
- PlayWhileConditionsAreOk - В ТЕЧЕНИЕ выполнения команды проверяется соблюдение условий, заданных на вкладке "Conditions", и как только условия не соблюдаются - команда прерывается и считается выполненной. Прерывание выполнения команды производится ВСЕГДА. В ТЕЧЕНИЕ означает проведение проверки ДО, ВО ВРЕМЯ и ПОСЛЕ выполнения команды. После завершения команды снова проверяется истинность условий с вкладки "Conditions", и при их соблюдении команда должна запускаться повторно. Но так происходит не всегда (закономерность мною не установлена), поэтому для гарантированного зацикливания команды я устанавливаю оба флага, и Loop, и PlayWhileConditionsAreOk.
OnlyOneConditionMustBeGood - флаг управляет правилом проверки списка условий, заданных на вкладке "Conditions".
Если OnlyOneConditionMustBeGood=False, то совокупность условий из списка "Conditions" будет истиной, если ВСЕ условия истины.
Если OnlyOneConditionMustBeGood=True, то совокупность условий из списка "Conditions" будет истиной, если истино ЛЮБОЕ из условий, у которых Loked=False.
Здесь следует отметить, что каждое условие на вкладке "Conditions" имеет флаг Loked (по-умолчанию равный False). Если на условии флаг Loked=True, то условие всегда должно быть истинным, чтобы вся совокупность условий была истиной, независимо от значения флага OnlyOneConditionMustBeGood у данной команды.
Рассмотрим несколько примеров (под спойлером). MaxRunningTime - определяет время выполнение команды в секундах. По умолчанию значение установлено в 0, что означает отсутствие временного ограничения. В противном случае команда (Action, ActionPack) выполняется заданное количество секунд, после чего считается выполненным. OnlyDoneByServer - флаг, который используется ТОЛЬКО в режиме "Multi Bots". Если он НЕ установлен (False) команда будет передана на исполнение ботам-клиентам.
You do not have the required permissions to view the files attached to this post.
Last edited by michaelprog on Tue May 29, 2018 1:48 pm, edited 9 times in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Команда ActionPack
Команда ActionPack
Из всего списка команд выделяется одна, которая служит средством группировки других команд в блоки - "ActionPack".
По-умолчанию команды, помещенные в один ActionPack, выполняются ПОСЛЕДОВАТЕЛЬНО, то есть вторая и каждая последующая команда начинает выполняеться только тогда, когда завершилась предыдущая.
В приведенном ниже примере, команда "MoveTo" будет выполняться только после того, как завершится команда "JoinMatch". ActionPack'и могут иметь неограниченную вложенность, то есть один ActionPack может быть вложен в другой.
На иллюстрации команды JoinMatch, MoveTo и ActionPack "Pack_2" вложены в ActionPack c названием "Pack_1".
Свойство (настройки) команды ActionPack:
Из всего списка команд выделяется одна, которая служит средством группировки других команд в блоки - "ActionPack".
По-умолчанию команды, помещенные в один ActionPack, выполняются ПОСЛЕДОВАТЕЛЬНО, то есть вторая и каждая последующая команда начинает выполняеться только тогда, когда завершилась предыдущая.
В приведенном ниже примере, команда "MoveTo" будет выполняться только после того, как завершится команда "JoinMatch". ActionPack'и могут иметь неограниченную вложенность, то есть один ActionPack может быть вложен в другой.
На иллюстрации команды JoinMatch, MoveTo и ActionPack "Pack_2" вложены в ActionPack c названием "Pack_1".
Свойство (настройки) команды ActionPack:
- SimultaneousAction - флаг, установка которого позволяет выполнять все команды включенные в блок ПАРАЛЛЕЛЬНО.
Все команды, помещенные в ActionPack, становятся активными, персонаж совершает действия, необходимые для выполнения первой активной команды (включая перемещения по карте) и попутно совершает действия, необходимые для выполнения других команд (взаимодействует с объектами, формит мобов, собирает лут и т.д.). - Группа команд MultiBots задает особенности взаимодействия бота-сервера с ботами-клиентами при выполнении команд, входящих в данный "ActionPack". Комментарии Разработчика по данным настройкам под спойлером.
- AsynchronouseMode - флаг, при установке которого данный ActionPack ЦЕЛИКОМ передается на выполнение ботам-клиентам, заданным в свойстве BotAssignment.
В противном случае обработку условий выполнения ActionPack'a и вложенных в него команд будет производить бот-сервер, а ботам клиентам будут передаваться только отдельные команды, помещенные в данный ActionPack.
Следует отметить, что ActionPack с установленным флагом AsynchronouseMode не должен иметь вложенных ActionPack'ов, поскольку они будут проигнорированы. - BotAssignment - список ботов, которые будут выполнять данный ActionPack. Для изменения списка нужно нажать кнопку "..." и в открывшемся окне отметить нужных ботов и нажать "ОК". Это может быть бот-сервер (Server), а также один или несколько ботов-клиентов (Client).
Когда ActionPack передается ботам-клиентам для выполнения с установленным флагом AsynchronouseMode, то данный ActionPack передается ЦЕЛИКОМ со всем входящими в него командами. При этом каждый бот-клиент выполняет его самостоятельно, то есть САМ проверяет условия выполнения ActionPack'a и входящих в него команд.
Для того чтобы бот-сервер дождался завершения ботами-клиентами ActionPack'ов, выполняемых в асинхронном режиме. после него в скрипт следует поместить команду WaitForSync. - OnlyDoneByServer - флаг, который используется ТОЛЬКО в режиме "Multi Bots". Если он НЕ установлен (False) команда будет передана на исполнение ботам-клиентам.
- AsynchronouseMode - флаг, при установке которого данный ActionPack ЦЕЛИКОМ передается на выполнение ботам-клиентам, заданным в свойстве BotAssignment.
You do not have the required permissions to view the files attached to this post.
Last edited by michaelprog on Sat Feb 24, 2018 6:37 am, edited 7 times in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Команды перемещения
Команды перемещения
Существует несколько команд, назначение которых в перемещении персонажа в заданные координаты или по замкнутому контуру. К ним относятся:
1. MoveTo - перемещение персонажа в точку с координатами, заданными в свойстве Position. 2. RandomMoveTo - случайное перемещение персонажа в одну из точек, заданных в свойстве-коллекции "TargetLocations". 3. Grind - последовательное перемещение персонажа по точкам, заданным на вкладке "HotSpots".
Существует несколько команд, назначение которых в перемещении персонажа в заданные координаты или по замкнутому контуру. К ним относятся:
1. MoveTo - перемещение персонажа в точку с координатами, заданными в свойстве Position. 2. RandomMoveTo - случайное перемещение персонажа в одну из точек, заданных в свойстве-коллекции "TargetLocations". 3. Grind - последовательное перемещение персонажа по точкам, заданным на вкладке "HotSpots".
You do not have the required permissions to view the files attached to this post.
Last edited by michaelprog on Sun Nov 26, 2017 8:33 am, edited 5 times in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Команды взаимодействия
Команды взаимодействия
Существует несколько команд, назначение которых во взаимодействии персонажа с игровыми объектами и персонажами. К ним относятся:
1. InteractSpecialNode - Взаимодействие с единичным игровым объектом, таким как дверь, рычаг, сундук, камень и т.д. 2. InteractNode - Взаимодействие с неопределенным набором игровых объектов, таким как дверь, рычаг, сундук, камень.
Существует несколько команд, назначение которых во взаимодействии персонажа с игровыми объектами и персонажами. К ним относятся:
1. InteractSpecialNode - Взаимодействие с единичным игровым объектом, таким как дверь, рычаг, сундук, камень и т.д. 2. InteractNode - Взаимодействие с неопределенным набором игровых объектов, таким как дверь, рычаг, сундук, камень.
- Spoiler: [+] Перечень объектов для взаимодействия в общем случае не определен (за исключением WhileList), вместо этого в свойствах команды на вкладке "
- Spoiler: [+] Перечень NPC для взаимодействия не определен, вместо этого в свойствах команды на вкладке "
You do not have the required permissions to view the files attached to this post.
Last edited by michaelprog on Sun Nov 05, 2017 7:58 am, edited 2 times in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Команды управления группой
Команды управления группой
У этой категории я опишу все команды, связанные с формированием или роспуском группы
1. JoinMatch - Команда на вступление в очередь в подземелье или в схватку.
Использование данной команды имеет смысл только в режиме MultiBots. Если её не использовать, то все члены группы попадут в разные инстансы и выполнение скрипта прекратится, так как бот-сервер будет ожидать пока боты-клиенты не приблизятся к нему на необходимое расстояние, что, находясь в разных инстансах, сделать невозможно.
3. LeaveMissionMap - Команда на выход из подземелья (схватки) независимо от прогресса его прохождения и местоположения персонажа на карте. 4. SpecialAction: LeaveTeam и LeaveMatchGroup - Команды на выход из состава Группы и из состава "Группы с запросом на подбор".
У этой категории я опишу все команды, связанные с формированием или роспуском группы
1. JoinMatch - Команда на вступление в очередь в подземелье или в схватку.
- Spoiler: [+] При её выполнении активируется внутриигровое окно вступления в очередь, отмечаются все подземелья (схватки), заданные свойствами "MatchName" и" AdditionnalMatches", производится постановка в очередь и подтверждение на вступление в подземелье (схватку).
Использование данной команды имеет смысл только в режиме MultiBots. Если её не использовать, то все члены группы попадут в разные инстансы и выполнение скрипта прекратится, так как бот-сервер будет ожидать пока боты-клиенты не приблизятся к нему на необходимое расстояние, что, находясь в разных инстансах, сделать невозможно.
3. LeaveMissionMap - Команда на выход из подземелья (схватки) независимо от прогресса его прохождения и местоположения персонажа на карте. 4. SpecialAction: LeaveTeam и LeaveMatchGroup - Команды на выход из состава Группы и из состава "Группы с запросом на подбор".
Совет wrote:Если после завершения подземелья (схватки) не покинуть текущую "Группу" или "Группу с запросом на подбор", созданные автоматически, то повторная постановка в очередь не удастся. Поэтому я рекомендую профили, предназначенные для прохождения подземелий или схваток завершать группой команд:code: Select all
LeaveMissionMap (AbandonToo = True) LeaveMissionMap (AbandonToo = False) SpecialAction: LeaveTeam SpecialAction: LeaveMatchGroup
You do not have the required permissions to view the files attached to this post.
Last edited by michaelprog on Sat Feb 24, 2018 6:40 am, edited 9 times in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Специальные команды
Специальные команды
1. PickUpMission - команда для взятия задания (квеста) у определенного неигрового персонажа NPC.
1. PickUpMission - команда для взятия задания (квеста) у определенного неигрового персонажа NPC.
- Spoiler: [+] При добавлении данной команды сначала появляется окно выбора задания (квеста) "Get a mission id", в котором содержится список заданий (квестов) из журнала персонажа. Поэтому перед добавления команды "PickUpMission" сначала нужно принять задание к выполнению.
- Spoiler: [+] Процесс добавления команды аналогичен "PickUpMission": сначала выбирается задание в окне "Get a mission id", а затем - NPC.
- Spoiler: [+] При добавлении команды появляется окно сообщений, предлагающее выбрать точку перемещения (точку выхода из текущей локации) и нажать кнопку "OK (F12)".
- Spoiler: [+] Под Инстансом понимается экземпляр текущей карты (локации), созданные средствами игры для ограниченного числа игроков (для сюжетный локаций, таких как "Протекторат", "Велоск", "Драконий источник" и т.п. - обычно 20-25 игроков; для подземелий и схваток - 3-5 игроков).
You do not have the required permissions to view the files attached to this post.
Last edited by michaelprog on Mon Jan 01, 2018 4:37 am, edited 8 times in total.
-
- Contributor
- Posts: 602
- Joined: Wed Aug 31, 2016 7:32 am
Сервисные команды
В разработке
Last edited by michaelprog on Sat Nov 25, 2017 6:16 am, edited 2 times in total.