CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
入门夯实996引擎nil键表写入

【入门夯实】表键的nil禁区:t[nil]的index报错

2026-09-25 15:16 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本入门夯实996引擎Luanil键表写入

学员常见误区

动态拼键名时变量可能是 nil——t[nil] = 1 直接报 table index is nil;更隐蔽的是读取 t[nil] 不报错、安静返回 nil,于是问题总在写入行暴露、病灶却在取值处。错误场景:

lua
local records = {}
local name = getplayvar(actor, 0, "ShowName")
records[name] = (records[name] or 0) + 1

若 ShowName 从未设置(nil),赋值行报 table index is nil——红名榜的计数逻辑在写入处倒下,根因是上游取了个空名。

正确姿势

写入前判空兜底,nil 与空串统一落到合法键。规范写法。示例代码如下:

lua
local records = {}
local name = getplayvar(actor, 0, "ShowName")
if not name or name == "" then
    name = "无名氏"
end
records[name] = (records[name] or 0) + 1
print(records[name])

键永远合法,计数永远有归属。

引擎验证

三步验证:用未设置 ShowName 的新号复现 table index is nil,确认报错行与病灶行分离;加判空兜底后计数正常;再验证读取 t[nil] 不报错、返回 nil——nil 键只禁写不禁读,排查时别被读取的安静骗了。

举一反三

NaN 作键同样危险:0/0 得 NaN,NaN 的行为不可预期。示例代码如下:

lua
local function safeKey(v)
    if type(v) == "number" and v ~= v then
        return "NaN"
    end
    return v
end
print(safeKey(0 / 0))

NaN 不等于自身,v ~= v 即检出——键入库前先过类型与合法性校验。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

高级技巧语法算法

Lua快慢指针:环形序列的相遇判定

【语法】 一、隐蔽陷阱 任务链按 next 映射逐格跳转,怀疑某条链绕回了旧节点。用 visited 表记录走过的节点能判环…

2026-09-27 00:01 996 技术组 · 0 阅读
策划架构游戏功能

交易行信用分:成交互评累积信用等级

【游戏】 一、业务场景 交易行里有人收了定金就消失,买家吃闷亏还没处查底细。信用分规则上线:每笔成交双方互评,好评加 2 分…

2026-09-27 00:01 996 技术组 · 0 阅读
入门夯实语法算法

Lua前缀最大值:一次扫描得到截止上限

【语法】 一、隐蔽陷阱 运营报表里"截止第 3 关的最高分"显示 40,可那一批数据里确实出过 120。数据没丢,问题出在统…

2026-09-27 00:01 996 技术组 · 0 阅读
进阶实战游戏功能

装备锁定重随:锁定一条词条重随其余属性

【游戏】 一、业务场景 玩家反映:花 30 金锭重随一件武器,好不容易出了一条攻击加成,下一轮重随又把它洗没了,连洗 8 次…

2026-09-27 00:01 996 技术组 · 0 阅读
进阶实战语法算法

Lua二分答案:判定式驱动的区间收缩

【语法】 一、隐蔽陷阱 把 1000 个金币打包成不超过 25 个包裹,单包容量多大才够?从 1 开始逐个容量去试要跑上千次…

2026-09-27 00:01 996 技术组 · 0 阅读
策划架构游戏功能

行会资金审批:帮众申请会主放款

【游戏】 一、业务场景 帮会仓库积了 80 万资金,帮众修装备要借钱,之前的写法是谁申请谁直接扣款,一周被冒领 12 万。资…

2026-09-27 00:01 996 技术组 · 0 阅读