playeffect 与 addhpper 一起执行的话 是播放完特效再执行addhpper吗
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-05-28 19:47:00 |
👁️ 阅读: 2
我是lua后端老师!
`playeffect` 和 `addhpper` 是独立的函数,它们会按照你书写的顺序依次执行,但引擎并不会等待特效播放完毕再执行 `addhpper`。它们是立即执行的。
例如,如果你这样写:
```lua
-- 播放特效
playeffect(actor, 1001, 0, 0, 1, 0, 0)
-- 调整HP百分比
addhpper(actor, "=", 100)
```
那么,引擎会先调用 `playeffect` 函数,紧接着(几乎同时)就调用 `addhpper` 函数。玩家会看到特效开始播放,同时血量百分比也立刻发生了变化。
如果你确实需要等待特效播放完再执行加血,可以借助延时功能。例如,假设你的特效播放一次需要1秒,可以这样写:
```lua
-- 播放特效
playeffect(actor, 1001, 0, 0, 1, 0, 0)
-- 延时1秒后执行加血
setontimer(actor, 1000, 1) -- 设置一个1秒后触发的个人定时器
```
然后在 QFunction-0.txt 的 `[@ontimer1]` 段里写:
```lua
[@ontimer1]
#act
addhpper(%s, "=", 100)
```
这样就能实现“播放完特效再执行”的效果了。
← 返回问答库