Jump to content

Problemas con Gui


vallejo

Recommended Posts

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
  
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

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

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

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...