я сделал вот такой код и проблема в том что когда игрок открывает f4 он начинает ерорить при этом если вот это self:getJobTable().vip
заменить к примеру на это j.max != 0
всё нормально
if self:getJobTable().vip then
draw.RoundedBox( 0, 48, 61, 56, 22, gmaterial.color.shadow )
draw.RoundedBox( 0, 48, 60, 56, 22, gmaterial.color.background )
draw.DrawText( "VIP", "gmaterial18Light", 75, 63, Color(255,0,0), TEXT_ALIGN_CENTER)
end
Полное
self.jobCard = vgui.Create("DPanel", self.Background)
self.jobCard:SetSize(250,125)
self.jobCard:SetPos(0,0)
self.jobCard:Dock(LEFT)
self.jobCard:DockMargin(6, 0, -3, 3)
self.jobCard:SetText("")
self.jobCard.Paint = function (self, w, h)
draw.RoundedBox( 4, 2, 2, w-3, h-3, gmaterial.color.shadow )
draw.RoundedBox( 4, 0, 0, w-3, h-3, gmaterial.color.element )
draw.RoundedBox( 0, 0, 75, w-3, 1, gmaterial.color.shadow )
if (j.level != nil) then
draw.RoundedBox( 0, 95, 61, 66, 22, gmaterial.color.shadow )
draw.RoundedBox( 0, 94, 60, 66, 22, gmaterial.color.background )
draw.DrawText( gmaterial.language.lvl..j.level, "gmaterial18Light", 127, 63, gmaterial.color.buttonText, TEXT_ALIGN_CENTER)
end
draw.RoundedBox( 0, 171, 61, 56, 22, gmaterial.color.shadow )
draw.RoundedBox( 0, 171, 60, 56, 22, gmaterial.color.background )
draw.DrawText( plyCount.."/"..max, "gmaterial18Light", 198, 63, gmaterial.color.buttonText, TEXT_ALIGN_CENTER)
if self:getJobTable().vip then
draw.RoundedBox( 0, 48, 61, 56, 22, gmaterial.color.shadow )
draw.RoundedBox( 0, 48, 60, 56, 22, gmaterial.color.background )
draw.DrawText( "VIP", "gmaterial18Light", 75, 63, Color(255,0,0), TEXT_ALIGN_CENTER)
end
end
Ошибка из консоли
[gmaterialf4menu] addons/gmaterialf4menu/lua/gmaterial_vgui/f4menu/cl_jobs.lua:132: attempt to call method ‘getJobTable’ (a nil value) 1. unknown - addons/gmaterialf4menu/lua/gmaterial_vgui/f4menu/cl_jobs.lua:132