aka Blue Posted July 31, 2015 Share Posted July 31, 2015 Bueno, pues hago este tema principalmente porque estoy haciendo un pequeño panel de reglas que funciona por comando y tal, querría saber como se puede hacer que con el mismo comando se abre/cierre dicho panel. Cabe destacar que lo he hecho por separado, es decir, el comando en un server y el panel y el evento en un cliente, por lo tanto, se usó un triggerServerEvent. PD: Sé que es algo facilísimo pero a día de hoy aun no aprendí como hacer eso Link to comment
Tomas Posted July 31, 2015 Share Posted July 31, 2015 guiSetVisible( gui, not guiGetVisible(gui) ) Link to comment
aka Blue Posted July 31, 2015 Author Share Posted July 31, 2015 Nono jaja me refiero que con el mismo comando puedas abrir y cerrar el panel. Link to comment
Sticmy Posted July 31, 2015 Share Posted July 31, 2015 Quizás así: bindKey ("F1", "down", function() guiSetVisible (myWindow, not guiGetVisible ( myWindow ) ) showCursor( not isCursorShowing(myWindow) ) end) Link to comment
aka Blue Posted July 31, 2015 Author Share Posted July 31, 2015 Hum, es que todo el código está hecho a base de dxDraw y demás, ¿hay alguna función para ello? Link to comment
Tomas Posted July 31, 2015 Share Posted July 31, 2015 Hum, es que todo el código está hecho a base de dxDraw y demás, ¿hay alguna función para ello? Utiliza una variable para permitir el dibujado del render, o simplemente usa removeEventHandler. Link to comment
aka Blue Posted July 31, 2015 Author Share Posted July 31, 2015 Si te soy al 100% sincero, ni idea de como hacer eso. Quiero utilizar el mismo comando/tecla para abrir y cerrar el panel. function reglitas () dxDrawRectangle(674, 255, 340, 385, tocolor(0, 0, 0, 120), false) dxDrawRectangle(674, 211, 340, 44, tocolor(0, 225, 10, 70), false) dxDrawRectangle(674, 640, 340, 11, tocolor(0, 225, 10, 70), false) dxDrawText("Reglas generales", 674, 211, 1014, 255, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("olakasesonreglasokase", 693, 260, 998, 634, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center", false, false, false, false, false) dxDrawLine(674, 211, 674, 650, tocolor(0, 0, 0, 200), 1, false) dxDrawLine(1014, 211, 1014, 650, tocolor(0, 0, 0, 200), 1, false) end function abrirlo() addEventHandler ( "onClientRender", root, reglitas ) end addEvent( "onReglitas", true ) addEventHandler( "onReglitas", localPlayer, abrirlo ) --[[function sistemitas() dxDrawRectangle(674, 255, 340, 385, tocolor(0, 0, 0, 120), false) dxDrawText("olakaseestassonlasreglasokase", 693, 260, 998, 634, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center", false, false, false, false, false) dxDrawRectangle(674, 211, 340, 44, tocolor(0, 225, 10, 70), false) dxDrawRectangle(674, 640, 340, 11, tocolor(0, 225, 10, 70), false) dxDrawText("Sistemas Principales", 674, 211, 1014, 255, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) dxDrawLine(674, 211, 674, 650, tocolor(0, 0, 0, 200), 1, false) dxDrawLine(1014, 211, 1014, 650, tocolor(0, 0, 0, 200), 1, false) end function verlo() addEventHandler ("onClientRender", root, sistemitas) end addCommandHandler ("sistemas", verlo)--]] bindKey( "F1", "down", "reglas" ) El apartado sv function reglaspanel(playerSource) triggerClientEvent ( playerSource, "onReglitas", playerSource) end addCommandHandler ( "reglas", reglaspanel ) Link to comment
alex17 Posted July 31, 2015 Share Posted July 31, 2015 (edited) local open = false function abrirlo() if open then removeEventHandler ( "onClientRender", root, reglitas ) else addEventHandler ( "onClientRender", root, reglitas ) end end addEvent( "onReglitas", true ) addEventHandler( "onReglitas", localPlayer, abrirlo ) Edited July 31, 2015 by Guest Link to comment
aka Blue Posted July 31, 2015 Author Share Posted July 31, 2015 Sigue igual. Eso lo tengo que tener en el cliente, ¿no? Porque en el server solo tengo el trigger con el comando que abre el panel. Te lo muestro por si no me expliqué bien. El cliente. function reglitas () dxDrawRectangle(674, 255, 340, 385, tocolor(0, 0, 0, 120), false) dxDrawRectangle(674, 211, 340, 44, tocolor(0, 225, 10, 70), false) dxDrawRectangle(674, 640, 340, 11, tocolor(0, 225, 10, 70), false) dxDrawText("Reglas generales", 674, 211, 1014, 255, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("olakaseestassonlasreglasokase", 693, 260, 998, 634, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center", false, false, false, false, false) dxDrawLine(674, 211, 674, 650, tocolor(0, 0, 0, 200), 1, false) dxDrawLine(1014, 211, 1014, 650, tocolor(0, 0, 0, 200), 1, false) end local open = false function abrirlo() if open then removeEventHandler ( "onClientRender", root, reglitas ) else addEventHandler ( "onClientRender", root, reglitas ) end end addEvent( "onReglitas", true ) addEventHandler( "onReglitas", localPlayer, abrirlo ) El servidor function reglaspanel(playerSource) triggerClientEvent ( playerSource, "onReglitas", playerSource) end addCommandHandler ( "reglas", reglaspanel ) Link to comment
alex17 Posted July 31, 2015 Share Posted July 31, 2015 lo siento me falto algo en el codigo local open = false function abrirlo() if open then removeEventHandler ( "onClientRender", root, reglitas ) open = false else addEventHandler ( "onClientRender", root, reglitas ) open = true end end addEvent( "onReglitas", true ) addEventHandler( "onReglitas", localPlayer, abrirlo ) Link to comment
aka Blue Posted July 31, 2015 Author Share Posted July 31, 2015 Ya va todo perfectamente. Muchas gracias por el código nuevamente, alex Link to comment
UserToDelete Posted July 31, 2015 Share Posted July 31, 2015 Pero para que el trigger de server > client ?, el comando puede haber ido perfectamente en client Link to comment
Recommended Posts