Jump to content

Login GUI


Lloyd Logan

Recommended Posts

Hey,

I made i login script which is a basic username/password then the register and login buttons. The problem is when i start it i get no errors, and when i join the server enter my details, click login or register, nothing happens, nothing in the console at all. The resource has acl rights but still nothing? Here is the script... There is also a black screen behind the login panel.

GUIEditor = { 
    memo = {}, 
    button = {}, 
    edit = {}, 
    checkbox = {}, 
    label = {}, 
} 
addEventHandler("onClientResourceStart", resourceRoot, 
    function() 
        bRegister = guiCreateButton(527, 719, 138, 52, "Register", false) 
  
  
        bLogin = guiCreateButton(673, 719, 83, 53, "Login", false) 
  
  
        tgLabel = guiCreateLabel(336, 477, 217, 64, "The Goodies!", false) 
        guiSetFont(tgLabel, "sa-header") 
        guiLabelSetColor(tgLabel, 86, 249, 5) 
  
  
        tbLabel = guiCreateLabel(733, 482, 220, 53, "The Baddies!", false) 
        guiSetFont(tbLabel, "sa-header") 
        guiLabelSetColor(tbLabel, 254, 0, 0) 
  
  
        vLabel = guiCreateLabel(607, 482, 116, 54, "VS.", false) 
        guiSetFont(vLabel, "sa-header") 
  
  
        uLabel = guiCreateLabel(338, 575, 169, 60, "Username", false) 
        guiSetFont(uLabel, "sa-header") 
  
  
        pLabel = guiCreateLabel(338, 649, 168, 61, "Password", false) 
        guiSetFont(pLabel, "sa-header") 
  
  
       rCbox = guiCreateCheckBox(529, 638, 220, 17, "Remember My Details?", false, false) 
        guiSetFont(rCbox, "clear-normal") 
  
  
        mRead = guiCreateMemo(569, 247, 171, 203, "          PLEASE READ!", false) 
        guiMemoSetReadOnly(mRead, true) 
  
  
        uEdit = guiCreateEdit(527, 589, 229, 39, "", false) 
  
  
        pEdit = guiCreateEdit(526, 663, 227, 37, "", false) 
        guiEditSetMasked ( pEdit, true ) 
  
    end 
) 
  
local localPlayer = getLocalPlayer ( ) 
  
  
function windowHandler( ) 
    local playername = getPlayerName(localPlayer) 
     
    guiSetText(LoginUsername, "") 
    guiSetText(EditRegisterUsername, "") 
  
    guiSetText(LoginUsername, playername) 
    guiSetText(EditRegisterUsername, playername) 
  
    guiSetInputEnabled(true) 
    showCursor ( true ) 
end 
  
function onClickBtn ( button, state ) 
    if (source == bLogin) then 
        triggerServerEvent ( "onLogin", getRootElement(), localPlayer, guiGetText(uEdit), guiGetText(pEdit)) 
    end 
end 
  
function onClickBtn2 ( button, state ) 
    if (source == bRegister) then 
        triggerServerEvent ( "onRegister", getRootElement(), localPlayer, guiGetText(uEdit), guiGetText(pEdit)) 
    end 
end 
  
  
function hideLoginWindow() 
    guiSetInputEnabled(false) 
    guiSetVisible ( GUIEditor_Window[1], false ) 
    showCursor ( false ) 
end 
addEvent( "hideLoginWindow", true ) 
addEventHandler( "hideLoginWindow", getRootElement(), hideLoginWindow ) 
  
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), windowHandler ) 
  
addEventHandler ( "onClientGUIClick", bLogin, onClickBtn, false ) 
addEventHandler ( "onClientGUIClick", rLogin, onClickBtn2, false ) 

Server side.

function onLogin ( player, user, pass ) 
    local account = getAccount ( user, pass ) 
    if ( account ~= false ) then 
        if (logIn ( player, account, pass ) == true) then 
            triggerClientEvent ( "hideLoginWindow", getRootElement()) 
        else 
            outputChatBox ( "Login error!", player, 255, 255, 0 ) -- Output they got the details wrong. 
        end 
    else 
        outputChatBox ( "Wrong username or password!", player, 255, 255, 0 ) -- Output they got the details wrong. 
    end 
end 
  
addEvent( "onLogin", true ) 
addEventHandler( "onLogin", getRootElement(), onLogin ) 
  
function onRegister ( player, user, pass ) 
    local account = getAccount ( user, pass ) 
    if ( account ~= false ) then 
        if (logIn ( player, account, pass ) == true) then 
            triggerClientEvent ( "hideLoginWindow", getRootElement()) 
        else 
            outputChatBox ( "Login error!", player, 255, 255, 0 ) -- Output they got the details wrong. 
        end 
    else 
        account = addAccount ( user, pass ) 
        if (logIn ( player, account, pass ) == true) then 
            triggerClientEvent ( "hideLoginWindow", getRootElement()) 
        else 
            outputChatBox ( "Register/Login error!", player, 255, 255, 0 ) -- Output they got the details wrong. 
        end 
    end 
end 
  
addEvent( "onRegister", true ) 
addEventHandler( "onRegister", getRootElement(), onRegister ) 

Your help is much appreciated, thanks,

Lloyd

Link to comment
Are you sure that you get no errors at all? checked debugscript IN GAME?

Okay, i put that on and,

login_client:61: Bad arguement @ 'guiSetText' [Expected gui element at argument 1, got nill]

login_client:62: Bad arguement @ 'guiSetText' [Expected gui element at argument 1, got nill]

login_client:64: Bad arguement @ 'guiSetText' [Expected gui element at argument 1, got nill]

login_client:65: Bad arguement @ 'guiSetText' [Expected gui element at argument 1, got nill]

login_client:95 Bad arguement @ 'addEventHandler' [Expected gui element at argument 2, got nill

]

Thats whats coming up?

Link to comment

Event handlers has to go inside the "onClientResourceStart" function.

GUIEditor = { 
    memo = {}, 
    button = {}, 
    edit = {}, 
    checkbox = {}, 
    label = {}, 
} 
addEventHandler("onClientResourceStart", resourceRoot, 
    function() 
        bRegister = guiCreateButton(527, 719, 138, 52, "Register", false) 
  
  
        bLogin = guiCreateButton(673, 719, 83, 53, "Login", false) 
  
  
        tgLabel = guiCreateLabel(336, 477, 217, 64, "The Goodies!", false) 
        guiSetFont(tgLabel, "sa-header") 
        guiLabelSetColor(tgLabel, 86, 249, 5) 
  
  
        tbLabel = guiCreateLabel(733, 482, 220, 53, "The Baddies!", false) 
        guiSetFont(tbLabel, "sa-header") 
        guiLabelSetColor(tbLabel, 254, 0, 0) 
  
  
        vLabel = guiCreateLabel(607, 482, 116, 54, "VS.", false) 
        guiSetFont(vLabel, "sa-header") 
  
  
        uLabel = guiCreateLabel(338, 575, 169, 60, "Username", false) 
        guiSetFont(uLabel, "sa-header") 
  
  
        pLabel = guiCreateLabel(338, 649, 168, 61, "Password", false) 
        guiSetFont(pLabel, "sa-header") 
  
  
       rCbox = guiCreateCheckBox(529, 638, 220, 17, "Remember My Details?", false, false) 
        guiSetFont(rCbox, "clear-normal") 
  
  
        mRead = guiCreateMemo(569, 247, 171, 203, "          PLEASE READ!", false) 
        guiMemoSetReadOnly(mRead, true) 
  
  
        uEdit = guiCreateEdit(527, 589, 229, 39, "", false) 
  
  
        pEdit = guiCreateEdit(526, 663, 227, 37, "", false) 
        guiEditSetMasked ( pEdit, true ) 
        addEventHandler ( "onClientGUIClick", bLogin, onClickBtn, false ) 
        addEventHandler ( "onClientGUIClick", rLogin, onClickBtn2, false ) 
        local playername = getPlayerName(localPlayer) 
    
        guiSetText(LoginUsername, "") 
        guiSetText(EditRegisterUsername, "") 
  
        guiSetText(LoginUsername, playername) 
        guiSetText(EditRegisterUsername, playername) 
  
        guiSetInputEnabled(true) 
        showCursor ( true ) 
    end 
) 
  
function onClickBtn ( button, state ) 
    if (source == bLogin) then 
        triggerServerEvent ( "onLogin", getRootElement(), localPlayer, guiGetText(uEdit), guiGetText(pEdit)) 
    end 
end 
  
function onClickBtn2 ( button, state ) 
    if (source == bRegister) then 
        triggerServerEvent ( "onRegister", getRootElement(), localPlayer, guiGetText(uEdit), guiGetText(pEdit)) 
    end 
end 
  
  
function hideLoginWindow() 
    guiSetInputEnabled(false) 
    guiSetVisible ( GUIEditor_Window[1], false ) 
    showCursor ( false ) 
end 
addEvent( "hideLoginWindow", true ) 
addEventHandler( "hideLoginWindow", getRootElement(), hideLoginWindow ) 

Link to comment
Event handlers has to go inside the "onClientResourceStart" function.
GUIEditor = { 
    memo = {}, 
    button = {}, 
    edit = {}, 
    checkbox = {}, 
    label = {}, 
} 
addEventHandler("onClientResourceStart", resourceRoot, 
    function() 
        bRegister = guiCreateButton(527, 719, 138, 52, "Register", false) 
  
  
        bLogin = guiCreateButton(673, 719, 83, 53, "Login", false) 
  
  
        tgLabel = guiCreateLabel(336, 477, 217, 64, "The Goodies!", false) 
        guiSetFont(tgLabel, "sa-header") 
        guiLabelSetColor(tgLabel, 86, 249, 5) 
  
  
        tbLabel = guiCreateLabel(733, 482, 220, 53, "The Baddies!", false) 
        guiSetFont(tbLabel, "sa-header") 
        guiLabelSetColor(tbLabel, 254, 0, 0) 
  
  
        vLabel = guiCreateLabel(607, 482, 116, 54, "VS.", false) 
        guiSetFont(vLabel, "sa-header") 
  
  
        uLabel = guiCreateLabel(338, 575, 169, 60, "Username", false) 
        guiSetFont(uLabel, "sa-header") 
  
  
        pLabel = guiCreateLabel(338, 649, 168, 61, "Password", false) 
        guiSetFont(pLabel, "sa-header") 
  
  
       rCbox = guiCreateCheckBox(529, 638, 220, 17, "Remember My Details?", false, false) 
        guiSetFont(rCbox, "clear-normal") 
  
  
        mRead = guiCreateMemo(569, 247, 171, 203, "          PLEASE READ!", false) 
        guiMemoSetReadOnly(mRead, true) 
  
  
        uEdit = guiCreateEdit(527, 589, 229, 39, "", false) 
  
  
        pEdit = guiCreateEdit(526, 663, 227, 37, "", false) 
        guiEditSetMasked ( pEdit, true ) 
        addEventHandler ( "onClientGUIClick", bLogin, onClickBtn, false ) 
        addEventHandler ( "onClientGUIClick", rLogin, onClickBtn2, false ) 
        local playername = getPlayerName(localPlayer) 
    
        guiSetText(LoginUsername, "") 
        guiSetText(EditRegisterUsername, "") 
  
        guiSetText(LoginUsername, playername) 
        guiSetText(EditRegisterUsername, playername) 
  
        guiSetInputEnabled(true) 
        showCursor ( true ) 
    end 
) 
  
function onClickBtn ( button, state ) 
    if (source == bLogin) then 
        triggerServerEvent ( "onLogin", getRootElement(), localPlayer, guiGetText(uEdit), guiGetText(pEdit)) 
    end 
end 
  
function onClickBtn2 ( button, state ) 
    if (source == bRegister) then 
        triggerServerEvent ( "onRegister", getRootElement(), localPlayer, guiGetText(uEdit), guiGetText(pEdit)) 
    end 
end 
  
  
function hideLoginWindow() 
    guiSetInputEnabled(false) 
    guiSetVisible ( GUIEditor_Window[1], false ) 
    showCursor ( false ) 
end 
addEvent( "hideLoginWindow", true ) 
addEventHandler( "hideLoginWindow", getRootElement(), hideLoginWindow ) 

Its all working! Wehay! I had a bit of trouble with the register buttons, but that was easily fixed! Thanks Castillo!

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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