Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement