Lalalu Posted July 22, 2017 Share Posted July 22, 2017 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 Posted July 22, 2017 Share Posted July 22, 2017 Con dx sería más fácil pero creo que puedes hacer lo mismo que para destruir un objeto que ya existe, en la parte donde actualizas la imagen coloca que si ya existe que se borre. 1 Link to comment
alex17" Posted July 22, 2017 Share Posted July 22, 2017 (edited) opino igual con dx seria menos tedioso , pero siquieres continuar con GUI puedes utilizar esto guiStaticImageLoadImage(skinid, "skins/"..getElementModel(localPlayer)..".png") Edited July 23, 2017 by alex17" Link to comment
Lalalu Posted July 23, 2017 Author Share Posted July 23, 2017 @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
alex17" Posted July 23, 2017 Share Posted July 23, 2017 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
Lalalu Posted July 23, 2017 Author Share Posted July 23, 2017 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
alex17" Posted July 23, 2017 Share Posted July 23, 2017 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
Lalalu Posted July 23, 2017 Author Share Posted July 23, 2017 ya será mi pc entonces 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
alex17" Posted July 23, 2017 Share Posted July 23, 2017 (edited) 9 minutes ago, Lalalu said: ya será mi pc entonces 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 July 23, 2017 by alex17" Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now