Jump to content

hud nao ajusta a resolução


Recommended Posts

Olá, boa tarde dependendo do horário kkkk

Eu tinha esse mod dessa hud a um bom tempo e editei ele a alguns dias!
Após trocar de resolução vi que a mesma não se ajustou ao uma resolução menor!

print de como fica: https://prnt.sc/8aDJ7z8qua5t

codigo do mesmo:

local sx,sy = guiGetScreenSize()
local px,py = 1600,900
local x,y =  (sx/px), (sy/py)	
	local noreloadweapons = {}
	noreloadweapons[19] = true
	noreloadweapons[41] = true

	local meleespecialweapons = {}
	meleespecialweapons[0] = true
	meleespecialweapons[1] = true
	meleespecialweapons[4] = true
	meleespecialweapons[5] = true
	meleespecialweapons[10] = true
	meleespecialweapons[14] = true
	meleespecialweapons[43] = true
	meleespecialweapons[44] = true
	meleespecialweapons[46] = true	

	HudVisible = false
	
function HUD ()
        dxDrawImage(257, 525, 360, 181, ":CDC-HUD/img/fon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
local oxigenio = getPedOxygenLevel ( getLocalPlayer() )
	if isElementInWater (getLocalPlayer()) then
	dxDrawRectangle(42, 508, 215, 5, tocolor(86, 101, 120, 255), false)--fundo
	dxDrawRectangle(42, 508, 215/1000*oxigenio, 5, tocolor(172, 203, 241, 255), false)
	end

local vida = getElementHealth ( getLocalPlayer() ) + 0.40000152596
	if getPedStat ( getLocalPlayer(), 24 ) < 1000 then
	dxDrawRectangle(42, 522, 215, 5, tocolor(90, 12, 14, 255), false)--fundo
	dxDrawRectangle(42, 522, 215/100*vida, 5, tocolor(255, 40, 49, 255), false)
	end

local armour = getPedArmor ( getLocalPlayer() )
	if armour>1 then
	dxDrawRectangle(42, 515, 215, 5, tocolor(112, 112, 112, 255), false) --fundo
	dxDrawRectangle(42, 515, 215/100*armour, 5, tocolor(255, 255, 255, 255), false)

	end

local altura = 140
local imageL, imageA = 30,30
local star01, star02, star03, star04, star05, star06 = 1500, 1460, 1415, 1370, 1325, 1280

local wanted = getPlayerWantedLevel (getLocalPlayer())
	if wanted == 1 then
	dxDrawImage(x*star01, y*altura, x*imageL, y*imageA, "img/star.png") -- star 01
	dxDrawImage(x*star02, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 02 --fundo
	dxDrawImage(x*star03, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 03 --fundo
	dxDrawImage(x*star04, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 04 --fundo
	dxDrawImage(x*star05, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 05 --fundo
	dxDrawImage(x*star06, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 06 --fundo
	end
	if wanted == 2 then
	dxDrawImage(x*star01, y*altura, x*imageL, y*imageA, "img/star.png") -- star 01
	dxDrawImage(x*star02, y*altura, x*imageL, y*imageA, "img/star.png") -- star 02
	dxDrawImage(x*star03, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 03 --fundo
	dxDrawImage(x*star04, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 04 --fundo
	dxDrawImage(x*star05, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 05 --fundo
	dxDrawImage(x*star06, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 06 --fundo
	end

	if wanted == 3 then
	dxDrawImage(x*star01, y*altura, x*imageL, y*imageA, "img/star.png") -- star 01
	dxDrawImage(x*star02, y*altura, x*imageL, y*imageA, "img/star.png") -- star 02
	dxDrawImage(x*star03, y*altura, x*imageL, y*imageA, "img/star.png") -- star 03
	dxDrawImage(x*star04, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 04 --fundo
	dxDrawImage(x*star05, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 05 --fundo
	dxDrawImage(x*star06, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 06 --fundo
 
	end
	
	if wanted == 4 then
	dxDrawImage(x*star01, y*altura, x*imageL, y*imageA, "img/star.png") -- star 01
	dxDrawImage(x*star02, y*altura, x*imageL, y*imageA, "img/star.png") -- star 02
	dxDrawImage(x*star03, y*altura, x*imageL, y*imageA, "img/star.png") -- star 03
	dxDrawImage(x*star04, y*altura, x*imageL, y*imageA, "img/star.png") -- star 04
	dxDrawImage(x*star05, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 05 --fundo
	dxDrawImage(x*star06, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 06 --fundo
	end

	if wanted == 5 then
	dxDrawImage(x*star01, y*altura, x*imageL, y*imageA, "img/star.png") -- star 01
	dxDrawImage(x*star02, y*altura, x*imageL, y*imageA, "img/star.png") -- star 02
	dxDrawImage(x*star03, y*altura, x*imageL, y*imageA, "img/star.png") -- star 03
	dxDrawImage(x*star04, y*altura, x*imageL, y*imageA, "img/star.png") -- star 04
	dxDrawImage(x*star05, y*altura, x*imageL, y*imageA, "img/star.png") -- star 05
	dxDrawImage(x*star06, y*altura, x*imageL, y*imageA, "img/star.png", 0,0,0, tocolor(0, 0, 0, 150)) -- star 06 --fundo
	end
	if wanted == 6 then 
	dxDrawImage(x*star01, y*altura, x*imageL, y*imageA, "img/star.png") -- star 01
	dxDrawImage(x*star02, y*altura, x*imageL, y*imageA, "img/star.png") -- star 02
	dxDrawImage(x*star03, y*altura, x*imageL, y*imageA, "img/star.png") -- star 03
	dxDrawImage(x*star04, y*altura, x*imageL, y*imageA, "img/star.png") -- star 04
	dxDrawImage(x*star05, y*altura, x*imageL, y*imageA, "img/star.png") -- star 05
	dxDrawImage(x*star06, y*altura, x*imageL, y*imageA, "img/star.png") -- star 06
	end

local hour, mins = getTime ()
local time = hour .. ":" .. (((mins < 10) and "0"..mins) or mins)
	dxDrawText(time,320, 622, 500, 646,tocolor(255,255,255,215),0.5,"bankgothic","left","top",false,false,false)	

local Player = getPlayerName ( localPlayer, "PlayerName" )
	 dxDrawText(""..getPlayerName(localPlayer), 320, 635, 500, 646, tocolor(255, 255, 255, 255), 0.5, "bankgothic", "left", "center", false, false, false, true, false)

local money = getPlayerMoney ( getLocalPlayer() )
	dxDrawText("$"..money,320, 656, 500, 646, tocolor(255, 255, 255, 255), 1.10, "pricedown", "left", "top", false, false, false, false, false)
	

weapon = getPedWeapon ( getLocalPlayer() )
dxDrawImage(300, 515, 120, 120, "img/".. tostring( weapon ) ..".png")

local showammo1 = getPedAmmoInClip (localPlayer,getPedWeaponSlot(localPlayer))
local showammo2 = getPedTotalAmmo(localPlayer)-getPedAmmoInClip(localPlayer)
local showammo3 = getPedTotalAmmo(getLocalPlayer())
	if noreloadweapons [getPedWeapon(getLocalPlayer())] then
		dxDrawText(tostring (showammo3),320, 610, 408, 646,tocolor(255,255,255,255),0.55,"bankgothic","left","top",false, false,false)
	elseif meleespecialweapons [getPedWeapon(getLocalPlayer())] then
	else
		dxDrawBorderedText(tostring (showammo2).."-"..tostring (showammo1),322, 590, 408, 646,tocolor(149,176,209,255), 0.8,"pricedown","left","top",false,false,false)
	end
end
addEventHandler("onClientRender", getRootElement(), HUD)

function dxDrawBorderedText( text, x, y, w, h, color, scale, font, alignX, alignY, clip, wordBreak, postGUI )
	dxDrawText ( text, x - 1, y - 1, w - 1, h - 1, tocolor ( 0, 0, 0, 155 ), scale, font, alignX, alignY, clip, wordBreak, false ) -- black
	dxDrawText ( text, x + 1, y - 1, w + 1, h - 1, tocolor ( 0, 0, 0, 155 ), scale, font, alignX, alignY, clip, wordBreak, false )
	dxDrawText ( text, x - 1, y + 1, w - 1, h + 1, tocolor ( 0, 0, 0, 155 ), scale, font, alignX, alignY, clip, wordBreak, false )
	dxDrawText ( text, x + 1, y + 1, w + 1, h + 1, tocolor ( 0, 0, 0, 155 ), scale, font, alignX, alignY, clip, wordBreak, false )
	dxDrawText ( text, x - 1, y, w - 1, h, tocolor ( 0, 0, 0, 155 ), scale, font, alignX, alignY, clip, wordBreak, false )
	dxDrawText ( text, x + 1, y, w + 1, h, tocolor ( 0, 0, 0, 155 ), scale, font, alignX, alignY, clip, wordBreak, false )
	dxDrawText ( text, x, y - 1, w, h - 1, tocolor ( 0, 0, 0, 155 ), scale, font, alignX, alignY, clip, wordBreak, false )
	dxDrawText ( text, x, y + 1, w, h + 1, tocolor ( 0, 0, 0, 155 ), scale, font, alignX, alignY, clip, wordBreak, false )
	dxDrawText ( text, x, y, w, h, color, scale, font, alignX, alignY, clip, wordBreak, postGUI )
end

local hudTable = { "ammo", "armour", "clock", "health", "money", "weapon", "wanted", "area_name", "vehicle_name", "breath", "clock" }
addEventHandler("onClientResourceStart", resourceRoot,
    function()
		for id, hudComponents in ipairs(hudTable) do
			showPlayerHudComponent(hudComponents, false)
		end
    end
)

addEventHandler("onClientResourceStop", resourceRoot,
function()
		for id, hudComponents in ipairs(hudTable) do
			showPlayerHudComponent(hudComponents, true)
		end
	end
)


-- APERTA F11 SOME/VOLTA --
function togHud(state)
	if HudVisible == false then
		HudVisible = true
		removeEventHandler ("onClientRender", root, HUD)
	else
		addEventHandler ("onClientRender", root, HUD)
		HudVisible = false
	end
end
bindKey("F11", "down", togHud)

 

Link to comment
3 hours ago, Lord Henry said:

Boa tarde.

Qual a sua resolução nativa e qual resolução você está percebendo uma falha?

No caso não fui eu quem fiz o mod apenas editei o mesmo!

porém no meu computador ele funciona direitinho na resolução maxima do meu monitor que seria 1280x720!

a diferença está sendo notada na resolução 800x600

Link to comment
  • Other Languages Moderators

Não oferecemos suporte para scripts de terceiros, lamento. Entre em contato com o autor do resource e peça uma correção. Além disso, a maioria dos elementos do HUD estão com tamanho e posição fixa, o que dará alteração em resoluções diferentes.


Sobre esse problema de distorção, isso acontece por uma questão de proporção (aspect ratio) e não de resolução.

Como ele foi feito na resolução 1600 x 900 (proporção 16:9), isso significa que qualquer resolução que esteja nessa mesma proporção irá funcionar normalmente (1280 x 720 também é proporção 16:9, por isso que funciona normalmente nele também).

Porém a resolução 800 x 600 tem proporção 4:3, ela é mais quadrada. O que causa distorção no HUD mesmo usando posições e tamanhos relativos.

Para corrigir isso, existe a função DxSetAspectRatioAdjustmentEnabled que deve ser chamada dentro da função do onClientRender e antes das linhas do dxDraw.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...