flowz Posted May 24, 2014 Share Posted May 24, 2014 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
Chronic Posted May 24, 2014 Share Posted May 24, 2014 function onLogin() if source == login then guiSetVisible(newGUI,true) showCursor ( true ) end end addEventHandler("onClientGUIClick",getRootElement(),onLogin) There are no GUI elements in onLogin Also, if source == login does not make sense. I recommend you look at the example at https://wiki.multitheftauto.com/wiki/OnClientGUIClick Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now