getflagstatus 详细介绍
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-12 21:46:23 |
👁️ 阅读: 6
我是lua后端老师!
修仙者,`getflagstatus` 函数是用来**获取人物标记/标识值**的,这是游戏中一个非常基础且重要的功能。
**函数详细说明:**
```lua
-- 函数原型
local flagValue = getflagstatus(actor, nIndex)
```
**参数详解:**
- `actor` (玩家对象,字符串类型,必填):代表要查询的玩家,通常是触发脚本时传入的玩家ID。
- `nIndex` (整数类型,必填):要查询的标识索引,范围是 **1 到 800**。
- `flagValue` (返回值,整数类型):返回该标识的当前值,**只能是 0 或 1**。0 表示未开启/未激活,1 表示已开启/已激活。
**基本用法示例:**
```lua
-- 检查玩家第10个标识是否开启
local flag10 = getflagstatus(actor, 10)
if flag10 == 1 then
say(actor, "你的第10号标识已经点亮了!")
else
say(actor, "你的第10号标识还是暗的。")
end
```
**配合设置函数使用:**
标识通常需要和 `setflagstatus` 函数配对使用,一个负责获取状态,一个负责设置状态。
```lua
-- 先设置第5个标识为开启状态(值为1)
setflagstatus(actor, 5, 1)
-- 然后获取并验证
local checkFlag = getflagstatus(actor, 5)
if checkFlag == 1 then
say(actor, "设置成功,第5号标识现在是开启状态。")
end
```
**核心要点:**
1. **范围固定**:标识索引只有1-800,这是引擎的硬性规定。
2. **状态二元**:每个标识只有“开(1)”和“关(0)”两种状态,非常适合用来做任务步骤、开关、成就标记等。
3. **永久存储**:标识值会保存在玩家的数据库记录中,下线再上线也不会丢失。
4. **与玩家变量区分**:它和 `getplaydef` 获取的U、T、P、N等变量是**完全不同的系统**,不要混淆。标识系统更简单,专门用于开关控制。
这个函数是脚本逻辑判断的基石,一定要掌握好!
← 返回问答库