Jump to content

[Ayuda] Posicion Absoluta


Narutimmy

Recommended Posts

Hola bueno tengo est scrip que me dibuja el nivel y todo pero el problema es que cambia de posicion dependiendo la resolucion de la pantalla de cada quien y se ve mal... como lo arreglo?

function dxsetText ( ) 
    local text = "" 
    local UP = tonumber ( getElementData ( localPlayer, "level" ) ) or 0 
    if ( UP == 1 ) then 
        text = "  /100" 
    elseif ( UP == 2 ) then 
        text = "  /300" 
    elseif ( UP == 3 ) then 
        text = "  /600" 
    elseif ( UP == 4 ) then 
        text = "  /1000" 
    elseif ( UP == 5 ) then 
        text = "  /1500" 
    elseif ( UP == 6 ) then 
        text = "  /2000" 
    elseif ( UP == 7 ) then 
        text = "  /2500" 
    elseif ( UP == 8 ) then 
        text = "  /3000" 
    elseif ( UP == 9 ) then 
        text = "  /3500" 
    elseif ( UP == 10 ) then 
        text = "  /4500" 
    elseif ( UP == 11 ) then 
        text = "  /5000" 
    elseif ( UP == 12 ) then 
        text = "  /6500" 
    elseif ( UP == 13 ) then 
        text = "  /7000" 
    elseif ( UP == 14 ) then 
        text = "  /7500" 
    elseif ( UP == 15 ) then 
        text = "  /8000" 
    elseif ( UP == 16 ) then 
        text = "  /8500" 
    elseif ( UP == 17 ) then 
        text = "  /9000" 
    elseif ( UP == 18 ) then 
        text = "  /9500" 
    elseif ( UP == 19 ) then 
        text = "  /10000" 
    elseif ( UP == 20 ) then 
        text = "  /15000" 
    
    end 
    GUIEditor_Label[5] = guiCreateLabel(706,359,80,13,text,false) 
    guiSetFont ( GUIEditor_Label[5], "default-bold-small" ) 
end 
addEventHandler ( "onClientResourceStart", resourceRoot, dxsetText ) 
  
addEventHandler ( "onClientElementDataChange", localPlayer, 
    function ( dataName ) 
        if ( dataName == "level" ) then 
            dxsetText ( ) 
        end 
    end 
) 
  
---2 
addEventHandler ( "onClientResourceStart", resourceRoot, 
    function ( ) 
        GUIEditor_Label = { } 
    
  
      GUIEditor_Label[1] = guiCreateLabel(624,335,66,14,"Level:",false) 
          
guiSetFont(GUIEditor_Label[1],"default-bold-small") 
  
  
         GUIEditor_Label[3] = guiCreateLabel(691,338,83,15,"Exp:",false) 
  
         guiSetFont(GUIEditor_Label[3],"default-bold-small") 
  
        GUIEditor_Label[2] = guiCreateLabel(625,353,53,43, tostring ( getElementData ( localPlayer, "level" ) ),false) 
        guiSetFont ( GUIEditor_Label[2], "sa-header" ) 
        GUIEditor_Label[4] = guiCreateLabel(679,359,49,14, tostring ( getElementData ( localPlayer, "exp" ) ),false) 
        guiSetFont ( GUIEditor_Label[4], "default-bold-small" ) 
    end 
) 
  
addEventHandler ( "onClientElementDataChange", localPlayer, 
    function ( dataName ) 
        if ( dataName == "level" ) then 
            guiSetText ( GUIEditor_Label[2], tostring ( getElementData ( localPlayer, "level" ) ) ) 
        elseif ( dataName == "exp" ) then 
            guiSetText ( GUIEditor_Label[4], tostring ( getElementData ( localPlayer, "exp" ) ) ) 
        end 
    end 
) 
setTimer(dataName,60000,0,source, true) 
  

Link to comment

Mira por ejemplo si tengo un elemento que sea de 132, 321, 400, 380 y mi resolución es de 1024 x 768.

Lo que se debe hacer es esto: 132/1024, 321/768, 400/1024 y 380/768.

El resultado de eso lo pegas en ese argumento pero definido con sX*NUMEROS

Lo definirías de esta forma

sX, sY = guiGetScreenSize() 
sX*Numeros, sY*Numeros, sX*Numeros, sY*Numeros 

Si no entiendes decime que te lo explico mejor.

Link to comment
Mira por ejemplo si tengo un elemento que sea de 132, 321, 400, 380 y mi resolución es de 1024 x 768.

Lo que se debe hacer es esto: 132/1024, 321/768, 400/1024 y 380/768.

El resultado de eso lo pegas en ese argumento pero definido con sX*NUMEROS

Lo definirías de esta forma

sX, sY = guiGetScreenSize() 
sX*Numeros, sY*Numeros, sX*Numeros, sY*Numeros 

Si no entiendes decime que te lo explico mejor.

Muchas Gracias :D solo que lo ise de otra forma y funciono perfecto ...

Link to comment
  • 1 month later...

Hola algo masmm.... lo intente asi pero no funciona , en cada resolucion se ve de diferente manera... :/

sX, sY = guiGetScreenSize() 
  
function showClientImage() 
   guiCreateStaticImage( sX*0.37/1024, sY*.85/768, sX*0.32/1024,  sY*0.08333/768, "logo1.png", true, nil) 
end 
  
addEventHandler( "onClientResourceStart", getResourceRootElement( getThisResource() ), showClientImage ) 

Link to comment

Prueba así:

sX, sY = guiGetScreenSize() 
  
function showClientImage() 
   guiCreateStaticImage( sX*0.37, sY*.85, sX*0.32,  sY*0.08333, "logo1.png", false, nil) 
end 
  
addEventHandler( "onClientResourceStart", getResourceRootElement( getThisResource() ), showClientImage ) 

Edited by Guest
Link to comment
sX, sY = guiGetScreenSize() 
  
function showClientImage() 
   guiCreateStaticImage( sX*0.37, sY*0.85, sX*0.32,  sY*0.08333, "logo1.png", true, nil) 
end 
  
addEventHandler( "onClientResourceStart", getResourceRootElement( getThisResource() ), showClientImage ) 

No hace falta el 0, '0.5' es lo mismo que '.5'.

Deberías comprobar esta clase de cosas antes de escribir.

También, por si no lo notas, el resultado de tus cálculos es un numero mayor a 1, pero en 'guiCreateStaticImage' cuando el sexto argumento es true los primeros cuatro argumentos deben ser números mayores o iguales a cero y menores o iguales a uno.

Link to comment
  • Recently Browsing   0 members

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