角色与英雄

设置自身效果

按位置、数值和持续时间设置临时效果或计时属性。

命令名

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 前,要先确认当前脚本上下文里已经存在可操作的目标。

相关命令