传奇C3引擎MONGENEX命令在新NPC刷怪参数格式与实战脚本写法

来源: 作者: 点击:
MONGENEX 是传奇服务端中用于脚本刷怪的扩展命令,比 MONGEN 多支持名字颜色、内功怪物、国家ID等参数。C3引擎若采用通用 M2 脚本体系,基本格式为:

MONGENEX 地图名称 X坐标 Y坐标 怪物名称 范围 数量 名字颜色 内功怪物 国家ID 同国家玩家是否可攻击 不同国家怪物是否可PK

其中地图名称、怪物名称必须与地图文件和怪物数据库一致;范围为以坐标为中心的刷新半径;数量为一次刷出只数;名字颜色取值 0-255;内功怪物一般填 0 或 1;国家相关参数用于国战版本,不需要时通常填 0。

一、NPC直接刷怪

在 NPC 脚本中可以直接调用 MONGENEX。例如盟重安全区刷怪:

[@TestMongenEx]
IF
ACT
MONGENEX 3 330 330 沃玛卫士 5 10 0 0 0 0 0
SENDMSG 7 已在盟重安全区附近刷出10只沃玛卫士。
BREAK

这里 3 代表盟重省地图,330 330 为刷怪中心坐标,5 为刷新范围,10 为数量。如果 C3 引擎要求地图名称使用字符串,则应写成:

MONGENEX "3" 330 330 沃玛卫士 5 10 0 0 0 0 0

具体是否需要加引号,以当前引擎手册为准。

二、带条件限制的刷怪

刷怪前通常需要检测玩家等级、地图、次数或货币,避免被滥用。

[@MongenExByLevel]
IF
CHECKLEVEL >= 35
ISMAP 3
SMALL U10 5
ACT
INC U10 1
MONGENEX 3 330 330 沃玛教主 8 1 249 0 0 0 0
SENDMSG 7 你召唤了1只沃玛教主。
BREAK
ELSESAY
等级不足、不在指定地图或今日次数已用完。

U10 用于记录今日使用次数,每日零点需要通过机器人脚本重置。

三、配合随机怪物列表

部分版本会先用 GetRandomText 读取怪物列表文件,再交给 MONGENEX 使用。该用法多见于支持 MonGenEx 的引擎。

[@RandomMob]
IF
ACT
GETRANDOMTEXT ..QuestDiary怪物列表.txt S10
MONGENEX 3 330 330 <$STR(S10)> 10 5 0 0 0 0 0
SENDMSG 7 已随机召唤怪物。
BREAK

怪物列表.txt 每行写一个怪物名称,例如:

沃玛卫士
祖玛卫士
虹魔教主

如果当前 C3 引擎不支持 GetRandomText,则只能直接写固定怪物名称。

四、活动NPC刷怪示例

活动NPC可以设置开始和结束流程。

[@ActivityStart]
IF
EQUAL G10 0
ACT
MOV G10 1
MONGENEX 3 330 330 赤月恶魔 5 1 249 0 0 0 0
MONGENEX 3 330 330 双头金刚 8 2 0 0 0 0 0
MONGENEX 3 330 330 双头血魔 8 2 0 0 0 0 0
SENDMSG 0 赤月恶魔已降临盟重,勇士们速去讨伐!
BREAK
ELSESAY
活动已经开始,请勿重复开启。

[@ActivityEnd]
IF
EQUAL G10 1
ACT
MONCLEAR 3
MOV G10 0
SENDMSG 0 赤月活动已结束。
BREAK
ELSESAY
当前没有进行中的活动。

MONCLEAR 用于清除指定地图上的脚本刷怪,不同引擎对该命令支持程度不同。

五、刷怪后触发脚本

如果需要在怪物刷出或死亡时执行脚本,部分引擎支持在 MonGen.txt 或刷怪命令中配置触发标签。 但 MONGENEX 本身是否支持直接绑定 QFunction 触发,需要以 C3 引擎说明为准。若不支持,可改用 MonGen.txt 配置刷怪点,并在对应触发标签中处理掉落、公告或任务进度。

六、参数注意事项

地图名称必须存在且已加载,否则刷怪无效。
怪物名称必须与怪物数据库完全一致,多字、少字、空格都会失败。
范围不宜过大,避免怪物刷进障碍物或不可达区域。
数量不宜过多,尤其是BOSS类怪物,容易造成服务器压力。
名字颜色 249 通常为红色,0 为默认颜色。
国家相关参数只在国战版本中有效,普通版本一般填 0。

七、脚本存放与生效

NPC脚本通常放在 Market_Def 目录,Merchant.txt 中配置NPC位置和脚本路径。修改后需要在M2控制台重载NPC或重启服务端。文件编码建议使用ANSI,避免中文乱码。

八、C3引擎适配

C3引擎如果兼容通用 M2 脚本,MONGENEX 的用法基本遵循“地图、坐标、怪物名、范围、数量、颜色、内功、国家参数”的顺序。 但不同引擎对参数数量、地图写法、国家参数支持可能不同。正式使用前应先在测试地图用少量怪物验证命令是否生效,再逐步增加数量和条件判断。