【问题标题】:lua: table index is nillua:表索引为零
【发布时间】:2012-12-20 00:30:56
【问题描述】:

我不知道 lua,虽然我对其他几种语言很了解,所以我对表之类的东西并不完全无知

我在网上找到了这段代码并尝试使用它,但它一直在吐出table index is nil 错误。

我一直在网上查看其他一些问题和问题,并显示相同的错误消息,但仍然无法解决。

我向作者寻求帮助,但他也想不通。显然错误不会发生在他身上。

代码如下:

local RolePoints = {
    [ROLE_DETECTIVE] = {[ROLE_DETECTIVE] = -250,--Killed Detective as Detective
                        [ROLE_INNOCENT] = -50,--Killed Innocent as Detective
                        [ROLE_TRAITOR] = 20
                    },
    [ROLE_INNOCENT] = {[ROLE_DETECTIVE] = -250,
                        [ROLE_INNOCENT] = -20,
                        [ROLE_TRAITOR] = 20
                    },
    [ROLE_TRAITOR] = {[ROLE_DETECTIVE] = 30,
                        [ROLE_INNOCENT] = 10,
                        [ROLE_TRAITOR] = -500
                    }
    }

特别是,解释器声称这行是罪魁祸首:

[ROLE_DETECTIVE] = {[ROLE_DETECTIVE] = -250,--Killed Detective as Detective

有什么想法吗?

谢谢

编辑:我发现如果我把它放在我自己的客户端上它可以工作(尽管它仍然会出现错误)但不能在我的服务器上工作。

【问题讨论】:

  • 这些“ROLE_”是什么?那些应该是字符串还是变量名?
  • -1 用于在不提供任何上下文的情况下发布代码 sn-p。

标签: lua indexing lua-table


【解决方案1】:

ROLE_DETECTIVE(和其他全大写名称)几乎可以肯定是您从中提取的代码中其他地方定义的常量。

要么引用它们并将它们用作字符串,要么用值(可能是数字 ID)自己定义它们。


google了一下,具体代码好像是Trouble in Terrorist Town,加里的Mod模式。

【讨论】:

  • 正确,在这种情况下,常量可能在某处的 TTT 代码中定义。
猜你喜欢
  • 2012-04-15
  • 2014-05-06
  • 1970-01-01
  • 2017-01-20
  • 2015-10-25
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
相关资源
最近更新 更多