在传奇版本制作与脚本开发中,装备穿脱触发是定制游戏玩法、装备属性、提示信息的核心基础功能。合理运用装备穿戴、脱下触发脚本,可实现装备专属提示、属性动态变更、位置判定管控等个性化功能。本文整理全套正版传奇装备穿脱触发脚本,包含人物、英雄、前置/后置全场景代码,无冗余语句,可直接复制导入版本使用。
该组脚本为装备穿脱后置触发,玩家或英雄完成穿戴、脱下动作后立即执行指令,适用于弹出提示、记录数据、触发基础buff等常规场景,是版本开发中最常用的基础脚本。
覆盖人物所有装备位置,穿戴/脱下任意装备即时推送装备位置、名称、唯一ID信息,区分系统提示频道,适配不同展示需求。
[@TakeOnEx]
#ACT
SENDMSG 6 人物穿戴装备,位置<$CURRTAKETEMPOS>,物品<$CURRTEMNAME>(<$G_CURRTEMNAME>),ID<$CURRTEMMAKEINDEX>
[@TakeOffEx]
#ACT
SENDMSG 6 人物脱装备,位置<$CURRTAKETEMPOS>,物品<$CURRTEMNAME>(<$G_CURRTEMNAME>),ID<$CURRTEMMAKEINDEX>
专属针对英雄角色生效,触发逻辑与人物端一致,独立区分英雄装备数据,避免人物与英雄数据混淆。
[@HeroTakeOnEx]
#ACT
SENDMSG 6 英雄穿装备,位置<$CURRTAKETEMPOS>,物品<$CURRTEMNAME>(<$G_CURRTEMNAME>),ID<$CURRTEMMAKEINDEX>
[@HeroTakeOffEx]
#ACT
SENDMSG 6 英雄脱装备,位置<$CURRTAKETEMPOS>,物品<$CURRTEMNAME>(<$G_CURRTEMNAME>),ID<$CURRTEMMAKEINDEX>
人物穿戴/脱下任意装备组合触发场景中,系统固定触发顺序为先执行脱装备逻辑,后执行穿装备逻辑,编写联动脚本时需遵循该顺序规避逻辑冲突。优化后的精简提示版脚本如下,适配简洁版版本提示体系:
[@TakeOnEx]
#ACT
SENDMSG 6 人物穿装备,位置:<$CURRTAKETEMPOS>,物品名称:<$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
[@TakeOffEx]
#ACT
SENDMSG 0 人物脱装备,位置:<$CURRTAKETEMPOS>,物品名称:<$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
前置触发指装备穿戴、脱下动作完成前执行的脚本,可用于预判装备信息、拦截非法装备、前置校验属性等进阶玩法,分为指定位置触发与全位置通用触发两类。
脚本标识中X代表固定装备位置,仅针对指定位置装备生效,精准管控单一部位装备穿脱前置逻辑。
重要注意事项:脱装备前置触发阶段,装备既不在人物身上也不在背包中,禁止关联装备属性读取、修改等操作,会出现数据读取失效问题。
示例(0号位置=衣服部位):
[@TakeOnBefore0]
#ACT
SENDMSG 6 当前即将穿上的是衣服,物品名称:<$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
[@TakeOffBefore0]
#ACT
SENDMSG 6 当前即将脱下来的是衣服,物品名称:<$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
通用型前置触发,可通过条件判定筛选装备位置,无需单独编写单个位置脚本,大幅简化多部位管控代码量。以下为衣服位置通用判定示例:
[@TakeOnBeforeEX]
#IF
EQUAL <$CURRTAKETEMPOS> 0
#ACT
SENDMSG 6 当前即将穿上的是衣服,物品名称:<$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
[@TakeOffBeforeEX]
#IF
EQUAL <$CURRTAKETEMPOS> 0
#ACT
SENDMSG 6 当前即将脱下来的是衣服,物品名称:<$CURRTEMNAME>,唯一ID:<$CURRTEMMAKEINDEX>
1. 脚本导入:将所有代码复制至传奇版本MirServer目录下的QuestDiary自定义文本中,重启引擎即可生效,无兼容性限制;
2. 变量说明:<$CURRTAKETEMPOS>为装备位置变量,<$CURRTEMNAME>为物品名称变量,<$CURRTEMMAKEINDEX>为装备唯一ID变量,引擎原生支持无需自定义定义;
3. 频道区分:SENDMSG 6为黄色弹窗提示,SENDMSG 0为普通聊天栏提示,可根据展示需求自由切换。