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

1. подготовка к запуску и запуск программы.
Внимательно изучайте документацию и только потом задавайте вопросы. Я постараюсь дать ответы на все вопросы.
Минимальная версия операционной системы: Windows 8
Программа работает на платформе x86/x64
Распакуйте архив и поместите папку bot в папку с игрой, иначе скрипт не будет работать, это обязательное условие.
на виртуальной машине желательно поместить игру на локальный диск C, воизбежание конфликта с путями. Не рекомендуется  запускать программу в общей папке.
файл mwBot.exe обязательно нужно запускать  с правами администратора. Чтобы не делать это каждый раз, откройте свойства файла (alt+enter) найдите вкладку "совместимость" и отметьте флажок "запускать от имени администратора".
запустите файл mwBot.exe
нажимайте alt+tab и ищите вкладку безопасности Windows и подтвердите установку драйвера
нажимайте alt+tab и ищите окно для ввода лицензионного ключа. вставьте ключ и нажмите enter.
если вы всё сделали правильно, то программа успешно запустится.
Внимание! 1 лицензионный ключ разрешается использовать только на одном компьютере. при первом запуске программы ключ привязывается к вашему компьютеру и вы не сможете использовать программу на виртуальной машине или на другом компьютере.

2. интерфейс программы, горячие клавиши и команды в чате
В программе есть 3 вкладки, перемещаться между ними с помощью клавиши Tab
2.1. список карт
нажимайте стрелки вверх или вниз, чтобы перемещаться между файлами сценариев, чтобы запустить интересующий вас скрипт, нажмите enter
f1 - чтобы создать новую карту. введите имя и нажмите enter
f3 чтобы переименовать карту. введите новое имя и нажмите enter
f4 - чтобы редактировать выбранную карту.  нажмите ctrl+s чтобы сохранить изменения в сценарии. нажмите f1 в редакторе сценариев, чтобы узнать номер строки, на которой вы находитесь.
f5 - чтобы обновить список карт
f6 чтобы открыть файловый обменник. используйте стрелки вверх или вниз, чтобы найти интересующий вас файл. нажмите enter, чтобы скачать файл
нажимайте Tab чтобы найти кнопку "загрузить файл. вы можете выбрать это в проводнике или просто предворительно скопировать файл и вставить его с помощью комбинации клавиш ctrl+v и нажмите enter
загруженные файлы хранятся в папке files внутри папки bot

2.2 окно чата,  где вы можете задать свой вопрос или просто пообщаться с другими пользователями программы.
введите сообщение и нажмите enter чтобы отправить
нажмите alt+t чтобы включить переводчик ваших сообщений. язык настраивается в config.ini, об этом я скажу позже
нажмите ctrl+t чтобы включить переводчик для игры (также переведет входящие сообщения в чате. Это также нужно настроить в config.ini
нажмите f4 чтобы создать или присоединиться к каналу
Нажмите ф5, чтобы проверить Ping  к серверу программы.

2.3. история сообщений чата.
в верху истории чата вы увидите время действия вашего ключа, например
last date: 2024-03-03 23:59:59
таким образом 4 марта ваш ключ будет  уже недействителен. Побеспокойтесь об этом заранее, контролируйте срок действия лицензионного ключа.

2.4 команды  в чате
Чтобы проверить кто онлайн, напишите в чате /cmd who и нажмите клавишу Enter
Чтобы узнать последнюю фразу интересующего вас пользователя, которая была озвучена в игре, напишите в чате /cmd lastspeak username. Внимание, возможно эта функция будет отключена в будущем. Эта функция нужна, если вы к примеру хотите использовать персонажа вашего друга, но вы не знаете где он находится.

3. локализация программы
в папке bot  найдите файл language.ini
откройте его и переведите текст, который находится после знака равно (=), сохраните изменения и перезапустите программу.
Таким образом интерфейс программы будет переведен на ваш родной язык. Украинский язык является языком по умолчанию.

4. конфигурация
есть основной файл конфигурации, находится в папке bot, называется config.ini
в этом файле описываются основные настройки, если в файле конфигурации отсутствует какой-то параметр, настройка будет использоваться с файла config.ini
4.1. пример config.ini
на строчке ниже указываем текст, на который будет переведена игра при нажатии и включении переводчика ctrl+t, об этом я писал выше. в моем примере это ru, русский язык
translate_target_language=ru
на строчке ниже указываем язык, на который будут переводиться ваши сообщения при нажатии alt+t.  чтобы это использовать, просто нажмите alt+t, напишите сообщение на вашем языке и нажмите enter.  о переводчике я писал выше. в моем примере это tr, турецкий язык
translate_chat_write=tr
ниже можно выключить или включить уведомление когда пользователь появился офлайн в программе. on это включено, off - выключено
chat_online=off. в моем примере звуковые уведомления выключены
ниже указываем открывать ли автоматически игру заново, если по какой-то причине она будет закрыта.  0 выключено, 1 - включено
enable_restart=0
минимальное количество здоровья, ниже которого персонаж будет пить красную бутылку или использовать навык исцеления
min_hp=25000
минимальное количество манны, ниже которого персонаж будет пить синюю бутылку
min_mp=40000
как часто проверять здоровье персонажа (нажимать букву r), в моем примере проверять здоровье каждые 30 сек
regen_timeout=30
указываем как часто можно использовать бутылку здоровья, информацию можно найти при нажатии буквы g, указывать не обязательно, тем более если ваш персонаж использует навык исцеления
reload_bank_hp=1
указываем как часто можно использовать синюю бутылку, информацию можно найти при нажатии буквы g, указывать корректно не обязательно
reload_bank_mp=1
закрыть игру, если красных бутылок станет ниже. в моем примере указана 1 бутылка. то есть если у персонажа закончатся красные бутылки, игра закроется. если написать отрицательное значение, игра не будет закрыта
min_banks_hp=1
закрыть игру, если синих бутылок станет ниже. в моем примере указана 1 бутылка. то есть если у персонажа закончатся синие бутылки, игра закроется. если написать отрицательное значение, игра не будет закрыта
min_banks_mp=1
ниже указываем игнорировать ли привязанные, заблокированные бутылки (например бутылки, полученные    в лагере снабжения или во время игрового события) 1 игнорировать, 0 - не игрорировать
ignore_personal_banks=1
ниже указываем клавишу для исцеления персонажа (красная бутылка или навык исцеления)
key_user_regen_hp=1
ниже указываем клавишу для пополнения манны персонажа (синяя бутылка)
key_user_regen_mp=2
ниже указываем клавишу для красной бутылки домашнего животного, в моем примере это цифра 3
key_pet_regen_hp=3
ниже указываем клавишу для синей бутылки домашнего животного, в моем примере это цифра 4
key_pet_regen_mp=4
ниже указываем клавишу для рисового шарика (корм для домашних животных), в моем примере это цифра 5
key_pet_regen_food=5
ниже указываем уровень сытости, ниже которого питомец будет кушать рисовый шарик
pet_min_food=70
ниже указываем как часто нужно проверять сытость домашнего животного. указывать нужно в секундах. 300 это 5 минут
pet_food_timeout=300
ниже указываем количество здоровья домашнего животного, ниже которого  питомец будет пить красную бутылку
pet_min_hp=75000
ниже указываем количество манны домашнего животного, ниже которого  питомец будет пить синюю бутылку
pet_min_mp=75000
ниже указываем как часто можно использовать красную бутылку для питомца, информацию можно найти при нажатии буквы g, указывать не обязательно)
pet_reload_bank_hp=1
ниже указываем как часто можно использовать синюю бутылку для питомца, информацию можно найти при нажатии буквы g, указывать не обязательно)
pet_reload_bank_mp=1
ниже указываем как часто нужно проверять здоровье домашнего животного (указывать нужно в секундах)
pet_regen_timeout=10
ниже указываем клавиши для навыков, которые должен использовать персонаж в бою. навыки нужно разделять вертикальной чертой. в конце вертикальную черту не нужно ставить. посмотрите пример, а потом изменяйте, воизбежание поломки скрипта
keys_attack=h|j|n|m
ниже указываем призывать ли домашнее животное. 0 не призывать, 1 - призывать питомца
enable_pet=0
ниже указываем имена домашних животных, от сильного к слабому. разделять питомцев нужно вертикальной чертой, например  волк|конь|заяц
pet_name=黄牛
указываем ниже вариант ремонта снаряжения. (-1 игнорировать поломку снаряжения)
enable_repair=-1
клавиша для ремонта снаряжения
key_repair=0
ниже указываем вариант использования драйвера. 0 drv, 1 - winio.  по умолчанию используется drv.  при первом запуске его нужно установить, я писал об этом выше. чтобы использовать winio, нужно запустить файл checkDriver.cmd и перезапустить компьютер.  программа  будет работать с winio на стационарном компьютере только если к нему подключена клавиатура ps/2
keyboard_type=0
ниже указан лицензионный ключ 
api_key=test_api_key

4.2 пример файла конфигурации для моей ведьмы
Рекомендуется сразу указать значения, а потом включать нужные вам функции.
Включаю перезапуск игры, если по какой-то причине она будет закрыта
enable_restart
строчка ниже указывает  что  программа автоматически откроет окно игры
open_game_window
ниже указываю домашних животных, которые будут использованы. Указывать можно любое количество. домашних животных нужно разделять вертикальной чертой
pet_name=野生雄狮|野生猎豹|野生雪狼炸熊猫
указываю что мое здоровье будет проверяться каждые 2 секунды
regen_timeout=2
указываю скорость нажатия навыков в секундах, можно писать дроби
speed_attack=0.05
строка ниже указывает что мой персонаж будет постоянно  перемещаться и на ходу убивать монстров. если указать 0, то персонаж остановится, когда найдет цель, продолжит движение после убийства
attack_type=1
ниже указаны клавиши навыков атаки
keys_attack=h|n|j|m
указываю уровень здоровье, ниже которого персонаж будет исцелять себя
min_hp=155000
ниже указан уровень манны, ниже которого персонаж выпьет синюю бутылку
min_mp=190000
ниже указываю что игра не будет закрыта если у меня закончатся красные бутылки
min_banks_hp=-1
ниже указываю что игра не будет закрыта если у меня закончатся синие бутылки
min_banks_mp=-1
ниже указываю уровень здоровья питомца ниже которого он будет пить красную бутылку
pet_min_hp=245000
ниже указываю уровень здоровья питомца ниже которого он будет пить синюю бутылку
pet_min_mp=100000
ниже указываю уровень сытости домашнего животного, ниже которого питомец съест рисовый шарик
pet_min_food=45
ниже указана клавиша для исцеления, в моем примере это буква u
key_regen_hp=u
ниже указана клавиша для синей бутылки персонажа
key_regen_mp=3
ниже указана клавиша для красной бутылки питомца
key_pet_regen_hp=7
ниже указана клавиша для синей бутылки питомца
key_pet_regen_mp=6
ниже указана клавиша для использования рисового шарика
key_pet_regen_food=9
ниже указана клавиша для ремонта снаряжения (ящик для ремонта или пласкогубцы)
key_repair=0
включаю проверку здоровья и манны у персонажа
enable_regen
включаю  радар, поиск монстров
enable_nav_attack
включаю атаку, использование навыков
enable_attack
ниже указано что моя ведьма будет ремонтировать снаряжение с помощью ящика для ремонта
enable_repair=1
ниже  включаю функцию призыва домашнего животного
enable_pet
ниже включаю контроль здоровья домашнего животного
enable_pet_regen
ниже включаю контроль сытости домашнего животного
enable_pet_food
ниже включаю очистку сумки от мусора
enable_clearbag

5. горячие клавиши управления скриптами
чтобы запустить интересующий вас скрипт, выберите его в списке и нажмите Enter. Внимание, убедитесь что в игре закрыто окно чата, иначе придется заново открывать игру
чтобы установить скрипт на паузу, нажмите alt+f2
чтобы продолжить выполнение скрипта, снять с паузы, нажмите f2
Чтобы закончить выполнение скрипта и закрыть его, нажмите ctrl+f2
Внимание! во время паузы скрипта, в окне программы  вы не сможете найти список карт, поэтому предворительно закройте скрипт.
иногда есть проблема с застряванием клавиши, поэтому рекомендую не закрывать скрипт сразу. Установите на паузу, откройте окно чата и убедитесь что  компьютер не пишет никакие буквы в чат. После этого смело закрывайте  скрипт. если скрипт пишет буквы, продолжите работу (f2), и  через несколько секунд снова   установите на паузу и проверьте снова. Проблема должна исчезнуть.

6. описание структуры программы и взаимодействие с ней
в папке files храняться скачанные вами файлы.
в папке log находятся журналы событий работы программы.
в папке map находятся файлы с вашими скриптами. также в этой папке находится папка map.wall, в которой хранятся карты с препядствиями, это нужно для корректной работы автоматического поиска маршрута по координатам.
объясню как создавать карты местности.
название карты нужно писать на китайском языке. например я нахожусь на координатах
巨岩广场;巨岩城;205;198;中央平原
Название моей карты: 中央平原
возьмем для примера станцию банды
координаты стен пишутся по такому шаблону
x1-x2 y1-y2
каждая стена пишется на новой строчке.
ниже пишу координаты стен бандитской станции
245-249 173
245 173-177
245 184-188
245-249 188
256-260 188
260 184-188
260 173-177
256-260 173
например возьмем первую стену
245-249 173
это значит x1=245-x2=249 y1 и y2 одинаковые, значит можно написать просто 173
если не понимаете, можете использовать вашего персонажа чтобы исследовать эту стену на карте и тогда вы поймете принцип создания карт местности.
я добавил некоторые карты местности в архив, остальные карты вы должны создавать самостоятельно. потрудившись один раз вы избавите себя от застряваний в комнатах, тупиках и так далее.
можно указать стену  в пустом пространстве, но я это делать не рекомендую. персонаж может случайно зайти  на координаты, которые считаются стеной и он не сможет выйти оттуда и скрипт застрянет. вы это можете сделать на свой страх и риск.
Крайне не рекомендую редактировать карты с помощью блокнота Windows, это испортит кодировку текста и скрипт получит ошибку. Для редактирования карт используйте редактор карт внутри программы или используйте программу notepad++. Кодировка скрипта должна быть utf=8

в папке bot вы найдете файл clearbag.txt
напишите в нем список мусора, который будет автоматически выбрасываться из сумки, блокнотом windows редактировать не рекомендую. откройте файл и посмотрите пример.
найдите файл stopwordwall.txt, в нем можно указать список препятствий, это нужно если ваш персонаж перемещается случайным образом. например персонаж ударился в стену и он  автоматически поменяет направление движения.
Файл updater.exe отвечает за обновление программы. Если вдруг по какой-то причине вы не смогли обновиться при запуске программы, запустите этот файл

7. несколько слов для продвинутых пользователей
с помощью тригеров можно обработать большинство ситуаций в игре. я покажу вам несколько примеров
ниже указан тригер, если персонаж ударится в край карты, то скрипт перейдет на 26 строку, там написано чтоб персонаж шел в центр карты. это защита от того что клавиша застрянет. игроки часто сталкиваются с данной проблемой
add_action_speak=bordermap={"text": ["^边缘$"], "command": ["go_to_line", "26"]}
теперь само тело тригера, регулярная функция
"^边缘$"
знак ^ означает что строка будет начинаться именно с этого текста и ни с какого другого
потом написано слово "край" на китайском
знак $ означает что строка оканчивается именно этим текстом.
таким образом тригер не сработает, если кто-то отправит вам  слово "край" в личном сообщении.
ниже указан тригер если мой персонаж атакован другим персонажем
add_action_speak=escapeattack={"text": ["^来自(\\w+)的攻击;ID\\((\\d+)$"], "command": ["go_to_line", "15"]}
\\d+ означает что в строке будет находится порядок цифер
\\w+ означает что в строке будет находиться порядок символов
подробную информацию об обозначениях вы можете найти в интернете, я написал вам  маленький пример.
если моего персонажа кто-то атакует, я использую щит, перестану атаковать и  буду убегать к указанным координатам.
логика работы скрипта зависит только от вашей фантазии.

8. пару слов обо всем что не сказал
карта mortal  отвечает за воскрешение персонажа. вы можете исследовать ее и отредактировать 
строка openmap=ostriv
открыть карту ostriv, в моем примере это  маршрут в подводный мир
карта login отвечает за авторизацию персонажа. вы можете это исследовать и отредактировать индивидуально
название карт можно писать на любом языке.

9. конфигурация игры для корректной работы скрипта
расстояние цели должно указываться в конце
距离朗读方式距离在后;有菜单
параметр ниже необходимо отметить, если вы хотите чтобы ваш персонаж обходил игроков и не сталкивался с ними
切目标时读出玩家职业;已选中
ниже нужно выбрать  чтобы озвучивало количество или процент здоровья
切换目标时朗读生命值;有菜单
также нужно отметить чтобы показывало негативные и полезные эффекты вначале
查看目标数值时前置朗读增损益信息;已选中

10. примеры сценариев
С программой предоставляются некоторые готовые сценарии, опишу их ниже.

bag
запустите этот скрипт (Выберите его и нажмите Enter),  чтобы очистить сумку от мусора.

butterfly
Использование бабочки памяти, например вы можете вызвать эту карту автоматически после воскрешения.

cave
пример использования программы для автоматического выполнения миссии в пещере для 1 игрока на 20 этаже. Внимание, карту необходимо отредактировать для успешного использования.

elfportal
открывает персонажа эльфа, устанавливает портал, открывает нужного нам персонажа и телепортируется. карту нужно отредактировать под ваши задачи.

findmarket
пример поиска товаров на рынке. f4 чтобы отредактировать интересующий вас товар, ctrl+s чтобы сохранить изменения.

fish
пример использования функции для продажи рыбы. просто подойдите к npc и запустите скрипт.

fishing auto
пример автоматической ловли рыбы, включает  продажу рыбы, возврат в озеро. Необходимо отредактировать  для корректного выполнения.

login
сценарий для авторизации в игре

master
пример для передачи предметов от ученика к учителю

mastersynthfrag
создание драгоценных камней из фрагментов

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

ostriv
сценарий маршрута с острова в подводный мир

panda.conf
пример  конфигурации персонажа

pathdracula
пример маршрута  в замок дракулы

potion
пример получения лекарств  из лагеря снабжения во время бандитской войны.

sea
пример добычи драгоценных камней в подводном мире

sellfrag
пример использования функции для продажи драгоценных камней. отредактируйте список фрагментов. если что-то не хотите продавать, перед названием фрагмента напишите минус -.

stones
пример работы функции создания камней. отредактируйте уровень камней, которые необходимо обработать.

team
сценарий, который принимает игроков в команду

testdracula
пример добычи драгоценных камней в замке дракулы

teststones
сценарий для создания драгоценных камней. необходимо указать название камня и уровень для обработки.

triger
пример использования тригера. запустите карту и ударьтесь в стенку
