Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local localPlayer = getLocalPlayer()
- local playerName = getPlayerName(localPlayer)
- local file = xmlLoadFile ("account.xml")
- if not (file) then
- file = xmlCreateFile("account.xml","accounts")
- local NewNode = xmlCreateChild(file, "username")
- local NewNode2 = xmlCreateChild(file, "password")
- end
- xmlSaveFile(file)
- file = xmlLoadFile ("account.xml")
- node = xmlFindChild(file, "username", 0)
- success = xmlNodeGetValue (node)
- node2 = xmlFindChild(file, "password", 0)
- success2 = xmlNodeGetValue (node2)
- function createSuccesRegisterWindow()
- succesWindow = guiCreateWindow(493,312,260,136,"SSC ~ Account Created",false)
- succesLabel1 = guiCreateLabel(38,27,196,16,"Your account is created and ready!",false,succesWindow)
- succesLabel2 = guiCreateLabel(19,44,227,16,"Login with your username and password.",false,succesWindow)
- succesLabel3 = guiCreateLabel(25,61,212,16,"Press F1 for the rules and information.",false,succesWindow)
- succesClose = guiCreateButton(39,95,180,32,"Close",false,succesWindow)
- guiWindowSetMovable (succesWindow, true)
- guiWindowSetSizable (succesWindow, false)
- guiSetVisible (succesWindow, false)
- addEventHandler("onClientGUIClick", succesClose, clientCloseSuccesWindow, false)
- end
- function createLoginWindow()
- local xml = xmlLoadFile( "information.xml" )
- local content = xmlNodeGetValue( xml )
- loginWindow = guiCreateWindow(425,204,359,412,"SSC RP/CnR Server ~ Login",false)
- guiWindowSetMovable(loginWindow,false)
- usernameField = guiCreateEdit(82,44,204,27,success,false,loginWindow)
- usernameLabel = guiCreateLabel(11,49,68,15,"Username:",false,loginWindow)
- usernameCheckBox = guiCreateCheckBox(297,48,53,19,"Save",false,false,loginWindow)
- passwordField = guiCreateEdit(82,94,204,27,success2,false,loginWindow)
- guiEditSetMasked ( passwordField, true )
- passwordlabel = guiCreateLabel(11,99,68,15,"Password:",false,loginWindow)
- passwordCheckBox = guiCreateCheckBox(297,97,53,19,"Save",false,false,loginWindow)
- loginButton = guiCreateButton(10,173,72,32,"Login",false,loginWindow)
- registerButton = guiCreateButton(86,172,143,32,"Create new account",false,loginWindow)
- passwordButton = guiCreateButton(233,172,117,32,"Forget password",false,loginWindow)
- infoLabel = guiCreateLabel(11,140,335,15,"Make sure your username and password are correct!",false,loginWindow)
- guiLabelSetHorizontalAlign(infoLabel,"center",false)
- guiSetFont(infoLabel,"default-bold-small")
- serverInfoLabel = guiCreateLabel(11,218,335,15,"Server updates and information",false,loginWindow)
- guiLabelSetHorizontalAlign(serverInfoLabel,"center",false)
- guiSetFont(serverInfoLabel,"default-bold-small")
- serverInfoMemo = guiCreateMemo(9,240,341,163,content,false,loginWindow)
- guiMemoSetReadOnly(serverInfoMemo,true)
- guiWindowSetMovable (loginWindow, true)
- guiWindowSetSizable (loginWindow, false)
- guiSetVisible (loginWindow, false)
- addEventHandler("onClientGUIClick", loginButton, clientSubmitLogin, false)
- addEventHandler("onClientGUIClick", registerButton, showRegisterGui, false)
- end
- if (success) then
- if (success ~= "") then
- guiCheckBoxSetSelected(usernameCheckBox, true)
- end
- end
- if (success2) then
- if (success2 ~= "") then
- guiCheckBoxSetSelected(usernameCheckBox, true)
- end
- end
- function createRegisterWindow()
- registerWindow = guiCreateWindow(462,180,438,356,"SSC ~ Account Registration",false)
- registerName = guiCreateEdit(186,46,243,27,"",false,registerWindow)
- registerLabel1 = guiCreateLabel(11,51,89,18,"Account name:",false,registerWindow)
- registerLabel2 = guiCreateLabel(11,112,89,18,"Password:",false,registerWindow)
- registerLabel3 = guiCreateLabel(11,154,102,18,"Confirm password:",false,registerWindow)
- registerPassword = guiCreateEdit(186,108,243,27,"",false,registerWindow)
- registerPassword2 = guiCreateEdit(186,150,243,27,"",false,registerWindow)
- guiEditSetMasked ( registerPassword, true )
- guiEditSetMasked ( registerPassword2, true )
- registerLabel4 = guiCreateLabel(186,22,235,18,"This is not your screen name",false,registerWindow)
- guiLabelSetColor(registerLabel4,225,0,0)
- registerLabel5 = guiCreateLabel(186,87,235,18,"Create a safe password use also uppercase",false,registerWindow)
- guiLabelSetColor(registerLabel5,225,0,0)
- registerEmail = guiCreateEdit(186,235,243,27,"",false,registerWindow)
- registerLabel6 = guiCreateLabel(11,239,102,18,"Your email:",false,registerWindow)
- registerLabel7 = guiCreateLabel(186,216,235,18,"password recover function, when lost it.",false,registerWindow)
- guiLabelSetColor(registerLabel7,0,200,0)
- registerLabel8 = guiCreateLabel(186,200,235,18,"Email is optional, but is required for the",false,registerWindow)
- guiLabelSetColor(registerLabel8,0,200,0)
- registerCreate = guiCreateButton(86,312,139,29,"Create account",false,registerWindow)
- registerCancel = guiCreateButton(229,312,139,29,"Cancel",false,registerWindow)
- registerInfo = guiCreateLabel(11,280,414,18,"Account registration is complete free, your password will be decoded.",false,registerWindow)
- guiWindowSetMovable (registerWindow, true)
- guiWindowSetSizable (registerWindow, false)
- guiSetVisible (registerWindow, false)
- addEventHandler("onClientGUIClick", registerCreate, clientSubmitRegister, false)
- addEventHandler("onClientGUIClick", registerCancel, clientSubmitRegisterCancel, false)
- end
- addEventHandler("onClientResourceStart", resourceRoot,
- function ()
- createLoginWindow()
- createRegisterWindow()
- createSuccesRegisterWindow()
- triggerServerEvent("loginScreen", getLocalPlayer())
- end
- )
- function banCheck ()
- if (loginWindow ~= nil) then
- guiSetVisible(loginWindow, true)
- else
- guiSetText(infoLabel, "Error: There is something wrong, try again")
- guiLabelSetColor ( infoLabel, 225, 0, 0 )
- end
- showCursor(true)
- guiSetInputEnabled(true)
- end
- addEvent("banCheck", true)
- addEventHandler("banCheck", getRootElement(), banCheck )
- function banned (days, reason)
- if (loginWindow ~= nil) then
- dxDrawText("Reason: ",80.0,222.0,796.0,281.0,tocolor(225,156,0,200),1.5,"pricedown","left","top",false,false,false)
- dxDrawText("You are banned from this server!",80.0,98.0,796.0,157.0,tocolor(200,0,0,200),2.0,"pricedown","left","top",false,false,false)
- end
- end
- addEvent("banned", true)
- addEventHandler("banned", getRootElement(), banned )
- function clientSubmitRegister(button, state)
- if button == "left" and state == "up" then
- if guiGetText(registerPassword) == guiGetText(registerPassword2) then
- if guiGetText(registerName) ~= "" and guiGetText(registerName) ~= " " then
- if guiGetText(registerPassword) ~= "" and guiGetText(registerPassword) ~= " " then
- local usernameR = guiGetText(registerName):lower()
- local passwordR = guiGetText(registerPassword)
- local email = guiGetText(registerEmail)
- local serial = getPlayerSerial( source )
- if usernameR and passwordR then
- triggerServerEvent("ContactSQL",getLocalPlayer(),usernameR,passwordR,email,serial)
- else
- guiSetText(registerInfo, "Error: There is something wrong, try reconnect")
- guiLabelSetColor ( registerInfo, 225, 0, 0 )
- end
- else
- guiSetText(registerInfo, "Error: Password field is empty")
- guiLabelSetColor ( registerInfo, 225, 0, 0 )
- end
- else
- guiSetText(registerInfo, "Error: Username field is empty")
- guiLabelSetColor ( registerInfo, 225, 0, 0 )
- end
- else
- guiSetText(registerInfo, "Error: Passwords dont match")
- guiLabelSetColor ( registerInfo, 225, 0, 0 )
- end
- end
- end
- function clientSubmitLogin(button, state)
- if button == "left" and state == "up" then
- if guiGetText(usernameField) ~= "" and guiGetText(usernameField) ~= " " then
- if guiGetText(passwordField) ~= "" and guiGetText(passwordField) ~= " " then
- local username = guiGetText(usernameField):lower()
- local password = guiGetText(passwordField)
- if username and password then
- triggerServerEvent("submitLogin", localPlayer, username, password)
- guiSetText(infoLabel, "Attempting to login...")
- guiLabelSetColor ( infoLabel, 225, 165, 0 )
- local c1 = guiCheckBoxGetSelected(usernameCheckBox)
- local c2 = guiCheckBoxGetSelected(passwordCheckBox)
- local file = xmlLoadFile("account.xml")
- if (c1 == true) then
- if (username) then
- local node = xmlFindChild(file, "username", 0)
- local success = xmlNodeGetValue (node)
- xmlNodeSetValue(node, username)
- end
- end
- if (c2 == true) then
- if (password) then
- local node = xmlFindChild(file, "password", 0)
- local success = xmlNodeGetValue(node)
- xmlNodeSetValue(node, password)
- end
- end
- if (c1 == false) then
- node = xmlFindChild(file, "username", 0)
- xmlNodeSetValue(node, "")
- end
- if (c2 == false) then
- node = xmlFindChild(file, "password", 0)
- xmlNodeSetValue(node, "")
- end
- xmlSaveFile(file)
- else
- -- Info when unknown error going wrong here
- end
- else
- guiSetText(infoLabel, "Error: Password field is empty")
- guiLabelSetColor ( infoLabel, 225, 0, 0 )
- end
- else
- guiSetText(infoLabel, "Error: Username field is empty")
- guiLabelSetColor ( infoLabel, 225, 0, 0 )
- end
- end
- end
- function clientSubmitRegisterCancel()
- guiSetVisible(registerWindow,false)
- guiSetVisible(loginWindow,true)
- showCursor(true)
- guiSetInputEnabled(true)
- end
- function clientCloseSuccesWindow()
- guiSetVisible(succesWindow,false)
- end
- function hideGUI()
- guiSetVisible(loginWindow,false)
- showCursor(false,false)
- guiSetInputEnabled(false)
- setAmbientSoundEnabled( "gunfire", false )
- setAmbientSoundEnabled( "general", false )
- showChat ( true )
- end
- function showRegisterGui()
- guiSetVisible(registerWindow,true)
- guiSetVisible(loginWindow,false)
- showCursor(true)
- guiSetInputEnabled(true)
- end
- -- Error handlers here
- function unknownError()
- guiSetText(infoLabel, "Error: Unknown error has occured.")
- guiLabelSetColor ( infoLabel, 225, 0, 0 )
- end
- function wrongLogin()
- guiSetText(infoLabel, "Error: Wrong username and/or password.")
- guiLabelSetColor ( infoLabel, 225, 0, 0 )
- end
- function usernameTaken()
- guiSetText(registerInfo, "Error: This username is allready taken.")
- guiLabelSetColor ( registerInfo, 225, 0, 0 )
- end
- function accountCreated()
- guiSetVisible(registerWindow,false)
- guiSetVisible(loginWindow,true)
- guiSetVisible(succesWindow,true)
- guiBringToFront ( succesWindow )
- showCursor(true)
- guiSetInputEnabled(true)
- end
- function accountError()
- guiSetText(registerInfo, "Error: An error has occured try reconnect")
- guiLabelSetColor ( registerInfo, 225, 0, 0 )
- end
- -- End of errors
- addEvent("hideGUI", true)
- addEvent("unknownError", true)
- addEvent("wrongLogin", true)
- addEvent("usernameTaken", true)
- addEvent("accountCreated", true)
- addEvent("accountError", true)
- addEventHandler("hideGUI", getRootElement(), hideGUI)
- addEventHandler("unknownError", getRootElement(), unknownError)
- addEventHandler("wrongLogin", getRootElement(), wrongLogin)
- addEventHandler("usernameTaken", getRootElement(), usernameTaken)
- addEventHandler("accountCreated", getRootElement(), accountCreated)
- addEventHandler("accountError", getRootElement(), accountError)
Add Comment
Please, Sign In to add comment