vgui是一个零值Gmod

问题描述 投票:0回答:1

我一直在尝试为gmod做一个mod,其中包括derma panel。但是当我尝试使用这种皮肤时,会出现错误。

AddCSLuaFile( "shared.lua" )
include("shared.lua")

function SWEP:PrimaryAttack()   
    return false
end

function SWEP:SecondaryAttack()
    DermaPanel()
end


function SWEP:Reload()
    return false
end

SelectedPower = "Stasis"

function DermaPanel()
    local Frame = vgui.Create( "DFrame" )
    Frame:SetPos(650,500)
    Frame:SetSize( 585, 150 )
    Frame:SetTitle( "Biotic Powers" )
    Frame:SetVisible( true )
    Frame:SetDraggable( false )
    Frame:ShowCloseButton( true )
    Frame:MakePopup()

    local bpush = vgui.Create( "DButton", Frame )
    bpush:SetText( "Push" )
    bpush:SetSize(100,30)
    bpush:SetPos(25,100)

    local bpull = vgui.Create( "DButton", Frame )
    bpull:SetText( "Pull" )
    bpull:SetSize(100,30)
    bpull:SetPos(135,100)

    local bstasis = vgui.Create( "DButton", Frame )
    bstasis:SetText( "Stasis" )
    bstasis:SetSize(100,30)
    bstasis:SetPos(245,100)

    local blift = vgui.Create( "DButton", Frame )
    blift:SetText( "Lift" )
    blift:SetSize(100,30)
    blift:SetPos(355,100)

    local bbarrier = vgui.Create( "DButton", Frame )
    bbarrier:SetText( "Barrier" )
    bbarrier:SetSize(100,30)
    bbarrier:SetPos(465,100)
end

当我尝试用二次火打开皮肤面板时,出现此错误:

"[ERROR] addons/mass effect biotics/lua/weapons/weapon_biotics.lua:59: attempt to index global 'vgui' (a nil value)"
lua garrys-mod
1个回答
1
投票

由于您以共享方式调用它,因此它同时在服务器和客户端上运行。如果错误为蓝色,则是因为vgui表在服务器上不存在,并且在服务器实例中出错,但是在客户端运行良好。

您可以将其放在if CLIENT语句中,一切都会好的。

© www.soinside.com 2019 - 2024. All rights reserved.