当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

热血传奇版本往指定地图加新怪涉及的服务端文件清单与改法

热度:
在热血传奇(HERO/GOM/GEE/LEG/BLUE等主流引擎)里给某张已有地图加一个版本原本没有的怪物,服务端至少要动四个地方,客户端动不动取决于新怪是用引擎自带旧外观还是自己导新素材。下面按“必须改—可选改—客户端”三层列文件,路径以标准MirServer服务端为例,D盘换成你实际盘符即可。

必须改的文件

1.怪物属性库Monster.DB
路径:MirServer\Mud2\DB\Monster.DB
用DBC2000或DBCommander打开Monster表,新增一行。关键字段:Name(怪物名,后面所有文件必须一字不差对照)、Appr(外观编号,决定读客户端哪个MonXX.wil里的第几只,公式Appr=(XX-1)*10+帧偏移)、Race(种族/行为类型,0普通兽类、11人形、60人形魔法怪等)、Level、HP、MP、AC、MAC、DC、MC、Speed、Exp。
Name别带空格和全角符号,后面MonGen和MonItems文件名都靠它关联。

2.刷怪配置MonGen.txt
路径:MirServer\Mir200\Envir\MonGen.txt
按行追加,格式:
地图编号XY怪物名范围数量间隔(分钟)集中X集中Y颜色内功(0/1)
例:3330330330幽冥火龙10530
意思是3号盟重图330330周围10格刷5只,死完30分钟补。地图编号去Envir\MapInfo.txt查,坐标用M2“查看-在线人物”进图双击自己角色看,或游戏里@mapinfo查。怪物名必须和Monster.DB的Name完全一致,错一个字刷不出来。

3.爆率文件MonItems\怪物名.txt
路径:MirServer\Mir200\Envir\MonItems\幽冥火龙.txt
不建这个文件怪物死了啥也不掉。里面按行写:
1/5屠龙
1/101000
1/1金币500
概率格式是“分母物品名数量”,也可用1/1必掉。文件名必须和Monster.DB的Name完全相同,包括大小写。

4.重启或重载
改完Monster.DB和MonGen.txt必须让M2重新读库:M2面板“选项-重新加载-重新加载怪物数据库”或“重新加载刷怪配置”,懒得找按钮直接重启M2Server。不重载新怪不进内存,进图看不到。

可选改的文件(看新怪要不要这些能力)

Envir\userdata\extramon.txt(HERO引擎):写新怪的特殊免疫,格式“怪物名防麻防火禁诱惑防绿毒防红毒”,不写默认不免疫。

Envir\MonSpAbilList.txt(HERO引擎):给新怪加忽视防御、伤反、破复活、防麻痹等扩展属性,一行一个怪。

Envir\MonUseItems\怪物名.txt:只有做人形怪(Race=60或11)才需要,配置怪穿什么装备、用什么技能、职业性别头发,不配就是空手站桩。

Envir\MapQuest.txt或QFunction-0.txt:如果想“进图触发刷一批”“打死新怪触发任务给物品”,在这些触发脚本里写MAPQUEST或@MonDie段,纯静态刷怪不需要动。

客户端要改的文件(仅当用全新外观时)

客户端Data\目录下的MonXX.wil/MonXX.wzl:用WIL编辑器把新怪八方向站立/行走/攻击/死亡帧导进去,记牢XX编号,回Monster.DB把Appr按(XX-1)*10+帧序填回去。
如果新怪是直接复用引擎自带但没启用的旧怪外观(比如拿祖玛教主换皮改名),Appr填对应值即可,客户端一个文件都不用动,只发个补丁说明就行。
客户端Data\SmartMonster.dat(HERO自定义怪物):如果在M2“自定义怪物”里配了攻击动作特效,要把生成的这个dat拷进客户端Data覆盖。

排查顺序

进图没怪→查MonGen地图号对不对、Name和DB是否完全一致、M2有没有重载。
怪是稻草人/透明→Appr算错或客户端MonXX.wil没放对、登录器没读新补丁。
怪刷出来不打人不掉东西→Race填错成不可动类型,或MonItems文件名拼错。
人形怪空手→漏了MonUseItems配置。
改完一切正常但线上玩家没看到→他们客户端没更新补丁,发补丁包或重出登录器。

只往已有图塞一只复用旧外观的新数值怪,最小改动就是Monster.DB加行+MonGen.txt加行+MonItems建个爆率文件+重载M2,三个服务端文件搞定;要用新模型才碰客户端WIL。
[顶部]