一、通用说明
以下以LEG/GOM类引擎为例,MonGen 命令格式为:
MonGen 地图名 X Y 怪物名称 数量 等级
部分引擎支持 MONGENEX 地图名 X Y 怪物名 范围 数量 … 自行替换即可。
地图名填 MapInfo.txt 里对应的地图标识(如 D717、TAFA1),坐标取你地图上合适的刷怪点。
怪物名称必须与 Monsters.DB 完全一致,含空格都会失效。
脚本改完需重启 GameGate 和 DBserver 或整个 M2 使其加载。
二、模式一:进地图自动刷第一波,杀完等N秒刷下一波(塔防式)
实现思路是用 QManage.txt 的 [@IntoMap] 或玩家传送时触发首波,机器人或定时器检测地图怪物归零后延时刷下一波。
① 传送NPC(Market_Def目录下新建 试炼传送.txt)
[@main]
欢迎来到试炼之地\\
<进入试炼/@gomap>
[@gomap]
#IF
#ACT
MAPMOVE TAFA1 30 30 ;传送到刷怪地图TAFA1坐标30 30
SENDMSG 6 第一波怪物将在5秒后刷新!
DELAYGOTO 5000 @Wave1
BREAK
② 第一波及后续波次(可在同一NPC脚本或QuestDiary自建文件,推荐放QuestDiary\试炼\试炼刷怪.txt)
;============ 第一波 ============
[@Wave1]
#IF
#ACT
PARAM1 TAFA1
PARAM2 50
PARAM3 50
MonGen 白野猪 50 0
SENDMSG 0 第1波怪物已出现!击杀后10秒刷新下一波!
SETONTimer 1 1000 ;开启定时器1每秒检测
BREAK
;============ 定时器检测本波怪是否死光 ============
;QManage.txt 或本文件顶部需声明 [@OnTimer1]
[@OnTimer1]
#IF CHECKMAPMONCOUNT TAFA1 = 0 ;地图内怪物数为0
#ACT
SETOFFTIMER 1 ;先关定时器
DELAYGOTO 10000 @Wave2 ;等10秒刷第二波
BREAK
#ELSEACT
BREAK
;============ 第二波示例 ============
[@Wave2]
#IF
#ACT
MonGen TAFA1 50 50 祖玛卫士 50 0
SENDMSG 0 第2波怪物已出现!
SETONTimer 1 1000
BREAK
如需更多波次复制 [@Wave2] 改为 [@Wave3] 以此类推,怪物种类和数量自行改。
CHECKMAPMONCOUNT 是 GOM/LEG 常用判断,老引擎若不支持可用 CheckMonMap 配合变量代替。
三、模式二:点NPC启动无穷刷怪,打掉缺多少补多少(维持满50只)
思路是点NPC开一个玩家定时器,每秒/数秒检测地图内该怪物数量,小于设定值时一次性补到满。
NPC脚本(Market_Def\无限刷怪使者-0.txt 对应使者NPC绑定此文件)
[@main]
无尽刷怪使者:点启动将保持场上50只半兽人,打多少补多少\\
<启动刷怪/@StartFix>\\
<停止刷怪/@StopFix>
[@StartFix]
#IF
#ACT
VAR N$MaxMon = 50
VAR N$NowCount = 0
SETONTIMER 2 2000 ;每2秒检测一次,可改3000等减少负载
SENDMSG 6 无限刷怪已开启,保持50只半兽人!
BREAK
[@StopFix]
#IF
#ACT
SETOFFTIMER 2
SENDMSG 6 已关闭无限刷怪!
BREAK
;============ 定时器2检测并补怪 ============
[@OnTimer2]
#IF
#ACT
VAR N$NowCount = MAPMONCOUNT TAFA1 ;获取地图TAFA1当前怪物总数(同名怪建议单独地图)
#IF N$NowCount < 50
#ACT
VAR N$Need = 50 - N$NowCount
;循环补怪或直接用MonGen刷一批,推荐直接刷N$Need只
;部分引擎不支持变量数量则写固定值如 MonGen TAFA1 50 50 半兽人 20 0 多刷几次
MonGen TAFA1 50 50 半兽人 <$STR(N$Need)> 0
BREAK
#ELSEACT
BREAK
若你的引擎 MonGen 不支持变量数量,把检测补怪那段改成:
#IF MAPMONCOUNT TAFA1 < 50
#ACT
MonGen TAFA1 50 50 半兽人 10 0
让它每次补10只,反复检测几次自然凑满50,效果一样。
四、常见排错
• 怪物不刷:查地图名/坐标/怪物名是否正确,MonGen.txt 原文件刷怪格式别和脚本命令混淆。
• 定时器不触发:确认 QManage.txt 或本脚本段里有对应 [@OnTimerX],且 SETONTIMER 数字一致。
- 补怪越刷越多:确保检测条件是"< 设定值"而不是"<= ",且不要在点NPC时重复 SETONTIMER 而不先检查是否已开启。
• 离开地图想停刷:在 [@OnTimer2] 加 #IF ISONMAP TAFA1 条件,不在则 SETOFFTIMER 2。
传奇架设单机刷怪NPC脚本 进地图自动波次刷怪与点NPC无限补满刷怪写法教学
来源:
作者:
点击:

