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=170 | u~后是调用的素材名,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 的图片
装备来源系统
配置步骤
- 物品 DB 配置:物品的
RareItem字段需包含128
RareItem 字段值累加规则:
1 = 怪物掉落通知
2 = 拾取触发
4 = 商铺购买通知
8 = 人物丢弃/死亡掉落触发
16 = 队伍拾取通知
32 = NPC商店买/卖商品触发
64 = 仓库存/取物品触发
128 = 物品来源
如需要全部功能:1+2+4+8+16+32+64+128 = 255
- 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
- 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
相关资源
- AC 封挂网关 — 常见外挂样本解析,遇到新挂不慌张
