装备与物品

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 ""

相关命令