AC专属引擎功能
装备属性扩展
AC封挂专属装备属性扩展系统,支持脚本动态设置装备属性、自定义描述来源,以及过期时间自动触发等高级功能。
装备属性扩展
装备属性扩展系统是 AC 封挂专属功能,允许通过脚本动态设置装备的属性、描述和来源信息。支持过期时间自动触发、装备出产自动标记等高级功能。
本功能仅 AC 客户端支持,需要配套 AC 游戏网关。
SetEquipProp — 设置装备属性
语法
SetEquipProp 物品ID 属性类型(1~31) 属性值 过期秒数(可选) @过期触发(可选)
参数说明
| 参数 | 说明 |
|---|---|
| 物品ID | 要设置的装备物品 ID |
| 属性类型 | 1~31,对应鉴定属性类型,详见 物品属性位置详解 |
| 属性值 | 属性数值 |
| 过期秒数 | 可选,默认 -1 永久,大于 0 为过期秒数 |
| @过期触发 | 可选,过期时触发 QF 的 [@过期触发] 字段 |
示例
#ACT
; 设置装备攻击、魔法、道术分别 +10000,不同过期时间
SetEquipProp <$PARAM(1)> 1 10000 10 @属性过期_AC
SetEquipProp <$PARAM(1)> 2 10000 15 @属性过期_MC
SetEquipProp <$PARAM(1)> 3 10000 20 @属性过期_SC
过期属性处理示例
[@属性过期_AC]
#ACT
; 获取物品属性描述
Mov S_tmp <$HASH(H_ItemMidDesc)<$PARAM(1)>>
; 清理属性
SetEquipProp <$PARAM(1)> 1 ""
; 去掉对应的属性描述
RegExReplace S_tmp "攻击 [0-9]+.*?\\" ""
; 更新属性描述
SetItemDesc <$PARAM(1)> <$STR(S_tmp)> 1
SetItemDesc — 设置物品描述
语法
SetItemDesc 物品ID 描述 位置(0前缀/1中间/2后缀)
参数说明
| 参数 | 说明 |
|---|---|
| 物品ID | 要设置描述的物品 ID |
| 描述 | 描述文字内容 |
| 位置 | 0 = 前缀,1 = 中间,2 = 后缀 |
描述格式
支持颜色、图片、倒计时等高级格式:
; 颜色
<字符串|c=clRed> ; 红色文字
<字符串|c=$4AD663> ; 自定义颜色
; 图片
<u~magic5|I=0 N=8 X=70 Y=90 W=60 H=140 F=160>
; magic5 = wzl文件名
; I = 索引
; N = 帧数
; X/Y = 偏移
; W/H = 宽高
; F = 帧间隔
; 倒计时(仅用于物品描述中)
<T~装备ID|P=1~31>
示例
#ACT
; 装备名称下加星星
SetItemDesc <$PARAM(1)> "<u~|I=754><u~|I=754><u~|I=754>" 0
; 设置来源描述(颜色+图片组合)
FormatStr "来源:<%s|c=clRed>\地图:<%s|c=$4AD663>\产者:<%s|c=$E9A000>\<物主:|c=clSkyBlue><%s|c=$5CF4FF>\<时间:%s|c=clLime>" <$PARAM(0)> <$PARAM(4)> <$PARAM(5)> <$PARAM(6)> <$PARAM(2)>
SetItemDesc <$PARAM(1)> <$CALCRESULT> 2
@ProduceItem — 物品出产触发
物品在出产时触发。需要在物品表的 RareItem 字段包含 128。
触发参数
| 变量 | 说明 |
|---|---|
<$PARAM(0)> | 来源 |
<$PARAM(1)> | 物品 ID |
<$PARAM(2)> | 时间 |
<$PARAM(3)> | 物品名 |
<$PARAM(4)> | 地图 |
<$PARAM(5)> | 出产者 |
<$PARAM(6)> | 物主 |
<$PARAM(7)> | 是否装备类物品(0/1) |
<$PARAM(8)> | 物品的 looks |
示例
[@ProduceItem]
#ACT
; 装备名称下加星星
SetItemDesc <$PARAM(1)> "<u~|I=754><u~|I=754><u~|I=754>" 0
; 设置来源描述
FormatStr "来源:<%s|c=clRed>\地图:<%s|c=$4AD663>" <$PARAM(0)> <$PARAM(4)>
SetItemDesc <$PARAM(1)> <$CALCRESULT> 2
不要大量设置物品的 RareItem 包含 128,防止系统压力过大!
AddShowItem — 添加展示物品
AddShowItem 物品ID
添加/刷新某物品 ID 的展示物品,之后可使用 $ITEM(物品ID) 实时展示。可用于装备属性变更后展示新属性的物品。
单独使用
$ITEM(XX) 只会在首次使用该物品 ID 时添加展示物品,不会强制刷新。如需实时刷新,请先调用 AddShowItem。配套 HASH 数据
建议服务器启动时加载以下 HASH 数据以实现持久化存储:
[@OnStart]
#ACT
; 加载物品描述数据
HASH H_ItemPreDesc Load ..\ItemData\ItemPreDesc.csv
HASH H_ItemPreDesc BGSave ..\ItemData\ItemPreDesc.csv
HASH H_ItemMidDesc Load ..\ItemData\ItemMidDesc.csv
HASH H_ItemMidDesc BGSave ..\ItemData\ItemMidDesc.csv
HASH H_ItemSufDesc Load ..\ItemData\ItemSufDesc.csv
HASH H_ItemSufDesc BGSave ..\ItemData\ItemSufDesc.csv
; 加载装备属性数据(1~31 属性类型)
#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_<$LoopCursor>.csv
#~FOR
注意事项
- 本功能仅 AC 客户端支持
- 需要配套 AC 游戏网关
- 不支持重叠物品设置描述
- 物品描述文字中不要带逗号
, - 当"描述"为空时将删除对应物品 ID 的描述
- 消耗品不建议添加物品描述
- RareItem=128 的物品不宜过多
- 引擎开启后不要手动读写
ItemData目录下的 CSV 文件
关联功能
- HASH 命令 — 数据持久化
- SetAbility — 倒计时系统
- 物品框系统 — 装备操作
- JSON 命令 — 复杂数据存储
相关阅读
- 装备来源、物品描述、装备加星、动态LOGO — 同类装备扩展功能
- 大背包系统 — 背包容量扩展
- AC封挂功能总览 — 各功能入口
