DPanel not drawing when attempting to draw playermodel on HUD?
10 replies, posted
What's happenin, forum?
I'm attempting to make my HUD draw a user's playermodel in the corner of the screen, but I just can't seem to get it to draw at all. Can anyone help me out to find what's wrong?
-- Create Playermodel on-screen
local CamPos = Vector( 20, 0, 65 )
local LookAt = Vector (0, 0, 65)
local function DrawPM()
PlayerModel = vgui.Create("DModelPanel")
function PlayerModel:LayoutEntity( Entity ) return end
PlayerModel:SetModel( LocalPlayer():GetModel() )
PlayerModel:SetPos(400, 300)
PlayerModel:SetSize(175, 200)
PlayerModel:SetCamPos(CamPos)
PlayerModel:SetLookAt(LookAt)
timer.Create("UpdatePM", 0.5, 0, function()
if LocalPlayer():GetModel() != PlayerModel.Entity:GetModel() then
PlayerModel:Remove()
PlayerModel = vgui.Create("DModelPanel")
function PlayerModel:LayoutEntity( Entity ) return end
PlayerModel:SetModel( LocalPlayer():GetModel() )
PlayerModel:SetPos(ScrW() - 1400, ScrH() - 80)
PlayerModel:SetSize(175, 200)
PlayerModel:SetCamPos(CamPos)
PlayerModel:SetLookAt(LookAt)
end
end)
end
hook.Add("InitPostEntity", "PlayerModel", PlayerModel)
Try to use PostRender but remove hook after it's first calling, because it's called every frame
I'm an actual idiot
I forgot I had the function previously named to "PlayerModel" before changing it for simplicity reasons, my bad.
Did you restart after it?
The server or my game?
game
Nope, restarted game & the server and it still doesn't draw.
Try to use PostRender but remove hook after it's first calling, because it's called every frame
Still doesn't seem to work
Just for clarification, this is how I call for PostRender, right?
local CamPos = Vector( 0, 0, 0 )
local LookAt = Vector (0, 0, 65)
local function DrawPM()
PlayerModel = vgui.Create("DModelPanel")
function PlayerModel:LayoutEntity( Entity ) return end
PlayerModel:SetModel( LocalPlayer():GetModel() )
PlayerModel:SetPos(ScrW() - 1400, ScrH() - 80)
PlayerModel:SetSize(175, 200)
PlayerModel:SetCamPos(CamPos)
PlayerModel:SetLookAt(LookAt)
timer.Create("UpdatePM", 0.5, 0, function()
if LocalPlayer():GetModel() != PlayerModel.Entity:GetModel() then
PlayerModel:Remove()
PlayerModel = vgui.Create("DModelPanel")
function PlayerModel:LayoutEntity( Entity ) return end
PlayerModel:SetModel( LocalPlayer():GetModel() )
PlayerModel:SetPos(ScrW() - 1400, ScrH() - 80)
PlayerModel:SetSize(175, 200)
PlayerModel:SetCamPos(CamPos)
PlayerModel:SetLookAt(LookAt)
end
end)
end
hook.Add("InitPostEntity", "DrawPM", DrawPM)
hook.Add("PostRender", "DrawPM", DrawPM)
hook.Remove("PostRender", "DrawPM", DrawPM)
You're deleting it right after creation.
it will not call it at least once.
make remove inside same hook.Add, make function()
Gotcha, thanks my guy B)
Sorry, you need to Log In to post a reply to this thread.