lua - garry 的 mod - 尝试调用全局 'Player'(table 值)

lua - garry's mod - attempt to call global 'Player' (a table value)

尝试启动 Garry 的 Mod 服务器时出现错误:

[ERROR] gamemodes/darkrp/gamemode/modules/base/sv_gamemode_functions.lua:227: attempt to call global 'Player' (a table value)

  1. unknown - gamemodes/darkrp/gamemode/modules/base/sv_gamemode_functions.lua:227

sv_gamemode_functions.lua:217-230

function GM:EntityRemoved(ent)

self.Sandbox.EntityRemoved(self, ent)
if ent:IsVehicle() then
    local found = ent:CPPIGetOwner()
    if IsValid(found) then
        found.Vehicles = found.Vehicles or 1
        found.Vehicles = found.Vehicles - 1
    end
end
local owner = ent.Getowning_ent and ent:Getowning_ent() or Player(ent.SID or 0)
if ent.DarkRPItem and IsValid(owner) then owner:removeCustomEntity(ent.DarkRPItem) end
if ent.isKeysOwnable and ent:isKeysOwnable() then ent:removeDoorData() end end

请帮忙。

更改此行

local owner = ent.Getowning_ent and ent:Getowning_ent() or Player(ent.SID or 0)

local owner = ent :GetOwner()

https://wiki.facepunch.com/gmod/Entity:GetOwner
https://wiki.facepunch.com/gmod/Player:UserID

问题不在这部分代码中。 有些东西用 table.

覆盖了 Player 全局变量

你需要找到发生这种情况的原因。

如果修复后 Player 无法运行,请尝试 Entity(ent.SID or 0),可能是 EntityIndex 而不是 UserID。

Entity:GetOwner(如 Doyousketch2 所建议的那样)不会帮助您,因为它用于育儿而不是所有权。