Jump to content

2 Login System in 1


Monsthers

Recommended Posts

Posted

Hello MTA, I have a problem with my server, I have 2 system, and I use 2 login! 1 for login in database SQl and other for login in registry! I need only use 1, 1 only login what do login and registry in database sql and registry normal! If I use only the login SQL no give me admin! I need use the second login for have admin! for that I use 2 login but I want only 1, Please help me, 2 login in 1 server is very bad and I don't know what do :C

It is to unite the 2 Login in 1, Without having 2 gui! only 1

Code of login normal (Server)

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","nombre de usuario y/o contraseña incorrecta!") 
            end 
        else 
            triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","¡Por favor, introduzca su contraseña!") 
        end 
    else 
        triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","¡Por favor, ingrese su nombre de usuario!") 
    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 
                            outputChatBox ("#FF0000* #00FF00You Se ha registrado correctamente! [Nombre: #FFFFFF" .. username .. " #00FF00| Contraseña: #FFFFFF" .. password .. "#00FF00 ]",source,255,255,255,true ) 
                        else 
                            triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Un error ha ocurrido !Elija un nombre de usuario/contraseña diferente.") 
                        end 
                    else 
                        triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Una cuenta con este nombre de usuario ya existe!") 
                    end 
                else 
                    triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Las contraseña no coinciden!") 
                end 
            else 
                triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Por favor confirme su contraseña!") 
            end 
        else 
            triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Por favor ingrese una contraseña!") 
        end 
    else 
        triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","Por favor, introduzca un nombre de usuario que desea registrar!") 
    end 
end 
addEvent("onRequestRegister",true) 
addEventHandler("onRequestRegister",getRootElement(),registerPlayer) 

Code login normal (Client)

wdwLogin_Pannel = {} 
tabPannel_Main = {}
tab_Login = {}
tab_Register = {}
 
--Settings
blackLoginScreen = false --True/false Black screen, while player login...
blackScreenTime = 1000000  --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,"SAMS:RPG Ventana De Logeo 2",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,"Nombre:",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,"Contraseña:",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,"(Guardar)",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,"Nombre de la cuenta:",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,"No use caracteres especiales.",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,"Contraseña:",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,"Repita Contraseña:",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,"Registrar",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 =

San Andreas Venezuela Gamers [SAVG] - Dueño Y Desarrollador

350x20_FFFFFF_FFFFFF_000000_000000.png

Posted

What do you expect us to do? Because you just can use setElementData and setAccountData with the info obtained from data stored in the sql by the player.

"Keep making it simplex."

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...