aka Blue Posted September 11, 2015 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)
Enargy, Posted September 11, 2015 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)
aka Blue Posted September 11, 2015 Author Posted September 11, 2015 En teoría debe estar bien pero a mi no me aparece nada.
Enargy, Posted September 11, 2015 Posted September 11, 2015 En teoría debe estar bien pero a mi no me aparece nada. Tu resolucion es 1365x1024 ?
alex17 Posted September 11, 2015 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
Tomas Posted September 12, 2015 Posted September 12, 2015 En vez de repetir la aritmética en cada línea, re-escribe la función y agregalo ahí
Enargy, Posted September 12, 2015 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.
Tomas Posted September 12, 2015 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)
Enargy, Posted September 12, 2015 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.
aka Blue Posted September 12, 2015 Author Posted September 12, 2015 ¿Pero es la resolución de mi MTA o de mi monitor? PD: Mi monitor es pequeño .
Enargy, Posted September 12, 2015 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.
aka Blue Posted September 12, 2015 Author 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
Enargy, Posted September 12, 2015 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 ?
aka Blue Posted September 12, 2015 Author Posted September 12, 2015 No me aparece en la pantalla nada.
Enargy, Posted September 12, 2015 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)
alex17 Posted September 12, 2015 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
aka Blue Posted September 12, 2015 Author 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 )
alex17 Posted September 12, 2015 Posted September 12, 2015 dxDrawRectangle2 pone esa funcion debajo de las variables de sx, sy .... etc tal como te lo pase arriba
Enargy, Posted September 13, 2015 Posted September 13, 2015 local scX, scY = ( sx / screenX ), ( sy / screenY )
aka Blue Posted September 13, 2015 Author 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 )
Sasu Posted September 13, 2015 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 )
aka Blue Posted September 13, 2015 Author 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
Sasu Posted September 13, 2015 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.
aka Blue Posted September 14, 2015 Author 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 )
Recommended Posts