Jump to content

[HELPx12]Login Panel


||BuLLeT||

Recommended Posts

hey guys i need help with login panel from community, i want add picture "NSRPwallpaper1980x1080-2.png" in it like background

for it.

LoginForm.lua

function PlayerLogin(username,password,checksave) 
    if not (username == "") then 
        if not (password == "") then 
            local account = getAccount ( username, password ) 
            if ( account ~= false ) then 
                logIn(source, account, password) 
  
                triggerClientEvent (source,"hideLoginWindow",getRootElement()) 
                 
                    if checksave == true then 
                        triggerClientEvent(source,"saveLoginToXML",getRootElement(),username,password) 
                    else 
                        triggerClientEvent(source,"resetSaveXML",getRootElement(),username,password) 
                    end 
                 
            else 
                triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Wrong username and/or password!") 
            end 
        else 
            triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Please enter your password!") 
        end 
    else 
        triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Please enter your username!") 
    end 
end 
addEvent("onRequestLogin",true) 
addEventHandler("onRequestLogin",getRootElement(),PlayerLogin) 
  
  
  
function registerPlayer(username,password,passwordConfirm) 
    if not (username == "") then 
        if not (password == "") then 
            if not (passwordConfirm == "") then 
                if password == passwordConfirm then 
                    local account = getAccount (username,password) 
                    if (account == false) then 
                        local accountAdded = addAccount(tostring(username),tostring(password)) 
                        if (accountAdded) then 
                                                        triggerClientEvent(source, "SARPtopChat:addMessage", source,"You have sucessfuly registered! [username: " .. username .. " | Password: " .. password .. "]", 0, 206, 209) 
                        else 
                            triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Error ocurred! Choose a different username/password.") 
                        end 
                    else 
                        triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","An account with this username already exists!") 
                    end 
                else 
                    triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Passwords do not match!") 
                end 
            else 
                triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Please confirm your password!") 
            end 
        else 
            triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Please enter a password!") 
        end 
    else 
        triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Please enter a username you would like to register!") 
    end 
end 
addEvent("onRequestRegister",true) 
addEventHandler("onRequestRegister",getRootElement(),registerPlayer) 
  

LoginForm_Client.lua

wdwLogin_Pannel = {} 
tabPannel_Main = {}
tab_Login = {}
tab_Register = {}
 
--Settings
blackLoginScreen = true --True/false Black screen, while player login...
blackScreenTime = 5  --Time to complete disappearance of the black screen in seconds.
 
GuestEnable = false --Can a Player play as Guest, or no. [true/false]
EnableMTAControlsOnLogin = false --Set false to not open the chat when you press "t" on fields, for example. [true/false]
 
 
function open_log_reg_pannel()
if not(isElement(wdwLogin_Pannel)) then
   
    if blackLoginScreen == true then
        fadeCamera(false,0,0,0,0)
    end
   
    local sWidth,sHeight = guiGetScreenSize() -- The variables
    local Width,Height = 350,284 --Main Window sizes
    local X = (sWidth/2) - (Width/2) --Main Window horizontal position
    local Y = (sHeight/2) - (Height/2) --Main Window vertical position
    toggleAllControls(EnableMTAControlsOnLogin)
 
 
    wdwLogin_Pannel = guiCreateWindow(X,Y,Width,Height,"NS:RPG Login System.",false)
   
    guiWindowSetSizable(wdwLogin_Pannel,false)
   
    tabPannel_Main = guiCreateTabPanel(9,50,350,251,false,wdwLogin_Pannel)
   
    tab_Login = guiCreateTab("Login",tabPannel_Main)
   
    lbl_Login = guiCreateLabel(57,30,42,19,"Login:",false,tab_Login)
    guiLabelSetVerticalAlign(lbl_Login,"center")
    guiLabelSetHorizontalAlign(lbl_Login,"right",false)
    guiSetFont(lbl_Login,"default-bold-small")
   
    edit_Login = guiCreateEdit(110,30,130,23,"",false,tab_Login) --Поле ввода логина
    edit_password = guiCreateEdit(110,58,130,23,"",false,tab_Login) --Поле ввода пароля
    guiEditSetMaxLength ( edit_Login,25)
    guiEditSetMaxLength ( edit_password,25)
    guiEditSetMasked ( edit_password, true )
 
   
    lbl_Password = guiCreateLabel(3,58,96,19,"Password:",false,tab_Login)
    guiLabelSetVerticalAlign(lbl_Password,"center")
    guiLabelSetHorizontalAlign(lbl_Password,"right",false)
    guiSetFont(lbl_Password,"default-bold-small")
   
    --[[lbl_top_info = guiCreateLabel(74,6,244,35,"Enter with your username and password.",false,tab_Login)
    guiLabelSetColor(lbl_top_info,137,26,26)
    guiLabelSetVerticalAlign(lbl_top_info,"center")
    guiLabelSetHorizontalAlign(lbl_top_info,"center",false)
    guiSetFont(lbl_top_info,"default-bold-small")]]
   
    --[[lbl_about_legth = guiCreateLabel(142,42,184,18,"Max Length: 25 symbols",false,tab_Login)
    guiLabelSetColor(lbl_about_legth,253,255,68)
    guiLabelSetVerticalAlign(lbl_about_legth,"center")
    guiLabelSetHorizontalAlign(lbl_about_legth,"center",false)]]
   
   
    checkbox_save = guiCreateCheckBox(165,87,100,20,"(Remember)",false,false,tab_Login)
    guiSetFont(checkbox_save,"default-small")
   
    btn_Login = guiCreateButton(110,140,130,40,"Login",false,tab_Login)
    guiSetFont(btn_Login,"default-bold-small")
   
    login_tab_error_msg = guiCreateLabel(0,112,350,25,"Error_login_tab",false,tab_Login)
    guiLabelSetColor(login_tab_error_msg,255,0,0)
    guiLabelSetVerticalAlign(login_tab_error_msg,"center")
    guiLabelSetHorizontalAlign(login_tab_error_msg,"center",false)
    guiSetFont(login_tab_error_msg,"default-bold-small")
   
    --Guest func
    if GuestEnable == true then
        btnGuest = guiCreateButton(29,168,94,32,"Play as Guest",false,tab_Login)
        guiSetFont(btnGuest,"default-small")
        guiSetVisible(btnGuest,true)
    else
        if isElement(btnGuest) then guiSetVisible(btnGuest,false) end
        btnGuest = nil
    end
   
   
    tab_Register = guiCreateTab("Register",tabPannel_Main)
   
    lbl_account_name = guiCreateLabel(13,39,119,21,"Account Name:",false,tab_Register)
    guiLabelSetVerticalAlign(lbl_account_name,"center")
    guiLabelSetHorizontalAlign(lbl_account_name,"right",false)
    guiSetFont(lbl_account_name,"default-bold-small")
   
    lbl_reg_top_info = guiCreateLabel(80,5,364,31,"Do not use special characters.",false,tab_Register)
    guiLabelSetColor(lbl_reg_top_info,255,234,55)
    guiLabelSetVerticalAlign(lbl_reg_top_info,"center")
    guiLabelSetHorizontalAlign(lbl_reg_top_info,"left",false)
   
    edit_account_name = guiCreateEdit(142,40,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit_account_name,25)
   
    lbl__reg_tab_password = guiCreateLabel(13,71,119,21,"Password:",false,tab_Register)
    guiLabelSetVerticalAlign(lbl__reg_tab_password,"center")
    guiLabelSetHorizontalAlign(lbl__reg_tab_password,"right",false)
    guiSetFont(lbl__reg_tab_password,"default-bold-small")
   
    edit__reg_tab_password = guiCreateEdit(142,71,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit__reg_tab_password,25)
   
    edit__reg_tab_Repassword = guiCreateEdit(142,102,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit__reg_tab_Repassword,25)
   
    lvl_reg_tab_Repassword = guiCreateLabel(13,102,119,21,"Repeat password:",false,tab_Register)
    guiLabelSetVerticalAlign(lvl_reg_tab_Repassword,"center")
    guiLabelSetHorizontalAlign(lvl_reg_tab_Repassword,"right",false)
    guiSetFont(lvl_reg_tab_Repassword,"default-bold-small")
   
    btn_reg_tab_register = guiCreateButton(142,135,130,42,"Register",false,tab_Register)
    guiSetFont(btn_reg_tab_register,"default-bold-small")
   
    reg_tab_error_msg = guiCreateLabel(0,170,350,31,"Error_reg_ttab",false,tab_Register)
    guiLabelSetColor(reg_tab_error_msg,255,20,0)
    guiLabelSetVerticalAlign(reg_tab_error_msg,"center")
    guiLabelSetHorizontalAlign(reg_tab_error_msg,"center",false)
    guiSetFont(reg_tab_error_msg,"default-bold-small")
   
    guiEditSetMasked(edit__reg_tab_password, true)
    guiEditSetMasked(edit__reg_tab_Repassword, true)
   
    guiSetVisible(wdwLogin_Pannel,true)
    --guiSetInputEnabled(true)
    showCursor(true)
   
    --Изменение надписей:
    guiSetText(reg_tab_error_msg, "") --Поле ошибки в Reg табе
    guiSetText(login_tab_error_msg, "") --Поле ошибки в Login табе
   
   
    local username, password = loadLoginFromXML()
   
    if not( username == "" or password == "") then
        guiCheckBoxSetSelected ( checkbox_save, true )
        guiSetText ( edit_Login, tostring(username))
        guiSetText ( edit_password, tostring(password))
    else
        guiCheckBoxSetSelected ( checkbox_save, false )
        guiSetText ( edit_Login, tostring(username))
        guiSetText ( edit_password, tostring(password))
    end
 
    --Эвенты
    addEventHandler("onClientGUIClick",btn_Login,onClickBtnLogin)
    addEventHandler("onClientGUIClick",btn_reg_tab_register,onClickBtnRegister)
    if GuestEnable == true then addEventHandler("onClientGUIClick",btnGuest,onClickGuest) end
   
   
--else
    --destroyElement(wdwLogin_Pannel)
    --guiSetInputEnabled(false)
    --wdwLogin_Pannel = nil
    --showCursor(false)
end
end
 
 
 
 
function start_cl_resource() --При старте
    open_log_reg_pannel()
end
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),start_cl_resource)
 
 
function loadLoginFromXML() --Загрузка логина и пароля из XML
    local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
    if not xml_save_log_File then
        xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
    end
    local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
    local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
    if usernameNode and passwordNode then
        return xmlNodeGetValue(usernameNode), xmlNodeGetValue(passwordNode)
    else
        return "", ""
    end
    xmlUnloadFile ( xml_save_log_File )
end
 
 
function saveLoginToXML(username, password) --Сохрание логина и пароля в XML
    local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
    if not xml_save_log_File then
        xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
    end
    if (username ~= "") then
        local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
        if not usernameNode then
            usernameNode = xmlCreateChild(xml_save_log_File, "username")
        end
        xmlNodeSetValue (usernameNode, tostring(username))
    end
    if (password ~= "") then
        local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
        if not passwordNode then
            passwordNode = xmlCreateChild(xml_save_log_File, "password")
        end    
        xmlNodeSetValue (passwordNode, tostring(password))
    end
    xmlSaveFile(xml_save_log_File)
    xmlUnloadFile (xml_save_log_File)
end
addEvent("saveLoginToXML", true)
addEventHandler("saveLoginToXML", getRootElement(), saveLoginToXML)
 
 
 
function resetSaveXML() --Сохрание логина и пароля в XML
        local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
        if not xml_save_log_File then
            xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
        end
        if (username ~= "") then
            local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
            if not usernameNode then
                usernameNode = xmlCreateChild(xml_save_log_File, "username")
            end
        end
        if (password ~= "") then
            local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
            if not passwordNode then
                passwordNode = xmlCreateChild(xml_save_log_File, "password")
            end    
            xmlNodeSetValue (passwordNode, "")
        end
        xmlSaveFile(xml_save_log_File)
        xmlUnloadFile (xml_save_log_File)
end
addEvent("resetSaveXML", true)
addEventHandler("resetSaveXML", getRootElement(), resetSaveXML)
 
 
 
 
 
 
 
 
function onClickBtnLogin(button,state) --При нажатии на кнопку Login
    if(button == "left" and state == "up") then
        if (source == btn_Login) then
            username =
Link to comment
wdwLogin_Pannel = {} 
tabPannel_Main = {}
tab_Login = {}
tab_Register = {}
 
function guiCreateWindow( x2, y2, width2, height2, titleBarText2, relative2 )
    local mainBackground = guiCreateStaticImage ( x2, y2, width2, height2, "2.png", relative2 )
    guiSetEnabled ( mainBackgroundLabel, false )
    return mainBackground
end
 
 
--Settings
blackLoginScreen = true --True/false Black screen, while player login...
blackScreenTime = 5  --Time to complete disappearance of the black screen in seconds.
 
GuestEnable = false --Can a Player play as Guest, or no. [true/false]
EnableMTAControlsOnLogin = false --Set false to not open the chat when you press "t" on fields, for example. [true/false]
 
 
function open_log_reg_pannel()
if not(isElement(wdwLogin_Pannel)) then
   
    if blackLoginScreen == true then
        fadeCamera(false,0,0,0,0)
    end
   
    local sWidth,sHeight = guiGetScreenSize() -- The variables
    local Width,Height = 350,284 --Main Window sizes
    local X = (sWidth/2) - (Width/2) --Main Window horizontal position
    local Y = (sHeight/2) - (Height/2) --Main Window vertical position
    toggleAllControls(EnableMTAControlsOnLogin)
 
 
    wdwLogin_Pannel = guiCreateWindow(X,Y,Width,Height,"NS:RPG Login System.",false)
   
    guiWindowSetSizable(wdwLogin_Pannel,false)
   
    tabPannel_Main = guiCreateTabPanel(9,50,350,251,false,wdwLogin_Pannel)
   
    tab_Login = guiCreateTab("Login",tabPannel_Main)
   
    lbl_Login = guiCreateLabel(57,30,42,19,"Login:",false,tab_Login)
    guiLabelSetVerticalAlign(lbl_Login,"center")
    guiLabelSetHorizontalAlign(lbl_Login,"right",false)
    guiSetFont(lbl_Login,"default-bold-small")
   
    edit_Login = guiCreateEdit(110,30,130,23,"",false,tab_Login) --Поле ввода логина
    edit_password = guiCreateEdit(110,58,130,23,"",false,tab_Login) --Поле ввода пароля
    guiEditSetMaxLength ( edit_Login,25)
    guiEditSetMaxLength ( edit_password,25)
    guiEditSetMasked ( edit_password, true )
 
   
    lbl_Password = guiCreateLabel(3,58,96,19,"Password:",false,tab_Login)
    guiLabelSetVerticalAlign(lbl_Password,"center")
    guiLabelSetHorizontalAlign(lbl_Password,"right",false)
    guiSetFont(lbl_Password,"default-bold-small")
   
    --[[lbl_top_info = guiCreateLabel(74,6,244,35,"Enter with your username and password.",false,tab_Login)
    guiLabelSetColor(lbl_top_info,137,26,26)
    guiLabelSetVerticalAlign(lbl_top_info,"center")
    guiLabelSetHorizontalAlign(lbl_top_info,"center",false)
    guiSetFont(lbl_top_info,"default-bold-small")]]
   
    --[[lbl_about_legth = guiCreateLabel(142,42,184,18,"Max Length: 25 symbols",false,tab_Login)
    guiLabelSetColor(lbl_about_legth,253,255,68)
    guiLabelSetVerticalAlign(lbl_about_legth,"center")
    guiLabelSetHorizontalAlign(lbl_about_legth,"center",false)]]
   
   
    checkbox_save = guiCreateCheckBox(165,87,100,20,"(Remember)",false,false,tab_Login)
    guiSetFont(checkbox_save,"default-small")
   
    btn_Login = guiCreateButton(110,140,130,40,"Login",false,tab_Login)
    guiSetFont(btn_Login,"default-bold-small")
   
    login_tab_error_msg = guiCreateLabel(0,112,350,25,"Error_login_tab",false,tab_Login)
    guiLabelSetColor(login_tab_error_msg,255,0,0)
    guiLabelSetVerticalAlign(login_tab_error_msg,"center")
    guiLabelSetHorizontalAlign(login_tab_error_msg,"center",false)
    guiSetFont(login_tab_error_msg,"default-bold-small")
   
    --Guest func
    if GuestEnable == true then
        btnGuest = guiCreateButton(29,168,94,32,"Play as Guest",false,tab_Login)
        guiSetFont(btnGuest,"default-small")
        guiSetVisible(btnGuest,true)
    else
        if isElement(btnGuest) then guiSetVisible(btnGuest,false) end
        btnGuest = nil
    end
   
   
    tab_Register = guiCreateTab("Register",tabPannel_Main)
   
    lbl_account_name = guiCreateLabel(13,39,119,21,"Account Name:",false,tab_Register)
    guiLabelSetVerticalAlign(lbl_account_name,"center")
    guiLabelSetHorizontalAlign(lbl_account_name,"right",false)
    guiSetFont(lbl_account_name,"default-bold-small")
   
    lbl_reg_top_info = guiCreateLabel(80,5,364,31,"Do not use special characters.",false,tab_Register)
    guiLabelSetColor(lbl_reg_top_info,255,234,55)
    guiLabelSetVerticalAlign(lbl_reg_top_info,"center")
    guiLabelSetHorizontalAlign(lbl_reg_top_info,"left",false)
   
    edit_account_name = guiCreateEdit(142,40,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit_account_name,25)
   
    lbl__reg_tab_password = guiCreateLabel(13,71,119,21,"Password:",false,tab_Register)
    guiLabelSetVerticalAlign(lbl__reg_tab_password,"center")
    guiLabelSetHorizontalAlign(lbl__reg_tab_password,"right",false)
    guiSetFont(lbl__reg_tab_password,"default-bold-small")
   
    edit__reg_tab_password = guiCreateEdit(142,71,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit__reg_tab_password,25)
   
    edit__reg_tab_Repassword = guiCreateEdit(142,102,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit__reg_tab_Repassword,25)
   
    lvl_reg_tab_Repassword = guiCreateLabel(13,102,119,21,"Repeat password:",false,tab_Register)
    guiLabelSetVerticalAlign(lvl_reg_tab_Repassword,"center")
    guiLabelSetHorizontalAlign(lvl_reg_tab_Repassword,"right",false)
    guiSetFont(lvl_reg_tab_Repassword,"default-bold-small")
   
    btn_reg_tab_register = guiCreateButton(142,135,130,42,"Register",false,tab_Register)
    guiSetFont(btn_reg_tab_register,"default-bold-small")
   
    reg_tab_error_msg = guiCreateLabel(0,170,350,31,"Error_reg_ttab",false,tab_Register)
    guiLabelSetColor(reg_tab_error_msg,255,20,0)
    guiLabelSetVerticalAlign(reg_tab_error_msg,"center")
    guiLabelSetHorizontalAlign(reg_tab_error_msg,"center",false)
    guiSetFont(reg_tab_error_msg,"default-bold-small")
   
    guiEditSetMasked(edit__reg_tab_password, true)
    guiEditSetMasked(edit__reg_tab_Repassword, true)
   
    guiSetVisible(wdwLogin_Pannel,true)
    --guiSetInputEnabled(true)
    showCursor(true)
   
    --Изменение надписей:
    guiSetText(reg_tab_error_msg, "") --Поле ошибки в Reg табе
    guiSetText(login_tab_error_msg, "") --Поле ошибки в Login табе
   
   
    local username, password = loadLoginFromXML()
   
    if not( username == "" or password == "") then
        guiCheckBoxSetSelected ( checkbox_save, true )
        guiSetText ( edit_Login, tostring(username))
        guiSetText ( edit_password, tostring(password))
    else
        guiCheckBoxSetSelected ( checkbox_save, false )
        guiSetText ( edit_Login, tostring(username))
        guiSetText ( edit_password, tostring(password))
    end
 
    --Эвенты
    addEventHandler("onClientGUIClick",btn_Login,onClickBtnLogin)
    addEventHandler("onClientGUIClick",btn_reg_tab_register,onClickBtnRegister)
    if GuestEnable == true then addEventHandler("onClientGUIClick",btnGuest,onClickGuest) end
   
   
--else
    --destroyElement(wdwLogin_Pannel)
    --guiSetInputEnabled(false)
    --wdwLogin_Pannel = nil
    --showCursor(false)
end
end
 
 
 
 
function start_cl_resource() --При старте
    open_log_reg_pannel()
end
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),start_cl_resource)
 
 
function loadLoginFromXML() --Загрузка логина и пароля из XML
    local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
    if not xml_save_log_File then
        xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
    end
    local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
    local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
    if usernameNode and passwordNode then
        return xmlNodeGetValue(usernameNode), xmlNodeGetValue(passwordNode)
    else
        return "", ""
    end
    xmlUnloadFile ( xml_save_log_File )
end
 
 
function saveLoginToXML(username, password) --Сохрание логина и пароля в XML
    local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
    if not xml_save_log_File then
        xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
    end
    if (username ~= "") then
        local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
        if not usernameNode then
            usernameNode = xmlCreateChild(xml_save_log_File, "username")
        end
        xmlNodeSetValue (usernameNode, tostring(username))
    end
    if (password ~= "") then
        local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
        if not passwordNode then
            passwordNode = xmlCreateChild(xml_save_log_File, "password")
        end    
        xmlNodeSetValue (passwordNode, tostring(password))
    end
    xmlSaveFile(xml_save_log_File)
    xmlUnloadFile (xml_save_log_File)
end
addEvent("saveLoginToXML", true)
addEventHandler("saveLoginToXML", getRootElement(), saveLoginToXML)
 
 
 
function resetSaveXML() --Сохрание логина и пароля в XML
        local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
        if not xml_save_log_File then
            xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
        end
        if (username ~= "") then
            local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
            if not usernameNode then
                usernameNode = xmlCreateChild(xml_save_log_File, "username")
            end
        end
        if (password ~= "") then
            local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
            if not passwordNode then
                passwordNode = xmlCreateChild(xml_save_log_File, "password")
            end    
            xmlNodeSetValue (passwordNode, "")
        end
        xmlSaveFile(xml_save_log_File)
        xmlUnloadFile (xml_save_log_File)
end
addEvent("resetSaveXML", true)
addEventHandler("resetSaveXML", getRootElement(), resetSaveXML)
 
 
 
 
 
Link to comment
wdwLogin_Pannel = {} 
tabPannel_Main = {}
tab_Login = {}
tab_Register = {}
 
function guiCreateWindow( x2, y2, width2, height2, titleBarText2, relative2 )
    local mainBackground = guiCreateStaticImage ( x2, y2, width2, height2, "NSRPwallpaper1980x1080-2.png", relative2 )
    guiSetEnabled ( mainBackgroundLabel, false )
    return mainBackground
end
 
 
--Settings
blackLoginScreen = true --True/false Black screen, while player login...
blackScreenTime = 5  --Time to complete disappearance of the black screen in seconds.
 
GuestEnable = false --Can a Player play as Guest, or no. [true/false]
EnableMTAControlsOnLogin = false --Set false to not open the chat when you press "t" on fields, for example. [true/false]
 
 
function open_log_reg_pannel()
if not(isElement(wdwLogin_Pannel)) then
   
    if blackLoginScreen == true then
        fadeCamera(false,0,0,0,0)
    end
   
    local sWidth,sHeight = guiGetScreenSize() -- The variables
    local Width,Height = 350,284 --Main Window sizes
    local X = (sWidth/2) - (Width/2) --Main Window horizontal position
    local Y = (sHeight/2) - (Height/2) --Main Window vertical position
    toggleAllControls(EnableMTAControlsOnLogin)
 
 
    wdwLogin_Pannel = guiCreateWindow(X,Y,Width,Height,"NS:RPG Login System.",false)
   
    guiWindowSetSizable(wdwLogin_Pannel,false)
   
    tabPannel_Main = guiCreateTabPanel(9,50,350,251,false,wdwLogin_Pannel)
   
    tab_Login = guiCreateTab("Login",tabPannel_Main)
   
    lbl_Login = guiCreateLabel(57,30,42,19,"Login:",false,tab_Login)
    guiLabelSetVerticalAlign(lbl_Login,"center")
    guiLabelSetHorizontalAlign(lbl_Login,"right",false)
    guiSetFont(lbl_Login,"default-bold-small")
   
    edit_Login = guiCreateEdit(110,30,130,23,"",false,tab_Login) --Поле ввода логина
    edit_password = guiCreateEdit(110,58,130,23,"",false,tab_Login) --Поле ввода пароля
    guiEditSetMaxLength ( edit_Login,25)
    guiEditSetMaxLength ( edit_password,25)
    guiEditSetMasked ( edit_password, true )
 
   
    lbl_Password = guiCreateLabel(3,58,96,19,"Password:",false,tab_Login)
    guiLabelSetVerticalAlign(lbl_Password,"center")
    guiLabelSetHorizontalAlign(lbl_Password,"right",false)
    guiSetFont(lbl_Password,"default-bold-small")
   
    --[[lbl_top_info = guiCreateLabel(74,6,244,35,"Enter with your username and password.",false,tab_Login)
    guiLabelSetColor(lbl_top_info,137,26,26)
    guiLabelSetVerticalAlign(lbl_top_info,"center")
    guiLabelSetHorizontalAlign(lbl_top_info,"center",false)
    guiSetFont(lbl_top_info,"default-bold-small")]]
   
    --[[lbl_about_legth = guiCreateLabel(142,42,184,18,"Max Length: 25 symbols",false,tab_Login)
    guiLabelSetColor(lbl_about_legth,253,255,68)
    guiLabelSetVerticalAlign(lbl_about_legth,"center")
    guiLabelSetHorizontalAlign(lbl_about_legth,"center",false)]]
   
   
    checkbox_save = guiCreateCheckBox(165,87,100,20,"(Remember)",false,false,tab_Login)
    guiSetFont(checkbox_save,"default-small")
   
    btn_Login = guiCreateButton(110,140,130,40,"Login",false,tab_Login)
    guiSetFont(btn_Login,"default-bold-small")
   
    login_tab_error_msg = guiCreateLabel(0,112,350,25,"Error_login_tab",false,tab_Login)
    guiLabelSetColor(login_tab_error_msg,255,0,0)
    guiLabelSetVerticalAlign(login_tab_error_msg,"center")
    guiLabelSetHorizontalAlign(login_tab_error_msg,"center",false)
    guiSetFont(login_tab_error_msg,"default-bold-small")
   
    --Guest func
    if GuestEnable == true then
        btnGuest = guiCreateButton(29,168,94,32,"Play as Guest",false,tab_Login)
        guiSetFont(btnGuest,"default-small")
        guiSetVisible(btnGuest,true)
    else
        if isElement(btnGuest) then guiSetVisible(btnGuest,false) end
        btnGuest = nil
    end
   
   
    tab_Register = guiCreateTab("Register",tabPannel_Main)
   
    lbl_account_name = guiCreateLabel(13,39,119,21,"Account Name:",false,tab_Register)
    guiLabelSetVerticalAlign(lbl_account_name,"center")
    guiLabelSetHorizontalAlign(lbl_account_name,"right",false)
    guiSetFont(lbl_account_name,"default-bold-small")
   
    lbl_reg_top_info = guiCreateLabel(80,5,364,31,"Do not use special characters.",false,tab_Register)
    guiLabelSetColor(lbl_reg_top_info,255,234,55)
    guiLabelSetVerticalAlign(lbl_reg_top_info,"center")
    guiLabelSetHorizontalAlign(lbl_reg_top_info,"left",false)
   
    edit_account_name = guiCreateEdit(142,40,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit_account_name,25)
   
    lbl__reg_tab_password = guiCreateLabel(13,71,119,21,"Password:",false,tab_Register)
    guiLabelSetVerticalAlign(lbl__reg_tab_password,"center")
    guiLabelSetHorizontalAlign(lbl__reg_tab_password,"right",false)
    guiSetFont(lbl__reg_tab_password,"default-bold-small")
   
    edit__reg_tab_password = guiCreateEdit(142,71,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit__reg_tab_password,25)
   
    edit__reg_tab_Repassword = guiCreateEdit(142,102,130,23,"",false,tab_Register)
    guiEditSetMaxLength ( edit__reg_tab_Repassword,25)
   
    lvl_reg_tab_Repassword = guiCreateLabel(13,102,119,21,"Repeat password:",false,tab_Register)
    guiLabelSetVerticalAlign(lvl_reg_tab_Repassword,"center")
    guiLabelSetHorizontalAlign(lvl_reg_tab_Repassword,"right",false)
    guiSetFont(lvl_reg_tab_Repassword,"default-bold-small")
   
    btn_reg_tab_register = guiCreateButton(142,135,130,42,"Register",false,tab_Register)
    guiSetFont(btn_reg_tab_register,"default-bold-small")
   
    reg_tab_error_msg = guiCreateLabel(0,170,350,31,"Error_reg_ttab",false,tab_Register)
    guiLabelSetColor(reg_tab_error_msg,255,20,0)
    guiLabelSetVerticalAlign(reg_tab_error_msg,"center")
    guiLabelSetHorizontalAlign(reg_tab_error_msg,"center",false)
    guiSetFont(reg_tab_error_msg,"default-bold-small")
   
    guiEditSetMasked(edit__reg_tab_password, true)
    guiEditSetMasked(edit__reg_tab_Repassword, true)
   
    guiSetVisible(wdwLogin_Pannel,true)
    --guiSetInputEnabled(true)
    showCursor(true)
   
    --Изменение надписей:
    guiSetText(reg_tab_error_msg, "") --Поле ошибки в Reg табе
    guiSetText(login_tab_error_msg, "") --Поле ошибки в Login табе
   
   
    local username, password = loadLoginFromXML()
   
    if not( username == "" or password == "") then
        guiCheckBoxSetSelected ( checkbox_save, true )
        guiSetText ( edit_Login, tostring(username))
        guiSetText ( edit_password, tostring(password))
    else
        guiCheckBoxSetSelected ( checkbox_save, false )
        guiSetText ( edit_Login, tostring(username))
        guiSetText ( edit_password, tostring(password))
    end
 
    --Эвенты
    addEventHandler("onClientGUIClick",btn_Login,onClickBtnLogin)
    addEventHandler("onClientGUIClick",btn_reg_tab_register,onClickBtnRegister)
    if GuestEnable == true then addEventHandler("onClientGUIClick",btnGuest,onClickGuest) end
   
   
--else
    --destroyElement(wdwLogin_Pannel)
    --guiSetInputEnabled(false)
    --wdwLogin_Pannel = nil
    --showCursor(false)
end
end
 
 
 
 
function start_cl_resource() --При старте
    open_log_reg_pannel()
end
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),start_cl_resource)
 
 
function loadLoginFromXML() --Загрузка логина и пароля из XML
    local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
    if not xml_save_log_File then
        xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
    end
    local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
    local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
    if usernameNode and passwordNode then
        return xmlNodeGetValue(usernameNode), xmlNodeGetValue(passwordNode)
    else
        return "", ""
    end
    xmlUnloadFile ( xml_save_log_File )
end
 
 
function saveLoginToXML(username, password) --Сохрание логина и пароля в XML
    local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
    if not xml_save_log_File then
        xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
    end
    if (username ~= "") then
        local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
        if not usernameNode then
            usernameNode = xmlCreateChild(xml_save_log_File, "username")
        end
        xmlNodeSetValue (usernameNode, tostring(username))
    end
    if (password ~= "") then
        local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
        if not passwordNode then
            passwordNode = xmlCreateChild(xml_save_log_File, "password")
        end    
        xmlNodeSetValue (passwordNode, tostring(password))
    end
    xmlSaveFile(xml_save_log_File)
    xmlUnloadFile (xml_save_log_File)
end
addEvent("saveLoginToXML", true)
addEventHandler("saveLoginToXML", getRootElement(), saveLoginToXML)
 
 
 
function resetSaveXML() --Сохрание логина и пароля в XML
        local xml_save_log_File = xmlLoadFile ("files/xml/userdata.xml")
        if not xml_save_log_File then
            xml_save_log_File = xmlCreateFile("files/xml/userdata.xml", "login")
        end
        if (username ~= "") then
            local usernameNode = xmlFindChild (xml_save_log_File, "username", 0)
            if not usernameNode then
                usernameNode = xmlCreateChild(xml_save_log_File, "username")
            end
        end
        if (password ~= "") then
            local passwordNode = xmlFindChild (xml_save_log_File, "password", 0)
            if not passwordNode then
                passwordNode = xmlCreateChild(xml_save_log_File, "password")
            end    
            xmlNodeSetValue (passwordNode, "")
        end
        xmlSaveFile(xml_save_log_File)
        xmlUnloadFile (xml_save_log_File)
end
addEvent("resetSaveXML", true)
addEventHandler("resetSaveXML", getRootElement(), resetSaveXML)
 
 
 
 
 
Link to comment

It was working for me, I don't know you are missing a piece at the bottom

function onClickBtnLogin(button,state) --При нажатии на кнопку Login 
    if(button == "left" and state == "up") then 
        if (source == btn_Login) then 
            username = guiGetText(edit_Login) 
            password = guiGetText(edit_password) 
                if guiCheckBoxGetSelected ( checkbox_save ) == true then 
                    checksave = true 
                else 
                    checksave 

should be

function onClickBtnLogin(button,state) --При нажатии на кнопку Login 
    if(button == "left" and state == "up") then 
        if (source == btn_Login) then 
            username = guiGetText(edit_Login) 
            password = guiGetText(edit_password) 
                if guiCheckBoxGetSelected ( checkbox_save ) == true then 
                    checksave = true 
                else 
                    checksave = false 
                end 
         end 
    end 
end 

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...