vallejo Posted January 26, 2015 Share Posted January 26, 2015 Buenas me gustaría saber como puedo hacer que una GUI este des-habilitada antes de loguear un player, Ejemplo: El jugador entra al servidor pero no se ha logueado y tengo un panel bind al F1 quiero que mientras el usuario no este logueado no abra el panel F1 que solo lo haga cuando este logueado. Esta lineas tengo hechas pero no me anda. Server function AbrirS(Player) cuenta = getPlayerAccount (Player) if isGuestAccount (cuenta) then outputConsole ("Debes de registrarte para visualizar el panel", Player) end end addEvent( "onPanel", true ) addEventHandler("onPanel", root, AbrirS) Client triggerServerEvent("onPanel", localPlayer) Pero quiero saber en que parte iría el trigger..! Link to comment
Tomas Posted January 26, 2015 Share Posted January 26, 2015 function AbrirS() cuenta = getPlayerAccount (client) if isGuestAccount (cuenta) then outputConsole ("Debes de registrarte para visualizar el panel", client) end end addEvent( "onPanel", true ) addEventHandler("onPanel", root, AbrirS) ...! Link to comment
vallejo Posted January 26, 2015 Author Share Posted January 26, 2015 También lo probé así y no funciona. Link to comment
Tomas Posted January 26, 2015 Share Posted January 26, 2015 También lo probé así y no funciona. Eso funciona...! Seguramente no lo estás usando correctamente..! Link to comment
vallejo Posted January 26, 2015 Author Share Posted January 26, 2015 Esto es lo que tengo por parte del client function () local seleccion = guiGridListGetItemText (Listado, guiGridListGetSelectedItem(Listado), 1) if seleccion == TC[1] then -- Historia CL local InfHis = fileOpen("txt/HistoriaCL.txt", true) --Abrimos archivos local lHis = fileRead(InfHis, 20000) -- Leemos el archivo guiSetText(MemoInf, lHis) fileClose(InfHis) -- Cerramos archivos elseif seleccion == TC[2] then --Reglas local InfReg = fileOpen("txt/Reglamentos.txt", true) local lReg = fileRead(InfReg, 20000) guiSetText(MemoInf, lReg) fileClose(InfReg) elseif seleccion == TC[3]then -- Administradores local InfAdm = fileOpen("txt/Administradores.txt", true) local lAdm = fileRead(InfAdm, 20000) guiSetText(MemoInf, lAdm) fileClose(InfAdm) elseif seleccion == TC[4]then -- Comandos local InfCom = fileOpen("txt/Comandos.txt", true) local lCom = fileRead(InfCom, 20000) guiSetText(MemoInf, lCom) fileClose(InfCom) elseif seleccion == TC[5]then -- Donaciones local InfDon = fileOpen("txt/Donaciones.txt", true) local lDon = fileRead(InfDon, 20000) guiSetText(MemoInf, lDon) fileClose(InfDon) elseif seleccion == TC[6]then -- Contactos local InfCon = fileOpen("txt/Contactos.txt", true) local lCon = fileRead(InfCon, 20000) guiSetText(MemoInf, lCon) fileClose(InfCon) end end) triggerServerEvent("onPanel", localPlayer) function abrirPcerrarP () -- Aqui en esta funcion abrimos y cerramos la GUI con un bind if not guiGetVisible(VentanaP) then -- Si la ventana no es visible entonces guiSetVisible(VentanaP, true) -- Se muestre en pantalla la ventana showCursor(true) -- Activa el cursor else guiSetVisible(VentanaP, false) showCursor(false) end end bindKey("f1", "down", abrirPcerrarP) --Bind con la tecla F7 function btnCerrarP () -- Cerramos la GUI con el boton guiSetVisible(VentanaP , false) -- si la ventana es visible se cierra showCursor(false) --Desactiva el cursor end addEventHandler("onClientGUIClick", btnCerrar, btnCerrarP, false ) -- Al hacer clic funciona el boton Link to comment
Tomas Posted January 26, 2015 Share Posted January 26, 2015 Client bindKey("f1","down",function() triggerServerEvent("onPanel", localPlayer) end ) function abrirPcerrarP (p) if p == localPlayer then if not guiGetVisible(VentanaP) then guiSetVisible(VentanaP, true) showCursor(true) else guiSetVisible(VentanaP, false) showCursor(false) end end end addEvent("showPanel",true) addEventHandler("showPanel",resourceRoot,abrirPcerrarP) Server function AbrirS() cuenta = getPlayerAccount (client) if isGuestAccount (cuenta) then return outputConsole ("Debes de registrarte para visualizar el panel", client) end triggerServerEvent("showPanel",resourceRoot,client) end end addEvent( "onPanel", true ) addEventHandler("onPanel", root, AbrirS) ...! Link to comment
vallejo Posted January 26, 2015 Author Share Posted January 26, 2015 Gracias funciona..! Link to comment
Tomas Posted January 26, 2015 Share Posted January 26, 2015 Gracias funciona..! Lo sé..! De nada. Link to comment
vallejo Posted January 26, 2015 Author Share Posted January 26, 2015 Pero aclarame cual es la diferencia entre los resourceRoot, root, client, thePlayer, localPlayer y cuando se usa. Link to comment
Tomas Posted January 26, 2015 Share Posted January 26, 2015 Pero aclarame cual es la diferencia entre los resourceRoot, root, client, thePlayer, localPlayer y cuando se usa. root = Variable predefinida = getRootElement() client = Argumento predefinido del addEventHandler() thePlayer = No existe localPlayer = Variable predefinida = getLocalPlayer() Link to comment
vallejo Posted January 27, 2015 Author Share Posted January 27, 2015 Man hay un problema, cada vez que algún jugador presiona F1 sea cual sea se le abre el panel, si estamos tu y yo en un servidor y tu presionas F1 se me abre a mi también el panel. Link to comment
Alexs Posted January 27, 2015 Share Posted January 27, 2015 En este código de @Tomas: function AbrirS() cuenta = getPlayerAccount (client) if isGuestAccount (cuenta) then return outputConsole ("Debes de registrarte para visualizar el panel", client) end triggerServerEvent("showPanel",resourceRoot,client) end end addEvent( "onPanel", true ) addEventHandler("onPanel", root, AbrirS) Hay un error, pues 'triggerServerEvent' es solo para client-side. Prueba así: function AbrirS() cuenta = getPlayerAccount (client) if isGuestAccount (cuenta) then return outputConsole ("Debes de registrarte para visualizar el panel", client) end triggerClientEvent ( client, 'showPanel', client, client) --lamento el triple 'client', pero evite transformar mucho el codigo. end end addEvent( "onPanel", true ) addEventHandler("onPanel", root, AbrirS) Link to comment
vallejo Posted January 27, 2015 Author Share Posted January 27, 2015 No funciona así..! Link to comment
Recommended Posts