为什么它说尝试索引'pac'全局(零值)



我的朋友给我发了这个脚本,我得到的错误是

[错误] gamemodes/santosrp/gamemode/sh_pacmodels.lua:137:尝试索引全局"pac"(零值( 1. 玩家切换武器 - 游戏模式/桑托斯普/游戏模式/sh_pacmodels.lua:137 2. 更新播放器 - 游戏模式/桑托斯普/游戏模式/sh_pacmodels.lua:169 3. 未知 - 游戏模式/桑托斯RP/游戏模式/cl_init.lua:105

sh_pacmodels 137 是这个

function GM.PacModels:PlayerSwitchWeapon( pPlayer, entOldWep, entNewWep )
    if not pPlayer.AttachPACPart then
        pac.SetupENT( pPlayer ) --line 137
        pPlayer:SetPACDrawDistance( GetConVarNumber("srp_pac_drawrange") )
    end
    local invalid
    for slotName, _ in pairs( GAMEMODE.Inv.m_tblEquipmentSlots ) do
        item = GAMEMODE.Inv:GetItem( GAMEMODE.Player:GetSharedGameVar(pPlayer, "eq_slot_".. slotName, "") )
        if not item or not item.PacOutfit then continue end
        if not IsValid( entOldWep ) or not IsValid( entNewWep ) then continue end
        if item.EquipGiveClass == entOldWep:GetClass() or item.EquipGiveClass == entNewWep:GetClass() then
            invalid = true
            break
        end
    end

sh_pacmodels 169 是这个

function GM.PacModels:UpdatePlayers()
    if not self.m_intLastThink then self.m_intLastThink = CurTime() +0.1 end
    if self.m_intLastThink > CurTime() then return end
    self.m_intLastThink = CurTime() +0.1
    local ragdoll, item
    for k, v in pairs( player.GetAll() ) do
        --Track active weapon
        if not v.m_entLastActiveWeapon then
            v.m_entLastActiveWeapon = v:GetActiveWeapon()
        else
            if v:GetActiveWeapon() ~= v.m_entLastActiveWeapon then
                self:PlayerSwitchWeapon( v, v.m_entLastActiveWeapon, v:GetActiveWeapon() ) -- line 169
                v.m_entLastActiveWeapon = v:GetActiveWeapon()
            end
        end

定义pac

是的,就是这么简单。

相关内容

  • 没有找到相关文章

最新更新