卧龙怪和探索怪的装备获取不走普通爆率通道,而是通过挖取尸体实现。控制挖取的核心文件在MonUseItems目录下的怪物配置文件和怪物-Item.txt挖取列表。装备能否挖到、挖取几率多大、挖取是否收费、收费多少,全部由这几个文件中的参数决定。
一、Monster.DB中的Butch字段
Butch字段是卧龙怪挖取功能的开关。Butch=0表示怪物死亡直接爆出物品,不走挖取流程。Butch=1表示怪物死亡后必须挖取才能获得物品,物品设置在MonItems目录下,等同于其他怪物的爆率配置。Butch字段的值大于0时才会触发挖取脚本段,脚本段的位置在QFunction-0.txt中,名称为@ButchMonX,X对应Butch字段的具体数值。比如Butch=5,触发脚本段就是[@ButchMon5]。
如果怪物数据库中没有Butch字段,需要用DBC2000打开Monster.DB,在任意怪物上右键选择功能列,添加/删除列,列名称输入Butch,类型选择SMALLINT,点击添加即可。
Butch和DropUseItem同时开启时,引擎默认优先执行挖取判定。怪物死亡后先触发挖取逻辑,挖取成功则尸体消失,不再触发掉落。只有挖取未触发时才会进入掉落判定。如果希望纯掉落模式,把Butch设为0,DropUseItem设为1,DropUseItemRate设为1即可实现100%掉落。
二、MonUseItems目录配置文件结构
卧龙怪和探索怪的配置文件位于Mir200\Envir\MonUseItems目录。每只怪物需要两个文件,一个是怪物名称.txt,用于怪物行为配置,另一个是怪物名称-Item.txt,用于挖取物品列表。例如卧龙战将对应卧龙战将.txt和卧龙战将-Item.txt。
怪物名称.txt的格式示例如下:
[INFO]
Butch=1
BodyLeathery=200
ButchChargeClass=0
ButchChargeCount=1
ButchNotItemDelGold=0
ButchCloneItem=1
ButchRate=10
怪物名称-Item.txt列出挖取时可能获得的物品,格式与普通爆率文件一致,每行写物品名称和概率。
三、BodyLeathery尸体坚韧度
BodyLeathery控制尸体的挖掘时间。数字越大,表示要挖更久的时间才进入获取物品函数,是否获得物品取决于MonItems目录下此怪的暴率文件。BodyLeathery=200是常见默认值。如果希望挖尸体后只出一件物品,把200改为10,挖完后尸体就会消失。这个参数直接影响玩家的挖掘体验,设置过大会导致玩家需要反复点击尸体,设置过小则尸体很快消失、来不及挖揉件物品。
四、ButchRate挖取几率控制
ButchRate用于调整挖取身上装备的成功率。在怪物名称.txt的[INFO]段中设置ButchRate的值。但要注意,挖取身上装备的几率还受StdItem.DB中Stock字段的控制。可挖物品包括卧龙守将身上穿戴的物品和MonItems目录下此怪的爆率文件物品,两者都受Stock控制。Stock数字越大,获取物品几率越小。Stock=5000意味着挖到该物品的几率是5000分之一。Stock=100对应1%的几率。
对于暴率文件中的物品,存在两重几率控制。建议把暴率文件中的物品爆率修改为百分之百得到,再到StdItem.DB中设置Stock的值,这样比较好控制物品的实际爆率。对于怪物身上穿戴的物品,只受Stock值控制几率。
五、ButchCloneItem挖取触发控制
ButchCloneItem控制挖取是否进入触发脚本。ButchCloneItem=1表示挖取成功时进入触发脚本,0表示不进入。挖取身上装备的机率中,0为百分百,数字越大机率越小。如果觉得人形怪气血石恢复间隔慢或移动比设置参数慢,是因为人形怪比普通怪物更占用资源,在M2上将运行间隔调小即可解决。
六、挖取收费模式设置
ButchChargeClass控制挖取身上装备的收费模式,取值0代表金币,1代表元宝,2代表金刚石,3代表灵符。ButchChargeCount设置挖取身上装备每次收费的点数。ButchNotItemDelGold控制未挖到物品时是否扣除费用,1表示扣除,0表示不扣除。
收费脚本需要在QFunction-0.txt中编写。每次挖到一个物品时会自动执行对应的@ButchMonX脚本段,X和怪物数据库中Butch的值一样。当前挖到的物品名字放在人物的S0变量中,需要使用SetButchOK脚本命令设置允许人物获得当前物品。
不需要任何条件即可获得挖到的物品的脚本写法:
[@ButchMon5]
#IF
#ACT
SetButchOK
需要灵符才可以获得物品的脚本写法:
[@ButchMon5]
#IF
CheckGameGird>0
#ACT
GameGird-1
SetButchOK
#ELSESAY
灵符不足无法获得物品
挖到特定物品时才需要灵符的脚本写法:
[@ButchMon5]
#IF
EQUALS0传送戒指
#ACT
GOTO@Get_Item_01
Break
#IF
EQUALS0麻痹戒指
#ACT
GOTO@Get_Item_01
Break
#IF
#ACT
SetButchOK
Break
[@Get_Item_01]
#IF
CheckGameGird>9
#ACT
SetButchOK
GameGird-10
七、DropUseItem掉落控制
DropUseItem控制怪物是否掉落身上装备,1为掉落,0为不掉落。DropUseItemRate设置掉落几率,数值越小掉落概率越高。注意DropUseItem必须放在[Info]段中,放在[UseItems]段会导致引擎无法识别。如果Butch=1和DropUseItem=1同时开启,引擎优先执行挖取判定,挖取成功则尸体消失、不再触发掉落。要让掉落先触发,可以降低ButchRate的值让挖取概率降低。
八、探索怪特殊设置
探索怪(如雷炎洞可探索怪物)的配置逻辑与卧龙怪类似。在怪物对应的暴率文件中,如果物品名的暴率最大值设置为88888888,该物品将不直接暴出,归类到死亡后可探索物品中。物品被探索到的几率由StdItem.DB的Stock控制,Stock数值越大越难探索到,设置Stock=100几率是1%。探索需要灵符,等同于卧龙名将设置。
探索怪配置文件示例:
[Info]
ButchChargeClass=3
ButchChargeCount=1
ButchCloneItem=1
雷炎蛛王-Item.txt
1/1金币
1/1王者之刃
探索怪被挖取列表物品被挖取完后,可以触发脚本给物品,实现无限挖取,进入脚本段一样会收费。
九、卧龙战将完整配置示例
卧龙战将.txt的[Info]段:
[INFO]
Butch=1
BodyLeathery=200
DropUseItem=0
DropUseItemRate=15
ButchChargeClass=3
ButchChargeCount=1
ButchNotItemDelGold=0
ButchCloneItem=1
ButchRate=10
Job=0
Gender=0
Hair=5
守护状态=1
卧龙战将-Item.txt内容:
1/5龙牙
1/50凰天魔衣
1/50银星勋章
1/1祝福油
1/1强效金创药
1/2强效太阳水
1/1金币5000
十、挖取列表与爆率文件的配合
可挖物品等于卧龙守将身上穿戴物品加上MonItems目录下此怪的暴率文件物品。装备类物品可以不写在MonItems目录下的暴率文件中,暴率文件用来写一些非穿戴装备类的物品。只要是卧龙守将类,都受StdItem.DB中的Stock控制几率。MonItems目录下的暴率建议只做宝石、书之类的物品,这样方便控制几率。
十一、重载与生效
修改MonUseItems目录下的配置文件后,需要在M2控制台重载怪物配置或重启服务端。修改Monster.DB中的Butch字段后,需要重载怪物数据库。修改StdItem.DB中的Stock值后,需要重载物品数据库。修改QFunction-0.txt脚本后,需要重载脚本。所有修改前备份原文件,修改后先测试单只怪物挖取流程,确认掉落、收费、触发都正常后再批量应用。
十二、常见问题排查
挖不出装备,先检查Butch是否设为1,再检查ButchCloneItem是否为1。挖取收费不生效,检查ButchChargeClass和ButchChargeCount是否填写正确。挖取几率过高或过低,调整StdItem.DB中对应物品的Stock值。尸体消失太快,调大BodyLeathery的值。挖取没有触发脚本,检查QFunction-0.txt中的@ButchMonX编号是否与Butch值一致。掉落和挖取冲突,检查DropUseItem的位置是否正确放在[Info]段。物品名不匹配,检查-Item.txt中的物品名与StdItem.DB中的Name字段是否完全一致。
一、Monster.DB中的Butch字段
Butch字段是卧龙怪挖取功能的开关。Butch=0表示怪物死亡直接爆出物品,不走挖取流程。Butch=1表示怪物死亡后必须挖取才能获得物品,物品设置在MonItems目录下,等同于其他怪物的爆率配置。Butch字段的值大于0时才会触发挖取脚本段,脚本段的位置在QFunction-0.txt中,名称为@ButchMonX,X对应Butch字段的具体数值。比如Butch=5,触发脚本段就是[@ButchMon5]。
如果怪物数据库中没有Butch字段,需要用DBC2000打开Monster.DB,在任意怪物上右键选择功能列,添加/删除列,列名称输入Butch,类型选择SMALLINT,点击添加即可。
Butch和DropUseItem同时开启时,引擎默认优先执行挖取判定。怪物死亡后先触发挖取逻辑,挖取成功则尸体消失,不再触发掉落。只有挖取未触发时才会进入掉落判定。如果希望纯掉落模式,把Butch设为0,DropUseItem设为1,DropUseItemRate设为1即可实现100%掉落。
二、MonUseItems目录配置文件结构
卧龙怪和探索怪的配置文件位于Mir200\Envir\MonUseItems目录。每只怪物需要两个文件,一个是怪物名称.txt,用于怪物行为配置,另一个是怪物名称-Item.txt,用于挖取物品列表。例如卧龙战将对应卧龙战将.txt和卧龙战将-Item.txt。
怪物名称.txt的格式示例如下:
[INFO]
Butch=1
BodyLeathery=200
ButchChargeClass=0
ButchChargeCount=1
ButchNotItemDelGold=0
ButchCloneItem=1
ButchRate=10
怪物名称-Item.txt列出挖取时可能获得的物品,格式与普通爆率文件一致,每行写物品名称和概率。
三、BodyLeathery尸体坚韧度
BodyLeathery控制尸体的挖掘时间。数字越大,表示要挖更久的时间才进入获取物品函数,是否获得物品取决于MonItems目录下此怪的暴率文件。BodyLeathery=200是常见默认值。如果希望挖尸体后只出一件物品,把200改为10,挖完后尸体就会消失。这个参数直接影响玩家的挖掘体验,设置过大会导致玩家需要反复点击尸体,设置过小则尸体很快消失、来不及挖揉件物品。
四、ButchRate挖取几率控制
ButchRate用于调整挖取身上装备的成功率。在怪物名称.txt的[INFO]段中设置ButchRate的值。但要注意,挖取身上装备的几率还受StdItem.DB中Stock字段的控制。可挖物品包括卧龙守将身上穿戴的物品和MonItems目录下此怪的爆率文件物品,两者都受Stock控制。Stock数字越大,获取物品几率越小。Stock=5000意味着挖到该物品的几率是5000分之一。Stock=100对应1%的几率。
对于暴率文件中的物品,存在两重几率控制。建议把暴率文件中的物品爆率修改为百分之百得到,再到StdItem.DB中设置Stock的值,这样比较好控制物品的实际爆率。对于怪物身上穿戴的物品,只受Stock值控制几率。
五、ButchCloneItem挖取触发控制
ButchCloneItem控制挖取是否进入触发脚本。ButchCloneItem=1表示挖取成功时进入触发脚本,0表示不进入。挖取身上装备的机率中,0为百分百,数字越大机率越小。如果觉得人形怪气血石恢复间隔慢或移动比设置参数慢,是因为人形怪比普通怪物更占用资源,在M2上将运行间隔调小即可解决。
六、挖取收费模式设置
ButchChargeClass控制挖取身上装备的收费模式,取值0代表金币,1代表元宝,2代表金刚石,3代表灵符。ButchChargeCount设置挖取身上装备每次收费的点数。ButchNotItemDelGold控制未挖到物品时是否扣除费用,1表示扣除,0表示不扣除。
收费脚本需要在QFunction-0.txt中编写。每次挖到一个物品时会自动执行对应的@ButchMonX脚本段,X和怪物数据库中Butch的值一样。当前挖到的物品名字放在人物的S0变量中,需要使用SetButchOK脚本命令设置允许人物获得当前物品。
不需要任何条件即可获得挖到的物品的脚本写法:
[@ButchMon5]
#IF
#ACT
SetButchOK
需要灵符才可以获得物品的脚本写法:
[@ButchMon5]
#IF
CheckGameGird>0
#ACT
GameGird-1
SetButchOK
#ELSESAY
灵符不足无法获得物品
挖到特定物品时才需要灵符的脚本写法:
[@ButchMon5]
#IF
EQUALS0传送戒指
#ACT
GOTO@Get_Item_01
Break
#IF
EQUALS0麻痹戒指
#ACT
GOTO@Get_Item_01
Break
#IF
#ACT
SetButchOK
Break
[@Get_Item_01]
#IF
CheckGameGird>9
#ACT
SetButchOK
GameGird-10
七、DropUseItem掉落控制
DropUseItem控制怪物是否掉落身上装备,1为掉落,0为不掉落。DropUseItemRate设置掉落几率,数值越小掉落概率越高。注意DropUseItem必须放在[Info]段中,放在[UseItems]段会导致引擎无法识别。如果Butch=1和DropUseItem=1同时开启,引擎优先执行挖取判定,挖取成功则尸体消失、不再触发掉落。要让掉落先触发,可以降低ButchRate的值让挖取概率降低。
八、探索怪特殊设置
探索怪(如雷炎洞可探索怪物)的配置逻辑与卧龙怪类似。在怪物对应的暴率文件中,如果物品名的暴率最大值设置为88888888,该物品将不直接暴出,归类到死亡后可探索物品中。物品被探索到的几率由StdItem.DB的Stock控制,Stock数值越大越难探索到,设置Stock=100几率是1%。探索需要灵符,等同于卧龙名将设置。
探索怪配置文件示例:
[Info]
ButchChargeClass=3
ButchChargeCount=1
ButchCloneItem=1
雷炎蛛王-Item.txt
1/1金币
1/1王者之刃
探索怪被挖取列表物品被挖取完后,可以触发脚本给物品,实现无限挖取,进入脚本段一样会收费。
九、卧龙战将完整配置示例
卧龙战将.txt的[Info]段:
[INFO]
Butch=1
BodyLeathery=200
DropUseItem=0
DropUseItemRate=15
ButchChargeClass=3
ButchChargeCount=1
ButchNotItemDelGold=0
ButchCloneItem=1
ButchRate=10
Job=0
Gender=0
Hair=5
守护状态=1
卧龙战将-Item.txt内容:
1/5龙牙
1/50凰天魔衣
1/50银星勋章
1/1祝福油
1/1强效金创药
1/2强效太阳水
1/1金币5000
十、挖取列表与爆率文件的配合
可挖物品等于卧龙守将身上穿戴物品加上MonItems目录下此怪的暴率文件物品。装备类物品可以不写在MonItems目录下的暴率文件中,暴率文件用来写一些非穿戴装备类的物品。只要是卧龙守将类,都受StdItem.DB中的Stock控制几率。MonItems目录下的暴率建议只做宝石、书之类的物品,这样方便控制几率。
十一、重载与生效
修改MonUseItems目录下的配置文件后,需要在M2控制台重载怪物配置或重启服务端。修改Monster.DB中的Butch字段后,需要重载怪物数据库。修改StdItem.DB中的Stock值后,需要重载物品数据库。修改QFunction-0.txt脚本后,需要重载脚本。所有修改前备份原文件,修改后先测试单只怪物挖取流程,确认掉落、收费、触发都正常后再批量应用。
十二、常见问题排查
挖不出装备,先检查Butch是否设为1,再检查ButchCloneItem是否为1。挖取收费不生效,检查ButchChargeClass和ButchChargeCount是否填写正确。挖取几率过高或过低,调整StdItem.DB中对应物品的Stock值。尸体消失太快,调大BodyLeathery的值。挖取没有触发脚本,检查QFunction-0.txt中的@ButchMonX编号是否与Butch值一致。掉落和挖取冲突,检查DropUseItem的位置是否正确放在[Info]段。物品名不匹配,检查-Item.txt中的物品名与StdItem.DB中的Name字段是否完全一致。

