我的Garry的Mod服务器出现以下错误

时间:2016-03-25 06:46:15

标签: lua garrys-mod

我的服务器上有一个插件,基本上允许您创建区域。最重要的是,我有一个允许你制作永久属性的东西,即使他们不在线,玩家也拥有永久属性。此外,您可以将道具保存在这些永久性建筑物内,这样当您下次上车时,道具仍然存在。

它运行正常,但每当我将道具保存在我的房子内并重新启动服务器时,我现在似乎遇到了以下错误。此外,很多房子似乎没有工作。但是,当我在屋内解开道具并重新启动时,一切都恢复正常。

错误

[ERROR] addons/darkrpmodification-master/lua/darkrp_modules/territory/sh_init.lua:514: bad argument #1 to 'pairs' (table expected, got nil)
1. pairs - [C]:-1
2. LoadProps - addons/darkrpmodification-master/lua/darkrp_modules/territory/sh_init.lua:514
3. tsetUpDoors - addons/darkrpmodification-master/lua/darkrp_modules/territory/sv_init.lua:273
4. unknown - addons/darkrpmodification-master/lua/darkrp_modules/territory/sv_init.lua:290

代码

function BuyableTerritory:LoadProps(steamid, t)
for k, v in pairs(t) do
    local e = ents.Create("prop_physics")
    e:SetPos(v.pos)
    e:SetAngles(v.ang)
    e:SetModel(v.model)
    if v.color then
        e:SetColor(v.color)
    end
    if v.material then
        e:SetMaterial(v.material)
    end 
    e:Spawn()
    e.permaOwner = steamid
    e:GetPhysicsObject():EnableMotion(false)
end
local ply = DarkRP.findPlayer(steamid)
if IsValid(ply) then
    self:SetPropsOwner(ply, ply:SteamID())
end

代码从第513行开始,所以第二行是有问题的。谢谢。

1 个答案:

答案 0 :(得分:2)

只需阅读错误消息即可。它告诉你,对()的输入是nil而不是预期的表。对是一个所谓的迭代器。它仅适用于Lua表作为输入。

您的输入tBuyableTerritory:LoadProps(steamid, t)无效。

您必须更改该内容或检查t是否为表格,因为您致电pairs(t)以防止错误发生。

转到 sv_init.lua 273 行,了解最新情况。