当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇单机自动刷怪NPC脚本制作教程

热度:
一、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只。
[顶部]