Jump to content

Imagen del Skin


Lalalu

Recommended Posts

Buenas de nuevo, el motivo de este post es el siguiente:

Temprano hice un post acerca de un hud porque tenía un problema, ahora tengo otro más, quiero que una imagen se cree en el hud y como decirlo, que sea la imagen del skin que tengo puesto, ya tengo las imagenes y absolutamente todo, de hecho incluso se muestra la imagen y cambia al cambiar de skin por la imagen que tenga ese skin, no se si me estoy dando a entender, pero bueno, en fin, el problema es que no se crea una imagen una por una, sino que se crean todas las imagenes una abajo de otra, en vez de una por skin, no, se crean todas una abajo de otra, aún así cambia la imagen al cambiar skin, pero da un lag demasiado intenso, no sé si me doy a entender, esto es lo que usé:

        skinid = guiCreateStaticImage(0.93, 0.08, 0.05, 0.05, "skins/"..getElementModel(localPlayer)..".png", true)

 

Link to comment

@Rose @alex17" así? lo probé y funciona bien o no sé, creo que siento un poquito de lag aunque ya no se acumulan las imagenes una atrás de otra, se ve normal, una imagen por personaje

        dxDrawImage(screenW * 0.9273, screenH * 0.0801, screenW * 0.0469, screenH * 0.0459, "skins/"..getElementModel(localPlayer)..".png", 0, 0, 0, tocolor(255, 255, 255, 255), false)

 

Link to comment
21 minutes ago, Lalalu said:

@Rose @alex17" así? lo probé y funciona bien o no sé, creo que siento un poquito de lag aunque ya no se acumulan las imagenes una atrás de otra, se ve normal, una imagen por personaje


        dxDrawImage(screenW * 0.9273, screenH * 0.0801, screenW * 0.0469, screenH * 0.0459, "skins/"..getElementModel(localPlayer)..".png", 0, 0, 0, tocolor(255, 255, 255, 255), false)

 

si asi esta bien , pero no veo el motivo por el que te de lag , recuerda que los guis no se ponen en el evento onClientRender o eso si provocara lagaso

Link to comment

este es el código completo, hice todo según un tutorial y algunas personas que me ayudaron del foro con unos problemas, crees que haya algo mal? 

local screenW, screenH = guiGetScreenSize()

-- Hide the hud when the resource is started
local components = { "weapon", "ammo", "health", "clock", "money", "breath", "armour", "wanted" }

local drawFont = dxCreateFont("saoschrift.ttf", 35)
local drawFont2 = dxCreateFont("saoschrift.ttf", 25)
	
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),
function ()
	for _, component in ipairs( components ) do
		setPlayerHudComponentVisible( component, false )
	end
end)
		
addEventHandler("onClientRender", root,
    function()
		local arma = getPedWeapon ( localPlayer)
	    local health = getElementHealth ( localPlayer)
		local health2 = tostring(math.floor(getElementHealth(localPlayer)))..""
		local armadura = getPedArmor (localPlayer)
        local oxigeno = getPedOxygenLevel (localPlayer)
		local dinero = getPlayerMoney ( localPlayer )
		local time = getRealTime() 
		local hours = time.hour 
		local minutes = time.minute 
	    local seconds	= time.second
		local playerName = getPlayerName ( localPlayer )
		
        local vidaActual = (screenW * 0.2031) * (health/100)
        local armaduraActual = (screenW * 0.0992) * (armadura/100)
        local oxigenoActual = (screenW * 0.0992) * (oxigeno/1000)
		
-- imagenes	parte arriba	
        dxDrawImage(screenW * 0.7125, screenH * 0.0664, screenW * 0.2750, screenH * 0.0684, ":hud/images/main.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.7125, screenH * 0.1123, screenW * 0.2109, screenH * 0.0166, ":hud/images/lifemain.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.7164, screenH * 0.1152, vidaActual, screenH * 0.0098, ":hud/images/lifebar.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.7852, screenH * 0.0830, screenW * 0.0148, screenH * 0.0195, ":hud/icons/"..arma..".png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
-- imagenes parte abajo
        dxDrawImage(screenW * 0.8766, screenH * 0.1855, screenW * 0.1062, screenH * 0.0127, ":hud/images/armain.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(screenW * 0.8766, screenH * 0.2197, screenW * 0.1070, screenH * 0.0127, ":hud/images/oxymain.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.8805, screenH * 0.1885, armaduraActual, screenH * 0.0068, ":hud/images/armbar.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(screenW * 0.8797, screenH * 0.2217, oxigenoActual, screenH * 0.0078, ":hud/images/oxybar.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.8602, screenH * 0.1855, screenW * 0.0125, screenH * 0.0166, ":hud/images/armicon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(screenW * 0.8602, screenH * 0.2197, screenW * 0.0133, screenH * 0.0166, ":hud/images/oxyicon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
-- imagenes skins
        dxDrawImage(screenW * 0.9273, screenH * 0.0801, screenW * 0.0469, screenH * 0.0459, "skins/"..getElementModel(localPlayer)..".png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
--nombre
        dxDrawText(""..playerName, screenW * 0.8608, screenH * 0.0750, screenW * 0.9258, screenH * 0.0947, tocolor(255, 255, 255), 1, "default-bold", "left", "top", false, false, true, true)

--health %
        dxDrawText(""..health2.."/100", (screenW * 0.8458) + 1, (screenH * 0.0956) + 1, (screenW * 0.8648) + 1, (screenH * 0.1191) + 1, tocolor(0, 0, 0, 255), 1.5, "default", "left", "top", false, false, true, true, false)
        dxDrawText(""..health2.."/100", screenW * 0.8458, screenH * 0.0956, screenW * 0.8648, screenH * 0.1191, tocolor(255, 255, 255, 255), 1.5, "default", "left", "top", false, false, true, true, false)
		
--hora radar
        dxDrawText(""..hours..":"..minutes..":"..seconds, (screenW * 0.1320) + 1, (screenH * 0.9355) + 1, (screenW * 0.1555) + 1, (screenH * 0.9492) + 1, tocolor(0, 0, 0, 255), 1.00, "default", "left", "top", false, false, false, false, false)
        dxDrawText(""..hours..":"..minutes..":"..seconds, screenW * 0.1320, screenH * 0.9355, screenW * 0.1555, screenH * 0.9492, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false)
		
-- hora
        dxDrawText(""..hours..":"..minutes.."", (screenW * 0.9056) + 2.5, (screenH * 0.0129) + 2.5, (screenW * 0.9836) + 2.5, (screenH * 0.0615) + 3, tocolor(100, 100, 100, 255), 1.00, drawFont, "left", "top", false, false, false, false, false)
        dxDrawText(""..hours..":"..minutes.."", screenW * 0.9056, screenH * 0.0129, screenW * 0.9836, screenH * 0.0615, tocolor(225, 225, 225, 255), 1.00, drawFont, "left", "top", false, false, false, false, false)
 
--dinero
        dxDrawText("¥"..dinero, (screenW * 0.7125) + 2.5, (screenH * 0.0275) + 2.5, (screenW * 0.8180) + 2.5, (screenH * 0.0664) + 2.5, tocolor(100, 100, 100, 255), 1.00, drawFont2, "left", "top", false, false, false, false, false)
        dxDrawText("¥"..dinero, screenW * 0.7125, screenH * 0.0275, screenW * 0.8180, screenH * 0.0664, tocolor(225, 225, 225, 255), 1.00, drawFont2, "left", "top", false, false, false, false, false)
    end
)

 

Link to comment
6 minutes ago, Lalalu said:

este es el código completo, hice todo según un tutorial y algunas personas que me ayudaron del foro con unos problemas, crees que haya algo mal? 


local screenW, screenH = guiGetScreenSize()

-- Hide the hud when the resource is started
local components = { "weapon", "ammo", "health", "clock", "money", "breath", "armour", "wanted" }

local drawFont = dxCreateFont("saoschrift.ttf", 35)
local drawFont2 = dxCreateFont("saoschrift.ttf", 25)
	
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),
function ()
	for _, component in ipairs( components ) do
		setPlayerHudComponentVisible( component, false )
	end
end)
		
addEventHandler("onClientRender", root,
    function()
		local arma = getPedWeapon ( localPlayer)
	    local health = getElementHealth ( localPlayer)
		local health2 = tostring(math.floor(getElementHealth(localPlayer)))..""
		local armadura = getPedArmor (localPlayer)
        local oxigeno = getPedOxygenLevel (localPlayer)
		local dinero = getPlayerMoney ( localPlayer )
		local time = getRealTime() 
		local hours = time.hour 
		local minutes = time.minute 
	    local seconds	= time.second
		local playerName = getPlayerName ( localPlayer )
		
        local vidaActual = (screenW * 0.2031) * (health/100)
        local armaduraActual = (screenW * 0.0992) * (armadura/100)
        local oxigenoActual = (screenW * 0.0992) * (oxigeno/1000)
		
-- imagenes	parte arriba	
        dxDrawImage(screenW * 0.7125, screenH * 0.0664, screenW * 0.2750, screenH * 0.0684, ":hud/images/main.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.7125, screenH * 0.1123, screenW * 0.2109, screenH * 0.0166, ":hud/images/lifemain.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.7164, screenH * 0.1152, vidaActual, screenH * 0.0098, ":hud/images/lifebar.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.7852, screenH * 0.0830, screenW * 0.0148, screenH * 0.0195, ":hud/icons/"..arma..".png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
-- imagenes parte abajo
        dxDrawImage(screenW * 0.8766, screenH * 0.1855, screenW * 0.1062, screenH * 0.0127, ":hud/images/armain.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(screenW * 0.8766, screenH * 0.2197, screenW * 0.1070, screenH * 0.0127, ":hud/images/oxymain.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.8805, screenH * 0.1885, armaduraActual, screenH * 0.0068, ":hud/images/armbar.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(screenW * 0.8797, screenH * 0.2217, oxigenoActual, screenH * 0.0078, ":hud/images/oxybar.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
        dxDrawImage(screenW * 0.8602, screenH * 0.1855, screenW * 0.0125, screenH * 0.0166, ":hud/images/armicon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
        dxDrawImage(screenW * 0.8602, screenH * 0.2197, screenW * 0.0133, screenH * 0.0166, ":hud/images/oxyicon.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
		
-- imagenes skins
        dxDrawImage(screenW * 0.9273, screenH * 0.0801, screenW * 0.0469, screenH * 0.0459, "skins/"..getElementModel(localPlayer)..".png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
--nombre
        dxDrawText(""..playerName, screenW * 0.8608, screenH * 0.0750, screenW * 0.9258, screenH * 0.0947, tocolor(255, 255, 255), 1, "default-bold", "left", "top", false, false, true, true)

--health %
        dxDrawText(""..health2.."/100", (screenW * 0.8458) + 1, (screenH * 0.0956) + 1, (screenW * 0.8648) + 1, (screenH * 0.1191) + 1, tocolor(0, 0, 0, 255), 1.5, "default", "left", "top", false, false, true, true, false)
        dxDrawText(""..health2.."/100", screenW * 0.8458, screenH * 0.0956, screenW * 0.8648, screenH * 0.1191, tocolor(255, 255, 255, 255), 1.5, "default", "left", "top", false, false, true, true, false)
		
--hora radar
        dxDrawText(""..hours..":"..minutes..":"..seconds, (screenW * 0.1320) + 1, (screenH * 0.9355) + 1, (screenW * 0.1555) + 1, (screenH * 0.9492) + 1, tocolor(0, 0, 0, 255), 1.00, "default", "left", "top", false, false, false, false, false)
        dxDrawText(""..hours..":"..minutes..":"..seconds, screenW * 0.1320, screenH * 0.9355, screenW * 0.1555, screenH * 0.9492, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false)
		
-- hora
        dxDrawText(""..hours..":"..minutes.."", (screenW * 0.9056) + 2.5, (screenH * 0.0129) + 2.5, (screenW * 0.9836) + 2.5, (screenH * 0.0615) + 3, tocolor(100, 100, 100, 255), 1.00, drawFont, "left", "top", false, false, false, false, false)
        dxDrawText(""..hours..":"..minutes.."", screenW * 0.9056, screenH * 0.0129, screenW * 0.9836, screenH * 0.0615, tocolor(225, 225, 225, 255), 1.00, drawFont, "left", "top", false, false, false, false, false)
 
--dinero
        dxDrawText("¥"..dinero, (screenW * 0.7125) + 2.5, (screenH * 0.0275) + 2.5, (screenW * 0.8180) + 2.5, (screenH * 0.0664) + 2.5, tocolor(100, 100, 100, 255), 1.00, drawFont2, "left", "top", false, false, false, false, false)
        dxDrawText("¥"..dinero, screenW * 0.7125, screenH * 0.0275, screenW * 0.8180, screenH * 0.0664, tocolor(225, 225, 225, 255), 1.00, drawFont2, "left", "top", false, false, false, false, false)
    end
)

 

la verdad no le veo nada malo por lo que te pueda producir lag

Link to comment

ya será mi pc entonces xD o fallaron mis fps en ese momento, disculpa, pero teeengo otra duda, en la parte de la vida, del lado izquierdo se muestra la vida el porcentaje ejemplo 100%, y va bajando y asi, osea normal, pero como podría hacer para que ese porcentaje sea 1000? pero obvio que funcione como 100% o nunca moriria nadie, y en vez de 99, sea 999, 998, 997, 550, 559 etc, y así? osea que en vez de ser un 100% sea un 1000%, traté de agregar un 0 del lado izquierdo pero creo que fue una locura lol, debería usar otro tipo de función aparte de esta?:         

local health2 = tostring(math.floor(getElementHealth(localPlayer))).."%"

        dxDrawText(""..health2.."/100", (screenW * 0.8458) + 1, (screenH * 0.0956) + 1, (screenW * 0.8648) + 1, (screenH * 0.1191) + 1, tocolor(0, 0, 0, 255), 1.5, "default", "left", "top", false, false, true, true, false)
        dxDrawText(""..health2.."/100", screenW * 0.8458, screenH * 0.0956, screenW * 0.8648, screenH * 0.1191, tocolor(255, 255, 255, 255), 1.5, "default", "left", "top", false, false, true, true, false)

 

Link to comment
9 minutes ago, Lalalu said:

ya será mi pc entonces xD o fallaron mis fps en ese momento, disculpa, pero teeengo otra duda, en la parte de la vida, del lado izquierdo se muestra la vida el porcentaje ejemplo 100%, y va bajando y asi, osea normal, pero como podría hacer para que ese porcentaje sea 1000? pero obvio que funcione como 100% o nunca moriria nadie, y en vez de 99, sea 999, 998, 997, 550, 559 etc, y así? osea que en vez de ser un 100% sea un 1000%, traté de agregar un 0 del lado izquierdo pero creo que fue una locura lol, debería usar otro tipo de función aparte de esta?:         

local health2 = tostring(math.floor(getElementHealth(localPlayer))).."%"


        dxDrawText(""..health2.."/100", (screenW * 0.8458) + 1, (screenH * 0.0956) + 1, (screenW * 0.8648) + 1, (screenH * 0.1191) + 1, tocolor(0, 0, 0, 255), 1.5, "default", "left", "top", false, false, true, true, false)
        dxDrawText(""..health2.."/100", screenW * 0.8458, screenH * 0.0956, screenW * 0.8648, screenH * 0.1191, tocolor(255, 255, 255, 255), 1.5, "default", "left", "top", false, false, true, true, false)

 

haber te dejo un ejemplo

local health = getElementHealth(localPlayer)

local hp  = (health * 1000) / 100

dxDrawText(math.ceil(hp), .x, y, w, h , ..............)

 

Edited by alex17"
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...