Guest User

Untitled

a guest
Jan 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.98 KB | None | 0 0
  1. local localPlayer = getLocalPlayer()
  2. local localPlayerName = getPlayerName(localPlayer)
  3. local localRootElement = getRootElement()
  4. local newUser
  5. local passwordAttempts = 0
  6.  
  7. function CreateLoginWindow()
  8.     wdwLogin = guiCreateStaticImage(0,0,1,1,"images/Login_Background.png",true)
  9.  
  10.     bkrndImage = guiCreateStaticImage(.3333,.3333,.3333,.3333,"images/login.png",true,wdwLogin)
  11.         guiWindowSetMovable ( bkrndImage, true )
  12.     edtUser = guiCreateEdit(0.45,0.4205,0.5102,0.0846,localPlayerName,true,bkrndImage)
  13.     guiEditSetReadOnly(edtUser,false)
  14.     edtPass = guiCreateEdit(0.45,0.5821,0.5123,0.0821,"",true,bkrndImage)
  15.     guiEditSetMaxLength(edtPass,20)
  16.     guiEditSetMasked(edtPass,true)
  17.  
  18.     btnLogin = guiCreateButton(0.72,0.6872,0.2439,0.0872,"login/register",true,bkrndImage)
  19.  
  20.     guiSetVisible(wdwLogin,false)
  21.    
  22. end
  23.  
  24. addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),
  25.     function()
  26.         CreateLoginWindow()
  27.         lblDisplayArea = guiCreateLabel(0.100,0.800,0.800,0.100,"",true)
  28.         guiLabelSetHorizontalAlign(lblDisplayArea,"center",true)
  29.            
  30.         addEventHandler("onClientGUIClick",btnLogin,clientSubmitLogin,false) --Mouseclick on the Login button...
  31.         addEventHandler("onClientGUIAccepted",edtPass,clientEnterLogin,false) --Hitting 'enter' key in password box...
  32.  
  33.         triggerServerEvent ("checkValidAct",localPlayer,localPlayerName) --Check if they have an account to log in to...
  34.     end
  35. )
  36.  
  37. function clientNewUserHandler() --Called when no account exists for this players name...
  38.     newUser = true
  39.     guiSetText(lblDisplayArea,"No account exists for your username. Please create a password.")
  40.     if(wdwLogin) then
  41.         guiSetVisible(wdwLogin,true)
  42.         guiBringToFront(edtPass) --Puts the cursor into the password box for typing...
  43.     end
  44.     showCursor(true)
  45.     guiSetInputEnabled(true)
  46. end
  47. addEvent("clientNewUser",true)
  48. addEventHandler("clientNewUser",localRootElement,clientNewUserHandler)
  49.  
  50. function clientReturningUserHandler() --Called when there is an existing account for this player's name...
  51.     newUser = false
  52.     guiSetText(lblDisplayArea,"You are using a registered nickname - please enter your password.")
  53.     if(wdwLogin) then
  54.         guiSetVisible(wdwLogin,true)
  55.         guiBringToFront(edtPass) --Puts the cursor into the password box for typing...
  56.     end
  57.     showCursor(true)
  58.     guiSetInputEnabled(true)
  59. end
  60. addEvent("clientReturningUser",true)
  61. addEventHandler("clientReturningUser",localRootElement,clientReturningUserHandler)
  62.  
  63. function clientEnterLogin()
  64.     if(newUser) then
  65.         triggerServerEvent("SubmitCreate",localRootElement,guiGetText(edtUser),guiGetText(edtPass))
  66.     else
  67.         triggerServerEvent("SubmitLogin",localRootElement,guiGetText(edtUser),guiGetText(edtPass))
  68.     end
  69. end
  70.  
  71. function clientSubmitLogin(button)
  72.     if(button == "left") then
  73.         if(newUser) then
  74.             triggerServerEvent("SubmitCreate",localRootElement,guiGetText(edtUser),guiGetText(edtPass))
  75.         else
  76.             triggerServerEvent("SubmitLogin",localRootElement,guiGetText(edtUser),guiGetText(edtPass))
  77.         end
  78.     end
  79. end
  80.  
  81. function clientDisplayAreaHandler(theMessage)
  82.     guiSetText(lblDisplayArea,theMessage)
  83. end
  84. addEvent("clientDisplayArea",true)
  85. addEventHandler("clientDisplayArea",localRootElement,clientDisplayAreaHandler)
  86.  
  87. function clientWrongPasswordHandler(theMessage)
  88.     passwordAttempts = passwordAttempts + 1
  89.     if(passwordAttempts > 3) then
  90.         guiSetText(lblDisplayArea,"Too many incorrect password attempts.  Please disconnect.")
  91.         destroyElement(wdwLogin)
  92.         triggerServerEvent("removePlayer",localPlayer)
  93.     end
  94. end
  95. addEvent("clientWrongPassword",true)
  96. addEventHandler("clientWrongPassword",localRootElement,clientWrongPasswordHandler)
  97.  
  98. function clientLoginSuccessHandler()
  99.     guiSetInputEnabled(false)
  100.     destroyElement(wdwLogin)
  101.     destroyElement(lblDisplayArea)
  102.     wdwLogin = nil
  103.     newUser = nil
  104.     lblDisplayArea = nil
  105.     passwordAttempts = nil
  106.     localPlayer = nil
  107.     localPlayerName = nil
  108.     localRootElement = nil
  109.     showCursor(false)
  110. end
  111. addEvent("clientLoginSuccess",true)
  112. addEventHandler("clientLoginSuccess",localRootElement,clientLoginSuccessHandler)
Add Comment
Please, Sign In to add comment