背景文件最后编辑于 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
下载的文件存储在bot文件夹内的files文件夹中

2.2 聊天窗口，您可以在其中提出问题或与程序的其他用户聊天。
输入您的消息并按 Enter 发送
按 alt+t 打开消息翻译器。语言是在config.ini中配置的，这个我稍后再说
按 ctrl+t 启用游戏翻译器（也将翻译传入的聊天消息。这也需要在 config.ini 中配置
按 f4 创建或加入频道
按 f5 检查对程序服务器的 Ping 操作。

2.3.聊天消息历史记录。
例如，在聊天记录的顶部，您将看到密钥的过期时间
last date: 2024-03-03 23:59:59
因此，从 3 月 4 日起，您的密钥将不再有效。提前注意这一点并控制许可证密钥的有效期。

2.4 聊天命令
要检查谁在线，请在聊天中写下 /who 并按 Enter
要找出您感兴趣的用户在游戏中说出的最后一句话，请在聊天中写入 /lastspeak 用户名。请注意，此功能将来可能会被禁用。例如，如果您想使用朋友的角色，但您不知道他在哪里，则需要此功能。

3. 程序本地化
注意，本地化文件主要与 NVDA 相关
在 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
您可以在下面关闭或打开用户在程序中显示离线时的通知。开就是开，关就是关
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 驱动器，1 - winio。默认为驱动器。当你第一次启动它时，你需要安装它，我在上面写过这一点。要使用winio，您需要运行checkDriver.cmd 文件并重新启动计算机。仅当连接了 ps/2 键盘时，该程序才能在台式计算机上与 winio 一起使用
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
下面是蓝色pet瓶的钥匙
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. 程序结构及其交互的描述
文件文件夹包含您下载的文件。
日志文件夹包含程序事件日志。
地图文件夹包含带有脚本的文件。此文件夹还包含 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
使用程序自动为 20 层的 1 名玩家完成洞穴任务的示例。注意，地图必须经过编辑才能成功使用。

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
使用触发器的示例。启动地图并撞墙
