传奇46类宝石镶嵌与拆卸全套功能配置教程
本文详细讲解传奇服务端中46类道具核心功能,包含宝石镶嵌规则、拆卸道具使用、全套脚本命令、QF触发机制及错误码说明,适配996引擎,帮助开发者快速完成宝石系统配置调试。一、46类宝石镶嵌核心配置(stdmode=46,shape=3)46类宝石为专属镶嵌类道具,核心通过stdmode、shape双参…
本文详细讲解传奇服务端中46类道具核心功能,包含宝石镶嵌规则、拆卸道具使用、全套脚本命令、QF触发机制及错误码说明,适配996引擎,帮助开发者快速完成宝石系统配置调试。
一、46类宝石镶嵌核心配置(stdmode=46,shape=3)
46类宝石为专属镶嵌类道具,核心通过stdmode、shape双参数判定功能类型,图标显示、宝石返还规则由Anicount、Reserved参数控制,具体配置规则如下:
1.1 图标显示参数Anicount配置
Anicount参数决定宝石镶嵌后的界面图标读取逻辑,共3种取值模式:
Anicount=0:镶嵌后读取Source0-4图标资源,展示5种不同颜色镶嵌宝石,依赖必备补丁NewopUI.PAK,资源路径对应补丁内301~305编号位置;
Anicount=1:镶嵌后图标调用装备looks字段,读取背包Items素材文件资源;
Anicount=2:镶嵌后图标关联looks字段,读取内观StateItem素材文件资源。
1.2 宝石拆卸返还参数Reserved配置
该参数控制宝石拆卸后的归属规则,仅针对46类镶嵌宝石生效:
Reserved=0:拆卸装备宝石后,宝石原样归还至玩家背包;
Reserved>0:拆卸装备宝石后,宝石直接销毁,不返还玩家。
1.3 宝石镶嵌操作规则
操作方式:右键点击背包内宝石道具,再点击带有镶嵌凹槽的目标装备即可完成镶嵌;
适配范围:支持玩家装备栏中已穿戴的装备,无需卸下装备即可操作;
判定逻辑:目标装备凹槽数量不足时直接判定镶嵌失败,无论镶嵌成功或失败,均会触发服务端QF脚本事件。
二、46类宝石拆卸道具配置(stdmode=46,shape=9)
同属46类道具分类,shape=9专属定义为宝石拆卸道具,独立实现装备宝石拆分功能,操作流程与镶嵌道具区分管控。
2.1 道具基础属性
道具标识:stdmode=46、shape=9,引擎自动识别为拆卸专用道具,不会与镶嵌宝石功能冲突。
2.2 拆卸操作流程
第一步:右键点击背包内的拆卸道具,鼠标光标自动切换为锤子专属状态;
第二步:左键点击需要拆解宝石的目标装备,弹出专用拆卸交互界面;
第三步:点击界面格子中已镶嵌的宝石,即可完成拆卸,最终宝石归属由装备Reserved参数决定。
三、宝石系统全套脚本命令详解
以下为传奇引擎原生宝石相关脚本命令,支持人物宝石统计、装备孔位管控、宝石增删检测等功能,所有命令可直接写入QF/QM脚本调用。
3.1 人物全身宝石数量获取
命令格式:GetStoneCount 宝石名称 变量(宝石名称填写*可匹配全部宝石)
脚本示例:
#if
#act
GetStoneCount * N10
SENDMSG 6 你的身上所有宝石共有宝石:<$STR(N10)>
GetStoneCount 攻击青宝石(初级) N10
SENDMSG 6 你的身上【攻击青宝石(初级)】共有宝石:<$STR(N10)>
3.2 指定装备宝石数量获取
命令格式:GetItemStoneCount 装备位置 宝石名称 变量(宝石名称*为全局匹配)
脚本示例:
[@获取装备宝石数量命令]
#if
#act
GetItemStoneCount 1 * N10
SENDMSG 6 你的【<$WEAPON>】上面共有宝石:<$STR(N10)>
GetItemStoneCount 1 攻击青宝石(初级) N10
SENDMSG 6 你的【<$WEAPON>】上面共有【攻击青宝石(初级)】:<$STR(N10)>
3.3 装备打孔管控命令
批量打孔:SETFLUTECOUNT 位置 数量,直接修改目标装备的凹槽总数量;
打孔检测:CheckFluteCount 位置 比较符 数量,判定装备当前打孔数是否满足条件。
3.4 宝石数量检测命令
装备镶嵌数检测:CheckItemStoneCount 装备位置 比较符 数量,检测单件装备已镶嵌宝石总数;
指定宝石检测(单件装备):CheckItemHasStone 装备位置 宝石名称 数量,判定装备是否镶嵌指定数量目标宝石;
指定宝石检测(人物全身):CheckStoneCount 宝石名 比较符 数量,统计全身装备指定宝石镶嵌总量。
3.5 宝石增删进阶命令
取下返还宝石:ItemoffStone 装备位置 孔位置,删除指定孔位宝石并返还背包,孔位范围0-9;
指定位置镶嵌:ItemAddStone 装备位置 宝石名 孔位置,无需玩家背包有宝石,0或空为自动匹配空孔,0-9为指定孔位;
删除不返还宝石:ItemDelStone 装备位置 孔位置,删除指定孔位宝石,宝石销毁、孔位保留;
批量关闭打孔:CloseItemFlute 装备位置 关闭数量,关闭对应数量凹槽,注:关闭后原有镶嵌宝石及全部属性永久消失。
四、QF脚本触发事件与参数说明
宝石所有交互行为均会触发QF专属标签,可通过标签编写奖惩逻辑、弹窗提示、属性加成等扩展功能,支持STOP指令阻断原生行为。
4.1 核心交互触发标签
镶嵌触发:[@ClientGemAdd],触发参数:<$param1>=宝石名称、<$param2>=宝石唯一ID、<$param3>=镶嵌孔序号、<$param4>=装备唯一ID,支持STOP阻止镶嵌;
取下触发:[@ClientGemDel],触发参数:<$param1>=宝石名称、<$param2>=宝石唯一ID、<$param3>=镶嵌孔序号、<$param4>=装备唯一ID,支持STOP阻止取下。
4.2 结果反馈触发标签
[@SetSuccessGem] 镶嵌成功、[@OutSuccessGem] 取下成功;
[@SetFailGem] 镶嵌失败、[@OutFailGem] 取下失败;
失败标签通用参数:<$param1>=宝石名称、<$param2>=装备唯一ID、<$param3>=失败返回ID。
五、宝石功能失败返回ID对照表
5.1 镶嵌失败返回ID
-1:孔位编号超出0-9合法范围;
-999:目标镶嵌装备不存在;
-998:目标孔位未开孔或已存在镶嵌宝石;
-995:用于镶嵌的宝石类型与装备孔位不匹配。
5.2 取下失败返回ID
-997:目标孔位未开孔或无已镶嵌宝石;
-993:拆卸道具与目标宝石类型不匹配;
-991:待取下的宝石类型校验异常。


