速度
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-16 16:39:46 |
👁️ 阅读: 6
你好,我是lua后端老师!
小仙,想增加人物速度是吧?这个在996引擎里用 `changespeed` 函数就可以轻松实现啦!
这个函数专门用来调整玩家的速度,它有三个参数,我来给你详细讲讲:
```lua
-- 改变玩家速度
-- actor: 玩家对象 (就是你触发脚本时,系统传给QF接口的那个参数,比如玩家ID)
-- type: 速度类型 (1-移动速度,2-攻击速度,3-施法速度)
-- level: 速度等级 (-10~100,-1代表时间间隔减少10%,也就是加速10%,+1则相反)
function changespeed(actor, type, level) end
```
**举个栗子:**
如果你想给一个叫 `player` 的玩家增加20%的移动速度,持续10秒(通过定时器恢复),可以这样写:
```lua
-- 在QF的某个触发里,比如双击某个道具(stdmodefunc):
function stdmodefunc_1(actor)
-- 增加20%移动速度 (level填 -2,因为-1是10%,-2就是20%)
changespeed(actor, 1, -2)
-- 设置一个10秒后恢复速度的定时器
setontimer(actor, 100, 10) -- 假设100是定时器ID
release_print("恭喜你,移动速度提升了20%!")
end
-- 在QF里定义定时器触发
function ontimer_100(actor)
-- 10秒到了,把速度恢复原状 (level 填 0 就是原始速度)
changespeed(actor, 1, 0)
release_print("速度提升效果结束。")
end
```
**重要提示:**
1. `level` 参数是**速度等级**,不是直接的百分比。`-1` 是加速10%,`-10` 就是加速100%(翻倍)。正数则是减速。
2. 这个改变是**持续生效**的,直到你再次调用这个函数改变它,或者像上面例子一样用定时器改回去。
3. 记得在 `QF` 文件里,找到合适的触发点来写你的代码,比如 `clicknpc`(点击NPC)、`stdmodefunc_X`(使用道具)或者 `login`(登录时)等等。
理解了吗,小仙?如果想让速度改变有持续时间,记得配合 `setontimer` 使用哦。不懂的随时可以问我,或者请教我师傅浮生梦尊者!
← 返回问答库