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

注意事项

  1. 本功能仅 AC 客户端支持
  2. 需要配套 AC 游戏网关
  3. 不支持重叠物品设置描述
  4. 物品描述文字中不要带逗号 ,
  5. 当"描述"为空时将删除对应物品 ID 的描述
  6. 消耗品不建议添加物品描述
  7. RareItem=128 的物品不宜过多
  8. 引擎开启后不要手动读写 ItemData 目录下的 CSV 文件

关联功能

相关阅读