Jump to content

[Ayuda] DX Relative


aka Blue

Recommended Posts

Posted

Bueno, pues estaba intentando poner el modo relativo a un panel DX y pues no puedo entender por qué no sale.

PD: Salen solo los DXDrawRectangle y el texto pero no sale la barrita. Encima, los rectángulos y el texto salen arriba en mi pantalla, casi en el medio.

scX, scY = guiGetScreenSize() 
      local screenX = 1365 
      local screenY = 1024 
      local sx = 1/screenX 
      local sy = 1/screenY 
      local sed = getElementData(localPlayer,"sed") 
      local anchototal = 120 * sx 
      local anchototal2 = (sed*anchototal)/maxResistencia 
      dxDrawRectangle(scX * (842*sx), scY * (185*sy), scX * (138*sx), scY * (86*sy), tocolor(0, 0, 0, 90), false) 
      dxDrawText("Sed", scX * (890*sx), scY * (184*sy), scX * (845*sx), scY * (213*sy), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
      dxDrawRectangle(scX * (848*sx), scY (198*sy), scX * (124*sx), scY * (14*sy), tocolor(0, 0, 0, 255), false) 
      dxDrawRectangle(scX * (850*sx), scY * (200*sy), scX * (anchototal), scY * (10*sy), tocolor(0, 0, 0, 90), false) 
      dxDrawRectangle(scX * (850*sx), scY * (200*sy), scX * (anchototal2), scY * (10*sy), tocolor(0, 255, 0, 200), false) 
  

Posted

Prueba con esto.

    scX, scY = guiGetScreenSize()    
     
    screenX = 1365 
    screenY = 1024 
  
    scX, scY = ( scX / screenX ), ( scY / screenY ) 
     
     
    local sed = getElementData(localPlayer,"sed") 
    local anchototal = 120 * sx 
    local anchototal2 = (sed*anchototal)/maxResistencia 
    dxDrawRectangle(scX*305, scY*218, 435, 70, tocolor(255, 0, 0, 255), false) 
         
    dxDrawRectangle(scX * (842), scY * (185), scX * (138), scY * (86), tocolor(0, 0, 0, 90), false) 
    dxDrawText("Sed", scX * (890), scY * (184), scX * (845), scY * (213), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
    dxDrawRectangle(scX * (848), scY (198), scX * (124), scY * (14), tocolor(0, 0, 0, 255), false) 
    dxDrawRectangle(scX * (850), scY * (200), scX * (anchototal), scY * (10), tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle(scX * (850), scY * (200), scX * (anchototal2), scY * (10), tocolor(0, 255, 0, 200), false) 

Posted
para ver tu resolucion de MTA ve a configuracion / video / y en resolucion lo primero que te salga sin hacer nada es tu resolucion de pantalla
En vez de repetir la aritmética en cada línea, re-escribe la función y agregalo ahí

Si. Además esta colocando una resolución que no existe.

Posted
para ver tu resolucion de MTA ve a configuracion / video / y en resolucion lo primero que te salga sin hacer nada es tu resolucion de pantalla
En vez de repetir la aritmética en cada línea, re-escribe la función y agregalo ahí

Si. Además esta colocando una resolución que no existe.

Si que existe.. quizás tu no la puedes usar porque tu monitor no llega a ese tamaño (testeado con uno que alcanza 1920x1368)

Posted
para ver tu resolucion de MTA ve a configuracion / video / y en resolucion lo primero que te salga sin hacer nada es tu resolucion de pantalla
En vez de repetir la aritmética en cada línea, re-escribe la función y agregalo ahí

Si. Además esta colocando una resolución que no existe.

Si que existe.. quizás tu no la puedes usar porque tu monitor no llega a ese tamaño (testeado con uno que alcanza 1920x1368)

Yo hice la prueba al quitar la casilla de "mostrar resoluciones no seguras" en opciones pero no aparece una igual, en fin.

Posted
¿Pero es la resolución de mi MTA o de mi monitor?

PD: Mi monitor es pequeño xD.

La de MTA. El monitor no tiene nada que ver con la resolución del mta, pero eso si, si tu monitor es muy pequeño, algunas resoluciones no te saldrán en las opciones de igual manera se pueden mostrar todas al hacer lo que escribí arriba, pero es algo que mta trae desactivado por defecto.

Posted

Na, tampoco es muy pequeño. La resolución que uso en MTA es ésta:

1024 x 768 x 32

PD: El código que tengo de momento:

scX, scY = guiGetScreenSize() 
screenX = 1024 
screenY = 768 
scX, scY = ( scX / screenX ), ( scY / screenY ) 
function mostrarsed () 
    local sed = getElementData(localPlayer,"sed") 
    local anchototal = 120 * sx 
    local anchototal2 = (sed*anchototal)/maxResistencia 
     
    dxDrawRectangle(scX*305, scY*218, 435, 70, tocolor(255, 0, 0, 255), false) 
    dxDrawRectangle(scX * (842), scY * (185), scX * (138), scY * (86), tocolor(0, 0, 0, 90), false) 
    dxDrawText("Sed", scX * (890), scY * (184), scX * (845), scY * (213), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
    dxDrawRectangle(scX * (848), scY (198), scX * (124), scY * (14), tocolor(0, 0, 0, 255), false) 
    dxDrawRectangle(scX * (850), scY * (200), scX * (anchototal), scY * (10), tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle(scX * (850), scY * (200), scX * (anchototal2), scY * (10), tocolor(0, 255, 0, 200), false) 
  
end 

Posted
Na, tampoco es muy pequeño. La resolución que uso en MTA es ésta:

1024 x 768 x 32

PD: El código que tengo de momento:

scX, scY = guiGetScreenSize() 
screenX = 1024 
screenY = 768 
scX, scY = ( scX / screenX ), ( scY / screenY ) 
function mostrarsed () 
    local sed = getElementData(localPlayer,"sed") 
    local anchototal = 120 * sx 
    local anchototal2 = (sed*anchototal)/maxResistencia 
     
    dxDrawRectangle(scX*305, scY*218, 435, 70, tocolor(255, 0, 0, 255), false) 
    dxDrawRectangle(scX * (842), scY * (185), scX * (138), scY * (86), tocolor(0, 0, 0, 90), false) 
    dxDrawText("Sed", scX * (890), scY * (184), scX * (845), scY * (213), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
    dxDrawRectangle(scX * (848), scY (198), scX * (124), scY * (14), tocolor(0, 0, 0, 255), false) 
    dxDrawRectangle(scX * (850), scY * (200), scX * (anchototal), scY * (10), tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle(scX * (850), scY * (200), scX * (anchototal2), scY * (10), tocolor(0, 255, 0, 200), false) 
  
end 

y el error xD?

Posted

Donde esta definida 'sx', 'maxResistencia'? si no aparece nada es por que hay error en esas dos variables.

Na, tampoco es muy pequeño. La resolución que uso en MTA es ésta:

1024 x 768 x 32

PD: El código que tengo de momento:

scX, scY = guiGetScreenSize() 
screenX = 1024 
screenY = 768 
scX, scY = ( scX / screenX ), ( scY / screenY ) 
function mostrarsed () 
    local sed = getElementData(localPlayer,"sed") 
    local anchototal = 120 * sx 
    local anchototal2 = (sed*anchototal)/maxResistencia 
     
    dxDrawRectangle(scX*305, scY*218, 435, 70, tocolor(255, 0, 0, 255), false) 
    dxDrawRectangle(scX * (842), scY * (185), scX * (138), scY * (86), tocolor(0, 0, 0, 90), false) 
    dxDrawText("Sed", scX * (890), scY * (184), scX * (845), scY * (213), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
    dxDrawRectangle(scX * (848), scY (198), scX * (124), scY * (14), tocolor(0, 0, 0, 255), false) 
    dxDrawRectangle(scX * (850), scY * (200), scX * (anchototal), scY * (10), tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle(scX * (850), scY * (200), scX * (anchototal2), scY * (10), tocolor(0, 255, 0, 200), false) 
  
end 

y el error xD?

y en la linea 13 no está la aritmética en " scY (198) "

    dxDrawRectangle(scX * (848), scY (198), scX * (124), scY * (14), tocolor(0, 0, 0, 255), false) 

Posted

aca tienes @Blue Pie me habia equivocado en lo que te dije por skype :lol:

PD : ya lo probe y funciona

   
  local sx, sy = guiGetScreenSize() 
  local screenX = 1024 
  local screenY = 768 
  local scX, scY = ( 1 / screenX  ), ( 1 / screenY ) 
  
    function mostrarsed () 
       local sed = getElementData(localPlayer,"sed") or 100 
       local anchototal = 120  
       local anchototal2 = (sed*anchototal)/100 
       dxDrawRectangle2( 842 , 185,  138,  86, tocolor(0, 0, 0, 90), false) 
       dxDrawRectangle2(848, 198, 124, 14, tocolor(0, 0, 0, 255), false) 
       dxDrawRectangle2(850, 200, anchototal, 10, tocolor(0, 0, 0, 90), false) 
       dxDrawRectangle2(850, 200, anchototal2, 10, tocolor(0, 255, 0, 200), false) 
       dxDrawText("Sed", sx * ( 890 * scX ), sy * ( 184 * scY), sx * ( 845 * scX ), sy * ( 213* scY), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
    end 
        addEventHandler("onClientRender", root, mostrarsed) 
  
    function dxDrawRectangle2(posX, posY, ancho, largo, color,posGui) 
         local x, y, w, h = sx * ( posX * scX ), sy * ( posY * scY), sx * ( ancho * scX ), sy * ( largo * scY)  
  
         dxDrawRectangle(sx * ( posX * scX ), sy * ( posY * scY), sx * ( ancho * scX ), sy * ( largo * scY) , color,posGui) 
  
    end 

Posted

Sigue sin mostrármelo :c

function dxDrawRectangle2(posX, posY, ancho, largo, color,posGui) 
    local x, y, w, h = sx * ( posX * scX ), sy * ( posY * scY), sx * ( ancho * scX ), sy * ( largo * scY)  
        dxDrawRectangle(sx * ( posX * scX ), sy * ( posY * scY), sx * ( ancho * scX ), sy * ( largo * scY) , color,posGui) 
end 
  
local sx, sy = guiGetScreenSize() 
local screenX = 1024 
local screenY = 768 
local scX, scY = ( 1 / screenX  ), ( 1 / screenY ) 
  
function mostrarsed () 
    local sed = getElementData(localPlayer,"sed") or 100 
    local anchototal = 120  
    local anchototal2 = (sed*anchototal)/100 
    dxDrawRectangle2( 842 , 185,  138,  86, tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle2(848, 198, 124, 14, tocolor(0, 0, 0, 255), false) 
    dxDrawRectangle2(850, 200, anchototal, 10, tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle2(850, 200, anchototal2, 10, tocolor(0, 255, 0, 200), false) 
    dxDrawText("Sed", sx * ( 890 * scX ), sy * ( 184 * scY), sx * ( 845 * scX ), sy * ( 213* scY), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
end 
function abrirsed() 
addEventHandler ( "onClientRender", getRootElement(), mostrarsed ) 
end 
addEvent( "onSed", true ) 
addEventHandler( "onSed", getRootElement(), abrirsed ) 

Posted

Sigue igual :c

sx, sy = guiGetScreenSize() 
screenX = 1024 
screenY = 768 
scX, scY = ( sx / screenX  ), ( sy / screenY ) 
function dxDrawRectangle2(posX, posY, ancho, largo, color,posGui) 
    local x, y, w, h = sx * ( posX * scX ), sy * ( posY * scY), sx * ( ancho * scX ), sy * ( largo * scY)  
        dxDrawRectangle(sx * ( posX * scX ), sy * ( posY * scY), sx * ( ancho * scX ), sy * ( largo * scY) , color,posGui) 
end 
function mostrarsed () 
    local sed = getElementData(localPlayer,"sed") or 100 
    local anchototal = 120  
    local anchototal2 = (sed*anchototal)/100 
    dxDrawRectangle2( 842 , 185,  138,  86, tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle2(848, 198, 124, 14, tocolor(0, 0, 0, 255), false) 
    dxDrawRectangle2(850, 200, anchototal, 10, tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle2(850, 200, anchototal2, 10, tocolor(0, 255, 0, 200), false) 
    dxDrawText("Sed", sx * ( 890 * scX ), sy * ( 184 * scY), sx * ( 845 * scX ), sy * ( 213* scY), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
end 
function abrirsed() 
addEventHandler ( "onClientRender", getRootElement(), mostrarsed ) 
end 
addEvent( "onSed", true ) 
addEventHandler( "onSed", getRootElement(), abrirsed ) 

Posted
local sx, sy = guiGetScreenSize() 
local screenX = 1024 
local screenY = 768 
local scX, scY = ( 1 / screenX  ), ( 1 / screenY ) 
local _dxDrawRectangle = dxDrawRectangle 
  
function dxDrawRectangle(posX, posY, ancho, largo, ...) 
    local x, y, w, h = sx * ( posX * scX ), sy * ( posY * scY), sx * ( ancho * scX ), sy * ( largo * scY) 
    _dxDrawRectangle(x, y, w, h, ...) 
end 
  
function mostrarsed () 
    local sed = getElementData(localPlayer,"sed") or 100 
    local anchototal = 120 
    local anchototal2 = (sed*anchototal)/100 
    dxDrawRectangle( 842 , 185,  138,  86, tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle( 848, 198, 124, 14, tocolor(0, 0, 0, 255), false) 
    dxDrawRectangle( 850, 200, anchototal, 10, tocolor(0, 0, 0, 90), false) 
    dxDrawRectangle( 850, 200, anchototal2, 10, tocolor(0, 255, 0, 200), false) 
    dxDrawText("Sed", sx * ( 890 * scX ), sy * ( 184 * scY), sx * ( 845 * scX ), sy * ( 213* scY), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
end 
  
function abrirsed() 
addEventHandler ( "onClientRender", getRootElement(), mostrarsed ) 
end 
addEvent( "onSed", true ) 
addEventHandler( "onSed", getRootElement(), abrirsed ) 

Posted

De hecho, hice que el dxDrawRectangle pase a llamarse _dxDrawRectangle asi pudiera crear una funcion con el nombre del dxDrawRectangle pero que este se diferencie en que los valores absolutos de los primeros cuatro argumentos los convierta en valores relativos. Despues lo demás no cambie nada, asi que no me lo agredezcas a mí, tan solo ordené un poco el script.

Posted

Cuando abrí el servidor hoy en la versión "mini-beta" me han dicho que las necesidades se ven raras. Dejo el código pero no entiendo la verdad.

local sx, sy = guiGetScreenSize() 
local screenX = 1024 
local screenY = 768 
local scX, scY = ( 1 / screenX  ), ( 1 / screenY ) 
local _dxDrawRectangle = dxDrawRectangle 
  
function dxDrawRectangle(posX, posY, ancho, largo, ...) 
    local x, y, w, h = sx * ( posX * scX ), sy * ( posY * scY), sx * ( ancho * scX ), sy * ( largo * scY) 
    _dxDrawRectangle(x, y, w, h, ...) 
end 
function mostrarsed () 
    local sed = getElementData(localPlayer,"sed") or 100 
    local anchototal = 120 
    local anchototal2 = (sed*anchototal)/100 
    _dxDrawRectangle( 848, 198, 124, 14, tocolor(0, 0, 0, 255), false) 
    _dxDrawRectangle( 850, 200, anchototal2, 10, tocolor(0, 255, 0, 200), false) 
    dxDrawText("Sed", sx * ( 890 * scX ), sy * ( 184 * scY), sx * ( 845 * scX ), sy * ( 213* scY), tocolor(255, 255, 255, 255), 0.40, "bankgothic", "left", "top", false, false, false, false, false) 
end 
function abrirsed() 
addEventHandler ( "onClientRender", getRootElement(), mostrarsed ) 
end 
addEvent( "onSed", true ) 
addEventHandler( "onSed", getRootElement(), abrirsed ) 

  • Recently Browsing   0 members

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