• Problem with removing DModelPanel
    2 replies, posted
Hey guys, I have a small problem with my DModelPanel. I have it so it creates a DModelPanel on InitPostEntity, then starts a timer that goes off every 1 second forever to see if the player's model has changed. However, I have a small problem. Whenever the timer goes off, it compares the LocalPlayer's player model with the DModelPanel's model, and if there different, it removes the old DModelPanel and creates a new DModelPanel using the LocalPlayer's player model, but it says this error on line 25: Attempt to index 'GetModel' a nil value. I know that it knows what the LocalPlayer's player model is, but it can't seem to find the DModelPanel's model. Any help? [lua] local ply = LocalPlayer() hook.Add("InitPostEntity", "DrawPlayerModel", function() Avatar = vgui.Create("DModelPanel") Avatar:SetModel(ply:GetModel()) Avatar:SetCamPos(Vector( 14, 4, 65)) Avatar:SetLookAt(Vector( 0, 0, 66.5 )) Avatar:SetSize(150, 150) Avatar:SetPos(ScrW() * 0.08, ScrH() * 0.7) Avatar.PaintOver = function() surface.SetDrawColor(0, 0, 0, 215) surface.DrawRect(0, 0, Avatar:GetWide(), 50) surface.SetTextColor(255, 255, 255, 230) surface.SetFont("Trebuchet20") local w, h = surface.GetTextSize("Placeholder") surface.SetTextPos(Avatar:GetWide() / 2 - w / 2, 50 / 2 - h / 2) surface.DrawText("Placeholder") end function Avatar:LayoutEntity(Entity) return end timer.Create("RefreshAvatar", 1, 0, function() if ( ply:GetModel() ~= Avatar:GetModel() ) then Avatar:Remove() Avatar = vgui.Create("DModelPanel") Avatar:SetModel(ply:GetModel()) Avatar:SetCamPos(Vector( 14, 4, 65)) Avatar:SetLookAt(Vector( 0, 0, 66.5 )) Avatar:SetSize(150, 150) Avatar:SetPos(ScrW() * 0.08, ScrH() * 0.7) Avatar.PaintOver = function() surface.SetDrawColor(0, 0, 0, 215) surface.DrawRect(0, 0, Avatar:GetWide(), 50) surface.SetTextColor(255, 255, 255, 230) surface.SetFont("Trebuchet20") local w, h = surface.GetTextSize("Placeholder") surface.SetTextPos(Avatar:GetWide() / 2 - w / 2, 50 / 2 - h / 2) surface.DrawText("Placeholder") end function Avatar:LayoutEntity(Entity) return end end end) end) [/lua]
Quick look here: [url]http://glua.me/bin/?path=/lua/vgui/dmodelpanel.lua[/url] tells me that you need Avatar.Entity:GetModel()
I'll try that. Give me one second. [editline]fixed[/editline] Thanks man!
Sorry, you need to Log In to post a reply to this thread.