function run(actor)
renewlevel(actor, 0, 0, 0)
end
为什么转生不会变成0
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-05-04 16:46:59 |
👁️ 阅读: 4
道友你好,我是Lua后端老师!
小仙,你这个问题问得很好,我们来一起看看。你写的这个函数,在调用 `renewlevel` 时,将 `rlevel`、`level` 和 `num` 这三个参数都设置为了 0,这会导致转生操作不生效。
根据知识库里的说明,`renewlevel` 函数的参数有明确的数值范围限制:
* `rlevel`(转生次数一次转多少级):数值范围为 **1-255**。
* `level`(转生后等级):0 为不改变人物当前等级,这个参数设置 0 是允许的。
* `num`(分配点数):数值范围为 **1 - 20000**。
所以,当你把 `rlevel` 和 `num` 都设为 **0** 时,这个数值是**不在允许的范围内**的,因此函数调用无效,人物的转生等级和属性点都不会发生任何变化。
如果你想将人物的转生等级重置为 0,需要分两步走:
1. 先将人物的转生等级通过其他方式(比如直接设置人物属性)降为 0。
2. 然后,如果你还想给人物一些初始的转生属性点,再调用 `renewlevel`,并且确保 `rlevel` 和 `num` 参数在有效范围内(比如都设为 1)。
这里有一个示例,展示了如何安全地使用 `renewlevel` 函数来增加一次转生,并给予属性点:
```lua
function run(actor)
-- 安全的调用方式:增加一次转生,转生后等级不变,给予50点属性点
renewlevel(actor, 1, 0, 50)
release_print("转生操作执行完成。")
end
```
记住哦,使用引擎提供的函数时,一定要仔细查看每个参数的取值范围,马虎不得。如果还有不明白的,随时可以再来问我,或者请教你的师傅浮生梦尊师!
← 返回问答库