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

传奇宝箱物品数据库数量配置教程:StdItems与BoxItem权重几率实例

热度:
宝箱产出分两层管。物品数据库管“宝箱是什么、双击怎么触发、钥匙收什么费”;宝箱规则文件管“里面出什么、出几个、几率多少”。只改数据库不写规则文件,开箱没奖励;只写规则文件不建数据库物品,双击没反应或M2不识别。

一、StdItems物品库建宝箱与钥匙

传统宝箱在StdItems.DB建两行:

宝箱行示例
Name=黄金宝箱
Stdmode=48
Shape=1
Anicount=0或指定值
Source=1或对应规则文件编号
Reserved按引擎填0旧宝箱/1新宝箱/2九周年类
其他价格、库存、职业按普通物品补。

Stdmode=48通常是宝箱类,Shape1到6对应不同外观,6可给珍珑;Anicount在某些资料里用于转动抽取,0表示转动抽取、100表示不转直接给,具体看引擎宝箱模块。Source对应Envir下BoxsList/Boxs目录里的规则文件编号。

钥匙行示例
Name=黄金钥匙
Stdmode=49
Shape=与宝箱Anicount一致
Need=0金币/1元宝/2灵符/3金刚石
NeedLevel=收费数量

钥匙Shape和宝箱Anicount对上才能开;Need决定扣费类型,NeedLevel决定每次扣多少。只做消耗钥匙不扣货币,Need填0、NeedLevel填0,脚本里再用TAKE扣钥匙。

Hero类双击物品开箱不一定要Stdmode48。物品库把宝箱Stdmode设31,Anicount设触发号X,QFunction-0.txt写:

[@StdModeFuncX]
IF

ACT

OpenItemBox宝箱名
SENDMSG7开启宝箱成功

OpenItemBox对应的爆物走怪物爆率/ItemBox,不直接在StdItems写数量。这种方式适合“背包双击宝箱→按爆率出物”,数量概率在爆率文件管。

二、Blue/LEG的BoxItem.txt数量与几率

Envir\BoxItem.txt按宝箱名分段,格式:

[黄金宝箱]
经验20001
经验2000005
声望510
声望1520
金刚石1030
金刚石2040
天尊头盔1150
天尊项链1150
天尊手镯199
天尊戒指199
圣战头盔199
圣战项链1150
圣战戒指1150
法神头盔1150
法神项链1150
法神戒指199

三列含义:物品名、数量、获取几率。部分Blue资料写几率1到255,数字越大越难出,0不获取;LEG同类示例也用“物品数量几率”,中间格由引擎按几率排。经验、声望、金刚石用“经验数值”“声望数值”“金刚石数值”写法,不要写具体物品名。

NPC用钥匙开箱示例:

[@开黄金宝箱]
IF

CHECKITEM黄金宝箱1
CHECKITEM黄金钥匙1
CHECKBAGGAGE1
ACT

TAKE黄金宝箱1
TAKE黄金钥匙1
OPENBOX黄金宝箱
SENDMSG0黄金宝箱已开启
BREAK
ELSEACT

SENDMSG0需要黄金宝箱1个和黄金钥匙1个
BREAK

OPENBOX调BoxItem.txt里同名段;BoxItem改完在M2菜单重载,不重载不生效。

三、GEE/盛大类BoxsList与X.txt数量几率

数据库宝箱Stdmode48、Shape对应外观,Source写规则编号。Envir下建BoxsList.txt:

0
1
2

每行一个编号,必须连续。每个编号建0.txt、1.txt、2.txt,格式:

0.txt首行可写多次开启与收费参数,常见:
11010202050503
含义按引擎文档:是否多次、起始金币、起始元宝、累增金币、累增元宝、有效金币、有效元宝、最高次数。后面逐行写物品:

天尊头盔01
天尊项链01
天尊手镯01
天尊戒指01
经验(2000)0
金刚石(20)0
声望(200)0
圣战头盔1
圣战项链1
法神头盔2
经验(1000000)3

物品类型0可得、1不可得、2中间隔、3永远不可得;经验/金刚石/声望用“经验(数量)”“金刚石(数量)”“声望(数量)”。传统宝箱至少12个物品、珍珑至少8个、抽奖至少20个,数量不足M2可能不让开。

NPC命令可用OPENBOXS宝箱号码钥匙shape0;第三参0普通、非零按珍珑/抽奖走对应文件。数据库Source、BoxsList编号、X.txt名称三者对齐,差一个开箱空白。

四、3K/新宝箱类型数量几率

部分新宝箱规则按“物品名类型数量几率”四列:

天尊头盔0130
天尊项链0140
天尊手镯0150
天尊戒指0160
经验0100012
金刚石01013
声望02014
圣战头盔11100
圣战项链11100
圣战戒指11100
法神头盔0170
金刚石250113

类型0普通、1填充、2中间格、3极品;几率1到65535,数字越大概率越小。天赐类要求0类型至少8件、3类型至少2件,每次从0类随机取6到7件、3类取1到2件;九周年在StdItems的Reserved填2,M2物品装备里配钥匙数。

五、ItemBox.txt四列与权重算法

部分引擎Envir\ItemBox.txt按“宝箱名物品名数量参数”多列:

赤金宝箱金砖11
赤金宝箱经验2000001
赤金宝箱完美摄魂11

有资料把第四列当掉落开关,1进池、0不出;概率另由整体爆率控制。也有资料把第三列当权重,某物概率=该物权重÷同宝箱所有物权重和,例如10个物全权重1各10%,金砖改5、其余1则总权重14、金砖约35.7%。写之前先看本服ItemBox表头注释:若是“名物数开关”,数量填第三列、概率不在这里;若是“名物数权重A权重B”,按权重改,0通常特殊分组。

六、数量与堆叠的实际规则

数据库物品本身有堆叠上限,Stackable/Overlap或StdItems对应字段决定“数量”能发多少。宝箱规则写“屠龙1”每次发1把;写“金砖10”要看金砖物品库是否允许堆叠10,不允许就分多行或改发10次1个。经验、声望、金刚石不是实体装备,用经验(数值)、声望(数值)、金刚石(数值),不受背包堆叠限制但受M2单条经验上限影响。

绑定类产出在StdItems设Bind,或在规则文件用绑定标记;BoxItem纯文本不支持绑定时,改NPC开箱后GIVE绑定物品替代OPENBOX。比如不写OPENBOX,改:

[@开绑定宝箱]
IF

CHECKITEM黄金宝箱1
ACT

TAKE黄金宝箱1
RANDOMEX100
IF

SMALL30
ACT

GIVE屠龙1
BindItem屠龙
SENDMSG0获得绑定屠龙
BREAK
IF

SMALL70
ACT

GIVE金砖10
SENDMSG0获得金砖10
BREAK
ELSEACT

GIVE经验卷1
BREAK

BindItem命令名按引擎替换,没有就用数据库Bind字段预先绑定再GIVE。

七、怪物掉宝箱与宝箱再出物

宝箱作为怪物掉落,在MonItems/怪物名.txt写:

1/100黄金宝箱1

表示100分之一掉1个黄金宝箱。宝箱本身数量在爆率文件管,宝箱里面数量在BoxItem/Boxs/X.txt管,两层分开。Hero双击Stdmode31开箱时,OpenItemBox调的“宝箱名”要在怪物爆率里有对应掉落池;若用ItemBox.txt,则ItemBox的宝箱名和怪物掉出的宝箱名一致。

八、NPC自由配数量概率,不依赖数据库宝箱

不做Stdmode48、不建BoxItem,纯脚本也能跑:

[@超级宝箱]
IF

CHECKITEM超级宝箱1
CHECKITEM宝箱钥匙1
CHECKBAGGAGE2
ACT

TAKE超级宝箱1
TAKE宝箱钥匙1
RANDOMEX1000
IF

SMALL50
ACT

GIVE屠龙1
SENDMSG0开出屠龙1把
BREAK
IF

SMALL200
ACT

GIVE金砖20
SENDMSG0开出金砖20个
BREAK
IF

SMALL500
ACT

GIVE经验卷5
SENDMSG0开出经验卷5个
BREAK
ELSEACT

GIVE金币袋1
SENDMSG0开出金币袋1个
BREAK

RANDOMEX1000配SMALL50是5%,SMALL200累计到20%,SMALL500累计到50%,剩下走#else。多档别都从0开始,否则低档拦截高档;要独立概率就每段重新RANDOMEX。

九、排错

开箱没任何物品:先确认BoxItem/Boxs/X.txt名称与NPCOPENBOX、数据库Source完全一致;再确认M2已重载宝箱规则;Stdmode48宝箱还要看Shape、Anicount、Source三字段。

只出经验不出装备:BoxItem里装备几率写太大,比如150、200,相对经验1到5几乎不出;按目标概率重算,经验若想常出写1到10,极品装备写100到300。

双击宝箱没反应:Hero查Stdmode31、Anicount触发号、QFunction[@StdModeFuncX];传统查Stdmode48、Shape,NPC开箱查OPENBOX/OPENBOXS命令是否本引擎支持。

钥匙扣了不开:CHECKITEM钥匙数量、TAKE顺序、CHECKBAGGAGE空格都要写;先发物再TAKE会白给,先TAKE再发物断线可能扣钥匙不发奖,用变量锁或M2事务开箱最稳。

数量发成0:规则文件数量列写0、数据库GIVE数量写0、爆率数量列写0都会不出;BoxItem第三列是数量不是几率,别把几率填第三列。

珍珑/抽奖空白:传统12、珍珑8、抽奖20最少物品数,类型分配不对也开不了;新宝箱0类/3类最少件数按M2要求补。

改完用管理员小号分别测:空箱规则、单物品100%规则、低几率极品、经验/声望/金刚石、绑定装备、钥匙扣费、多次转盘收费。确认数量、几率、数据库字段、规则文件全部对应再放到正式地图怪物掉落。
[顶部]