@nevernight3642

Нужна помощь с HUD на (GLua) как его оптимизировать на любой экран?

Худ который я написал прекрастно работает на всех экранах, но только текст не оптимизируеться, и изза чего его не видно (если разрешение игры меньше чем у меня) или оно не там где нужно

Не до конца понимаю как это пофиксить.
Код:
local ava = 0
local function Myprint()
local lp = LocalPlayer()
local hp = lp:Health()
local ar = lp:Armor()
local wep = LocalPlayer():GetActiveWeapon()
local v = { "DarkRP_HUD", "CHudBattery", "CHudHealth", "CHudAmmo", "CHudSecondaryAmmo" }

hook.Add( 'HUDShouldDraw', 'HUD_HIDE_DRP', function( vs )
   if table.HasValue( v, vs ) then return false end
end )
--Серые фоны

     draw.RoundedBox(4, 154, ScrH()-47, 140, 28, Color(48, 48, 48, 190))
     draw.RoundedBox(4, 28, ScrH()-159, 112, 140, Color(48, 48, 48, 190))
     draw.RoundedBox(4, 154, ScrH()-89, 140, 28, Color(48, 48, 48, 190))
     draw.RoundedBox(4, ScrW()-204, ScrH()-47, 140, 28, Color(48, 48, 48, 190))
    
--ХП и Броня

draw.RoundedBox(4, 154, ScrH()-89, math.Clamp(hp,0, 100)*1.4, 28, Color(255, 0, 0, 253))
draw.RoundedBox(4, 154, ScrH()-47, math.Clamp(ar,0, 100)*1.4, 28, Color(0, 255, 229, 253))

-- Цифры на худе

draw.DrawText(lp:Health(), "Trebuchet24", math.Clamp(hp,5, 100)+153, 680, Color(255, 255, 255, 255))
draw.DrawText(lp:Armor(), "Trebuchet24", math.Clamp(ar,5, 100)+153, 722, Color(255, 255, 255, 255))
draw.DrawText("Ammo", "Trebuchet24", 1238, 725, Color(250, 255, 0, 255))
if (IsValid(wep)) then
    if wep:Clip1() != (-1) then
        draw.DrawText(wep:Clip1() or 0, "Trebuchet24", 1170, 725, Color(250, 255, 0, 255))
    end
end
draw.DrawText(team.GetName(lp:Team()), "Trebuchet24", 40, 715, Color(255, 255, 255, 255))
if ava == 0 then
	local Avatar = vgui.Create( "AvatarImage", Panel )
     Avatar:SetSize( 84, 84 )
     Avatar:SetPos( 42, ScrH()-145 )
     Avatar:SetPlayer( LocalPlayer(), 64 )
	 ava = 1
	 print(ava)
     end
end
hook.Add( "HUDPaint", "PaintOurHud", Myprint);
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
Nightmare1
@Nightmare1
Программист
draw.DrawText(wep:Clip1() or 0, "Trebuchet24", 1170, 725, Color(250, 255, 0, 255))
draw.DrawText(team.GetName(lp:Team()), "Trebuchet24", 40, 715, Color(255, 255, 255, 255)


изменить параметры положения текстов в зависимости от результатов вызовов ScrW() и ScrH()

https://wiki.facepunch.com/gmod/draw.DrawText

X и Y позиции текста на экране.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы