Jump to content

Help Login Panel !! :/ Urgent


flowz

Recommended Posts

Well as people said use the community login panel's and edit it i did do so and now i want to make a gui appear after login happens which is function newName() and i made function onLogin(). So please help. And also i want that gui to have access to gui, 'setPlayerName' which is server-side so it will require 'addEvent' so when the gui appears the player must enter a name which is Firstname_Lastname!! HELP

Line 229

Client Side

------------------------------------------ 
--            Dx Login Panel            --
------------------------------------------
-- Developer: Braydon Davis (xXMADEXx)  --
-- File: client.lua                     --
-- Copyright 2013 (C) Braydon Davis     --
-- All rights reserved.                 --
------------------------------------------
 
local enableGuest = true;
 
local sx, sy = guiGetScreenSize ( )
local pX, pY = ( sx / 2 - 485 / 2 ), ( sy / 2 - 231 / 2 )
local username = guiCreateEdit(pX+156, pY+61, 288, 33, "", false)
guiSetVisible ( username, false )
local password = guiCreateEdit(pX+156, pY+121, 288, 33, "", false)
guiSetVisible ( password, false )
guiEditSetMasked(password, true)
local window = guiCreateWindow( ( sx / 2 - 266 / 2 ), ( sy / 2 - 208 / 2 ), 266, 208, "Login Panel Message", false)
guiWindowSetMovable(window, false)
guiWindowSetSizable(window, false)
guiSetVisible ( window, false )
guiSetAlpha ( window, 1 )
local exitBtn = guiCreateButton(155, 162, 101, 36, "Exit", false, window)
local infoLbl = guiCreateLabel(18, 26, 228, 130, "Message", false, window)
local isOpen = false;
local isLoggedin = false;
local data = {
    login = {
        hovering = false,
        alphaMode = false,
        loginTextAlpha = 235,
        colors = { 255, 255, 255 }
    },
    reg = {
        hovering = false,
        alphaMode = false,
        loginTextAlpha = 235,
        colors = { 255, 255, 255 }
    },
    guest = {
        hovering = false,
        alphaMode = false,
        loginTextAlpha = 235,
        colors = { 255, 255, 255 }
    }
}
function dxDrawLoginPanel( )
    -- default: 350, 266
    if ( isOpen ) then
        dxDrawRectangle(pX, pY, 485, 231, tocolor(0, 0, 0, 180), false)
        login = dxDrawText("Login", pX, pY, 870, 314, tocolor(255, 255, 255, 255), 1.50, "bankgothic", "center", "top", false, false, false, false, false)
        dxDrawLine(pX, pY+48, pX+485, pY+48, tocolor(255, 255, 255, 255), 1, false)
        dxDrawText("Username:", pX+10, pY+69, 506, 368, tocolor(255, 255, 255, 255), 0.80, "bankgothic", "left", "top", false, false, false, false, false)
        dxDrawText("Password:", pX+10, pY+129, 506, 428, tocolor(255, 255, 255, 255), 0.80, "bankgothic", "left", "top", false, false, false, false, false)
        dxDrawLine(pX+281, pY+168, pX+281, pY+168+34, tocolor(255, 255, 255, 255), 1, false)
 
        local r, g, b = unpack ( data.login.colors )
        dxDrawText("Login", pX+166, pY+167, 600, 468, tocolor( r, g, b, data.login.loginTextAlpha), 1.00, "bankgothic", "left", "top", false, false, false, false, false)
        local r, g, b = unpack ( data.reg.colors )
        dxDrawText("Register", pX+305, pY+167, 794, 468, tocolor(r, g, b, data.reg.loginTextAlpha), 1.00, "bankgothic", "left", "top", false, false, false, false, false)
       
        if ( enableGuest ) then
            local r, g, b = unpack ( data.guest.colors )
            dxDrawText("Guest", pX+40, pY+167, 600, 468, tocolor( r, g, b, data.guest.loginTextAlpha), 1.00, "bankgothic", "left", "top", false, false, false, false, false)
            dxDrawLine(pX+155, pY+168, pX+155, pY+168+34, tocolor(255, 255, 255, 255), 1, false)
        end
       
        -- give fade effect
        if ( data.login.hovering ) then
            data.login.colors = { 255, 140, 0 }
            local alpha = data.login.loginTextAlpha
            if ( not data.login.alphaMode ) then
                data.login.loginTextAlpha = alpha - 5
                if ( data.login.loginTextAlpha <= 50 ) then
                    data.login.alphaMode = true
                end
            else
                data.login.loginTextAlpha = alpha + 5
                if ( data.login.loginTextAlpha >= 235 ) then
                    data.login.alphaMode = false
                end
            end
        elseif ( data.reg.hovering ) then
            data.reg.colors = { 255, 140, 0 }
            local alpha = data.reg.loginTextAlpha
            if ( not data.reg.alphaMode ) then
                data.reg.loginTextAlpha = alpha - 5
                if ( data.reg.loginTextAlpha <= 50 ) then
                    data.reg.alphaMode = true
                end
            else
                data.reg.loginTextAlpha = alpha + 5
                if ( data.reg.loginTextAlpha >= 235 ) then
                    data.reg.alphaMode = false
                end
            end
        elseif ( data.guest.hovering ) then
            data.guest.colors = { 255, 140, 0 }
            local alpha = data.guest.loginTextAlpha
            if ( not data.guest.alphaMode ) then
                data.guest.loginTextAlpha = alpha - 5
                if ( data.guest.loginTextAlpha <= 50 ) then
                    data.guest.alphaMode = true
                end
            else
                data.guest.loginTextAlpha = alpha + 5
                if ( data.guest.loginTextAlpha >= 235 ) then
                    data.guest.alphaMode = false
                end
            end
        else
            data.login.loginTextAlpha = 235
            data.guest.loginTextAlpha = 235
            data.reg.loginTextAlpha = 235
            data.login.colors = { 255, 255, 255 }
            data.guest.colors = { 255, 255, 255 }
            data.reg.colors = { 255, 255, 255 }
        end
    end
end
 
function cursorMove ( _, _, x, y )
    if ( isCursorShowing ( ) and not guiGetVisible ( window ) and isOpen) then
        if ( y >=  pY+170 and y <=  pY+200 ) then
            if ( x >= pX+161 and x <= pX+251 ) then
                data.login.hovering = true
                return
            elseif ( x >= pX+305 and x <= pX+445 ) then
                data.reg.hovering = true
                return
            elseif ( x >= pX+40 and x <= pX+135 ) then
                data.guest.hovering = true
                return
            end
        end
    end
    data.login.hovering = false
    data.reg.hovering = false
    data.guest.hovering = false
end
 
function openLogin ( )
    addEventHandler ( "onClientPreRender", root, dxDrawLoginPanel )
    addEventHandler ( 'onClientCursorMove', root, cursorMove )
    addEventHandler ( "onClientClick", root, clientClicking )
    guiSetInputMode ( "no_binds_when_editing" )
    guiSetVisible ( password, true )
    guiSetVisible ( username, true )
    showCursor ( true )
    addEventHandler ( 'onClientGUIClick', root, clientClosingErrorWindowEvent )
    isOpen = true
    showChat(false)
    showPlayerHudComponent ( 'all', false )
end
addEvent ( "onClientPlayerLogout", true )
addEventHandler ( 'onClientPlayerLogout', root, openLogin )
 
function closeLogin ( )
    removeEventHandler ( "onClientPreRender", root, dxDrawLoginPanel )
    removeEventHandler ( 'onClientCursorMove', root, cursorMove )
    removeEventHandler ( "onClientClick", root, clientClicking )
    guiSetVisible ( password, false )
    guiSetVisible ( username, false )
    showCursor ( false )
    removeEventHandler ( 'onClientGUIClick', root, clientClosingErrorWindowEvent )
    guiSetVisible ( window, false )
    isOpen = false
    isLoggedin = true
    showChat(true)
    showPlayerHudComponent ( 'all', true )
end
addEvent ( "onClientPlayerLogin", true )
addEventHandler ( "onClientPlayerLogin", root, closeLogin )
 
function sendError ( msg )
    if ( not guiGetVisible ( window ) ) then
        guiSetVisible ( window, true )
        guiSetText ( infoLbl, msg )
        guiBringToFront ( window )
    end
end
addEvent ( "onPlayerLoginPanelError", true )
addEventHandler ( "onPlayerLoginPanelError", root, sendError )
 
function clientClicking ( btn, state, x, y )
    if ( btn == 'left' and not guiGetVisible ( window ) and state == 'down' and isOpen ) then
        if ( y >=  pY+170 and y <=  pY+200 ) then
            local user, pass = guiGetText ( username ), guiGetText ( password )
            -- Login Button --
            if ( x >= pX+156 and x <= pX+246 ) then
                if ( string.gsub ( user, ' ', '' ) ~= '' and string.gsub ( pass, ' ', '' ) ~= '' ) then
                    if ( string.find ( user, '%s' ) ) then
                        return sendError ( "Spaces (' ') are not allowed\nin the username." )
                    end if ( string.find ( pass, '%s' ) ) then
                        return sendError ( "Spaces (' ') are not allowed\nin the password." )
                    end
                    triggerServerEvent ( "Login:onClientAttemptLogin", localPlayer, user, pass )
                else
                    sendError ( "A username and password are\nrequired to access the server." )
                end
 
            -- register button
            elseif ( x >= pX+300 and x <= pX+440 ) then
                if ( string.gsub ( user, ' ', '' ) ~= '' and string.gsub ( pass, ' ', '' ) ~= '' ) then
                    if ( string.find ( user, '%s' ) ) then
                        return sendError ( "Spaces are not allowed\nin the username." )
                    end if ( string.find ( pass, '%s' ) ) then
                        return sendError ( "Spaces are not allowed\nin the password." )
                    end if ( string.len ( user ) < 5 ) then
                        return sendError ( "You're username must be at\nleast 5 characters long." )
                    end if ( string.len ( pass ) < 6 ) then
                        return sendError ( "You're password must be at\nleast 6 characters long." )
                    end
                    triggerServerEvent ( "Login:onClientAttemptRegistration", localPlayer, user, pass )
                else
                    sendError ( "A username and password are\nrequired to access the server." )
                end
               
            -- play as guest
            elseif ( x >= pX+40 and x <= pX+135 ) then
                closeLogin ( )
                triggerServerEvent ( "Login:doClientGuestLogin", localPlayer )
            end
        end
    end
end
 
function newName()
newGUI = guiCreateWindow(236, 217, 344, 154, "", false)
guiWindowSetSizable(newGUI, false)
 
newLabelOne = guiCreateLabel(15, 38, 120, 15, "Firstname_Lastname :", false, newGUI)
newEdit = guiCreateEdit(137, 31, 197, 32, "", false, newGUI)
newLabelTwo = guiCreateLabel(12, 75, 322, 39, "In order to play please choose your \nFirstname and Lastname before you can start playing.", false, newGUI)
newSpawn = guiCreateButton(9, 114, 84, 30, "Spawn", false, newGUI)
end
addEvent("onLogin",true)
addEventHandler("onLogin",getRootElement(),newName)
 
function onLogin()
if source == login then
guiSetVisible(newGUI,true)
showCursor ( true )
    end
end
addEventHandler("onClientGUIClick",getRootElement(),onLogin)
 
 
function clientClosingErrorWindowEvent( )
    if ( source == exitBtn ) then
       
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...