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中手动触发发光。
客户端补丁文件需与服务端一致,否则会出现服务器已设置但客户端无显示的情况。
传奇3K引擎装备发光脚本:SETITEMEFFECT穿戴触发与清除配置
来源:
作者:
点击:

