我的服务器上有一个插件,基本上允许您创建区域。最重要的是,我有一个允许你制作永久属性的东西,即使他们不在线,玩家也拥有永久属性。此外,您可以将道具保存在这些永久性建筑物内,这样当您下次上车时,道具仍然存在。
它运行正常,但每当我将道具保存在我的房子内并重新启动服务器时,我现在似乎遇到了以下错误。此外,很多房子似乎没有工作。但是,当我在屋内解开道具并重新启动时,一切都恢复正常。
错误
[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行开始,所以第二行是有问题的。谢谢。
答案 0 :(得分:2)
只需阅读错误消息即可。它告诉你,对()的输入是nil而不是预期的表。对是一个所谓的迭代器。它仅适用于Lua表作为输入。
您的输入t
至BuyableTerritory:LoadProps(steamid, t)
无效。
您必须更改该内容或检查t
是否为表格,因为您致电pairs(t)
以防止错误发生。
转到 sv_init.lua 的 273 行,了解最新情况。