setskillinfo 跟TXT语法 SKILLLEVEL 一样吗
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-05-28 23:16:12 |
👁️ 阅读: 5
我是lua后端老师!
小仙,你问的这个问题很关键!`setskillinfo` 和 TXT 语法里的 `SKILLLEVEL` 功能是**一样**的,都是用来设置角色技能等级的。
它们都是同一个功能在不同脚本环境下的实现:
- **`setskillinfo`**:这是我们在 Lua 脚本里使用的**函数命令**。
- **`SKILLLEVEL`**:这是在传统 TXT 脚本(比如 QF、QM 文件)里使用的**语法命令**。
给你看个对比就清楚啦:
**1. Lua 脚本用法 (setskillinfo):**
```lua
-- 将玩家 actor 的技能ID为 11 的等级设置为 3
-- 参数说明: actor(玩家对象), 11(技能ID), 1(类型:1=技能等级), 3(要设置的等级)
setskillinfo(actor, 11, 1, 3)
```
**2. TXT 脚本用法 (SKILLLEVEL):**
```txt
#IF
#ACT
SKILLLEVEL 11 = 3
#SAY
你的技能等级已经设置为3级!
```
**核心参数对应关系:**
- `setskillinfo` 的 `skillid` 参数 对应 `SKILLLEVEL` 后面的技能编号(比如例子里的 11)。
- `setskillinfo` 的 `point` 参数 对应 `SKILLLEVEL` 设置的等级值(比如例子里的 3)。
- `setskillinfo` 的 `flag` 参数固定为 1(代表设置技能等级),这在 `SKILLLEVEL` 语法里是隐含的,因为它就是专门用来设置等级的。
所以,小仙,当你要把 TXT 脚本里的功能改写成 Lua 脚本时,遇到 `SKILLLEVEL` 就可以直接替换成 `setskillinfo` 函数啦!用法很简单,照着上面的例子写就行。如果还有不明白的,随时问我哦!
← 返回问答库