角色与英雄
设置自身效果
按位置、数值和持续时间设置临时效果或计时属性。
命令名
SetAbility 支持英雄 H.、目标 T.
命令用途
SetAbility 用于给当前人物设置临时效果、扩展属性或计时型状态。
调用格式
SetAbility <位置> <数值> <持续秒数> [提示字符] [特效ID] [特效参数]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
位置 | 是 | 效果或计时位。完整编号、区间用途和清理关键字可参考 SetAbility 位置表。 |
数值 | 是 | 写入该位置的数值。不同位置代表的含义不同,例如 50 表示破盾几率,400~407 表示扩展属性值。 |
持续秒数 | 是 | 效果持续时间,单位为秒。传入 0 时,不更新现有设置,也不触发 @SetAbility_xx。 |
提示字符 | 否 | 效果结束时显示的提示文本,传入 "" 时表示不提示。 |
特效ID | 否 | 自身效果 ID,对应客户端 AbilityEffects.txt 里的条目。 |
特效参数 | 否 | 特效附加参数,1 表示特效只发送给自己。 |
返回或影响
- 这是执行型命令,会直接设置或更新指定的能力效果。
- 赋值时会触发
[@SetAbility_ID],属性过期后会触发[@ResetAbility_ID]。 - 部分计时型效果支持通过
持续秒数 = -1暂停或恢复倒计时,并触发[@SuspendAbility_ID]/[@ResumeAbility_ID]。
示例
基础用法
#ACT
SetAbility 10 15 30 "暴击附加属性恢复正常。"
这段写法会在位置 10 设置数值 15,持续 30 秒,到期后提示对应文本。
常见变体
#ACT
SetAbility 51 80 15 "" 1 1
这段写法会在位置 51 设置一个持续 15 秒的效果,并播放只发给自己的自身特效。
#ACT
T.SetAbility 24 1 5
这段写法会给当前目标附加一个持续 5 秒的禁止移动效果。
显示剩余时间
<ACD=ID> 用于把 SetAbility 指定位置的剩余时间直接显示出来。
| 写法 | 含义 | 说明 |
|---|---|---|
<ACD=ID> | 显示剩余时间 | 按 SetAbility 的位置或全局计时 ID 显示当前倒计时。 |
<ACD=ID{...}> | 带显示参数的剩余时间 | 在基础倒计时后补显示参数,用于界面或文本呈现控制。 |
常见写法
#ACT
SetAbility 500 10 300 "双倍活动已结束。"
#SAY
双倍活动剩余时间:<ACD=500{C=#$00FC7C}>
使用说明
<ACD=ID>更适合显示给玩家看,不适合代替脚本条件判断。- 如果你要判断剩余秒数、暂停状态或是否存在,优先改用
<$ABILTTL位置>。 500~600这类全局计时位是高频用法,适合配合公告、活动入口和状态面板显示剩余时间。
注意事项
SetAbility的位置值含义差异很大,填写前要先确认当前 ID 对应的是固定效果、计时位还是扩展属性。500~600是全局计时 ID,这类 ID 不支持特效。- 英雄不允许通过
SetAbility 20使用 GM 隐身,部分效果的英雄支持也与引擎版本有关,使用前要按当前版本验证。 - 使用
T.SetAbility前,要先确认当前脚本上下文里已经存在可操作的目标。
