aka Blue Posted September 11, 2015 Share Posted September 11, 2015 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) Link to comment
Enargy, Posted September 11, 2015 Share Posted September 11, 2015 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) Link to comment
aka Blue Posted September 11, 2015 Author Share Posted September 11, 2015 En teoría debe estar bien pero a mi no me aparece nada. Link to comment
Enargy, Posted September 11, 2015 Share Posted September 11, 2015 En teoría debe estar bien pero a mi no me aparece nada. Tu resolucion es 1365x1024 ? Link to comment
alex17 Posted September 11, 2015 Share Posted September 11, 2015 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 Link to comment
Tomas Posted September 12, 2015 Share Posted September 12, 2015 En vez de repetir la aritmética en cada línea, re-escribe la función y agregalo ahí Link to comment
Enargy, Posted September 12, 2015 Share Posted September 12, 2015 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. Link to comment
Tomas Posted September 12, 2015 Share Posted September 12, 2015 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) Link to comment
Enargy, Posted September 12, 2015 Share Posted September 12, 2015 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. Link to comment
aka Blue Posted September 12, 2015 Author Share Posted September 12, 2015 ¿Pero es la resolución de mi MTA o de mi monitor? PD: Mi monitor es pequeño . Link to comment
Enargy, Posted September 12, 2015 Share Posted September 12, 2015 ¿Pero es la resolución de mi MTA o de mi monitor?PD: Mi monitor es pequeño . 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. Link to comment
aka Blue Posted September 12, 2015 Author Share Posted September 12, 2015 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 Link to comment
Enargy, Posted September 12, 2015 Share Posted September 12, 2015 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 ? Link to comment
aka Blue Posted September 12, 2015 Author Share Posted September 12, 2015 No me aparece en la pantalla nada. Link to comment
Enargy, Posted September 12, 2015 Share Posted September 12, 2015 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 ? 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) Link to comment
alex17 Posted September 12, 2015 Share Posted September 12, 2015 aca tienes @Blue Pie me habia equivocado en lo que te dije por skype 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 Link to comment
aka Blue Posted September 12, 2015 Author Share Posted September 12, 2015 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 ) Link to comment
alex17 Posted September 12, 2015 Share Posted September 12, 2015 dxDrawRectangle2 pone esa funcion debajo de las variables de sx, sy .... etc tal como te lo pase arriba Link to comment
Enargy, Posted September 13, 2015 Share Posted September 13, 2015 local scX, scY = ( sx / screenX ), ( sy / screenY ) Link to comment
aka Blue Posted September 13, 2015 Author Share Posted September 13, 2015 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 ) Link to comment
Sasu Posted September 13, 2015 Share Posted September 13, 2015 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 ) Link to comment
aka Blue Posted September 13, 2015 Author Share Posted September 13, 2015 Si, ahora sí lo abre. Veo que pusiste los dxDrawRectangle de por si, yo puse los _dxDrawRectangle y sigue funcionando. Gracias Link to comment
Sasu Posted September 13, 2015 Share Posted September 13, 2015 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. Link to comment
aka Blue Posted September 14, 2015 Author Share Posted September 14, 2015 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 ) Link to comment
Recommended Posts