一、NPC基础触发脚本编写
创建自动刷怪NPC需要编写对应的脚本。在服务端MirServer\Mir200\Envir\Market_Def目录下创建文本文件,例如塔防刷怪-3.txt(文件名对应盟重省安全区NPC)。
脚本基础结构
[@main]
你好,勇士!欢迎来到无尽试炼。\\
<进入无尽刷怪地图/@进入>每次刷新50只怪物,\
杀完自动补充,永不停歇!\
<离开地图/@退出>\
此段定义了NPC对话界面,包含进入和退出选项。
传送进图与刷怪触发
在脚本中继续添加:
[@进入]
#IF
#ACT
MAPMOVETAFA1
TIMERESCALL0
SENDMSG6您已进入无尽刷怪地图,首波怪物将在5秒后降临!
DELAYGOTO5000@第一波刷怪
BREAK
[@第一波刷怪]
#IF
#ACT
PARAM1TAFA1
PARAM220
PARAM320
MONGENEX魔龙力士50
SENDMSG6第一波50只魔龙力士已刷新!
TIMERESCALL0
DELAYGOTO10000@监控刷怪
BREAK
这段代码实现传送玩家到TAFA1地图,并在5秒后在该地图坐标(2020)附近刷出50只魔龙力士。刷完后,10秒后跳转到监控逻辑。
二、自动补充怪物逻辑实现
核心是监控地图怪物数量,不足时自动补充。在上文[@监控刷怪]段后添加:
[@监控刷怪]
#IF
CHECKMAPMONCOUNTTAFA1<50
#ACT
PARAM1TAFA1
PARAM220
PARAM320
MONGENEX魔龙力士1
GOTO@监控刷怪
BREAK
#ELSEACT
DELAYGOTO10000@监控刷怪
BREAK
此段逻辑会持续检查TAFA1地图怪物数量,当少于50只时,自动刷出1只,直到满足50只。若已满50只,则10秒后再次检查,形成循环。
多波次与计时刷怪
若需实现分波次、计时刷怪,可修改逻辑:
[@计时刷怪]
#IF
LARGEN$波次0
#ACT
PARAM1TAFA1
PARAM220
PARAM320
MONGENEX魔龙力士50
SENDMSG6第$STR(N$波次)波怪物已刷新!
INCN$波次1
DELAYGOTO30000@计时刷怪
BREAK
此脚本用变量N$波次记录波次,每30秒自动刷出50只怪,并提示波数。
三、地图参数与怪物配置
脚本编写后,需配置地图和怪物参数。
1.MapInfo.txt配置
在MirServer\Mir200\Envir\MapInfo.txt中添加或修改:
[TAFA1无尽试炼]NORECALLNODEARRECALLNOMasterRECALLNORANDOMMOVE
参数说明:禁止记忆传送、禁止传送戒指、禁止师徒传送、禁止随机移动,确保玩家在固定区域战斗。
2.刷怪点范围控制
使用MONGENEX命令时,PARAM2和PARAM3是中心坐标,怪物会刷在以该点为中心的一定范围内。若需精确控制范围,可在脚本中配合循环与随机函数:
#ACT
MOVN$计数0
WHILEN$计数<10
RANDOM15
MOVP0=
计算坐标...
MONGENEX白野猪1
INCN$计数1
ENDWHILE
此例在指定坐标附近随机刷出10只白野猪。
四、进阶功能:变量控制与玩法扩展
1.波次记录与奖励
在脚本中增加变量记录波次,到达特定波数给予奖励:
#IF
EQUALN$波次10
#ACT
GIVE屠龙1
SENDMSG6恭喜你通过第10波,获得屠龙一把!
2.怪物数量动态调整
根据波次动态调整每波怪物数量:
#ACT
MULN$怪物数量N$波次10
MONGENEX祖玛卫士$STR(N$怪物数量)
此例每波怪物数量=波次×10,难度递增。
3.退出地图清理怪物
在退出选项脚本中增加清理怪物命令:
[@退出]
#ACT
CLEARMAPMONTAFA1
MAPMOVE3330330
SENDMSG6已清除所有怪物并返回安全区。
BREAK
CLEARMAPMON命令可清空指定地图所有怪物。
五、脚本部署与调试
1.脚本放置:将完整脚本保存为塔防刷怪-3.txt并放入Market_Def目录。
2.NPC添加:在Merchant.txt文件末尾添加一行:
塔防使者3330320塔防刷怪030
(3为盟重省地图编号,330320为NPC坐标)
3.怪物刷新调试:
◦进入游戏点击NPC测试传送功能
◦观察怪物刷新是否正常
◦击杀部分怪物,检查自动补充功能
◦通过M2控制台查看脚本执行日志
常见问题处理
•怪物不刷新:检查地图编号、坐标是否有效,怪物名称是否与Monster.DB一致。
•不自动补充:确认监控循环是否跳转成功,检查CHECKMAPMONCOUNT命令后的地图参数。
•刷怪卡顿:单次刷怪数量不宜过多,建议单次生成不超过100只。
创建自动刷怪NPC需要编写对应的脚本。在服务端MirServer\Mir200\Envir\Market_Def目录下创建文本文件,例如塔防刷怪-3.txt(文件名对应盟重省安全区NPC)。
脚本基础结构
[@main]
你好,勇士!欢迎来到无尽试炼。\\
<进入无尽刷怪地图/@进入>每次刷新50只怪物,\
杀完自动补充,永不停歇!\
<离开地图/@退出>\
此段定义了NPC对话界面,包含进入和退出选项。
传送进图与刷怪触发
在脚本中继续添加:
[@进入]
#IF
#ACT
MAPMOVETAFA1
TIMERESCALL0
SENDMSG6您已进入无尽刷怪地图,首波怪物将在5秒后降临!
DELAYGOTO5000@第一波刷怪
BREAK
[@第一波刷怪]
#IF
#ACT
PARAM1TAFA1
PARAM220
PARAM320
MONGENEX魔龙力士50
SENDMSG6第一波50只魔龙力士已刷新!
TIMERESCALL0
DELAYGOTO10000@监控刷怪
BREAK
这段代码实现传送玩家到TAFA1地图,并在5秒后在该地图坐标(2020)附近刷出50只魔龙力士。刷完后,10秒后跳转到监控逻辑。
二、自动补充怪物逻辑实现
核心是监控地图怪物数量,不足时自动补充。在上文[@监控刷怪]段后添加:
[@监控刷怪]
#IF
CHECKMAPMONCOUNTTAFA1<50
#ACT
PARAM1TAFA1
PARAM220
PARAM320
MONGENEX魔龙力士1
GOTO@监控刷怪
BREAK
#ELSEACT
DELAYGOTO10000@监控刷怪
BREAK
此段逻辑会持续检查TAFA1地图怪物数量,当少于50只时,自动刷出1只,直到满足50只。若已满50只,则10秒后再次检查,形成循环。
多波次与计时刷怪
若需实现分波次、计时刷怪,可修改逻辑:
[@计时刷怪]
#IF
LARGEN$波次0
#ACT
PARAM1TAFA1
PARAM220
PARAM320
MONGENEX魔龙力士50
SENDMSG6第$STR(N$波次)波怪物已刷新!
INCN$波次1
DELAYGOTO30000@计时刷怪
BREAK
此脚本用变量N$波次记录波次,每30秒自动刷出50只怪,并提示波数。
三、地图参数与怪物配置
脚本编写后,需配置地图和怪物参数。
1.MapInfo.txt配置
在MirServer\Mir200\Envir\MapInfo.txt中添加或修改:
[TAFA1无尽试炼]NORECALLNODEARRECALLNOMasterRECALLNORANDOMMOVE
参数说明:禁止记忆传送、禁止传送戒指、禁止师徒传送、禁止随机移动,确保玩家在固定区域战斗。
2.刷怪点范围控制
使用MONGENEX命令时,PARAM2和PARAM3是中心坐标,怪物会刷在以该点为中心的一定范围内。若需精确控制范围,可在脚本中配合循环与随机函数:
#ACT
MOVN$计数0
WHILEN$计数<10
RANDOM15
MOVP0=
计算坐标...
MONGENEX白野猪1
INCN$计数1
ENDWHILE
此例在指定坐标附近随机刷出10只白野猪。
四、进阶功能:变量控制与玩法扩展
1.波次记录与奖励
在脚本中增加变量记录波次,到达特定波数给予奖励:
#IF
EQUALN$波次10
#ACT
GIVE屠龙1
SENDMSG6恭喜你通过第10波,获得屠龙一把!
2.怪物数量动态调整
根据波次动态调整每波怪物数量:
#ACT
MULN$怪物数量N$波次10
MONGENEX祖玛卫士$STR(N$怪物数量)
此例每波怪物数量=波次×10,难度递增。
3.退出地图清理怪物
在退出选项脚本中增加清理怪物命令:
[@退出]
#ACT
CLEARMAPMONTAFA1
MAPMOVE3330330
SENDMSG6已清除所有怪物并返回安全区。
BREAK
CLEARMAPMON命令可清空指定地图所有怪物。
五、脚本部署与调试
1.脚本放置:将完整脚本保存为塔防刷怪-3.txt并放入Market_Def目录。
2.NPC添加:在Merchant.txt文件末尾添加一行:
塔防使者3330320塔防刷怪030
(3为盟重省地图编号,330320为NPC坐标)
3.怪物刷新调试:
◦进入游戏点击NPC测试传送功能
◦观察怪物刷新是否正常
◦击杀部分怪物,检查自动补充功能
◦通过M2控制台查看脚本执行日志
常见问题处理
•怪物不刷新:检查地图编号、坐标是否有效,怪物名称是否与Monster.DB一致。
•不自动补充:确认监控循环是否跳转成功,检查CHECKMAPMONCOUNT命令后的地图参数。
•刷怪卡顿:单次刷怪数量不宜过多,建议单次生成不超过100只。

