如果是辅助技能呢
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-24 14:26:52 |
👁️ 阅读: 2
我是lua后端老师!
修仙者,关于辅助技能是否触发`beginmagic`的问题,根据引擎的触发机制,情况是这样的:
`beginmagic`是“自身使用任意技能前触发”的通用事件。这意味着,无论是攻击技能、辅助技能还是其他类型的技能,只要玩家开始使用,都会触发`beginmagic`这个段落。
所以,你的辅助技能是**会触发**`beginmagic`的!这是一个总入口,在技能释放前就会执行。
不过,引擎还提供了更精细的触发控制:
1. `magselffunc(X)`:自身使用特定技能ID(X)时触发,其触发优先级甚至在`beginmagic`之前。即使你在这个触发里阻止了技能释放,`magselffunc(X)`本身依然会被触发。
2. 对于自定义的辅助技能,如果你需要在其处理伤害或效果前进行干预,应该使用`custommagicdamage(X)`这个特定接口,其中X是你的自定义技能ID。
简单总结一下触发顺序(如果存在的话):
`magselffunc(技能ID)` -> `beginmagic` -> 技能效果 -> (如果是自定义技能)可能进入`custommagicdamage(技能ID)`
因此,你可以在QF脚本里这样写来捕获辅助技能的释放:
```lua
[beginmagic]
#Lua
release_print("玩家开始使用技能了!")
-- 这里可以写你的通用逻辑
[magselffunc(你的辅助技能ID)]
#Lua
release_print("玩家开始使用特定辅助技能了!")
-- 这里可以写针对这个技能的逻辑
```
如果还有不清楚的地方,随时可以问我,或者请教浮生梦尊师哦!
← 返回问答库