Jump to content

[help] Login/register


DrEspy

Recommended Posts

hello, I have some problem with Login/register mod. When i try to register nothing work, i just get this error: http://prntscr.com/16k4s7

mod is connected with registered users on the site. Anyone who has registered on the the web to be able to login into the server and the other way around, anyone who would be registered on the server to be able to login to the site.

local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' 
  
-- encoding 
function base64enc(data) 
    return ((data:gsub('.', function(x)  
        local r,b='',x:byte() 
        for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end 
        return r; 
    end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x) 
        if (#x < 6) then return '' end 
        local c=0 
        for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end 
        return b:sub(c+1,c+1) 
    end)..({ '', '==', '=' })[#data%3+1]) 
end 
  
-- decoding 
function base64dec(data) 
    data = string.gsub(data, '[^'..b..'=]', '') 
    return (data:gsub('.', function(x) 
        if (x == '=') then return '' end 
        local r,f='',(b:find(x)-1) 
        for i=6,1,-1 do r=r..(f%2^i-f%2^(i-1)>0 and '1' or '0') end 
        return r; 
    end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x) 
        if (#x ~=  then return '' end 
        local c=0 
        for i=1,8 do c=c+(x:sub(i,i)=='1' and 2^(8-i) or 0) end 
        return string.char(c) 
    end)) 
end 
  
function validateOnWeb(user, pass) 
    socket = require("socket") 
    http = require("socket.http") 
  
    username = base64enc(user) 
    password = base64enc(pass) 
  
    response = http.request("http://URL/validate.php?user=" .. username .. "&pass=" .. password) 
  
    if(string.sub(response, 0, 1) == "0") then  
        return true 
    end 
     
    return false 
end 
  
function PlayerLogin(username,password,checksave) 
    if not (username == "") then 
        if not (password == "") then 
            local account = getAccount ( username, password ) 
            if ( account ~= false and validateOnWeb(username, password)) 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 
                    if(validateOnWeb(username, password) then 
                        local account = getAccount (username,password) 
                        if (account == false) then 
                            local accountAdded = addAccount(tostring(username),tostring(password)) 
                            if (accountAdded) then 
                                outputChatBox ("#FF0000* #00FF00You have sucessfuly registered! [username: #FFFFFF" .. username .. " #00FF00| Password: #FFFFFF" .. password .. "#00FF00 ]",source,255,255,255,true ) 
                            else 
                                triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","An unknown error has occured! Please choose a different username/password and try again.") 
                            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","Please register on webiste!") 
                    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 with!") 
    end 
end 
addEvent("onRequestRegister",true) 
addEventHandler("onRequestRegister",getRootElement(),registerPlayer) 
  
  
  

Thank you for helping me and sorry for bad English

Edited by Guest
Link to comment

You have an extra 'end' at the end of your script.

Also, you can't use "require" on MTA, and I think is not required neither, since you can use callRemote to do it.

local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' 
  
-- encoding 
function base64enc(data) 
    return ((data:gsub('.', function(x) 
        local r,b='',x:byte() 
        for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end 
        return r; 
    end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x) 
        if (#x < 6) then return '' end 
        local c=0 
        for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end 
        return b:sub(c+1,c+1) 
    end)..({ '', '==', '=' })[#data%3+1]) 
end 
  
-- decoding 
function base64dec(data) 
    data = string.gsub(data, '[^'..b..'=]', '') 
    return (data:gsub('.', function(x) 
        if (x == '=') then return '' end 
        local r,f='',(b:find(x)-1) 
        for i=6,1,-1 do r=r..(f%2^i-f%2^(i-1)>0 and '1' or '0') end 
        return r; 
    end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x) 
        if (#x ~= -- s8) --> then return '' end 
        local c=0 
        for i=1,8 do c=c+(x:sub(i,i)=='1' and 2^(8-i) or 0) end 
        return string.char(c) 
    end)) 
end 
  
function validateOnWeb(user, pass) 
    socket = require("socket") 
    http = require("socket.http") 
  
    username = base64enc(user) 
    password = base64enc(pass) 
  
    response = http.request("http://URL/validate.php?user=" .. username .. "&pass=" .. password) 
  
    if(string.sub(response, 0, 1) == "0") then 
        return true 
    end 
    
    return false 
end 
  
function PlayerLogin(username,password,checksave) 
    if not (username == "") then 
        if not (password == "") then 
            local account = getAccount ( username, password ) 
            if ( account ~= false and validateOnWeb(username, password)) 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 
                    if(validateOnWeb(username, password) then 
                        local account = getAccount (username,password) 
                        if (account == false) then 
                            local accountAdded = addAccount(tostring(username),tostring(password)) 
                            if (accountAdded) then 
                                outputChatBox ("#FF0000* #00FF00You have sucessfuly registered! [username: #FFFFFF" .. username .. " #00FF00| Password: #FFFFFF" .. password .. "#00FF00 ]",source,255,255,255,true ) 
                            else 
                                triggerClientEvent(source,"set_warning_text",getRootElement(),"Register","An unknown error has occured! Please choose a different username/password and try again.") 
                            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","Please register on webiste!") 
                    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 with!") 
    end 
end 
addEvent("onRequestRegister",true) 
addEventHandler("onRequestRegister",getRootElement(),registerPlayer) 

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