传奇3K引擎装备发光脚本:SETITEMEFFECT穿戴触发与清除配置

来源: 作者: 点击:
3K引擎下装备发光主要依靠SETITEMEFFECT命令实现,脚本负责检测玩家是否穿戴指定装备,再对对应装备位设置特效编号。特效本身需要先在M2引擎中编辑好,脚本只负责绑定和触发。

一、核心命令说明

SETITEMEFFECT 装备位置 特效编号

装备位置常用取值:
-1 升级框中的装备
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 左戒指
10 腰带
11 鞋子
12 宝石
16 盾牌
18 时装衣服
19 时装武器

特效编号为M2引擎中已编辑好的光效ID,0表示清除该位置发光效果。英雄装备发光通常使用H.SETITEMEFFECT。

二、穿戴触发发光脚本

文件路径:
Mir200EnvirMapQuest_defQFunction-0.txt

[@PlayLevelUp]
[@TakeOn]
IF
CHECKITEMW 屠龙
ACT
SETITEMEFFECT 1 1
BREAK

IF
CHECKITEMW 嗜魂法杖
ACT
SETITEMEFFECT 1 2
BREAK

IF
CHECKITEMW 逍遥扇
ACT
SETITEMEFFECT 1 3
BREAK

IF
CHECKITEMW 圣战宝甲
ACT
SETITEMEFFECT 0 4
BREAK

IF
CHECKITEMW 法神披风
ACT
SETITEMEFFECT 0 5
BREAK

IF
CHECKITEMW 天尊道袍
ACT
SETITEMEFFECT 0 6
BREAK

[@TakeOff]
IF
CHECKITEMW 屠龙
ELSEACT
SETITEMEFFECT 1 0

IF
CHECKITEMW 嗜魂法杖
ELSEACT
SETITEMEFFECT 1 0

IF
CHECKITEMW 逍遥扇
ELSEACT
SETITEMEFFECT 1 0

IF
CHECKITEMW 圣战宝甲
ELSEACT
SETITEMEFFECT 0 0

IF
CHECKITEMW 法神披风
ELSEACT
SETITEMEFFECT 0 0

IF
CHECKITEMW 天尊道袍
ELSEACT
SETITEMEFFECT 0 0

[@PlayLogin]
IF
CHECKITEMW 屠龙
ACT
SETITEMEFFECT 1 1

IF
CHECKITEMW 嗜魂法杖
ACT
SETITEMEFFECT 1 2

IF
CHECKITEMW 逍遥扇
ACT
SETITEMEFFECT 1 3

IF
CHECKITEMW 圣战宝甲
ACT
SETITEMEFFECT 0 4

IF
CHECKITEMW 法神披风
ACT
SETITEMEFFECT 0 5

IF
CHECKITEMW 天尊道袍
ACT
SETITEMEFFECT 0 6

穿戴触发放在@TakeOn,卸下清除放在@TakeOff,上线补发放在@PlayLogin。这样玩家换装备、重登后发光状态不会错乱。

三、多部位同时发光

如果套装需要多个部位同时发光,可连续检测。

[@TakeOn]
IF
CHECKITEMW 圣战头盔
CHECKITEMW 圣战项链
CHECKITEMW 圣战手镯
CHECKITEMW 圣战戒指
CHECKITEMW 圣战宝甲
ACT
SETITEMEFFECT 4 10
SETITEMEFFECT 3 10
SETITEMEFFECT 5 10
SETITEMEFFECT 6 10
SETITEMEFFECT 7 10
SETITEMEFFECT 8 10
SETITEMEFFECT 0 11
SENDMSG 7 圣战套装发光效果已激活。
BREAK

[@TakeOff]
IF
ACT
SETITEMEFFECT 4 0
SETITEMEFFECT 3 0
SETITEMEFFECT 5 0
SETITEMEFFECT 6 0
SETITEMEFFECT 7 0
SETITEMEFFECT 8 0
SETITEMEFFECT 0 0

套装发光建议在卸下任意部件时统一清除,避免残留光效。

四、升级框装备发光

强化、合成、鉴定类界面中,若玩家通过升级框操作装备,可用-1位置设置发光。

[@UpgradeSuccess]
IF
ACT
SETITEMEFFECT -1 20
SENDMSG 7 装备强化成功,已附加发光效果。

该方式只对升级框当前选中装备生效,若需要永久发光,仍需在穿戴时通过@TakeOn重新绑定到对应装备位。

五、英雄装备发光

英雄穿戴装备发光使用H.SETITEMEFFECT,参数位置与主角色相同。

[@HeroTakeOn]
IF
ACT
H.SETITEMEFFECT 1 1
SENDMSG 7 英雄武器已附加发光效果。

英雄发光脚本通常放在英雄穿戴、召唤或上线触发段落中,具体触发标签需按3K引擎当前版本支持调整。

六、清除发光脚本

清除发光时,特效编号写0即可。

[@ClearEffect]
IF
ACT
SETITEMEFFECT 0 0
SETITEMEFFECT 1 0
SETITEMEFFECT 3 0
SETITEMEFFECT 4 0
SETITEMEFFECT 5 0
SETITEMEFFECT 6 0
SETITEMEFFECT 7 0
SETITEMEFFECT 8 0
SETITEMEFFECT 10 0
SETITEMEFFECT 11 0
SETITEMEFFECT 16 0
SENDMSG 7 当前装备发光效果已清除。

七、部署步骤

打开3K引擎M2,进入物品特效或装备特效设置,编辑需要的光效并记录特效编号。
确认客户端已包含对应特效资源,避免服务器设置后客户端不显示。
在QFunction-0.txt中添加@TakeOn、@TakeOff、@PlayLogin触发脚本。
若使用套装发光,补充套装检测和清除逻辑。
若版本支持英雄发光,单独配置H.SETITEMEFFECT。
重载脚本后进入游戏测试穿戴、卸下、重登、换装是否正常。

八、注意事项

特效编号必须在M2引擎中预先编辑,脚本无法凭空生成光效。

SETITEMEFFECT只控制穿戴位置发光,不等同于物品数据库中的Shine字段。

装备名称必须与Stditem.db一致,否则CHECKITEMW无法正确检测。

卸下和上线清理必须成对配置,否则玩家换装备后可能出现旧光效残留。

不同3K版本对触发标签支持可能不同,若@TakeOn、@TakeOff不生效,可改为在NPC中手动触发发光。

客户端补丁文件需与服务端一致,否则会出现服务器已设置但客户端无显示的情况。