Pular para o conteúdo principal
Hero Dark

Resolva problemas comuns

Resource não inicia

Está com problemas para iniciar o seu produto? Clique aqui

Configurar o resource

Está com dúvidas de como configurar algo no sistema? Clique aqui
Hero Dark

Sobre o sistema

O Auth Discord System é um sistema completo de autenticação de jogadores via Discord para servidores MTA. O jogador entra no servidor, recebe um código de confirmação, digita no canal do Discord e a conta é liberada automaticamente — sem precisar criar senha ou login manual. Com as funções exportadas, você pode:
  • Verificar manualmente se um player já passou pela autenticação e abrir o painel caso não tenha;
  • Adicionar cargos no Discord de um player autenticado diretamente por script;
  • Obter o Discord ID de qualquer player autenticado (útil para cruzar dados com sistemas externos);
  • Forçar a sincronização do nome do Discord com o nome do player no jogo.

Funções Exportadas

Server-side


verifyPlayerAccount

Side: server Syntax
Required arguments
  • player (player): jogador a ser verificado.
Comportamento
  • Consulta o banco de dados pelo serial do player.
  • Se o player já está registrado, abre a tela de confirmAccount (aguardando entrada no servidor Discord).
  • Se o player não está registrado ainda, gera um código único e abre a tela inicial de autenticação com o código exibido.
  • Esta função é chamada automaticamente nos eventos onPlayerJoin e onPlayerLogin conforme as opções config.onPlayerJoin e config.onPlayerLogin. Use a export para chamadas manuais (ex.: ao trocar de personagem).
Return
  • Não há retorno explícito. A ação ocorre via triggers client-side.
Example

addRoleDiscordToPlayer

Side: server Syntax
Required arguments
  • player (player): jogador autenticado que receberá o cargo.
  • roleID (string): ID do cargo no Discord a ser adicionado.
Comportamento
  • Envia uma requisição à API do bot do Discord para adicionar o cargo ao usuário correspondente ao player.
  • Só funciona se o player tiver uma sessão ativa (estiver autenticado e online).
  • A operação é assíncrona — o cargo é adicionado em background via fetchRemote.
Return
  • Não há retorno explícito na função (a resposta é processada internamente pelo callback do fetchRemote).
Example

getPlayerDiscordID

Side: server Syntax
Required arguments
  • player (player): jogador autenticado.
Comportamento
  • Retorna o Discord ID (clientID) do player a partir do cache em memória carregado na autenticação.
  • O cache é preenchido quando o player se autentica ou quando o resource reinicia (buscando dados do banco).
  • Se o player não estiver autenticado ou não tiver sessão ativa, retorna false.
Return
  • string com o Discord ID do player, ex: "123456789012345678".
  • false se o player não estiver autenticado ou não tiver Discord ID registrado.
Example

vinculateDiscordName

Side: server Syntax
Required arguments
  • player (player): jogador autenticado que terá o nome sincronizado.
Comportamento
  • Envia uma requisição à API para atualizar o nome do player no Discord de acordo com o ID do jogo retornado por config.infosPlayer.getIDFunction(player).
  • Utilizado para manter o nome/nickname do Discord sincronizado com as informações do servidor.
  • Depende de config.infosPlayer.setIDInDiscord estar configurado para incluir o ID do jogo no nome.
  • O sistema já chama esta função automaticamente no onPlayerLogin quando config.discordInfos.setDiscordNameInGame = true. Use a export para sincronizações manuais específicas.
Return
  • Não há retorno explícito. A sincronização ocorre em background.
Example

Observações

  • Todas as exports só funcionam corretamente após o resource ser iniciado e a licença validada.
  • As funções addRoleDiscordToPlayer e vinculateDiscordName requerem que o player esteja com sessão ativa no cache (autenticado durante a sessão atual). Players que entraram antes de um restart do resource terão o cache recarregado automaticamente.
  • getPlayerDiscordID é a export mais comum para integrações — use sempre que precisar do Discord ID de um player em outro script.
  • Para addRoleDiscordToPlayer funcionar, o bot do Discord deve estar corretamente configurado e online.