装备与物品
SetEquipProp
为装备设置附加属性(属性类型 1~31),支持过期秒数与到期触发,可用来做限时属性或限时装备,AC 封挂专属。
命令用途
SetEquipProp 用于给装备设置附加属性(隐藏属性,不在装备面板直接显示),支持过期时间与到期自动触发,常用于限时属性、限时装备、物品来源展示等场景。
不要给非装备类物品使用
SetEquipProp。执行前应先判断物品是否为装备;对英雄装备操作时,命令前需要加 h. 前缀(如 h.SetEquipProp)。命令名
SetEquipProp
调用格式
SetEquipProp 物品ID 属性类型(1~31) 属性值 [过期秒数] [@过期触发]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
物品ID | 是 | 装备的物品 ID,可从拾取触发 $PARAM(0)、GetEquipProps 等途径获取 |
属性类型 | 是 | 范围 1~31,类型对应的属性参考鉴定属性 |
属性值 | 是 | 要设置的属性数值;写 "" 表示清除该属性 |
过期秒数 | 否 | 默认 -1 表示永久;大于 0 表示该属性在指定秒数后过期 |
@过期触发 | 否 | 属性过期时触发 QFunction 的对应段,类似 Hash 的 Set 子命令 |
使用前置条件
H_ItemProp_1.csv 到 H_ItemProp_36.csv 为物品附加属性系统文件(名称不可更改,H_ItemProp_1~31 为系统保留标识请勿占用),需要在 QM 的 [@OnStart] 中加载并开启后台自动保存:
[@OnStart]
#act
#for (M_cur = 1, M_cur < 32, M_cur + 1)
#if
#act
Hash H_ItemProp_<$STR(M_cur)> Load ..\ItemData\ItemProp_<$STR(M_cur)>.csv
Hash H_ItemProp_<$LoopCursor> BGSave ..\ItemData\ItemProp_<$STR(M_cur)>.csv
#~for
任意脚本设置的属性值,要客户端看到展示效果,需结合 SetItemDesc 使用。
示例
基础用法:给装备附加三项属性
比如给物品 ID 为 888 的装备,属性位置 1(攻击)、2(魔法)、3(道术)各加上 100 点并在装备上显示:
#act
SetEquipProp <$PARAM(0)> 1 100
SetEquipProp <$PARAM(0)> 2 100
SetEquipProp <$PARAM(0)> 3 100
限时属性:到期自动消失
设置装备攻击、魔法、道术各 +10000,并使用不同的过期时间;过期后触发 QF 中对应的处理段:
#if
#act
SetEquipProp <$PARAM(1)> 1 10000 10 @属性过期_AC
SetEquipProp <$PARAM(1)> 2 10000 15 @属性过期_MC
SetEquipProp <$PARAM(1)> 3 10000 20 @属性过期_SC
每种属性的倒计时格式为 <T~装备ID|P=1~31>,其中 P= 是装备属性类型,仅用于物品描述中。配合 FormatStr 与 SetItemDesc 即可在装备上显示剩余时间。
过期时间查询与属性清理
; 用 HASH 命令获取该装备的过期时间
Hash H_ItemProp_1 GetE 物品ID M1
SENDMSG 0 攻击【<$HASH(H_ItemProp_1)物品ID>】将于<$STR(M1)>秒过期
; 清除属性(属性值写 "")
SetEquipProp <$PARAM(1)> 1 ""
相关资源
- 蓝海数据库编辑器 — 多库同开对比编辑,合区数据轻松核对
相关命令
- SetItemDesc — 设置物品描述
- GetEquipProps — 获取装备属性
- RefItemShape — 引用外观
- 装备属性扩展
- 物品描述个性化
