在传奇单机架设中添加刷怪 NPC,可实现 “进地图自动刷怪(塔防式)” 或 “点 NPC 无穷补怪” 功能,核心是通过脚本关联 NPC 与刷怪命令,以下是具体制作与配置步骤,适配主流传奇服务端引擎(如 Hero、GOM)。
一、前期准备(必备工具与文件)
服务端脚本编辑器:如 DBC2000(用于编辑 NPC 与地图脚本)、Hero 引擎配套的 “脚本助手”(可视化编辑,新手友好);
服务端地图文件:确认目标地图的 “地图编号”(如蜈蚣洞编号为 3,可在服务端 “MapInfo.txt” 文件中查询);
怪物名称与 ID:在服务端 “Monster.txt” 中查看需刷怪物的名称(如 “红野猪”)及对应 ID(如 1001),避免脚本调用错误;
服务端脚本目录路径:一般为 “Mir200\Envir\QuestDiary”(不同引擎路径可能略有差异,可参考服务端说明文档)。
二、核心脚本制作(两种刷怪模式)
(一)模式 1:进地图自动刷怪(塔防式,打完延迟刷下一波)
1. 第一步:写 “进地图触发脚本”(关联地图与刷怪事件)
打开脚本编辑器,新建脚本文件命名为 “AutoMonster.txt”,保存到 “QuestDiary” 目录,写入以下代码(括号内为需修改内容,新手可直接替换):
#IF
MAPNAME = 地图编号 (如3,对应蜈蚣洞)
#ACT
SENDMSG 6 进入地图,第一波怪物即将刷新!(玩家进入地图时的提示)
WAIT 3000 (延迟3秒,给玩家准备时间,单位:毫秒)
MONSTER 地图编号 怪物名称 刷怪数量 刷怪坐标X 刷怪坐标Y (如MONSTER 3 红野猪 20 300 400,坐标可在游戏内按F11查看当前位置)
SET [AutoMonsterWave] 1 (记录当前波数,方便后续提示)
GOTO @CheckMonsterClear (跳转到判断怪物是否清空的脚本段)
#DEFINE @CheckMonsterClear
#IF
MONCOUNT 地图编号 怪物名称 < 1 (判断当前地图该怪物数量是否小于1,即已清空)
#ACT
SENDMSG 6 第【<$STR(AutoMonsterWave)>】波怪物已清空,5秒后刷新下一波!
WAIT 5000 (延迟5秒刷下一波,可修改为需要的时间)
INC [AutoMonsterWave] 1 (波数+1)
MONSTER 地图编号 怪物名称 刷怪数量 刷怪坐标X 刷怪坐标Y (下一波刷怪,数量可递增,如25个)
GOTO @CheckMonsterClear (继续循环判断怪物是否清空)
#ELSE
WAIT 2000 (每2秒检查一次怪物数量)
GOTO @CheckMonsterClear
2. 第二步:关联地图触发
打开服务端 “Envir\MapInfo.txt”,找到目标地图的配置行(如 “3 蜈蚣洞 0 0 0”),在末尾添加 “;AutoMonster.txt”,表示进入该地图时触发上述脚本,示例:
3 蜈蚣洞 0 0 0;AutoMonster.txt
(二)模式 2:点 NPC 无穷无尽刷怪(保持固定数量,打多少补多少)
1. 第一步:创建刷怪 NPC(设置 NPC 位置与对话)
打开 DBC2000,进入 “Npc” 表,添加新 NPC 记录,关键信息填写如下(其他默认):
NpcName:刷怪使者(NPC 名称,玩家可见)
MapNo:目标地图编号(如 3)
X:NPC 所在 X 坐标(如 280)
Y:NPC 所在 Y 坐标(如 380)
Script:@MonsterNpc(NPC 对话触发的脚本命令)
2. 第二步:写 NPC 刷怪脚本
新建脚本文件命名为 “MonsterNpc.txt”,保存到 “QuestDiary” 目录,写入以下代码(目标数量设为 50,可按需修改):
#IF
TRUE (无条件触发)
#ACT
SENDMSG 6 已开启无穷刷怪模式,当前地图将保持50只【怪物名称】!
GOTO @KeepMonsterCount (跳转到保持怪物数量的脚本段)
#DEFINE @KeepMonsterCount
#IF
MONCOUNT 地图编号 怪物名称 < 50 (判断当前数量是否小于50)
#ACT
CALC N [NeedAdd] = 50 - <$MONCOUNT(地图编号,怪物名称)> (计算需补充的怪物数量)
SENDMSG 6 当前剩余【<$MONCOUNT(地图编号,怪物名称)>】只怪,将补充【<$STR(NeedAdd)>】只!
MONSTER 地图编号 怪物名称 <$STR(NeedAdd)> 刷怪坐标X 刷怪坐标Y (补充对应数量的怪物)
#ELSE
SENDMSG 6 当前怪物数量已达50只,无需补充!(可选,不想要提示可删除此句)
#ENDIF
WAIT 3000 (每3秒检查一次怪物数量,可修改间隔)
GOTO @KeepMonsterCount (循环执行,保持数量)
3. 第三步:设置 NPC 对话触发
在 “MonsterNpc.txt” 开头添加 NPC 对话脚本,让玩家点击 NPC 时触发刷怪功能:
[@MonsterNpc]
#SAY
欢迎使用无穷刷怪功能!\
点击【开启刷怪】后,当前地图将保持50只【怪物名称】\
<开启刷怪/@KeepMonsterCount>
三、脚本配置与测试(关键步骤,避免出错)
脚本保存与编码:所有脚本文件需用 “ANSI” 编码保存(用记事本打开,选择 “另存为”,编码选 ANSI),避免中文乱码导致脚本失效;
重启服务端:修改脚本后,需关闭当前服务端窗口,重新启动 “LoginSrv.exe” 与 “GameSrv.exe”,让脚本生效;
单机测试:登录游戏后,进入目标地图:
测试模式 1:观察进入地图是否自动刷怪,怪物清空后是否延迟刷下一波;
测试模式 2:找到 “刷怪使者” NPC,点击 “开启刷怪”,击杀怪物后观察是否自动补充数量。
四、常见问题排查
怪物不刷出:检查脚本中 “地图编号”“怪物名称” 是否与服务端 “MapInfo.txt”“Monster.txt” 一致,坐标是否在地图内(避免设到墙外);
脚本无响应:确认脚本文件保存路径正确(是否在 “QuestDiary” 目录),编码是否为 ANSI,服务端是否已重启;
延迟时间不生效:部分引擎不支持 “WAIT” 命令,可替换为 “DELAY”(如 DELAY 5000),具体参考服务端引擎的脚本命令手册;
NPC 不显示:检查 DBC2000 中 NPC 的 “MapNo”“X”“Y” 是否正确,是否有其他 NPC 占用同一位置。
传奇单机架设 刷怪 NPC 脚本制作与配置教程(含自动刷怪 / 点 NPC 刷怪)
来源:
作者:
点击:

