Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Server!!!!!!
- function loginit(username, password, boolRememberUsername, boolRememberPassword)
- local account = getAccount(username, password)
- if (account ~= false) then
- logIn(source, account, password)
- triggerClientEvent("hidelogin", source)
- local user = getAccountName(account)
- if (boolRememberUsername and boolRememberPassword) then
- status = "both"
- elseif (boolRememberUsername and not boolRememberPassword) then
- status = "password"
- elseif (not boolRememberUsername and boolRememberPassword) then
- status = "username"
- elseif (not boolRememberUsername and not boolRememberPassword) then
- status = "destroyBoth"
- end
- triggerClientEvent(source, "DGlogin.saveAccountDetails", source, username, password, status)
- else
- triggerClientEvent("wrng", source)
- end
- end
- addEvent("Login.loginHandler", true)
- addEventHandler("Login.loginHandler", getRootElement(), loginit)
- function register(username, password)
- if username == "" then
- triggerClientEvent("r_enterUsr", source)
- elseif password == "" then
- triggerClientEvent("r_enterPw", source)
- else
- local addedAcc = addAccount(username, password, true)
- if addedAcc then
- triggerClientEvent("createdMsg", source)
- else
- triggerClientEvent("registerErr", source)
- end
- end
- end
- addEvent("registerHandler", true)
- addEventHandler("registerHandler", getRootElement(), register)
- -- Client!!!!!!
- addEventHandler("onClientResourceStart", resourceRoot,
- function()
- local screenW, screenH = guiGetScreenSize()
- loginwnd = guiCreateWindow((screenW - 469) / 2, (screenH - 180) / 2, 469, 180, "Login", false)
- guiWindowSetSizable(loginwnd, false)
- guiSetVisible(loginwnd, false)
- showCursor(false)
- username_edit = guiCreateEdit(10, 49, 213, 39, "", false, loginwnd)
- login_username_advice = guiCreateLabel(10, 34, 123, 15, "Username:", false, loginwnd)
- password_edit = guiCreateEdit(246, 49, 213, 39, "", false, loginwnd)
- guiEditSetMasked(password_edit, true)
- login_pw_advice = guiCreateLabel(246, 34, 123, 15, "Password:", false, loginwnd)
- loginbtn = guiCreateButton(10, 112, 86, 49, "Login", false, loginwnd)
- usr_chck = guiCreateCheckBox(10, 92, 15, 15, "", false, false, loginwnd)
- remember_usn_label = guiCreateLabel(31, 92, 171, 15, "Remember Username (WIP)", false, loginwnd)
- pw_chck = guiCreateCheckBox(246, 92, 15, 15, "", false, false, loginwnd)
- remember_pw_label = guiCreateLabel(267, 92, 174, 15, "Remember Password (WIP)", false, loginwnd)
- registeropen = guiCreateButton(137, 112, 86, 49, "Register", false, loginwnd)
- startintrobtn = guiCreateButton(373, 112, 86, 49, "Introduction", false, loginwnd)
- errorlabel = guiCreateLabel(233, 129, 128, 15, "", false, loginwnd)
- registerwnd = guiCreateWindow((screenW - 225) / 2, (screenH - 214) / 2, 225, 214, "Registration", false)
- guiWindowSetSizable(registerwnd, false)
- guiSetVisible(registerwnd, false)
- showCursor(false)
- registerbtn = guiCreateButton(10, 166, 64, 37, "Register", false, registerwnd)
- register_usr = guiCreateEdit(10, 37, 200, 39, "", false, registerwnd)
- register_username_advice = guiCreateLabel(10, 22, 124, 15, "Username", false, registerwnd)
- register_pw = guiCreateEdit(10, 91, 200, 39, "", false, registerwnd)
- guiEditSetMasked(register_pw, true)
- register_pw_advice = guiCreateLabel(13, 76, 124, 15, "Password", false, registerwnd)
- register_errorlabel = guiCreateLabel(10, 148, 210, 18, "", false, registerwnd)
- guiLabelSetColor(register_errorlabel, 36, 254, 0)
- accsens = guiCreateLabel(10, 130, 186, 18, "Account names are case sensitive", false, registerwnd)
- guiLabelSetColor(accsens, 36, 254, 0)
- registerclose = guiCreateButton(74, 166, 64, 37, "Close", false, registerwnd)
- addEventHandler("onClientGUIClick", registeropen, showreg, false)
- addEventHandler("onClientGUIClick", registerclose, closereg, false)
- addEventHandler("onClientGUIClick", loginbtn, loginHandler, false)
- addEventHandler("onClientGUIClick", registerbtn, registerHandler, false)
- end
- )
- function closereg()
- guiSetVisible(registerwnd, false)
- guiSetVisible(loginwnd, true)
- end
- function showreg()
- guiSetVisible(registerwnd, true)
- guiSetVisible(loginwnd, false)
- end
- function loginHandler()
- local username = guiGetText(username_edit)
- local password = guiGetText(password_edit)
- boolRememberUsername = guiCheckBoxGetSelected(usr_chck)
- boolRememberPassword = guiCheckBoxGetSelected(pw_chck)
- triggerServerEvent("Login.loginHandler", localPlayer, username, password, boolRememberUsername, boolRememberPassword)
- end
- function registerHandler()
- local username = guiGetText(register_usr)
- local password = guiGetText(register_pw)
- triggerServerEvent("registerHandler", localPlayer, username, password)
- end
- function wrng()
- guiSetText(errorlabel, "Wrong username/pass!")
- guiLabelSetColor(errorlabel, 255, 0, 0)
- end
- addEvent("wrng", true)
- addEventHandler("wrng", getRootElement(), wrng)
- function registerErr()
- guiSetText(register_errorlabel, "This account name is already taken!")
- guiLabelSetColor(register_errorlabel, 255, 0, 0)
- end
- addEvent("registerErr", true)
- addEventHandler("registerErr", getRootElement(), registerErr)
- function enterUsr()
- guiSetText(register_errorlabel, "Enter an username!")
- guiLabelSetColor(register_errorlabel, 255, 0, 0)
- end
- addEvent("r_enterUsr", true)
- addEventHandler("r_enterUsr", getRootElement(), enterUsr)
- function r_enterPw()
- guiSetText(register_errorlabel, "Enter a password!")
- guiLabelSetColor(register_errorlabel, 255, 0, 0)
- end
- addEvent("r_enterPw", true)
- addEventHandler("r_enterPw", getRootElement(), r_enterPw)
- function createdMsg()
- local username = guiGetText(register_usr)
- guiSetText(register_errorlabel, "Account created!")
- guiLabelSetColor(register_errorlabel, 0, 255, 0)
- guiSetText(errorlabel, "You can now login!")
- guiLabelSetColor(errorlabel, 0, 255, 0)
- guiSetVisible(registerwnd, false)
- guiSetVisible(loginwnd, true)
- end
- addEvent("createdMsg", true)
- addEventHandler("createdMsg", getRootElement(), createdMsg)
- function hidelogin()
- guiSetVisible(loginwnd, false)
- showCursor(false)
- guiSetText(errorlabel, "Logged in")
- guiLabelSetColor(errorlabel, 0, 255, 0)
- showChat(true)
- setPlayerHudComponentVisible("all", true)
- end
- addEvent("hidelogin", true)
- addEventHandler("hidelogin", getRootElement(), hidelogin)
- function shownd()
- guiSetVisible(loginwnd, true)
- showCursor(true)
- showChat(false)
- setPlayerHudComponentVisible("all", false)
- end
- addEventHandler("onClientResourceStart", resourceRoot, shownd)
- addEventHandler("onClientPlayerJoin", localPlayer, shownd)
- -- Data!!!!
- function loadAccountDetailsUsername()
- local detailsFile = xmlLoadFile("accountdata.xml")
- if (not detailsFile) then
- detailsFile = xmlCreateFile("accountdata.xml", "Userdata")
- end
- local userNode = xmlFindChild(detailsFile, "account", 0)
- if (userNode) then
- return xmlNodeGetValue(userNode)
- else
- return ""
- end
- end
- function loadAccountDetailsPassword()
- local detailsFile = xmlLoadFile("accountdata.xml")
- if (not detailsFile) then
- detailsFile = xmlCreateFile("accountdata.xml", "Userdata")
- end
- local passNode = xmlFindChild(detailsFile, "password", 0)
- if (passNode) then
- return xmlNodeGetValue(passNode)
- else
- return ""
- end
- end
- function saveAccountDetails(username, password, bool)
- local dataFile = xmlLoadFile("accountdata.xml")
- if (not dataFile) then
- dataFile = xmlCreateFile("accountdata.xml", "Userdata")
- end
- if (username ~= "") then
- local userNode = xmlFindChild(dataFile, "account", 0)
- if (not userNode) then
- userNode = xmlCreateChild(dataFile, "account")
- end
- xmlNodeSetValue(userNode, username)
- if (bool == "username" or bool == "destroyBoth") then xmlDestroyNode(userNode) end
- end
- if (password ~= "") then
- local passNode = xmlFindChild(dataFile, "password", 0)
- if (not passNode) then
- passNode = xmlCreateChild(dataFile, "password")
- end
- xmlNodeSetValue(passNode, password)
- if (bool == "password" or bool == "destroyBoth") then xmlDestroyNode(passNode) end
- end
- xmlSaveFile(dataFile)
- xmlUnloadFile(dataFile)
- end
- addEvent("DGlogin.saveAccountDetails", true)
- addEventHandler("DGlogin.saveAccountDetails", root, saveAccountDetails)
- function writeAccountDetailsIntoGUI()
- local account, password = loadAccountDetailsUsername(), loadAccountDetailsPassword()
- guiSetText(username_edit, account)
- guiSetText(password_edit, password)
- if (account ~= "") then guiCheckBoxSetSelected(usr_chck, true) end
- if (password ~= "") then guiCheckBoxSetSelected(pw, true) end
- end
- addEvent("DGlogin.writeAccountDetailsIntoGUI", true)
- addEventHandler("DGlogin.writeAccountDetailsIntoGUI", root, writeAccountDetailsIntoGUI)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement