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 Whitelist System é um sistema completo de entrada controlada para servidores MTA. Ele bloqueia o acesso de jogadores que ainda não passaram pelo processo de whitelist, com suporte a aplicação pelo jogo, pelo Discord ou pelos dois combinados. Com as funções exportadas, você pode:
  • Verificar manualmente se um player tem whitelist aprovada (útil ao trocar de personagem, reconectar, etc.);
  • Aprovar um player na whitelist diretamente via script (útil para sistemas de staff, painéis administrativos, bots externos, etc.);
  • Remover/resetar a whitelist de um player para que ele refaça o processo;
  • Obter o Discord ID de um player que passou pela whitelist (útil para cruzar dados com sistemas de Discord).

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 status for 'approved', executa o callback config.events.onJoinCity.server(player) liberando o acesso.
  • Se o status for diferente de 'approved' (ou o player nunca fez whitelist), abre o painel de whitelist para ele.
  • Esta função é chamada automaticamente nos eventos onPlayerJoin e onPlayerLogin quando config.events.verifyOnJoin ou config.events.verifyOnLogin são true. Use a export para chamadas manuais.
Return
  • Não há retorno explícito. A ação ocorre via callbacks e triggers client-side.
Example

approveWhitelistPlayer

Side: server Syntax
Required arguments
  • player (player): jogador a ser aprovado.
Comportamento
  • Atualiza o status na tabela whitelist_players para 'approved'.
  • Atualiza o status da tentativa (whitelist_attempts) com aditionalInfos.approved_by = 'admin'.
  • Fecha o painel de whitelist do player e executa config.events.onJoinCity.server(player).
  • Se o player já estiver aprovado ou não tiver registro, envia uma notificação de erro.
Return
  • Não há retorno explícito. O resultado é enviado via notificação ao player.
Example

removeWhitelistPlayer

Side: server Syntax
Required arguments
  • player (player): jogador que terá a whitelist removida/resetada.
Comportamento
  • Remove o registro do player da tabela whitelist_players.
  • Limpa os dados em memória do player (código de segurança, tentativa ativa, etc.).
  • Após remover, chama verifyPlayerAccount automaticamente — o player verá o painel de whitelist novamente como se nunca tivesse feito.
  • O histórico de tentativas (whitelist_attempts) não é apagado — apenas o vínculo do player é removido.
Return
  • Não há retorno explícito. O player recebe uma notificação e o painel reabre.
Example

getPlayerDiscordID

Side: server Syntax
Required arguments
  • player (player): jogador alvo.
Comportamento
  • Retorna o Discord ID armazenado em cache para o player (preenchido no momento da aprovação via bot do Discord).
  • O cache é carregado ao iniciar o resource (para players já online) e ao verificar a conta durante o onPlayerLogin/onPlayerJoin.
  • Se o player não tiver passado pela whitelist via Discord, ou ainda não tiver sido verificado na sessão atual, retorna false.
Return
  • string com o Discord ID do player, ex: "123456789012345678".
  • false se o Discord ID não estiver disponível.
Example

Observações

  • Todas as exports só funcionam após o resource ser iniciado e a licença validada.
  • A export verifyPlayerAccount é chamada automaticamente pelo sistema conforme as configurações verifyOnJoin e verifyOnLogin. Use a export para casos manuais específicos.
  • Para aprovar players em lote ou por painel web, prefira usar approveWhitelistPlayer via script server-side no momento em que o player estiver online.
  • O Discord ID só fica disponível no cache enquanto o player estiver online. Para consultas offline, acesse diretamente o banco de dados na coluna discordID da tabela whitelist_players.