Jump to content

[Ayuda] Posicion Absoluta


Narutimmy

Recommended Posts

Posted

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) 
  

mtasa://66.85.14.178:22003

350x20_FFFFFF_FFFFFF_000000_000000.png

Ts3: thezombiworld.com:7777

350x20_FFFFFF_FFFFFF_000000_000000.png

Posted
Para ajustar lo que quieres para que se acomode en todas las resoluciones debes usar lo siguiente:
guiGetScreenSize 

algunos ejemplos por favor :S?

mtasa://66.85.14.178:22003

350x20_FFFFFF_FFFFFF_000000_000000.png

Ts3: thezombiworld.com:7777

350x20_FFFFFF_FFFFFF_000000_000000.png

Posted

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.

Posted
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 ...

mtasa://66.85.14.178:22003

350x20_FFFFFF_FFFFFF_000000_000000.png

Ts3: thezombiworld.com:7777

350x20_FFFFFF_FFFFFF_000000_000000.png

  • 1 month later...
Posted

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 ) 

mtasa://66.85.14.178:22003

350x20_FFFFFF_FFFFFF_000000_000000.png

Ts3: thezombiworld.com:7777

350x20_FFFFFF_FFFFFF_000000_000000.png

Posted (edited)

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

Developer @ MYVAL

Posted
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 ) 

bandera_de_Venezuela.png

Posted
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.

Developer @ MYVAL

  • Recently Browsing   0 members

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