Jump to content

dxDrawImage3d por nivel


Lalalu

Recommended Posts

Buenas a todos, el motivo de este post es el siguiente:

Ya he hecho varios post acerca de problemas que he tenido con un hud, bueno este es otro problema referente al hud, bueno en realidad no tanto con el hud, sino con el sistema de niveles, pero está relacionado con el hud es decir, son scripts totalmente diferentes. Quería hacer algo así:

Cuando el jugador este en nivel 0, ó no necesariamente cuando esté en 0, sino que esa sea la imagen default hasta subir de nivel, luego cuando el jugador sea nivel por ejemplo 20, se reemplaze esa imagen que por ejemplo supongamos era la main.png, supongamos que a nivel 20 se reemplaza por main2.png, cuando sea nivel 40 main.3, y así sucesivamente hasta nivel 100, reitero que son scripts totalmente diferentes, osea tendría que quitar también la main.png (la imagen de fondo de hud) y crearla en el sistema de niveles?, cómo puedo lograr lo que estoy tratando de hacer? qué funciones debería usar? no sé si me dí a entender muy bien, así que repetiré creo que lo mismo jaja, osea lo que busco es que se cree una imagen de fondo default en el hud en las coordenadas ya específicadas anteriormente, luego al subir de nivel al 20 por ejemplo, esa imagen se reemplaze por otra, luego al nivel 20 esa imagen se reemplaze por otra, y así sucesivamente, osea que la imagen cambie al subir de nivel nada más, no sé si me dí a entender x7848, pero bueno, espero puedan guiarme

esta es la parte que crea la imagen de fondo en el hud (en el script del hud):

        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)

está es la parte del sistema de niveles que supongo debo editar:

local screenW, screenH = guiGetScreenSize()
local texto = ""

addEventHandler("onClientRender", root,
    function()
	dxSetAspectRatioAdjustmentEnabled( true )
	local nivel = getElementData(localPlayer, "nivel") or 1
		if nivel >= 0 then
        dxDrawText(texto.."".. nivel.."", (screenW * 0.7242) - 1, (screenH * 0.0762) - 1, (screenW * 0.7477) - 1, (screenH * 0.1035) - 1, tocolor(173, 106, 0, 255), 2.00, "sans", "left", "top", false, false, false, false, false)
        dxDrawText(texto.."".. nivel.."", (screenW * 0.7242) + 1, (screenH * 0.0762) - 1, (screenW * 0.7477) + 1, (screenH * 0.1035) - 1, tocolor(173, 106, 0, 255), 2.00, "sans", "left", "top", false, false, false, false, false)
        dxDrawText(texto.."".. nivel.."", (screenW * 0.7242) - 1, (screenH * 0.0762) + 1, (screenW * 0.7477) - 1, (screenH * 0.1035) + 1, tocolor(173, 106, 0, 255), 2.00, "sans", "left", "top", false, false, false, false, false)
        dxDrawText(texto.."".. nivel.."", (screenW * 0.7242) + 1, (screenH * 0.0762) + 1, (screenW * 0.7477) + 1, (screenH * 0.1035) + 1, tocolor(173, 106, 0, 255), 2.00, "sans", "left", "top", false, false, false, false, false)
        dxDrawText(texto.."".. nivel.."", screenW * 0.7242, screenH * 0.0762, screenW * 0.7477, screenH * 0.1035, tocolor(255, 198, 0, 255), 2.00, "sans", "left", "top", false, false, false, false, false)
			
		end
	end
)

 

Link to comment

la verdad no entendí nada xD 

te dejo esto que no se si es lo que quieres 

 local lv = getElementData(localPlayer, "nivel") or 1
 local file = "main.png"
 if lv == 20 then
   file = "main2.png"
 elseif lv == 40 then
   file = "main3.png"
 elseif lv == 60 then
    file = "main4.png"
 elseif lv == 80 then
   file = "main5.png"  
 elseif lv == 100 then
   file = "main6.png"
 end
 dxDrawImage(x, y, w, h, file, .....................)

 

Link to comment

¿Quieres hacer que cuando el player llegue a un nivel determinado cambie la imagen? Si es asi tendras que crear una tabla: su keyname sera el nivel que quieres y el value sera la imagen. Algo asi:

local tabla = {
    [10] = ":hud/images/main.png",
    [20] = ":hud/images/main2.png",
}

Luego haces una condicional verificando si el nivel esta en la tabla y dentro del condicional va el dxDrawImage

local nivel = getElementData(localPlayer, "nivel")
if tabla[nivel] then
    dxDrawImage(..., tabla[nivel])
end

 

  • Like 1
Link to comment

@alex17" me refiero a algo así, la default es el fondo del hud que siempre estará al entrar al server y hasta que se suba al nivel 10 cuando cambie, y la de lvl 10 cambiará en nivel 30, y así sucesivamente hasta llegar al nivel 95 cuando ya no se crearan más imagenes, pero cuando la persona es nivel 0, osea normal al entra al sv la que saldrá es la default, eso es lo que quiero tratar de hacer  no se si me di a entender de nuevox d

dDeKfiEuTz_XztWuk8jWug.png    

@TRtam exacto, algo asi creo (enseguida probaré)

Edited by Lalalu
Link to comment
local tabla = {
    [10] = ":hud/images/main.png",
    [20] = ":hud/images/main2.png",
}
function getLevelImage()
    for k,v in pairs(tabla) do
        if k <= tonumber(getElementData(localPlayer, "nivel")) then
        return v
        end
    end
end

novatos xD

deal_with_it___rainbow_style__by_j_brony-d4cwgad.png

 

[0:16:04] venad: ese if esta bien no?
[0:16:16 | Editado 0:16:36] venad: => o >=
[0:16:18] Simple01: si
[0:16:22] Simple01: espera
[0:16:23] Simple01: no
[0:16:26] Simple01: <=
[0:16:28] Simple01: espera
[0:16:28] Simple01: joder
[0:16:30] Simple01: ahora yo tampoco
[0:16:31] Simple01: se como
[0:16:32] Simple01: xD
[0:16:39] Simple01: <=
[0:16:40] Simple01: es asi
[0:16:40] Simple01: <=
[0:16:43] venad: el igual
[0:16:44] venad: despues?
[0:17:02] Simple01: si

Edited by venadHD
EL IGUAL ESTABA AL REVES JAJAXDSALUDOS CIBER ADMINISTRADORES
Link to comment
  • 2 weeks later...
  • Administrators
On 25/7/2017 at 19:13, venadHD said:

local tabla = {
    [10] = ":hud/images/main.png",
    [20] = ":hud/images/main2.png",
}
function getLevelImage()
    for k,v in pairs(tabla) do
        if k <= tonumber(getElementData(localPlayer, "nivel")) then
        return v
        end
    end
end

novatos xD

deal_with_it___rainbow_style__by_j_brony-d4cwgad.png

 

[0:16:04] venad: ese if esta bien no?
[0:16:16 | Editado 0:16:36] venad: => o >=
[0:16:18] Simple01: si
[0:16:22] Simple01: espera
[0:16:23] Simple01: no
[0:16:26] Simple01: <=
[0:16:28] Simple01: espera
[0:16:28] Simple01: joder
[0:16:30] Simple01: ahora yo tampoco
[0:16:31] Simple01: se como
[0:16:32] Simple01: xD
[0:16:39] Simple01: <=
[0:16:40] Simple01: es asi
[0:16:40] Simple01: <=
[0:16:43] venad: el igual
[0:16:44] venad: despues?
[0:17:02] Simple01: si

El packman siempre primero es la regla :D

  • Like 1
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...