- 打卡等级:魔龙套勇士
- 打卡总天数:130
- 打卡月天数:23
- 打卡总奖励:14868
- 最近打卡:2025-08-23 00:38:01
管理员
本站站长
- 积分
- 8650
|
传奇物品数据库(通常为StdItems.DB)是传奇 SF(私服)的核心配置文件,用于定义游戏内所有物品的属性、外观、功能及使用条件。不同引擎(如 GOM、GEE、BLUE)的数据库结构存在差异,但核心字段逻辑相似。以下从数据库结构、核心字段详解、引擎差异、特殊属性配置及常见问题五个维度进行全面解析:
一、数据库结构与文件位置
1. 数据库文件位置
服务端路径:通常位于D:\MirServer\Mud2\DB(Windows 系统)或服务端指定目录。
引擎专属差异:
GOM 引擎:依赖StdItems.DB和UniqueItems.DB(存储唯一装备)。
GEE 引擎:使用StdItems.DB,部分版本需额外配置Shop.DB(商店物品)。
BLUE 引擎:核心文件为StdItems.DB,支持动态字段扩展(如DynamicItems.DB)。
2. 数据库工具
DBC2000:通用数据库编辑器,支持打开.db文件,但需手动配置路径(控制面板→ODBC→系统 DSN→添加→选择 “HeroDB” 或 “MudDB”)。
DB Commander:专为传奇设计,支持批量编辑、排序及字段添加。
引擎专用工具:如 GOM 引擎的GOMDB工具,可直接关联引擎配置。
二、核心字段详解(以 GOM 引擎为例)
1. 基础属性字段
字段名 功能描述 示例与注意事项
Idx 物品唯一编号(必填),建议从 10000 开始递增,避免与引擎默认装备冲突。 例如:新武器编号设为 10001,需确保无重复。
Name 物品名称(支持中文),长度限制因引擎而异(GOM 引擎支持 20 字节)。 名称包含特殊符号可能导致客户端显示异常,建议使用纯文本。
StdMode 物品类型分类号,决定基础属性逻辑(如武器、衣服、首饰)。 常见分类:5 = 武器,10 = 男衣,11 = 女衣,19 = 项链,22 = 戒指。
Shape 外观模型编号(客户端资源索引),不同引擎映射规则不同。 - 武器:Weapon.wil中图片编号除以 1200(如编号 1200 对应 Shape=1)。
- 衣服:hum.wil编号除以 1200(如编号 1200 对应 Shape=1)。
Looks 背包内显示外观编号(关联客户端Items.wil或.pak资源)。 若客户端未加载对应资源,物品在背包中显示为空白或错位。
Weight 物品重量,影响角色负重(角色负重 = 总重量 / 100)。 叠加物品(如药水)需设置Overlap=1,重量按叠加数量计算。
2. 数值属性字段
字段名 功能描述 示例与注意事项
DuraMax 物品持久度(单位:1000=1 点持久)。 例如:设置DuraMax=50000表示持久度 50 点,装备损坏后需修复。
AC/AC2 物理防御下限 / 上限(战士、道士主要防御属性)。 高防御装备(如天魔神甲)可设置AC=8,AC2=12。
Mac/Mac2 魔法防御下限 / 上限(法师主要防御属性)。 对抗魔法攻击时,需优先提升该属性(如魔血套装)。
DC/DC2 物理攻击下限 / 上限(战士、道士主要输出属性)。 武器核心属性(如裁决之杖DC=0,DC2=30)。
MC/MC2 魔法攻击下限 / 上限(法师主要输出属性)。 魔杖MC=0,MC2=5,配合技能提升伤害。
SC/SC2 道术攻击下限 / 上限(道士主要输出属性)。 龙纹剑SC=0,SC2=5,影响召唤物强度和治疗效果。
3. 附加条件与特殊功能字段
字段名 功能描述 示例与注意事项
Need 佩戴条件类型(如等级、攻击力、职业)。 - Need=0:仅需等级(NeedLevel字段生效)。
- Need=10:职业 + 等级(如战士 50 级)。
NeedLevel 佩戴所需等级或数值(与Need配合使用)。 例如:Need=0,NeedLevel=50表示需 50 级才能佩戴。
Source 神圣攻击或武器强度(正数为强度,负数为神圣)。 - 强度:降低武器掉持久概率(如Source=5)。
- 神圣:破除怪物防御(如Source=-10)。
Reserved 隐藏属性开关(如麻痹、复活)。 - Reserved=150:麻痹效果(触发概率需脚本配置)。
- Reserved=171:死亡不掉背包。
Bind 装备绑定类型(防止交易或掉落)。 - Bind=1:拾取绑定。
- Bind=2:穿戴绑定。
三、引擎差异与特殊配置
1. GOM 引擎
UniqueItem 字段:标记唯一装备(如神器),需在UniqueItems.DB中配置掉落概率和属性加成。
套装效果:通过SetOption字段设置套装触发条件(如 3 件套激活额外属性)。
2. GEE 引擎
Shop 字段:关联商店物品(Shop.DB),需设置ShopType(商店类型)和ShopPrice(售价)。
技能触发:武器Anicount字段可设置技能触发概率(如Anicount=188触发倚天剑技能)。
3. BLUE 引擎
动态光柱:通过DynamicItems.DB配置装备特效(如EffectID=1001为红色光柱)。
字段扩展:支持自定义字段(如MagicAdd增加技能伤害),需修改引擎配置文件。
四、特殊属性配置示例
1. 麻痹戒指
数据库配置:
StdMode=22(戒指类型),Looks=111(隐身戒指外观)。
Reserved=150(麻痹效果),NeedLevel=35(佩戴等级)。
脚本触发:
lua
-- QFunction-0.txt
function OnMagicAttack(攻击者, 目标, 技能ID)
if 攻击者.装备[戒指].Reserved == 150 then
目标.麻痹(3000) -- 麻痹3秒
end
end
2. 复活项链
数据库配置:
StdMode=19(项链类型),Looks=118(护身戒指外观)。
Reserved=172(死亡不掉装备),DuraMax=10000(持久 10 点,复活一次消耗 1 点)。
脚本触发:
lua
-- QFunction-0.txt
function OnDie(角色)
if 角色.装备[项链].Reserved == 172 and 角色.装备[项链].DuraMax > 0 then
角色.复活(0, 0, 100, 100) -- 满血复活
角色.装备[项链].DuraMax = 角色.装备[项链].DuraMax - 1000
end
end
五、常见问题与解决方法
1. 物品显示异常
问题:客户端显示空白或错位。
解决:
检查Looks和Shape字段是否正确关联客户端资源(如Items.wil或.pak文件)。
使用RPGViewer验证资源编号是否存在。
2. 属性不生效
问题:修改防御或攻击后无变化。
解决:
确认StdMode分类号是否正确(如武器StdMode=5,衣服StdMode=10)。
在 M2 控制台→控制→重新加载→物品数据库,强制刷新配置。
3. 引擎启动报错
问题:提示 “Field 'UniqueItem' not found”。
解决:
手动添加缺失字段:使用DB Commander打开StdItems.DB→设计表→插入列→命名为UniqueItem→类型设为Integer。
升级引擎至兼容版本(如 GOM 1128 版支持UniqueItem字段)。
4. 特殊属性不触发
问题:麻痹戒指无法生效。
解决:
检查Reserved字段是否正确(如Reserved=150)。
编写脚本验证触发条件(如OnMagicAttack事件),确保引擎支持该脚本接口。
六、工具与资源推荐
工具名称 功能描述 适用场景
DB Commander 批量编辑数据库,支持字段添加、排序。 通用数据库维护。
RPGViewer 查看客户端资源编号,验证Looks和Shape。 资源关联调试。
GOMDB 工具 一键关联 GOM 引擎配置,支持唯一装备管理。 GOM 引擎专用。
脚本编辑器 编写触发特殊属性的 Lua/Python 脚本。 高级功能开发。
七、注意事项
引擎版本兼容性:不同引擎对字段名称和类型要求不同(如 GOM 的UniqueItem字段在 GEE 中可能不存在),修改前需备份原数据库。
资源路径映射:客户端资源(如.wil文件)需与数据库字段严格对应,否则导致显示异常。
测试流程:
本地测试:通过 GM 命令@make 物品ID生成装备,验证外观和属性。
灰度测试:邀请玩家测试特殊功能(如复活、麻痹),收集反馈后再正式上线。
|
|