在 lua 中访问表的正确方法是什么?



我决定利用空闲时间为Garry's Mod制作一些有趣的插件,角色扮演。

我试图做的插件是允许特定的门是可出租的,然后当有人租用该门时,主要所有者将收到定期付款!

不过,我遇到了一些无法访问该表的问题。

-- door 是一个元函数,是所有实体的属性。 ——在这种情况下,它属于门。

cRentableDoors = cRentableDoors or {} -- Global table
function door:makeRentableSub( doorParent )
-- GetNWBool() is a function used to network information
-- on entities from server to client. ( so we can draw HUDs etc )
if self:GetNWBool( "IsRentable" ) == false or nil then
self:SetNWBool( "IsRentable", true ) 
self:SetNWBool( "IsSub", true ) 
cRentableDoors[doorParent:MapCreationID()] = {
MainDoor = doorParent,
SubDoors = {{ent = self, key = self:MapCreationID()}}
}
end
end

只有一个问题。 当我想添加几个子门时,"子门"表只打印 1 个索引。我在这里覆盖了什么吗?

随时提出您不确定的任何问题!

谢谢!

问题出在行上

SubDoors = {{ent = self, key = self:MapCreationID()}}

那里有两个级别的大括号,使这个表达式等效于

SubDoors = { [1] = { ent = self, key = self:MapCreationID() } }

这是一个带有一个条目的表。 只需去掉外面的一对括号,你应该没问题,即

SubDoors = {ent = self, key = self:MapCreationID()}

相关内容

最新更新