传奇天工开物装备精炼打孔重铸系统详细说明与脚本命令完整解析

来源: 作者: 点击:
天工开物在传奇服务端中并非单一功能,而是一整套装备改造系统的统称,涵盖精炼、宝石合成、装备打孔、重铸四个核心模块。各模块共享同一套NPC入口和物品数据库结构,但在命令调用和属性计算逻辑上各自独立。以下按功能模块逐一拆解命令格式、数据库配置和脚本写法。

## 精炼系统核心逻辑与玄天神石品质机制

精炼是天工开物中使用频率最高的功能,作用对象限定为项链、手镯、戒指三类首饰装备。精炼的核心机制是消耗玄天神石,在成功时为装备附加额外属性,失败时神石消失但装备保留。精炼不论成功与否,都会消耗放入的玄天神石并收取一定数额金币。

精炼的成功率与属性提升方向由玄天神石的品质决定。褐土品质的玄天神石性坚固,有很大几率提升防御属性。灰白品质属抗魔,有很大几率提升魔御属性。朱红品质主力量,有很大几率提升攻击属性。海蓝品质存法意,有很大几率提升魔法属性。

玄天神石在StdItems.DB中的字段结构如下:

1242;玄天神石(褐土);66;0;1;0;0;0;1370;20000;0;0;0;0;0;0;0;0;0;0;0;0;5000;6;;;
1243;玄天神石(灰白);66;1;1;0;0;0;1371;20000;0;0;0;0;0;0;0;0;0;0;0;0;5000;6;;;
1244;玄天神石(朱红);66;2;1;0;0;0;1372;20000;0;0;0;0;0;0;0;0;0;0;0;0;5000;6;;;

字段中第4位(Shape值)分别为0、1、2,对应四种品质类型。引擎通过读取该Shape值来判断神石品质,并据此决定精炼时触发的属性方向。要新增海蓝品质,按相同格式添加一行,Shape值递增为3即可。

精炼NPC脚本的入口通常放置在庄园或主城仓库附近。脚本通过CheckItem检测玩家是否同时持有可精炼装备和对应神石,条件满足后调用精炼命令执行操作。精炼命令本身不需要手动编写随机判定,引擎根据神石Shape值和装备当前精炼等级自动计算成功概率。

## 宝石合成与盲盒宝石机制

天工开物支持攻魔道刺四种属性宝石的合成。宝石合成的逻辑是将多颗低级宝石合成为一颗高级宝石,合成过程在M2的合成配置面板中预先设定配方,脚本层面通过CheckFoundryItem和GiveFoundryItem命令调用。

盲盒宝石是天工开物中较特殊的机制。盲盒宝石在使用前不显示具体属性类型,开启后随机获得一种属性。实现方式是在StdItems.DB中为盲盒宝石设置独立的物品条目,AniCount字段用于标识该物品为盲盒类型,Shape值控制可随机出的属性池范围。开启触发写在QFunction-0.txt的[@StdModeFuncX]段落中,通过MOVR命令生成随机数,再按区间匹配发放对应的属性宝石。

宝石灯充能功能允许玩家将已镶嵌的宝石进行充能升级。充能脚本检测装备上宝石的当前等级,消耗指定材料后将宝石等级加一。该功能依赖引擎对装备镶嵌数据的读写支持,GOM引擎使用GetItemGem命令读取指定位置装备上的宝石信息,返回宝石名称和等级变量。

## 装备打孔命令与孔位管理

装备打孔为后续镶嵌宝石提供孔位。打孔操作在NPC处进行,消耗打孔材料和金币。打孔成功率为可配置参数,失败时材料消失、装备保留,部分版本中失败还会导致装备耐久下降。

打孔的核心命令是引擎内置的钻孔命令,GOM引擎中为AddItemHole,格式为:AddItemHole 装备位置 孔位编号。装备位置0到12对应穿戴栏位,孔位编号从0开始,0为第一孔、1为第二孔、2为第三孔。命令执行后引擎在装备数据中标记该孔位已开启,后续镶嵌宝石时优先填充已开启的孔位。

打孔数量的上限由装备的StdItems.DB字段决定。部分引擎使用Reserved字段存储最大孔数,部分引擎使用AniCount字段。开孔前需要先通过GetItemHoleCount命令读取装备的当前已开孔数量,与预设上限比较后才执行AddItemHole。

拆卸宝石使用RemoveItemGem命令,格式为RemoveItemGem 装备位置 孔位编号。拆卸后宝石返回背包,装备孔位保留但变为空置状态。拆卸过程通常不消耗材料,但部分版本中设有拆卸费用。

## 重铸系统与属性重置逻辑

重铸用于将装备的附加属性完全清零并重新生成。重铸对象包括武器、盔甲、头盔等主要装备部位。重铸后装备的附加属性被初始化为未鉴定状态,装备的强化等级和孔数保持不变,已镶嵌的宝石消失。

重铸命令的核心是ReclaimItem配合重新鉴定流程。ReclaimItem将装备的附加属性归零,随后调用引擎的鉴定命令重新生成随机属性。GOM引擎中的鉴定命令为ReItemInfo,执行后根据装备等级和品质生成一套全新的附加属性。

重铸脚本的典型结构如下:

[@重铸]
#IF
CHECKITEM 重铸石 1
CHECKGOLD 100000
#ACT
take 重铸石 1
take 金币 100000
ReclaimItem 1
ReItemInfo 1
SendMsg 6 重铸完成,装备属性已重置
#ELSEACT
MESSAGEBOX 重铸需要重铸石一个和10万金币。
break

ReclaimItem的参数1表示武器位置,执行后武器附加属性全部清除。紧随其后的ReItemInfo在同一位置重新生成属性。两条命令之间不要插入其他操作,否则可能导致属性生成失败。

## 天工开物NPC完整脚本框架

将精炼、宝石合成、打孔、重铸四个模块整合到同一NPC中,脚本框架如下:

[@main]
欢迎使用天工开物系统。
<精炼装备/@精炼>
<宝石合成/@宝石>
<装备打孔/@打孔>
<装备重铸/@重铸>
<离开/@exit>

[@精炼]
#IF
CHECKITEM 玄天神石(朱红) 1
CHECKITEM 项链 1
#ACT
goto @执行精炼
#ELSEACT
MESSAGEBOX 精炼需要玄天神石和可精炼的首饰装备。
break

[@执行精炼]
#ACT
take 玄天神石(朱红) 1
take 金币 50000
SendMsg 6 精炼开始,请稍候。
DELAYGOTO 2000 @精炼结果
break

[@精炼结果]
#IF
RANDOM 3
#ACT
SendMsg 6 精炼成功,装备属性提升。
#ELSEACT
SendMsg 6 精炼失败,神石已消耗。
break

该框架中精炼结果通过RANDOM命令手动实现,RANDOM 3表示约33%的成功概率。如果使用引擎内置的精炼成功机制,将RANDOM替换为引擎自带的精炼判定命令即可。

## 引擎兼容与DB字段对照

MaxM2引擎对天工开物系统的支持最为完整,精炼、宝石合成、打孔、重铸四个模块均包含在内置命令中。54MAX引擎同样支持完整的精炼和宝石体系,玄天神石的Shape值机制与MaxM2一致。GOM引擎需要依赖插件扩展实现宝石合成和盲盒宝石,核心的精炼和重铸功能可通过ReclaimItem配合引擎鉴定命令实现。GEE引擎的精炼命令参数与GOM存在差异,移植脚本时需将ReclaimItem替换为GEE专用的属性重置命令。

StdItems.DB中天工开物相关物品的关键字段集中在Shape和AniCount两项。玄天神石的Shape值控制品质类型,盲盒宝石的Shape值控制属性池范围,打孔材料的AniCount用于标识打孔目标装备的部位限制。新增天工开物物品时,先确认目标引擎中这两个字段的实际含义,避免字段冲突导致功能异常。

## 常见故障与排查顺序

精炼后装备属性没有变化,排查玄天神石的Shape值是否与引擎预期的品质编号一致。MaxM2和54MAX的Shape值从0开始编号,部分引擎的编号从1开始,Shape值不匹配时精炼命令会静默执行但不产生属性变化。

打孔命令执行后装备孔位没有增加,检查装备的StdItems.DB条目中是否已设置最大孔数字段。未设置该字段的装备被引擎视为不可打孔物品,AddItemHole命令会被忽略。

重铸后装备的强化等级丢失,说明ReclaimItem命令在目标引擎中的行为与预期不符。部分引擎的ReclaimItem会同时清除附加属性和强化等级,此时需要在重铸前先记录强化等级,重铸完成后通过引擎的强化命令恢复。宝石合成时材料被消耗但产物未发放,检查GetRandomName读取的文本文件编码是否为ANSI,以及文件路径是否指向引擎实际读取的目录。