UserToDelete Posted June 12, 2014 Share Posted June 12, 2014 rootRes = getResourceRootElement(getThisResource()) function panelDeJugador (jugadorL) local ventana = guiCreateWindow(1,1,0.9,0.9,"Test de ventanita",false) local botonSalir = guiCreateButton(0.2,0.2,0.4,0.4,"cerrar",true,ventana) guiWindowSetMovable (ventana, true) showCursor(true) end function salidFuncion () guiSetVisible(ventana,false) showCursor(false) end addEventHandler("onClientGUIClick", salidFuncion, botonSalir) addEventHandler("onClientResourceStart", rootRes, panelDeJugador) El problema es que no recuerdo la "linea" para que el darle al boton cerrara la GUI. y otra pregunta: Como hago para que el boton este en la derecha en vez de la izquierda? Link to comment
Bc# Posted June 12, 2014 Share Posted June 12, 2014 (edited) · Hidden Hidden Prueba con esto: rootRes = getResourceRootElement(getThisResource()) function panelDeJugador (jugadorL) ventana = guiCreateWindow(1,1,0.9,0.9,"Test de ventanita",false) botonSalir = guiCreateButton(0,0.2,0.4,0.4,"cerrar",true,ventana) addEventHandler("onClientGUIClick", botonSalir, salidFuncion) guiWindowSetMovable (ventana, true) showCursor(true) end function salidFuncion () guiSetVisible(ventana,false) showCursor(false) end addEventHandler("onClientResourceStart", rootRes, panelDeJugador) Edited June 13, 2014 by Guest Link to comment
Tomas Posted June 13, 2014 Share Posted June 13, 2014 El problema se debe a que : 1. Estás usando variables locales dentro de una función, por ende no podrás ejecutarlas en otra función, ¿eso era lo que pasaba cierto?. Puedes quitar el 'local' de las variables o simplemente quitar la función. Recomendación: En client-side para las GUI-s no es necesario usar 'onClientResourceStart' ya que dejandola fuera de la función [que te servirá para el problema de arriba] se auto-ejecutará cuando el jugador 'startee' el resource de la GUI. 3. Tienes mal el evento: 'onClientGUIClick' checa los argumentos. ventana = guiCreateWindow(1,1,0.9,0.9,"Test de ventanita",false) botonSalir = guiCreateButton(0.2,0.2,0.4,0.4,"cerrar",true,ventana) showCursor(true) function salidFuncion () guiSetVisible(ventana,false) showCursor(false) end addEventHandler("onClientGUIClick", botonSalir, salidFuncion) Link to comment
Bc# Posted June 13, 2014 Share Posted June 13, 2014 · Hidden Hidden El problema se debe a que :1. Estás usando variables locales dentro de una función, por ende no podrás ejecutarlas en otra función, ¿eso era lo que pasaba cierto?. Puedes quitar el 'local' de las variables o simplemente quitar la función. Recomendación: En client-side para las GUI-s no es necesario usar 'onClientResourceStart' ya que dejandola fuera de la función [que te servirá para el problema de arriba] se auto-ejecutará cuando el jugador 'startee' el resource de la GUI. 3. Tienes mal el evento: 'onClientGUIClick' checa los argumentos. ventana = guiCreateWindow(1,1,0.9,0.9,"Test de ventanita",false) botonSalir = guiCreateButton(0.2,0.2,0.4,0.4,"cerrar",true,ventana) showCursor(true) function salidFuncion () guiSetVisible(ventana,false) showCursor(false) end addEventHandler("onClientGUIClick", botonSalir, salidFuncion) Despues del 1 viene el 2. Y no le respondiste su segunda pregunta. En el primero quizas tenia un error en los argumentos y definicion de variables, y el segundo segundo era solo cambiar una variable. Link to comment
Tomas Posted June 13, 2014 Share Posted June 13, 2014 Si me equivoqué , pensé que había enumerado la recomendación , yo veo el botón a la derecha . Link to comment
UserToDelete Posted June 17, 2014 Author Share Posted June 17, 2014 (edited) El problema se debe a que :1. Estás usando variables locales dentro de una función, por ende no podrás ejecutarlas en otra función, ¿eso era lo que pasaba cierto?. Puedes quitar el 'local' de las variables o simplemente quitar la función. Recomendación: En client-side para las GUI-s no es necesario usar 'onClientResourceStart' ya que dejandola fuera de la función [que te servirá para el problema de arriba] se auto-ejecutará cuando el jugador 'startee' el resource de la GUI. 3. Tienes mal el evento: 'onClientGUIClick' checa los argumentos. ventana = guiCreateWindow(1,1,0.9,0.9,"Test de ventanita",false) botonSalir = guiCreateButton(0.2,0.2,0.4,0.4,"cerrar",true,ventana) showCursor(true) function salidFuncion () guiSetVisible(ventana,false) showCursor(false) end addEventHandler("onClientGUIClick", botonSalir, salidFuncion) ejem... solo e preguntado por la linea de como cerrarla y como poner el boton a la izquierda no de "problemas con el script", de todas maneras, lo que buscaba era esto: addEventHandler("onClientGUIClick", botonSalir, salidFuncion) gracias a #BC por responder a lo que he preguntado El problema es que ahora, al clickar en cualquier parte de la ventana, se cierra. rootRes = getResourceRootElement(getThisResource()) function panelDeJugador (jugadorL) ventana = guiCreateWindow(100,100,600,350,"Test de ventanita",false) botonSalir = guiCreateButton(0.01,0.9,0.30,0.1,"cerrar",true,ventana) addEventHandler("onClientGUIClick", botonSalir, salidFuncion) guiWindowSetMovable (ventana, true) showCursor(true) end function salidFuncion () guiSetVisible(ventana,false) showCursor(false) end addCommandHandler("panel",panelDeJugador) PD: ya arregle el problema de el boton a la izquierda: guiCreateButton(0.01,0.9,0.30,0.1... Edited June 17, 2014 by Guest Link to comment
Chunk. Posted June 19, 2014 Share Posted June 19, 2014 · Hidden Hidden rootRes = getResourceRootElement(getThisResource()) function panelDeJugador (jugadorL) ventana = guiCreateWindow(100,100,600,350,"Test de ventanita",false) botonSalir = guiCreateButton(0.01,0.9,0.30,0.1,"cerrar",true,ventana) addEventHandler("onClientGUIClick", botonSalir, salidFuncion) guiWindowSetMovable (ventana, true) showCursor(true) end addCommandHandler("panel",panelDeJugador) function salidFuncion() if source == botonSalir then destroyElement (ventana) showCursor(false) end end Prueba con eso. Link to comment
Chunk. Posted June 19, 2014 Share Posted June 19, 2014 · Hidden Hidden Ya lo arregló... El dijo que arregló el problema del botón a la izquierda, no el de cerrarlo... o por lo menos es lo que pone. Link to comment
Recommended Posts