0

我正在处理 Lua 中的一些代码,尽管已定义,但我一直收到此错误。

它是说 'LM' 是一个 nil 值,但它显然不是LM = {}我在我的代码中拥有的第一件事。我正在将该表用于功能。

LM = {}
LM.Classes = {}
LM.Factions = {}
LM.Items = {}
LM.Core = {}
LM.Ent = {}
LM.GUI = {}
LM.Core.ValidLMEntities = {
                "fm_item",
                "fm_keys",
                "fm_fists",
                "fm_money",
                }

function LM.Core.IsLMEntity(ent)    
    return IsValid(ent) && table.HasValue(LM.Core.ValidLMEntities, ent:GetClass())
end

错误信息:

[ERROR]
gamemodes/lemonmuffin/gamemode/sv_core.lua:1: attempt to index global 'LM' (a nil value) 
  1. unknown - gamemodes/lemonmuffin/gamemode/sv_core.lua:1
  2. include - [C]:-1 
  3. unknown - gamemodes/lemonmuffin/gamemode/init.lua:1
4

2 回答 2

4

请注意,您使用&&and.
这是所有 Lua 非单词标记的完整列表(没有&):

 +     -     *     /     %     ^     #
 ==    ~=    <=    >=    <     >     =
 (     )     {     }     [     ]     ::
 ;     :     ,     .     ..    ...

有关详细信息,请参阅参考手册。

于 2013-06-12T01:18:47.747 回答
0

尝试这个

LM = {Classes,Factions,Items,Core,Ent,GUI}
LM.Classes = {}
LM.Factions = {}
LM.Items = {}
LM.Core = {}
LM.Ent = {}
LM.GUI = {}

LM.Core.ValidLMEntities = {
            "fm_item",
            "fm_keys",
            "fm_fists",
            "fm_money",
            }

function LM.Core.IsLMEntity(ent)    
     return IsValid(ent) and table.HasValue(LM.Core.ValidLMEntities, ent:GetClass())
end
于 2013-06-13T11:15:00.660 回答