一、核心原理:Race代码与仇恨列表
传奇引擎的怪物攻击目标由数据库Race字段决定。默认代码(如81)会攻击视野内所有对象。要实现“怪物互殴、无视玩家”,需修改怪物属性为只攻击特定阵营(如红名或怪物),或通过脚本清空对玩家的仇恨。
二、方案一:修改怪物数据库(最彻底)
适用于想让特定怪物(如宝宝、活动怪)永久不攻击玩家。
1.定位文件:打开DBC2000或数据库工具,加载Monster.DB。
2.修改Race字段:找到目标怪物,修改Race(攻击模式)字段。不同引擎代码略有差异,常用代码如下:
-只攻击红名/怪物:设为112。此代码通常代表“只主动攻击红名玩家”,对白名玩家和怪物无仇恨。需测试版本兼容性。
-被动模式:设为51或52。怪物被攻击后才还手,且只攻击打它的目标,不会主动攻击路过玩家。
3.生效测试:保存数据库,重启服务端(M2Server),刷新怪物。怪物应无视白名玩家,仅攻击红名或其他怪物。
三、方案二:脚本清空仇恨(动态控制)
适用于特定地图或活动,需临时改变怪物行为。在QFunction-0.txt或地图触发脚本中写入:
;怪物受到攻击或看到玩家时触发
[@OnKillMob]
#ACT
;清除该怪物对当前玩家的仇恨目标
CLEARMISSION<$CURRRTARGETNAME>
;或强制怪物攻击附近的其他怪物/红名
;需配合引擎支持的攻击转移命令
部分引擎支持MOBATTACKMOB类命令,可强制怪物将攻击目标切换为附近其他怪物。
四、方案三:GM隐身与无敌状态(测试用)
单机测试时最快捷的方法,非脚本修改,但效果一致。
1.GM隐身:在游戏中输入@GameMaster开启GM模式,再输入@Observer进入隐身。绝大多数怪物AI无法侦测隐身GM,即使站在怪物堆中也不会被攻击。
2.无敌模式:输入@Superman开启无敌。怪物虽会攻击你,但你不掉血,可观察怪物是否转向攻击其他目标。
五、常见问题与排查
•代码不生效:部分老引擎(如HERO)对112代码支持不佳,需替换为11(主动攻击MOB和红人)并配合地图红名设置。
-怪物发呆:若设为51(被动),怪物被玩家攻击后仍会反击。若想完全“不打人”,必须使用112或脚本清仇恨。
-宝宝处理:道士召唤物(Race=100/113/114)默认攻击主人的目标。若想宝宝只打怪不打人,需修改召唤物数据库的Race,或使用脚本控制攻击对象。
推荐:单机测试建议直接使用GM隐身模式;若制作“怪物攻城”或“怪物互殴”玩法,优先修改数据库Race字段为112或11。
传奇引擎的怪物攻击目标由数据库Race字段决定。默认代码(如81)会攻击视野内所有对象。要实现“怪物互殴、无视玩家”,需修改怪物属性为只攻击特定阵营(如红名或怪物),或通过脚本清空对玩家的仇恨。
二、方案一:修改怪物数据库(最彻底)
适用于想让特定怪物(如宝宝、活动怪)永久不攻击玩家。
1.定位文件:打开DBC2000或数据库工具,加载Monster.DB。
2.修改Race字段:找到目标怪物,修改Race(攻击模式)字段。不同引擎代码略有差异,常用代码如下:
-只攻击红名/怪物:设为112。此代码通常代表“只主动攻击红名玩家”,对白名玩家和怪物无仇恨。需测试版本兼容性。
-被动模式:设为51或52。怪物被攻击后才还手,且只攻击打它的目标,不会主动攻击路过玩家。
3.生效测试:保存数据库,重启服务端(M2Server),刷新怪物。怪物应无视白名玩家,仅攻击红名或其他怪物。
三、方案二:脚本清空仇恨(动态控制)
适用于特定地图或活动,需临时改变怪物行为。在QFunction-0.txt或地图触发脚本中写入:
;怪物受到攻击或看到玩家时触发
[@OnKillMob]
#ACT
;清除该怪物对当前玩家的仇恨目标
CLEARMISSION<$CURRRTARGETNAME>
;或强制怪物攻击附近的其他怪物/红名
;需配合引擎支持的攻击转移命令
部分引擎支持MOBATTACKMOB类命令,可强制怪物将攻击目标切换为附近其他怪物。
四、方案三:GM隐身与无敌状态(测试用)
单机测试时最快捷的方法,非脚本修改,但效果一致。
1.GM隐身:在游戏中输入@GameMaster开启GM模式,再输入@Observer进入隐身。绝大多数怪物AI无法侦测隐身GM,即使站在怪物堆中也不会被攻击。
2.无敌模式:输入@Superman开启无敌。怪物虽会攻击你,但你不掉血,可观察怪物是否转向攻击其他目标。
五、常见问题与排查
•代码不生效:部分老引擎(如HERO)对112代码支持不佳,需替换为11(主动攻击MOB和红人)并配合地图红名设置。
-怪物发呆:若设为51(被动),怪物被玩家攻击后仍会反击。若想完全“不打人”,必须使用112或脚本清仇恨。
-宝宝处理:道士召唤物(Race=100/113/114)默认攻击主人的目标。若想宝宝只打怪不打人,需修改召唤物数据库的Race,或使用脚本控制攻击对象。
推荐:单机测试建议直接使用GM隐身模式;若制作“怪物攻城”或“怪物互殴”玩法,优先修改数据库Race字段为112或11。

