G-Stefan Posted July 2, 2016 Share Posted July 2, 2016 Hi i am new scripting and i try to make a RP server! Now i am working at a new resource (accounts-system) It contains Login/Register Panel(GUI) Database for accounts(Custom accounts;Dont use mta sa accounts system) And i have some problems with my scripts The resource contains 5 .lua files 1.c_log.reg.gui(Login/Register Panel ) 2.c_log.reg.debug(Contains events with errors) 3.s_database(Loading the database) 4.s_login.validate 5.s_register.validate 1.c_log.reg.gui.lua addEventHandler("onClientResourceStart", resourceRoot, function() acc_guiWindow = guiCreateWindow(608, 470, 384, 430, "Multi Role Play : Inceputul", false) --The window guiWindowSetSizable(acc_guiWindow, false) acc_GuiTabPanel = guiCreateTabPanel(9, 19, 361, 399, false, acc_guiWindow) --TabPanel acc_loginTab = guiCreateTab("Logare", acc_GuiTabPanel) --LoginTab login_userLabel = guiCreateLabel(20, 7, 146, 53, "Nume", false, acc_loginTab) guiSetFont(login_userLabel, "sa-header") login_passwordLabel = guiCreateLabel(20, 65, 146, 53, "Parola", false, acc_loginTab) guiSetFont(login_passwordLabel, "sa-header") login_inputUser = guiCreateEdit(174, 19, 177, 31, "", false, acc_loginTab) --inputUser login_inputPassword = guiCreateEdit(174, 77, 177, 31, "", false, acc_loginTab) --inputPassword acc_loginButton = guiCreateButton(76, 146, 204, 48, "Logheaza-te", false, acc_loginTab) --loginbutton guiSetFont(acc_loginButton, "default-bold-small") guiSetProperty(acc_loginButton, "NormalTextColour", "FFAAAAAA") login_debugLabel = guiCreateLabel(21, 209, 330, 157, "Pentru un GUI mai frumos accesati \n\nSettings\Interface\Skin si alegeti \n\nLighter Black", false, acc_loginTab) --debuglabel guiSetFont(login_debugLabel, "default-small") guiLabelSetColor(login_debugLabel, 255, 0, 0) guiLabelSetHorizontalAlign(login_debugLabel, "center", false) acc_registerTab = guiCreateTab("Inregistrare", acc_GuiTabPanel) --tab register_userLabel = guiCreateLabel(12, 6, 146, 46, "Nume", false, acc_registerTab) guiSetFont(register_userLabel, "sa-header") register_passwordLabel = guiCreateLabel(12, 52, 146, 46, "Parola", false, acc_registerTab) guiSetFont(register_passwordLabel, "sa-header") register_userInput = guiCreateEdit(165, 20, 186, 32, "", false, acc_registerTab) --userinput register_passwordInput = guiCreateEdit(165, 62, 186, 32, "", false, acc_registerTab)--passwordinput register_passRecoveryText = guiCreateLabel(15, 108, 336, 16, " -- Pentru recuperarea parolei --", false, acc_registerTab) guiLabelSetHorizontalAlign(register_passRecoveryText, "center", false) register_passRecoveryQuestion = guiCreateLabel(22, 131, 50, 21, "1 + 1 = ", false, acc_registerTab) guiSetFont(register_passRecoveryQuestion, "default-bold-small") register_inputQuestionAnswer = guiCreateEdit(70, 134, 32, 15, "", false, acc_registerTab)--recoveryinput register_recoveryNote = guiCreateLabel(107, 132, 248, 17, "! Raspunsul trebuie sa fie un numar", false, acc_registerTab) guiSetFont(register_recoveryNote, "default-bold-small") guiLabelSetColor(register_recoveryNote, 255, 0, 0) acc_registerButton = guiCreateButton(69, 159, 240, 59, "Inregistreaza-te", false, acc_registerTab) --register button guiSetFont(acc_registerButton, "default-bold-small") guiSetProperty(acc_registerButton, "NormalTextColour", "FFAAAAAA") register_debugOutput = guiCreateLabel(28, 222, 317, 138, "Pentru un GUI mai frumos accesati \n\nSettings\Interface\Skin si alegeti \n\nLighter Black", false, acc_registerTab) guiSetFont(register_debugOutput, "default-small") guiLabelSetColor(register_debugOutput, 255, 0, 0) guiLabelSetHorizontalAlign(register_debugOutput, "center", false) acc_RecoveryTab = guiCreateTab("Recupereaza cont", acc_GuiTabPanel) recovery_nameLabel = guiCreateLabel(16, 12, 68, 41, "Nume", false, acc_RecoveryTab) guiSetFont(recovery_nameLabel, "default-bold-small") guiLabelSetHorizontalAlign(recovery_nameLabel, "center", false) recovery_userInput = guiCreateEdit(94, 12, 135, 19, "", false, acc_RecoveryTab) recovery_labelPassword = guiCreateLabel(16, 53, 68, 41, "Parola noua", false, acc_RecoveryTab) guiSetFont(recovery_labelPassword, "default-bold-small") guiLabelSetHorizontalAlign(recovery_labelPassword, "center", false) recovery_passwordInput = guiCreateEdit(94, 53, 135, 19, "", false, acc_RecoveryTab) recovery_answerLabel = guiCreateLabel(16, 94, 74, 41, "Raspuns \n intrebare", false, acc_RecoveryTab) guiSetFont(recovery_answerLabel, "default-bold-small") guiLabelSetHorizontalAlign(recovery_answerLabel, "center", false) recovery_answerInput = guiCreateEdit(94, 98, 135, 19, "", false, acc_RecoveryTab) acc_recoveryButton = guiCreateButton(87, 151, 171, 71, "Recupereaza cont", false, acc_RecoveryTab) guiSetFont(acc_recoveryButton, "default-bold-small") guiSetProperty(acc_recoveryButton, "NormalTextColour", "FFAAAAAA") recovery_debugLabel = guiCreateLabel(15, 230, 336, 140, "'Raspuns intrebare' e raspunsul la intrebarea 1 + 1 care \n l-ai dat cand ti-ai facut contul", false, acc_RecoveryTab) guiSetFont(recovery_debugLabel, "default-small") guiLabelSetColor(recovery_debugLabel, 255, 0, 0) guiLabelSetHorizontalAlign(recovery_debugLabel, "center", false) addEventHandler("onClientGUIClick",acc_loginButton,validateLogin) addEventHandler("onClientGUIClick",acc_registerButton,validateRegister) addEventHandler("onClientGUIClick",acc_recoveryButton,vaalidateRecovery) end ) function validateLogin(button,state) panelUser = tostring(guiGetText(login_inputUser)) panelPassword = tostring(guiGetText(login_inputPassword)) if button == "left" and state == "up" then triggerServerEvent("logInToServer",resourceRoot,panelUser,panelPassword) end end function validateRegister(button,state) panelUser = guiGetText(register_userInput) panelPassword = guiGetText(register_passwordInput) panelAnswer = tonumber(guiGetText(register_inputQuestionAnswer)) if button == "left" and state == "up" then triggerServerEvent("registerToServer",resourceRoot,panelAnswer,panelPassword,panelUser) end end function vaalidateRecovery(button,state) panelUser = guiGetText(recovery_userInput) panelPassword = guiGetText(recovery_passwordInput) panelAnswer = guiGetText(recovery_answerInput) if button == "left" and state == "up" then triggerServerEvent("recoverAccount",resourceRoot,panelAnswer,panelPassword,panelUser) end end 2.c_log.reg.debug.lua playerNickName = getPlayerName(getLocalPlayer()) --Login Events addEvent("wrongLoginUser",true) function isLoginUserWrong() guiSetText(login_debugLabel,"Numele sau Parola este \n GRESIT(A)") end addEventHandler("wrongLoginUser",root,isLoginUserWrong) addEvent("succesfullyLoggedIn",true) function isLoginUserAndPasswordRight() guiSetVisible(acc_guiWindow,false) showCursor(false) outputChatBox("Bine ai revenit "..playerNickName.." pe serverul Multi Role Play : Inceputul") end --Register Events addEvent("wrongRegisterUser",true) function isRegisterUserWrong() guiSetText(register_debugOutput,"Numele este invalid \n Incearca alt nume") end addEventHandler("wrongRegisterUser",root,isRegisterUserWrong) addEvent("wrongRegisterPassword",true) function isRegisterPasswordWrong() guiSetText(register_debugOutput,"Parola este invalida \n Incearca alta") end addEventHandler("wrongRegisterPassword",root,isRegisterPasswordWrong) addEvent("wrongRegisterAnswer",true) function isRegisterAnswerWrong() guiSetText(register_debugOutput,"Raspunsul este invalid \n Raspunsul trebuie sa fie \n un NUMAR") end addEventHandler("wrongRegisterAnswer",root,isRegisterAnswerWrong) addEvent("userAlreadyTaken",true) function isUserAlreadyTaken() guiSetText(register_debugOutput,"Numele acesta este luat \n Te rog incearca alt nume") end addEventHandler("userAlreadyTaken",root,isUserAlreadyTaken) addEvent("newAccountCreated",true) function theNewAccountHasBeenCreated() guiSetVisible(acc_guiWindow,false) showCursor(false) outputChatBox("Bine ai venit "..playerNickName.." pe serverul Multi Role Play : Inceputul") end addEventHandler("newAccountCreated",root,theNewAccountHasBeenCreated) 3.s_database.lua RootNode = xmlLoadFile("accounts.xml") addEventHandler("onResourceStart",resourceRoot, function () if RootNode then outputDebugString("Baza de date accounts.xml a fost incarcata") end end ) 4.s_login.validate.lua local vaildUser = 0 local vaidPassword = 0 addEvent("logInToServer",true) function isAccountVaild(panelUser,panelPassword) if RootNode then AccountsNode = xmlNodeGetChildren(RootNode) for i,node in ipairs (AccountsNode) do NodeOfAccount = xmlFindChild(RootNode,"cont",tonumber(i)) otherUsers = xmlNodeGetAttribute(NodeOfAccount,"nume") otherPasswords = xmlNodeGetAttribute(NodeOfAccount,"parola") if panelUser == tostring(otherUsers) then vaildUser = 1 if panelPassword == tostring(otherPasswords) then vaidPassword = 1 end end end end if vaildUser == 1 and vaidPassword == 1 then triggerClientEvent("succesfullyLoggedIn",resourceRoot) xmlSaveFile(RootNode) else triggerClientEvent("wrongLoginUser",resourceRoot) end vaildUser = 0 vaidPassword = 0 end addEventHandler("logInToServer",root,isAccountVaild) 5.s_register.validate.lua local vaildUser = 1 addEvent("registerToServer",true) function createNewAccount(panelUser,panelPassword,panelAnswer) if RootNode then AccountsNode = xmlNodeGetChildren(RootNode) for i,node in ipairs (AccountsNode) do local NodeOfAccount = xmlFindChild(RootNode,"cont",i) local otherUsers = xmlNodeGetAttribute(NodeOfAccount,"nume") if panelUser == tostring(otherUsers) then vaildUser = 0 end end if vaildUser == 1 then if panelUser then if panelPassword then if panelAnswer then local accNode = xmlCreateChild(RootNode,"cont") xmlNodeSetAttribute(accNode,"nume",panelUser) xmlNodeSetAttribute(accNode,"parola",panelPassword) xmlNodeSetAttribute(accNode,"raspuns",panelAnswer) triggerClientEvent(getRootElement(),"newAccountCreated",resourceRoot) xmlSaveFile(RootNode) else triggerClientEvent(getRootElement(),"wrongRegisterAnswer",resourceRoot) end else triggerClientEvent(getRootElement(),"wrongRegisterPassword",resourceRoot) end else triggerClientEvent(getRootElement(),"wrongRegisterUser",resourceRoot) end else triggerClientEvent(getRootElement(),"userAlreadyTaken",resourceRoot) end vaildUser = 0 end end addEventHandler("registerToServer",root,createNewAccount) So these are the scripts (s_ = server c_ = client) The GUI is working The database loader is working Problems When i press a tab in tab panel the debugLabels (The labels which output errors) changes and it is supposet to change only if user/password is wrong At register panel the debugLabel will output user already taken(translated) whatever i type in the EditBoxes At login panel same error The account dont save in accounts.xml Link to comment
G-Stefan Posted July 2, 2016 Author Share Posted July 2, 2016 The messages arent translated in EN but u can realise what any things do (Sorry 4 my bad ENG) Link to comment
G-Stefan Posted July 2, 2016 Author Share Posted July 2, 2016 Numele sau parola este grestia = Username or password is wrong Numele este invalid!Incearca altul = uername is invalid!Please try another one Parola este invalida!Incearca alta = password is invalid!Please try another one Raspunsul este invalid = answer is invalid Numele acesta este luat ! Te rog incearca altul = Username already taken Variable - Raspunsul = Is a var that must be set when register so you can recover your password if u forget it 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