传奇服务端中狐狸、乌龟、镖车、神兽这几类怪物的代码集中在Monster.DB数据库的Appr外观字段中,不同引擎版本和客户端WIL文件对同一类怪物的外观编号存在差异。以下从代码对照表入手,拆解数据库字段配置方法和脚本调用要点。
## 狐狸系列怪物代码
狐狸系怪物是盛大后期版本中狐月山地图的主力怪物,数据库中的Race字段统一为99,RaceImg为85,外观代码从320开始递增。狐狸战士、狐狸法师、狐狸道士分别占用320、321、322三个外观编号,后续编号323至329对应狐月山地图中的其他狐狸类怪物。部分BLUE和LEGEND引擎版本的狐狸洞怪物DB采用了不同的命名体系,以黑狐、赤狐、素狐区分,Race字段使用162至164,RaceImg为113,外观代码同为320起步。这种差异源于引擎对狐月山原始素材的二次映射,狐狸战士的外观实际上复用了黑狐的模型资源。
狐狸类怪物的Appr代码需要与所在WIL文件匹配。WIL文件存放于客户端Data目录下,常见的狐狸素材分布在Mon33.wil、Mon34.wil等文件中。如果Appr代码写入了数据库但客户端缺少对应的WIL文件,怪物上线后会显示为默认的卫士模型或完全不可见。
## 乌龟与镖车怪物代码
乌龟在数据库中的代码为Race=99、RaceImg=85、Appr=280,与酒鬼共享Mon29.wil文件。乌龟的Race值99属于不主动攻击型的行为模式,进入范围后不会主动追击玩家,适合作为场景装饰类怪物或任务NPC使用。
镖车类怪物包含三个外观编号:镖车1为290,镖车2为291,镖车3为292,三者共享Mon30.wil文件,Race统一为31,RaceImg为19。Race=31在多数引擎中对应镖车类行为,怪物不会主动攻击,被攻击时也不会反击,是押镖系统中镖车的标准配置。部分给力引擎的押镖系统将镖车RACE设为128,RaceImg为19,Appr仍为290至292。996引擎的配置类似,普通镖车Appr=290,高级镖车Appr=291,超级镖车Appr=293。镖车怪物死亡后通常触发[@KillDartCarMob]标签,用于判定押镖任务是否完成。
## 神兽系列怪物代码
神兽系怪物分为变异神兽、强化神兽和终级神兽三档。变异神兽的Race=113、RaceImg=54、Appr=270,变异神兽1的Race=114、RaceImg=55、Appr=271。强化神兽Race=113、RaceImg=54、Appr=272,强化神兽1的Race=114、RaceImg=55、Appr=273。终级神兽Race=113、RaceImg=54、Appr=274,终级神兽1的Race=114、RaceImg=55、Appr=275。
Race=113和Race=114在数据库中的含义是“召唤的神兽-小”和“召唤的神兽-大”。这两个Race值原本用于道士召唤技能的宠物怪物,将神兽系列怪物的Race设为此值后,怪物会继承召唤类怪物的AI行为——靠近主人或目标后执行特定动作。RaceImg=54对应神兽的喷火攻击效果,RaceImg=55对应神兽的另一种攻击表现。如果将Race=113与RaceImg=55错误组合,神兽的攻击表现会出现异常,攻击时没有喷火效果或动作不流畅。神兽系列的外观代码270至275中,270和272、274共享同一套基础模型,271、273、275是与之对应的变体外观,通常带有颜色或细节上的差异。
## Monster.DB关键字段配置
狐狸、乌龟、镖车、神兽的代码写入Monster.DB时,除了Appr字段,还需要正确设置Race和RaceImg。Race字段决定怪物的行为模式:81为普通攻击型,进入范围后自动攻击;99为不主动攻击型,被攻击后逃跑或站桩;31为镖车类行为;113和114为召唤神兽行为模式。RaceImg字段决定攻击时的视觉效果,必须与Race匹配。例如乌龟的Race=99配合RaceImg=85,攻击表现正常;如果RaceImg写成19,攻击动作会显示为镖车的图标,视觉上不协调。
Monster.DB中的Lvl字段控制怪物等级,Undead字段控制是否属于不死系。狐狸系和神兽系建议Undead设为0,镖车和乌龟的Undead也保持为0,避免被道士的召唤技能误判。CoolEye字段控制怪物的反隐形感知范围,镖车类怪物如果需要作为押镖目标而不被玩家轻易发现,可以适当降低CoolEye的值。
## MonGen脚本中的怪物名称调用
在MonGen.txt或脚本的MonGen命令中调用这些怪物时,使用的是怪物名称而非Appr代码。名称必须与Monster.DB中Name字段完全一致。狐狸战士在MonGen中写作“狐狸战士”,镖车写作“镖车1”或“镖车2”,神兽写作“变异神兽”或“强化神兽”。
MonGen.txt的格式为“地图编号 X坐标 Y坐标 怪物名称 范围 数量 刷新间隔”。刷狐狸战士到狐月山地图的配置示例如下:
```
狐月山 100 100 狐狸战士 30 20 10
```
刷镖车用于押镖任务时,需要配合AutoFindRout.txt定义镖车的行进路线。镖车怪物被MonGen刷出后,会按照AutoFindRout.txt中对应地图的坐标序列自动移动。如果AutoFindRout.txt中缺少镖车对应地图的路线配置,镖车刷出后会在原地不动,押镖任务无法完成。
脚本中使用MonGen命令动态刷怪时,怪物名称同样使用数据库中的Name字段。例如在押镖任务NPC的接镖脚本中,使用“MonGen 镖车1 1”在指定地图刷出一辆镖车,然后通过CHECKSLAVENAME检测镖车是否存活来判定押镖状态。
## 引擎版本差异与适配
BLUE和LEGEND引擎的狐狸洞怪物DB采用了黑狐、赤狐、素狐的命名,Race为162至164,RaceImg为113,Appr为320起步。GOM和GEE引擎的狐月山怪物使用狐狸战士、狐狸法师、狐狸道士,Race为99,RaceImg为85,Appr为320至322。这两种配置在同一个服务端中不能混用,因为Race=162的行为模式(主动攻击加瞬移)与Race=99(不主动攻击)完全不同。
996引擎的押镖系统使用Race=128,RaceImg=19,Appr=290至293。Race=128是996引擎特有的镖车行为代码,在GOM引擎中无效。将996的镖车DB直接迁移到GOM服务端时,必须将Race改为31,否则镖车不会按预设路线移动。
神兽系列在GXX系引擎中的Race=113配合RaceImg=54,部分旧版HeroM2引擎需要将RaceImg改为55才能正常显示喷火效果。这个差异源于引擎对WIL文件帧序列的解析方式不同,更换引擎时神兽的RaceImg需要重新测试。
## 部署验证要点
将代码写入Monster.DB后,在M2控制台中执行“重新加载怪物数据库”。用一个GM账号在目标地图使用@Mob命令刷出对应怪物,检查怪物的外观是否与Appr代码匹配、攻击动作是否与RaceImg匹配、怪物是否按Race设定的行为模式活动。如果狐狸显示为卫士模型,检查Appr代码是否与客户端WIL文件版本对应。如果镖车刷出后不动,检查Race是否设为31(或引擎对应的镖车代码),以及AutoFindRout.txt中是否有对应地图的路线配置。如果神兽攻击时没有喷火效果,尝试将RaceImg从54改为55,或反向操作,观察哪种组合在目标引擎中表现正常。
盛大传奇狐狸乌龟镖车神兽怪物代码与数据库配置详解
来源:
作者:
点击:

