skyper77 Posted June 18, 2015 Share Posted June 18, 2015 I would like to insert a image as background of my login panel, but i dont know how. The codes are these: SERVER.LUA ------------------------------------------ -- Dx Login Panel -- ------------------------------------------ -- Developer: Braydon Davis (xXMADEXx) -- -- File: server.lua -- -- Copyright 2013 (C) Braydon Davis -- -- All rights reserved. -- ------------------------------------------ local cameras = { { 329.10980224609, -2117.2749023438, 50.161201477051, 329.65179443359, -2116.4926757813, 49.853763580322 }, { 1266.0053710938, -1965.7087402344, 114.59829711914, 1265.1549072266, -1966.1115722656, 114.25980377197 }, { 1514.0283203125, -1716.5743408203, 39.910701751709, 1514.5087890625, -1715.865234375, 39.394691467285 }, { 1338.7514648438, -875.66558837891, 99.84880065918, 1339.4935302734, -875.07824707031, 99.52579498291 }, { 1426.5421142578, -725.40289306641, 120.97090148926, 1427.3695068359, -725.00805664063, 120.571434021 }, { 1357.5914306641, -592.23327636719, 125.15190124512, 1357.1751708984, -593.02673339844, 124.70780944824 }, { 988.01123046875, -341.88409423828, 74.752601623535, 988.70251464844, -342.45135498047, 75.200187683105 }, { -224.32290649414, -153.71020507813, 35.085899353027, -223.61195373535, -153.04695129395, 34.852146148682 } } function openView( plr ) local theplr = nil if ( source and getElementType ( source ) == 'player' ) then theplr = source elseif ( plr and getElementType ( plr ) == 'player' ) then theplr = plr end setTimer ( function ( p ) local ind = math.random ( #cameras ) setCameraMatrix ( p, unpack ( cameras[ind] ) ) end, 700, 1, theplr ) end addEventHandler ( "onPlayerJoin", root, openView ) addEventHandler ( "onPlayerLogout", root, openView ) --addCommandHandler ( 'view', openView ) function attemptLogin ( user, pass ) if ( user and pass and type ( user ) == 'string' and type ( pass ) == 'string' ) then --local user = string.lower ( user ) --local pass = string.lower ( pass ) local account = getAccount ( user ) if ( account ) then if ( not logIn ( source, account, pass ) ) then message ( source, "Incorrect password." ) return false end setCameraTarget ( source, source ) triggerLogin ( source, user, pass ) else message ( source, "Unknown account." ) return false end end return false end addEvent ( "Login:onClientAttemptLogin", true ) addEventHandler ( "Login:onClientAttemptLogin", root, attemptLogin ) function attemptRegister ( user, pass ) if ( user and pass and type ( user ) == 'string' and type ( pass ) == 'string' ) then --local user = string.lower ( user ) --local pass = string.lower ( pass ) local account = getAccount ( user ) if ( not account ) then local account = addAccount ( user, pass ) if ( account ) then if ( not logIn ( source, account, pass ) ) then return message ( source, "Logging in has failed." ) end setCameraTarget ( source, source ) triggerLogin ( source, user, pass ) else message ( source, "Adding account failed.\nPlease report to an admin." ) end else message ( source, "This account already exists." ) end end return false end addEvent ( "Login:onClientAttemptRegistration", true ) addEventHandler ( "Login:onClientAttemptRegistration", root, attemptRegister ) function message ( source, msg ) triggerClientEvent ( source, "onPlayerLoginPanelError", source, msg ) end function triggerLogin ( source, user, pass ) triggerClientEvent ( source, "onClientPlayerLogin", source, user, pass ) end addEventHandler ( 'onPlayerLogout', root, function ( ) triggerClientEvent ( source, 'onClientPlayerLogout', source ) end ) addEvent ( 'Login:doClientGuestLogin', true ) addEventHandler ( 'Login:doClientGuestLogin', root, function ( ) setCameraTarget ( source ) end ) client.lua ------------------------------------------ -- 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) 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 clientClosingErrorWindowEvent( ) if ( source == exitBtn ) then guiSetVisible ( window, false ) end end function isClientLoggedin ( ) return isLoggedin end setTimer ( function ( ) openLogin ( ) end, 700, 1 ) Link to comment
xeon17 Posted June 18, 2015 Share Posted June 18, 2015 Use this function: dxDrawImage Link to comment
skyper77 Posted June 18, 2015 Author Share Posted June 18, 2015 Can you make it for me? I dont know how, i dont have much experience with it yet... Link to comment
Walid Posted June 18, 2015 Share Posted June 18, 2015 Can you make it for me? I dont know how, i dont have much experience with it yet... Try to do it by yourself then post your code here and we will help u. Link to comment
skyper77 Posted June 18, 2015 Author Share Posted June 18, 2015 What are the numbers? Its All Right? Where i put this code? dxDrawImage ( screenWidth/0 - 0, 0, 0, 0, 'background.png', angle, 0, 0 ) Link to comment
T-Raw/Tyga Posted June 18, 2015 Share Posted June 18, 2015 local screenW, screenH = guiGetScreenSize() dxDrawImage((screenW - 1280) / 2, (screenH - 720) / 2, 1280, 720, ":yourfilenamehere/yourimagehere.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end ) Link to comment
skyper77 Posted June 18, 2015 Author Share Posted June 18, 2015 I insert your code in line 49, look and see if its correct, please. ------------------------------------------ -- 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 } } } [b]local screenW, screenH = guiGetScreenSize() dxDrawImage((screenW - 1280) / 2, (screenH - 720) / 2, 1280, 720, ":yourfilenamehere/yourimagehere.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end )[/b] function dxDrawLoginPanel( ) -- default: 350, 266 if ( isOpen ) then dxDrawRectangle(pX, pY, 485, 231, tocolor(0, 0, 0, 180), false) 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 clientClosingErrorWindowEvent( ) if ( source == exitBtn ) then guiSetVisible ( window, false ) end end function isClientLoggedin ( ) return isLoggedin end setTimer ( function ( ) openLogin ( ) end, 700, 1 ) Link to comment
T-Raw/Tyga Posted June 18, 2015 Share Posted June 18, 2015 dude insertt it after the line 56 and dont forget to change this ":yourfilenamehere/yourimagehere.png put your image there Link to comment
Blaawee Posted June 19, 2015 Share Posted June 19, 2015 ------------------------------------------ -- 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 dxDrawImage( 0, 0, sx, sy, "path.png", 0, 0, 0, tocolor( 255, 255, 255, 255 ), false ) dxDrawRectangle(pX, pY, 485, 231, tocolor(0, 0, 0, 180), false) 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 clientClosingErrorWindowEvent( ) if ( source == exitBtn ) then guiSetVisible ( window, false ) end end function isClientLoggedin ( ) return isLoggedin end setTimer ( function ( ) openLogin ( ) end, 700, 1 ) Remember to change the image path. 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