1

Тема: bot documentation

1. preparation for launch and run  program.
Read the documentation carefully and only then ask questions. I will try to give answers to all questions.
Attention! Be sure to check the "Use NVDA" checkbox in the game settings, otherwise the bot will not be able to receive and process information.
Minimum operating system version: Windows 8
The program runs on the x86/x64 platform
Attention, it is recommended to add the folder with the bot to the exceptions of your antivirus to avoid problems with launching or updating the program.
Sometimes the antivirus can swear at the program. The reason is the non-standard launch of Python scripts.
Scripts are encrypted against hacking and theft.
Also, purely theoretically, an antivirus can swear due to the fact that the program simulates keystrokes, which is a potentially dangerous action.
You can check the bot for Virus total, open the “Actions” tab and make sure that the bot does not contain viruses.
Unpack the archive and place the bot folder in the game folder, otherwise the script will not work, this is a prerequisite.
on a virtual machine, it is advisable to place the game on the local drive C to avoid path conflicts. It is not recommended to run the program in a shared folder.
The mwBot.exe file must be run with administrator rights. To avoid having to do this every time, open the file properties (alt+enter), find the “compatibility” tab and check the “run as administrator” checkbox.
run mwBot.exe file
press alt+tab and look for the Windows security tab and confirm driver installation
press alt+tab and look for the window to enter  license key. insert the key and press enter.
If you did everything correctly, the program will launch successfully.
Attention! 1 license key can only be used on one computer. When you first start the program, the key is bound to your computer and you will not be able to use the program in a virtual machine or on another computer.

2

Re: bot documentation

2. program interface, hotkeys and chat commands
The program has 3 tabs, move between them using the Tab key
2.1. list of scripts
press the up or down arrows to move between script files, to run the script you are interested in press enter
f1 - to create a new script. enter a name and press enter
f3 to rename the script. enter a new name and press enter
f4 - to edit the selected script. press ctrl+s to save changes to the script. press f1 in the script editor to find out the line number you are on.
f5 - to update the list of scripts
f6 to open the file exchanger. use the up or down arrows to find the file you are interested in. press enter to download the file
press Tab to find the "upload file" button. You can select this in Explorer or simply copy the file first and paste it using the key combination ctrl+v and press enter
downloaded files are stored in the files folder inside the bot folder

3

Re: bot documentation

2.2 chat window where you can ask your question or simply chat with other users of the program.
enter your message and press enter to send
press alt+t to turn on the translator for your messages. the language is configured in config.ini, I’ll talk about this later
press ctrl+t to enable translator for the game (will also translate incoming chat messages. This also needs to be configured in config.ini
press f4 to create or join a channel
Press f5 to check Ping to the program server.

4

Re: bot documentation

2.3. chat message history.
at the top of the chat history you will see the expiration time of your key, for example
last date: 2024-03-03 23:59:59
thus, on March 4, your key will no longer be valid. Take care of this in advance and control the validity period of the license key.

5

Re: bot documentation

2.4 chat commands
/p username your text for sending private message
To check who is online, write /who in the chat and press Enter
To find out the last phrase of the user you are interested in, which was voiced in the game, write /lastspeak username in the chat. Please note, this feature may be disabled in the future. This function is needed if, for example, you want to use your friend’s character, but you don’t know where he is.

6

Re: bot documentation

3. bot localization
in the bot folder find the language.ini file
open it and translate the text that is after the equal sign (=), save the changes and restart the program.
This way the program interface will be translated into your native language. Ukrainian is the default language.

7

Re: bot documentation

4. configuration
there is a main configuration file, located in the bot folder, called config.ini
this file describes the basic settings; if some parameter is missing in the character configuration file, the setting will be used from the config.ini file

8

Re: bot documentation

4.1. example config.ini
on the line below we indicate the text to which the game will be translated when you press and turn on the translator ctrl+t, I wrote about this above. in my example it is ru, Russian language
translate_target_language=ru
On the line below we indicate the language into which your messages will be translated when you press alt+t. to use this, just press alt+t, write a message in your language and press enter. I wrote about the translator above. in my example it is tr, Turkish language
translate_chat_write=tr
Below you can turn off or turn on the notification when the user appears offline in the program. on is on, off is off
chat_online=off. в моем примере звуковые уведомления выключены
Below we indicate whether to automatically open the game again if for some reason it is closed. 0 disabled, 1 enabled
enable_restart=0
the minimum amount of health below which a character will drink a red bottle or use a healing skill
min_hp=25000
the minimum amount of mana below which a character will drink a blue bottle
min_mp=40000
how often to check a character’s health (press the letter r), in my example, check health every 30 seconds
regen_timeout=30
we indicate how often the health bottle can be used, information can be found by pressing the letter g, it is not necessary to indicate, especially if your character uses the healing skill
reload_bank_hp=1
indicate how often you can use the blue bottle, information can be found by pressing the letter g, it is not necessary to indicate correctly
reload_bank_mp=1
close the game if there are fewer red bottles. in my example, 1 bottle is indicated. that is, if the character runs out of red bottles, the game will close. if you write a negative value, the game will not close
min_banks_hp=1
close the game if there are fewer blue bottles. in my example, 1 bottle is indicated. that is, if the character runs out of blue bottles, the game will close. if you write a negative value, the game will not close
min_banks_mp=1
Below we indicate whether to ignore tied, locked bottles (for example, bottles received at a supply camp or during a game event) 1 ignore, 0 - do not play
ignore_personal_banks=1
Below we indicate the key for healing the character (red bottle or healing skill)
key_user_regen_hp=1
Below we indicate the key to replenish the character’s mana (blue bottle)
key_user_regen_mp=2
Below we indicate the key for the red bottle of the pet, in my example it is the number 3
key_pet_regen_hp=3
Below we indicate the key for the blue pet bottle, in my example it is the number 4
key_pet_regen_mp=4
Below we indicate the key for the rice ball (pet food), in my example it is the number 5
key_pet_regen_food=5
Below we indicate the level of satiety below which the pet will eat a rice ball
pet_min_food=70
Below we indicate how often you need to check the satiety of your pet. must be specified in seconds. 300 is 5 minutes
pet_food_timeout=300
Below we indicate the amount of health of the pet, below which the pet will drink a red bottle
pet_min_hp=75000
Below we indicate the amount of manna for a pet, below which the pet will drink a blue bottle
pet_min_mp=75000
Below we indicate how often you can use the red bottle for your pet, information can be found by pressing the letter g, it is not necessary to indicate)
pet_reload_bank_hp=1
Below we indicate how often you can use the blue bottle for your pet, information can be found by pressing the letter g, it is not necessary to indicate)
pet_reload_bank_mp=1
Below we indicate how often you need to check the health of your pet (you need to indicate in seconds)
pet_regen_timeout=10
Below we indicate the keys for the skills that the character should use in battle. Skills must be separated by a vertical line. There is no need to put a vertical line at the end. look at the example, and then change it to avoid breaking the script
keys_attack=h|j|n|m
Below we indicate whether to summon a pet. 0 do not summon, 1 - summon pet
enable_pet=0
Below are the names of pets, from strong to weak. You need to separate pets with a vertical line, for example wolf|horse|hare
pet_name=黄牛
We indicate below the equipment repair option. (-1 ignore equipment breakdown)
enable_repair=-1
key to repair equipment
key_repair=0
Below we indicate the option for using the driver. 0 drv, 1 - winio. the default is drv. When you first start it you need to install it, I wrote about this above. To use winio, you need to run the checkDriver.cmd file and restart your computer. the program will work with winio on a desktop computer only if a ps/2 keyboard is connected to it. The Drv driver is universal and will work successfully on both a laptop and a desktop computer.
keyboard_type=0
Below is the license key
api_key=test_api_key

9

Re: bot documentation

4.2 example configuration file for my witch
It is recommended to immediately specify the values, and then enable functions you need.
I enable the game to restart if for some reason it is closed
enable_restart
the line below indicates that the program will automatically open the game window
open_game_window
Below I indicate the pets that will be used. You can specify any quantity. pets must be separated by a vertical line
pet_name=野生雄狮|野生猎豹|野生雪狼炸熊猫
I indicate that my health will be checked every 2 seconds
regen_timeout=2
I indicate the speed of pressing skills in seconds, you can write fractions
speed_attack=0.05
the line below indicates that my character will constantly move and kill monsters as he goes. if you specify 0, the character will stop when he finds the target, and will continue moving after killing
attack_type=1
Below are the attack skill keys
keys_attack=h|n|j|m
I indicate the health level below which the character will heal himself
min_hp=155000
Below is the mana level below which the character will drink a blue bottle
min_mp=190000
Below I indicate that the game will not be closed if I run out of red bottles
min_banks_hp=-1
Below I indicate that the game will not be closed if I run out of blue bottles
min_banks_mp=-1
Below I indicate the pet’s health level below which it will drink a red bottle
pet_min_hp=245000
Below I indicate the pet’s health level below which it will drink a blue bottle
pet_min_mp=100000
Below I indicate the satiety level of the pet, below which the pet will eat a rice ball
pet_min_food=45
Below is the key for healing, in my example it is the letter u
key_regen_hp=u
Below is the key for the character's blue bottle
key_regen_mp=3
Below is the key for the red pet bottle
key_pet_regen_hp=7
Below is the key for the blue pet bottle
key_pet_regen_mp=6
Below is the key to use rice ball
key_pet_regen_food=9
Below is a key for repairing equipment (repair box or pliers)
key_repair=0
I turn on a character's health and mana check
enable_regen
turn on the radar, search for monsters
enable_nav_attack
include attack, use of skills
enable_attack
below it is indicated that my witch will repair equipment using a repair box
enable_repair=1
Below I turn on the function of calling a pet
enable_pet
Below I include pet health control
enable_pet_regen
Below I turn on the control of satiety of the pet
enable_pet_food
below I include cleaning the bag from garbage
enable_clearbag

10

Re: bot documentation

5. script management hotkeys
To run the script you are interested in, select it in the list and press Enter. Attention, make sure that the chat window in the game is closed, otherwise you will have to open the game again
to pause the script, press alt+f2
to continue executing the script, unpause, press f2
To finish running the script and close it, press ctrl+f2
Attention! When the script is paused, you will not be able to find a list of scripts in the program window, so close the script first.
Sometimes there is a problem with the key getting stuck, so I recommend not closing the script right away. Pause, open the chat window and make sure that the computer is not writing any letters into the chat. After this, feel free to close the script. if the script writes letters, continue working (f2), and after a few seconds, pause again and check again. The problem should go away.

11

Re: bot documentation

6. description of the program structure and interaction with it
The files folder contains the files you downloaded.
The log folder contains program event logs.
the map folder contains files with your scripts. This folder also contains the map.wall folder, which stores maps with obstacles; this is necessary for the automatic route search by coordinates to work correctly.
I will explain how to create terrain maps.
The name of the card must be written in Chinese. for example I am at the coordinates
巨岩广场;巨岩城;205;198;中央平原
Name of my map: 中央平原
Let's take the gang station as an example.
wall coordinates are written using this template
x1-x2 y1-y2
Each wall is written on a new line.
Below I write the coordinates of the walls of the bandit station
245-249 173
245 173-177
245 184-188
245-249 188
256-260 188
260 184-188
260 173-177
256-260 173
for example take the first wall
245-249 173
this means x1=245-x2=249 y1 and y2 are the same, which means you can simply write 173
If you don't understand, you can use your character to explore this wall on the map and then you will understand the principle of creating area maps.
I have added some maps of the area to the archive, the rest of the maps you must create yourself. Having worked once, you will save yourself from getting stuck in rooms, dead ends, and so on.
You can specify a wall in an empty space, but I don’t recommend doing this. a character may accidentally enter coordinates that are considered a wall and he will not be able to get out of there and the script will get stuck. you can do this at your own peril and risk.
I strongly do not recommend editing maps using Windows Notepad, this will ruin the text encoding and the script will receive an error. To edit maps, use the map editor inside the program or use the notepad++ program. The script encoding must be utf=8

in the bot folder you will find the file clearbag.txt
Write in it a list of garbage that will be automatically thrown out of the bag; I don’t recommend editing it with Windows Notepad. open the file and look at the example.
find the file stopwordwall.txt, you can specify a list of obstacles in it, this is necessary if your character moves randomly. for example, a character hits a wall and he will automatically change direction.
The updater.exe file is responsible for updating the program. If suddenly for some reason you were unable to update when you started the program, run this file

12

Re: bot documentation

7. a few words for advanced users
With the help of triggers you can handle most situations in the game. I'll show you some examples
Below is a trigger, if the character hits the edge of the map, then the script will go to line 26, it says that the character should go to the center of the map. This is protection against the key getting stuck. players often encounter this problem
add_action_speak=bordermap={"text": ["^边缘$"], "command": ["go_to_line", "26"]}
now the trigger body itself is a regular function
"^边缘$"
the ^ sign means that the line will begin with this text and no other
then the word "edge" is written in Chinese
The $ sign means that the line ends with this text.
this way the trigger won't fire if someone sends you the word "edge" in a private message.
below is the trigger if my character is attacked by another character
add_action_speak=escapeattack={"text": ["^来自(\\w+)的攻击;ID\\((\\d+)$"], "command": ["go_to_line", "15"]}
\\d+ means that the line will contain the order of numbers
\\w+ means that the string will have character order
You can find detailed information about the notation on the Internet; I wrote you a small example.
if someone attacks my character, I will use a shield, stop attacking and run to the specified coordinates.
The logic of the script depends only on your imagination.

13

Re: bot documentation

8. a few words about everything I didn’t say
The mortal script is responsible for resurrecting the character. you can explore and edit it
line openmap=ostriv
open the ostriv map, in my example this is a route to the underwater world
The login script is responsible for authorizing the character. you can explore and edit it individually
The names of the scripts can be written in any language.

14

Re: bot documentation

9. game configuration for the script to work correctly
You can explore other game settings yourself. If something doesn't work for you, look at the list of recommended settings.
target distance must be indicated at the end
距离朗读方式距离在后;有菜单
The option below must be checked if you want your character to bypass players and not collide with them
切目标时读出玩家职业;已选中
Below you need to choose whether to announce the amount or percentage of health
切换目标时朗读生命值;有菜单
It should also be noted that it shows negative and beneficial effects at the beginning
查看目标数值时前置朗读增损益信息;已选中

15

Re: bot documentation

10. Example scripts
Some ready-made scripts are provided with the program; I will describe them below.

bag
run this script (Select it and press Enter) to empty the bag of junk.

butterfly
Using a memory butterfly, for example, you can call this card automatically after resurrection.

cave
An example of using a program to automatically complete a mission in a cave for 1 player on the 20th floor. Attention, the map must be edited for successful use.

elfportal
opens the elf character, sets up a portal, opens the character we need and teleports. the map needs to be edited to suit your needs.

findmarket
example of searching for goods on the market. f4 to edit the product you are interested in, ctrl+s to save changes.

fish
An example of using the function to sell fish, ore or herbs. just go to the npc and run the script.

fishing auto
example of automatic fishing, includes selling fish, returning to the lake. Needs to be edited for correct execution.

login
script for authorization in the game

master
example for transferring objects from student to teacher

mastersynthfrag
creating gems from fragments

mortal
script for the resurrection of a character. You must indicate below the map that must be executed after resurrection.

ostriv
script for finding the way from the island to the underwater world

panda.conf
character configuration example

pathdracula
script for finding way to Dracula's castle

potion
an example of obtaining medicine from a supply camp during a gang war.

sea
example of gem mining in the underwater world

sellfrag
An example of using the function to sell gems. edit the list of fragments. If you don’t want to sell something, write a minus - before the name of the fragment.

stones
An example of how the stone creation function works. edit the level of stones that need to be processed.

team
script that accepts players into the team

testdracula
example of gem mining in Dracula's castle

teststones
script for creating gems. You must indicate the name of the stone and the level to be processed.

triger
example of using a trigger. launch the map and hit the wall