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

传奇刷怪文件数据参数说明完整版MonGen.txt各列含义刷新范围数量间隔与怪物属性爆率关

热度:
一、刷怪文件在哪里,具体管什么

刷怪文件就是管怪物在地图上什么位置、一次出几只、隔多久补一次的配置。主流服务端里它放在Mir200\Envir目录下,文件名叫MonGen.txt,个别端写成Mongen.txt,大小写不影响读取。少数老版本会把它拆成一堆按地图分的小文件放在同一目录,思路一样。不知道在哪儿,直接在电脑里搜文件名定位。

这个文件只管刷怪的位置、范围和数量,不怪物属性。怪有多少血、多少攻、多少经验、掉什么装备,归另外两处管。不少人改半天刷怪文件,发现怪还是脆得像纸或者打死不掉东西,就是找错了地方。改数量、改刷新时间动这个文件;改强度、改掉落,去数据库和爆率目录。

二、MonGen.txt的标准七列

标准写法是一行一个刷怪点,列与列之间用空格或制表符隔开,常见有七列。

第一列是地图。填地图编号或者地图名称,多数端用编号,比如0是比奇省,3是边境村一类,D717是猪七。编号到哪儿查,打开同目录的MapInfo.txt,里面每张地图都标着名称和编号。填错编号这行直接不生效,还不报错。

第二列和第三列是出生点的横纵坐标。地图左上角是原点,往右横轴变大,往下纵轴变大。坐标写到地图范围外,这行作废。

第四列是怪物名称。必须和数据库怪物表里的名字一模一样,包括括号、后缀和数字。半兽勇士和半兽勇士(大)在系统里是两个完全不同的怪。名字对不上,这一行等于空转。

第五列是范围,也就是怪物出生后能在这个半径里散开的格数。填0是一堆怪叠在同一个点上,填十几到二十散得比较开。范围别贪大,散到墙里或者地图边缘外会出各种怪事。

第六列是数量,指这个点一次出几只。注意所有点加起来别超过引擎允许的活动怪物总量,超出的部分刷不出来,玩家看到的怪永远比设置的少。

第七列是刷新时间,单位多为分钟。填5是五分钟补一次,填60是一小时一次。有的引擎这列解释成怪物被打光后等待多久再补,有的解释成固定周期自动检查补齐,以版本自带说明为准。

三、列序在不同引擎里会变

这是最容易踩的坑。同样是七列,GOM、GEE这类排成地图、坐标X、坐标Y、怪物名、范围、数量、时间;BLUE这类却排成地图、坐标X、坐标Y、怪物名、时间、数量、范围,第五第六第七列的顺序不一样。不看清引擎就按记忆填,会出现把范围当数量、把时间当范围的错位,怪刷得乱七八糟。拿到版本先翻自带的配置说明,或者找一行确定能跑的怪对照着推。

四、后面的扩展列

七列之后往往还挂几列,不同引擎加得不一样,常见的有这些。集中刷新几率,填0到100,控制这批怪是散开刷还是往一个点堆。刷新模式,填0或1,区分随机散布和定点。集中点坐标,配合集中刷新用,指定往哪个坐标聚。名字颜色,填0到255,比如249、254,用来给BOSS的怪名染上醒目的颜色。刷出时触发的脚本段,怪一刷出来就去跑某个脚本,用来做全服公告,比如世界BOSS出世喊全服。内功怪物标记,填0或1。国家名字和同国家玩家能否攻击,配合国战设定用,填0时同国玩家打不了这只怪。

还有个细节,GOM这类支持数量列写变量,比如把数量写成<$STR(G111)>,就能用一个全局变量动态控制刷出来的只数。这几列有没有、怎么写,完全看版本,别照搬别家的配置。

五、怪物属性在数据库里

怪物属性存在数据库的怪物表,老引擎是DBC2000管的Monster.DB,用对应的图形工具打开就能看。字段大致这么几类。

名字,和刷怪文件里的名称一一对应。等级,影响基础强度和一部分判定。血量,决定耐打程度,有的填固定值,有的填随机值,随机值能让同种怪有厚有薄。攻击,分上限和下限两列,留出区间让伤害有波动。防御和魔御,分别对应物理抗性和魔法抗性。经验,击杀给多少。

速度类字段最容易看错。有一列名字带speed,但含义是敏捷,管怪物躲物理攻击的概率,跟移动快慢没关系;还有一列是准确,管攻击命中。真正的移动速度以毫秒计,数值越小走得越快,一次移动的步数和每步等待各占一列,乱调会把怪弄成贴地飞。攻击速度以毫秒计,管两次出手的间隔。

行为字段里,一个管行动模式,比如51是被动挨打不还手、81是进入范围就主动近身攻击、87是远程、107是全屏攻击加麻痹加中毒、115是不移动只放地刺;另一个管攻击特效,要和行动模式配套,配错轻则动作怪,重则客户端崩。外观和死亡字段管它长什么样、用什么动作逻辑。改这些之前先把库备份,属性改乱排查起来比刷怪文件费劲得多。

六、爆率文件怎么写

掉落在Mir200\Envir下的爆率目录里,多数端叫MonItems,一个怪物一个文本,文件名通常就是怪物名。打开是这样的写法,前面是概率,后面是物品名,再往后可带数量。

概率写成几分之一。1/1是必掉,1/2是一半机会,1/20是二十次掉一次,数字越大越难掉。要特别说清楚它的判定方式,这个概率是挂在打怪这件事上的,人多的时候大家轮流打,出的频率看着就高;人少一个人单刷,可能打十几只才见一件。这也是有些服设置看起来不高,玩家却觉得掉得多的原因。

物品名要和物品数据里的名称严格一致,多一个空格、少一个括号都不会掉,也不报错。数量写在物品名后面,可以是固定值,也可以是范围。要临时关掉某条,在行首加分号注释掉。

功能全一点的引擎支持组合写法。用总概率套子概率,先抽中一个总概率,再在括号里判定具体掉哪件;加了特定标记就变成在括号里随机只抽一条执行,每条被抽中的机会均等,抽中后再算它自己的子概率。还能用指令把别的爆率文件整段引进来,一条怪物爆率就能复用别处的配置。这些格式差异大,照着版本自带的例子改,别自己编。

七、动态刷怪和脚本刷怪

除了配置文件,很多端还能用命令临时刷怪,写在NPC脚本或者触发脚本里,命令后面跟地图、坐标、怪物名、范围、数量、时间几个参数,触发一次就出几只。这种适合做活动怪、定时BOSS、节日惊喜,改起来不用动MonGen.txt。命令的写法和参数顺序各引擎也有差别,用之前先确认。

八、怪物不刷的排查顺序

按这个顺序查,基本能定位。

先核对地图编号或名称有没有写对,对不上这行直接不生效。再看坐标是不是超出地图范围,超了这行作废。然后看怪物名和数据库里的是否完全一致,差一个字符都不行。接着看数量和刷新时间有没有填成0或者负数。这几项都对还不出怪,就去查引擎的活动怪物总量上限,是不是被别的刷怪点占满了,或者被别的图的高密度刷怪挤掉了配额。最后确认这个文件是不是该版本真正读取的那个,路径和文件名有没有对。

还有一种情况,怪其实刷出来了但看不见,那多半是外观字段或者客户端资源补丁的问题,跟刷怪文件无关,别在这上面耗。

九、改刷怪文件的几个注意

用带编码识别的编辑器改,系统记事本保存容易把编码改坏,读进去变成乱码。一行一条,别把几行合并,空格和制表符别随手混着加。

刷新时间别全设成一样的。所有小怪都设十分钟一补,主程序每十分钟要全局扫一遍所有该刷的怪,数量对不上就补齐,同一时刻的运算量全堆在一起,人一多就卡。把时间错开,十一分钟、十二分钟这样分散开,同一时刻要处理的检测就少。刷怪坐标也别一个点堆太多怪,一个坐标塞几百只,寻路计算量猛增,还会出现设了一百只实际只出六十只的情况。

数量要按服的规模定。几十个玩家却铺了几万只怪,一个人要打上千只,纯属浪费资源。改之前先把MonGen.txt和爆率目录整份备份,改完先在小编号地图上试,没问题再动大图。生效方式也分两种,有的重载刷怪配置就行,有的得重启服务端,按版本操作。
[顶部]