Jump to content

Whitelist em Site


Recommended Posts

  • Other Languages Moderators

Olá.

Sim, isso é totalmente possível. Há vários servidores, além de brasileiros, que fazem isso. Pensando numa forma bem resumida e superficial, quando o jogador estivesse se registrando no site, ele teria que colocar o serial. Aí, bastaria você obter esse dado (serial) via MySQL lá no servidor e atualizar a whitelist. :) - há o evento onPlayerConnect, que acontece antes do jogador de fato entrar no servidor. Verificando o serial dele com os existentes na whitelist já teria o sistema que você almeja.

Link to comment

Teria alguma forma sem colocar o serial no site? Já vi vários servers assim, bastava registra no site e responder as perguntas do RP, e existem algum jeito(plataforma) dele registra, responder as perguntas e alguém da equipe aprovar aí sim ele poder entrar no server?

Link to comment
  • Other Languages Moderators

Primeiramente, vamos pensar na lógica. E sim, claro que é possível fazer o sistema sem o usuário ter que colocar o serial. Precisamos, primeiro, criar o banco de dados MySQL.

MySQL seria mais fácil, pois nós podemos acessar tanto pelo MTA quanto pelo site. Os dados estariam, de certa forma, sendo compartilhados. Após criá-lo, a única coisa que você precisa fazer é criar o sistema de registro e com uma coluna na tabela do banco de dados, com algo do tipo "approved" (aprovado), com o valor 0. O valor 0 pois ainda não foi aprovado, o usuário acabou de criar uma conta.

Com esse valor, nós podemos checar lá no MTA, quando o usuário tentar efetuar o login. Caso essa coluna seja 0, não seria possível realizar o login. Para fazê-lo ficar com o valor 1, a equipe responsável deveria aprová-lo. Sendo assim, com o valor 1, o usuário poderia efetuar o login e jogar.

Também, além de aprovar pelo site, seria totalmente possível realizar as aprovações pelo próprio servidor.

Link to comment

Consegui fazer o sistema, peguei um script de registro e login. O Jogador entra no server e registra, quando ele se registra coloquei para criar uma tabela chamada whitelist com valor 0, se ele tentar entrar não vai conseguir porque o valor é 0, mais se eu mudo o valor para 1 ele consegue entrar sem problema.

Agora queria vê se existe algum jeito dele criar a conta no site, e após criar a conta fazer a whitelist, para uma pessoa da equipe aprovar para está liberando o acesso.

Mandei solicitação no seu discord @andr0xy. Me chamo Strong#1935, qualquer coisa me mande mensagem lá ai fica mais facil.

Link to comment
  • Other Languages Moderators

Opa. Muito bom que correu atrás e conseguiu. :)

Como eu disse, é sim totalmente possível integrá-lo à um site. Lembre-se que estamos falando de programação. Sempre há uma maneira de solucionar algo, de diversas formas diferentes!

Porém, você precisa ter conhecimentos básicos de HTML, CSS, JavaScript - e back-end, claro. Talvez já tenha algum template de fórum ou algo do tipo que facilite a criação, particularmente eu não conheço, mas com certeza tem. Entretanto, ainda assim você precisaria editar pra deixar da forma desejada.

10 hours ago, Jovem_Extreme said:

Mandei solicitação no seu discord @andr0xy. Me chamo Strong#1935, qualquer coisa me mande mensagem lá ai fica mais facil.

Pergunte suas dúvidas aqui no fórum.

Link to comment

Olá, estou utilizando um fórum, tentei fazer o server verificar o login e a senha do fórum no site para fazer o login in-game, mais sem sucesso.

O Código está assim.

addEvent("loginRequest",true)
function loginRequest(player,username,password)
    local whitelist = exports.mysql:_QuerySingle("select * from users where whitelist = ? ",1)
    if whitelist then
        local check = exports.mysql:_QuerySingle("select * from users where username = ? ",username)
        if check then
            local checkPass = check.password
            if (checkPass == password) then
                logIn(player,getAccount(username),tostring(password))
                triggerClientEvent(player,"showHide",getRootElement())
                outputDebugString("User Logged In")
            end
        end
    else
    outputChatBox("Você Está Sem Whitelist",player)
    end
    outputChatBox("Logado!",player)
end
addEventHandler("loginRequest",getRootElement(),loginRequest)

Dei uma verificada e o nome da tabela de login do fórum é core_members  é a coluna com nome do usuário e a senha é 'name', 'members_pass_hash'. A senha está criptografada.

O Que eu deveria mudar no código para ele buscar o nome e a senha do usuário fórum para fazer o login no jogo.

Link to comment
  • Other Languages Moderators

Primeiramente, preciso saber até que ponto posso te ajudar. Pelo o que vejo do código, tem um resource responsável pelas queries MySQL. O resource é seu?

Lá no SELECT, você está buscando na tabela users, não no core_members.

Se a senha no banco de dados está criptografada, precisa ver se o MTA aceita tal tipo de criptografia. Há várias coisas que você precisa verificar.

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