AC专属引擎功能

装备来源、物品描述、装备加星、动态LOGO

使用 SetItemDesc 和 SetEquipProp 命令实现装备来源追溯、自定义物品描述、装备加星特效、动态 LOGO 徽标以及限时装备属性。

功能概述

AC 专属功能提供完整的装备信息展示体系,包括装备来源追溯、自定义物品描述、装备加星特效、动态 LOGO 徽标、限时属性等。所有功能必须搭配 AC 登录器 + AC 网关使用。

核心命令

SetItemDesc — 设置物品描述

SetItemDesc 物品ID 描述 位置
  • 物品ID:目标物品的 ID
  • 描述:描述文本,支持颜色、图片、字体等格式。为空时将删除对应物品 ID 的描述
  • 位置:0 = 前缀(装备名字下方),1 = 中间(属性下方),2 = 后缀(最底部)

SetEquipProp — 设置物品属性

SetEquipProp 物品ID 属性类型 属性值 过期秒数 @过期触发
  • 属性类型:1~31,对应鉴定属性类型
  • 属性值:属性数值
  • 过期秒数:可选,默认 -1 永久,大于 0 为过期秒数
  • @过期触发:可选,过期时触发 QF 对应标签
不要给非装备类物品执行 SetEquipProp,注意先判断是否为装备再附加属性。

物品描述文本格式

描述文字支持以下格式:

<主宰法靴|C=16777215 S=11 B=Bold>
参数说明
C颜色,支持 cl 开头颜色单词或纯数字颜色
S文字大小
B加粗(Bold)或下划线(Underline)
u~~ui_6|I=170u~后是调用的素材名,I 为图片序号
N帧数(图片数量)
X / Y图片偏移坐标
W / H指定宽度/高度
F播放间隔(毫秒)
\换行(必须在 > 后使用)

图片调用规则

  • u~|I=170:读取 ui1.wzl 中序号 170 的图片
  • u~~ui_6|I=170:读取 ~ui_6.wzl 中序号 170 的图片
  • u~magic|I=170:读取 magic.wzl 中序号 170 的图片

装备来源系统

配置步骤

  1. 物品 DB 配置:物品的 RareItem 字段需包含 128
RareItem 字段值累加规则:
1 = 怪物掉落通知
2 = 拾取触发
4 = 商铺购买通知
8 = 人物丢弃/死亡掉落触发
16 = 队伍拾取通知
32 = NPC商店买/卖商品触发
64 = 仓库存/取物品触发
128 = 物品来源

如需要全部功能:1+2+4+8+16+32+64+128 = 255
  1. QM 启动加载([@OnStart]):
[@OnStart]
#ACT
; 加载物品描述数据并设置后台自动保存
; H_ItemPreDesc/H_ItemMidDesc/H_ItemSufDesc 为系统保留标识,请勿占用
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. QF 产出触发([@ProduceItem]):
[@ProduceItem]
#ACT
; $PARAM(0) = 来源, $PARAM(1) = 物品ID, $PARAM(2) = 时间
; $PARAM(4) = 地图, $PARAM(5) = 出产者, $PARAM(6) = 物主
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 变量列表

变量含义
$PARAM(0)来源
$PARAM(1)物品 ID
$PARAM(2)时间
$PARAM(3)物品名
$PARAM(4)地图
$PARAM(5)出产者
$PARAM(6)物主
$PARAM(7)是否装备类物品(0/1)
$PARAM(8)物品的 Looks

装备加星特效

通过物品描述中的图片特效实现加星效果。以下为加星武器示例:

[@ProduceItem]
#IF
CompVal <$PARAM(3)> = 加星武器
#ACT
; 前缀:七彩老虎炫光 + 金色九颗星效果
SetItemDesc <$PARAM(1)> "<u~~ui_6|I=310 N=11 X=-52 Y=-80 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=-15 Y=-17 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=2 Y=-17 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=19 Y=-17 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=36 Y=-17 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=53 Y=-17 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=70 Y=-17 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=87 Y=-17 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=104 Y=-17 W=3 H=3 F=150><u~~ui_6|I=140 N=10 X=121 Y=-17 W=3 H=3 F=150>" 0

; 后缀:装备来源 + 动图效果 + 专属BUFF
FormatStr "<u~~ui_6|I=80 N=15 X=-5 Y=-5 W=134 H=21 F=100>\<来源:%s|c=$00FF00>\<地图:%s|c=$00FFFF>\<产者:%s|c=$00FF00>\<物主:%s|c=$00FFFF>\<时间:|c=$00FF00>%s" <$PARAM(0)> <$PARAM(4)> <$PARAM(5)> <$PARAM(6)> <$PARAM(2)>
SetItemDesc <$PARAM(1)> "<$CALCRESULT>\-\<u~~ui_6|I=190 N=12 X=-2 Y=-5 W=171 H=28 F=150>\<BUFF:|c=$00FFFF><[神仙技·血盾]|c=$FF00FF>\<特效:|c=$00FFFF><生命值额外暴涨|c=$00FF00><22%|c=$FFFF00>" 2

限时装备

使用 SetEquipProp 的过期参数实现限时属性:

[@ProduceItem]
#IF
CompVal <$PARAM(3)> = 限时武器
#ACT
; 设置攻击+50、魔法+50、道术+50、幸运+9,均为 3600 秒过期
SetEquipProp <$PARAM(1)> 1 50 3600 @限时属性过期
SetEquipProp <$PARAM(1)> 2 50 3600
SetEquipProp <$PARAM(1)> 3 50 3600
SetEquipProp <$PARAM(1)> 9 9 3600

; 显示限时属性倒计时
FormatStr "\-<u~~ui_6|I=100 N=15 X=-5 Y=-5 W=134 H=21 F=100>\%-13s <剩余|c=clLime>%s\%-13s <剩余|c=clLime>%s\%-13s <剩余|c=clLime>%s\%-27s <剩余|c=clLime>%s" "攻击 50-50" "<T~<$PARAM(1)>|P=1 c=clLime>" "魔法 50-50" "<T~<$PARAM(1)>|P=2 c=clLime>" "道术 50-50" "<T~<$PARAM(1)>|P=3 c=clLime>" "<幸运 +9|c=$00EFD68C>" "<T~<$PARAM(1)>|P=9 c=clLime>"
SetItemDesc <$PARAM(1)> <$CALCRESULT> 1

; QF 过期处理
[@限时属性过期]
#ACT
Mov S_tmp <$HASH(H_ItemMidDesc)<$PARAM(1)>>
SetEquipProp <$PARAM(1)> 1 ""
RegExReplace S_tmp "攻击 [0-9]+.*?\\" ""
RegExReplace S_tmp "魔法 [0-9]+.*?\\" ""
RegExReplace S_tmp "道术 [0-9]+.*?\\" ""
RegExReplace S_tmp "<幸运 \+[0-9]*.*?\\" ""
INC S_tmp 限时属性已过期\
SetItemDesc <$PARAM(1)> <$STR(S_tmp)> 1

其中 <T~装备ID|P=属性类型 c=clLime> 为属性倒计时格式,仅用于物品描述中。

动态 LOGO 徽标

通过 client.ini 的 [装备徽标] 段配置装备底部动态 LOGO:

[装备徽标]
; 装备底部支持动态LOGO
图片库=~ui_6
起始编号=23
数量=20
播放间隔=100
横向微调=0
纵向微调=0
高度微调=-20
普通物品显示=1
装备动态 LOGO 对所有装备生效。如需安装备类型区分,可通过脚本 SetItemDesc 单独添加图片特效。

英雄装备操作

对英雄执行物品描述和属性设置时,需加 h. 前缀:

h.SetItemDesc <$PARAM(1)> <$CALCRESULT> 2
h.SetEquipProp <$PARAM(1)> 1 100

属性刷新

如需刷新已有物品的附加属性,可使用 Hash 获取现有描述,清除旧属性后再添加:

#ACT
; 获取当前中间描述
Mov S物品来源 <$HASH(H_ItemMidDesc)<$PARAM(1)>>
; 清除旧的附加属性分隔
StringReplace S物品来源 \<----------------------------------|c=clskyblue> #
StrTok S物品来源 S物品来源分解 #
; 重新添加属性
SetEquipProp <$PARAM(1)> 1 100
Inc S物品来源分解 \<----------------------------------|c=clskyblue>\附加属性\
Inc S物品来源分解 附加攻击:<$HASH(H_ItemProp_1)<$PARAM(1)>>\
SetItemDesc <$PARAM(1)> <$STR(S物品来源分解)> 1

相关阅读