地图上自动出物品,靠的不是一个开关,是刷怪配置、爆率文件、地图事件、定时脚本这几块配起来才能跑。很多人只改了怪物的爆率,进游戏发现地上什么都没有,或者东西出来了却捡不着,问题基本都在几处配置没对上。下面按从怪到物的顺序拆开讲,能直接照着填。
一、怪物刷出来才有物可掉
地图自动出物,前提是这张地图上有怪物在刷。控制刷怪的文件是 Mir200\Envir\MonGen.txt,一行配一个刷怪点,格式是固定的:
地图编号 X坐标 Y坐标 怪物名字 范围 数量 刷新间隔 刷新模式
地图编号填 MapInfo.txt 里这张地图的编号,不是地图中文名。X、Y是刷怪中心点坐标。范围是以中心点向外扩散几格。数量是该点同时存在的怪物上限。刷新间隔单位是分钟,写5就是每5分钟补一批。刷新模式填0是普通刷,刷满数量就不再补,填1是补足模式,死一只补一只,填2是定时全清再刷。
举个例子,在盟重土刷稻草人:
3 330 330 稻草人 20 30 5 1
读一遍是:盟重土这张图,坐标330 330,范围20格,同时最多30只,每5分钟补一次,采用补足模式。改完保存,在控制台重新加载刷怪配置才生效,不重载引擎读的还是旧表。
二、爆率文件决定掉什么
怪死了掉东西,读的是怪物对应的爆率文件,位置在 Mir200\Envir\MonItems 目录下。文件名必须和怪物数据库里的怪物名字一模一样,包括中文和内线写法,叫“稻草人.txt”的爆率文件只能被“稻草人”这只怪读到,名字差一个字就不生效。
文件里一行一个掉落项,格式是:
物品名字 掉落概率 最小数量 最大数量
概率这里各引擎写法不一样,有的是写千分之一的分母,比如100表示百分之一;有的引擎直接写百分比。抄别人的爆率之前先确认自己引擎认哪种,写错量级,要么满地爆要么一件不出。
举一种常见写法:
金币 5000 100 500
药水(金创药) 100 1 3
桃木剑 1000 1 1
第一行是掉金币,后面两个数是金币数量的上下限。第二行药水概率更高,一次掉1到3个。第三行桃木剑概率低,一次掉1把。想调某样东西的出率,改中间那列数字即可,其它列不用动。
三、地图事件触发掉物
除了杀怪掉落,还能让玩家一进地图就掉东西,或者踩到某个坐标触发。控制这个的是 MapEvent.txt,放在 Mir200\Envir\UserData\MapEvent.txt。文件里一行配一个事件,格式如下:
地图编号 X坐标 Y坐标 范围 事件类型 触发参数
地图编号同样是 MapInfo.txt 里的编号。X、Y是触发点的坐标。范围是以这个点向外几格内踩上就算触发。事件类型里有一个是捡取触发,还有一个是踩点触发,具体编号按自己引擎的对照表填。
想让玩家踩到皇宫门口那个点就吐出一把武器,写法是:
3 334 334 1 1 桃木剑
事件类型那列填的是踩点类型,参数写要掉落的物品名字。人踩上去,引擎就在脚下生成一把桃木剑。这里要提醒,事件类型的编号各引擎差别大,抄的时候必须核对自己那版引擎的说明,填错会变成别的事件,比如变成传送或者变成弹提示。
四、脚本里定时刷物品
想按时间自己出物,不进地图不踩点也刷,用脚本挂定时器。写在 QFunction.txt 里,用一个循环定时脚本,单位通常按秒算:
[@定时刷宝]
#IF
#ACT
DELAYGOTO 600 @刷宝
[@刷宝]
#IF
#ACT
GROUNITE 桃木剑 3 330 330
GROUNITE 金创药 3 331 331
DELAYGOTO 600 @刷宝
DELAYGOTO 600 表示600秒后跳到标签@刷宝,回来后再挂一次,形成每10分钟循环。GROUNITE 是在地图上直接生成一件地面物品,机器不同命令名可能写作 DROPITEM、GROUNDITEM 之类,以自己引擎手册为准。后面跟的是地图编号、物品名、坐标。
这种定时脚本适合做活动地图定点福利、节日限时掉落。要注意物品不会自己消失,堆多了要配合清理。定时脚本一定要留重载开关,不然服务端一起动就狂刷,量很大。
五、物品自动清理不能少
地面物品堆着不捡会一直留在那里,时间长了占资源。引擎一般有地面物品清理设置,在 M2 控制台里找物品清理或地面物品的选项,设一个保留分钟数,超过时间没被捡走的自动消失,也可以只清金币或只清普通装备。清理时间设短了,玩家走过去东西已经没了;设长了又堆。做打宝地图的话建议设长一点,比如10到30分钟。
六、物品在地上没被自动捡起的常见原因
第一类,物品是刷出来了,但玩家踩上去没有自动入包。这是客户端那边没开自动捡取,属于玩家设置或者登录器功能,不是服务端问题。
第二类,爆率文件不生效。要么文件名和怪物名对不上,要么文件放在 MonItems 根目录以外的子文件夹里而引擎读不到,要么概率写法和自己引擎认的格式不一样。
第三类,怪物等级太低,怪物数据库里没有给它指定爆率文件。HXM2类的引擎部分怪物用怪物名对应的爆率,也有的用自己的配置表,看清楚自己版本读哪一套。
第四类,物品数据库里没有这件物品。爆率文件里写了一个物品名字,但 StdItems.DB 里根本没这条记录,引擎找不到就跳过。加物品之前先在库里建好。
第五类,坐标不对。GROUNITE 或者地图事件的坐标落在不可行走的墙上、水面上,物品生成在无效格子上人捡不到,看起来像没刷出来。
七、改动前后核对顺序
动手前把 MonGen.txt、MapEvent.txt、QFunction.txt 以及要动的爆率文件各备份一份,改坏了直接覆盖还原。
改完按这个顺序过一遍:先确认怪物库里怪物的名字和爆率文件名一致;再确认爆率文件里写的物品在 StdItems.DB 里有记录,概率写法对上自己引擎的格式;接着核对 MonGen.txt 的地图编号和坐标;然后看 MapEvent.txt 里事件类型编号填对没有;最后确认定时脚本里 GROUNITE 那类命令和坐标都对,重启服务端,进游戏实测一遍,看怪物有没有刷出来、打死有没有掉物、踩点有没有触发、定时有没有按时出。
四个环节里哪一环断了,问题就锁定在对应那块。刷怪、爆率、事件、脚本这四样对齐,地图自动出物这个功能才算配好。
传奇引擎地图自动刷物品掉落设置方法与爆率刷怪事件脚本配置详解篇
来源:
作者:
点击:

