Documentation Index Fetch the complete documentation index at: https://docs.squashcodes.com/llms.txt
Use this file to discover all available pages before exploring further.
Resolva problemas comuns
Resource não inicia Está com problemas para iniciar o seu produto? Clique aqui
Funções exportáveis Precisa integrar o Auth Discord System com outro script? Clique aqui
Sobre o sistema
O Auth Discord System autentica jogadores via Discord automaticamente — sem login manual, sem senha. O jogador recebe um código no jogo, digita no canal do Discord e a conta é liberada.
Visão Geral
Este guia cobre todo o arquivo config/settings.lua.
Objetivo:
Você entender exatamente o que cada opção muda.
Você saber quando usar true ou false.
Você configurar o sistema sem precisar entrar em detalhes técnicos.
Antes de Começar
Arquivo de configuração: config/settings.lua
Depois de alterar a config: reinicie o resource (restart sqh_authdiscord)
Regra geral:
true = ativa a função
false = desativa a função
1) license
Configuração da licença de ativação do sistema.
Opção Descrição license.EmailE-mail da conta na Squash Company utilizado na compra do produto license.KeyChave de licença do produto
2) config.infobox
Funções de notificação. Configure aqui o sistema de alert/toast do seu servidor.
Callback Quando é chamado serverNotificações enviadas pelo lado server (recebe source, message, type) clientNotificações enviadas pelo lado client (recebe source, message, type)
type pode ser: 'success', 'error', 'info', 'warning'
config . infobox = {
[ 'server' ] = function ( source , message , type )
exports [ "s_infobox" ]: addInsInfobox ( source , message , type )
end ,
[ 'client' ] = function ( source , message , type )
exports [ "s_infobox" ]: addIncInfobox ( message , type )
end ,
}
3) config.events
onVerifiedPlayer
Callback executado quando o player é verificado/autenticado com sucesso.
config . events = {
onVerifiedPlayer = function ( player )
-- executado assim que o jogador finaliza a autenticação
-- ex.: abrir seletor de personagens, liberar acesso ao servidor
exports [ 'sqh_multicharacters' ]: openPanelCharacters ( player )
end ,
}
Importante : Este é o ponto central da integração. Coloque aqui a função que deve rodar após o login — normalmente a abertura do painel de personagens ou liberação do jogador.
4) Opções de Abertura Automática
Define quando o painel de autenticação deve abrir automaticamente.
Opção truefalseconfig.onPlayerJoinAbre o painel assim que o jogador entra no servidor (onPlayerJoin) Não abre automaticamente na entrada config.onPlayerLoginAbre o painel assim que o jogador faz login na conta MTA (onPlayerLogin) Não abre automaticamente no login
Recomendação : Em servidores com sistema de login próprio, use onPlayerLogin = true e onPlayerJoin = false.
5) config.discordLink
Link de convite do Discord exibido no painel de autenticação.
config . discordLink = 'https://discord.gg/seuservidor'
6) config.createAccountMTA
Opção truefalsecreateAccountMTACria automaticamente uma conta MTA para o jogador após o registro e faz login automático Não cria conta MTA — você gerencia o login manualmente
Se true, o campo de nome digitado no Discord será usado como nome da conta MTA. Por isso, ao configurar o bot do Discord, ative a opção de digitar o nome.
7) config.timeVerify
Tempo em segundos que o sistema aguarda antes de verificar se o player entrou no Discord do servidor.
config . timeVerify = 5 -- padrão: 5 segundos
8) config.playerInDiscord
Opção truefalseplayerInDiscordVerifica se o jogador está no servidor Discord antes de liberar o acesso Libera o acesso sem verificar presença no Discord
Com true, se o player não estiver no Discord, a tela de “você precisa entrar no Discord” é exibida.
9) config.blockChangeName
Opção truefalseblockChangeNameImpede que o jogador mude o nome no jogo O jogador pode mudar o nome normalmente
Se false e config.infosPlayer.changeNameActive = true, a mudança de nome no jogo será sincronizada automaticamente com o Discord.
10) config.discordInfos
10.1 Cargos automáticos
Opção Descrição onRegisterSetOfficesLista de IDs de cargos dados ao jogador quando ele é registrado/verificado onRegisterRemoveOfficesLista de IDs de cargos removidos do jogador quando ele é registrado
discordInfos = {
onRegisterSetOffices = { 'ID_DO_CARGO_MEMBRO' },
onRegisterRemoveOffices = { 'ID_DO_CARGO_NAO_VERIFICADO' },
}
10.2 Troca de serial
Opção Descrição changeSerialLista de Discord IDs autorizados a trocar o serial vinculado à conta pelo bot
Deixe vazio {} se não quiser usar este recurso.
10.3 Canais do Discord
Opção Descrição channelLogsID do canal onde o bot registrará logs de autenticações channelMessageID do canal onde o bot enviará as mensagens de verificação para os jogadores
Opção Tipo Descrição formatIDstringFormato do nome exibido no Discord após autenticação. Use $id e $name. Ex: "{$id} - $name" playerNamebooleanSe true, o bot pedirá ao jogador para digitar seu nome durante o processo setDiscordNameInGamebooleanSe true, ao entrar no jogo o nome do Discord será aplicado no nick do jogador
10.5 translates — Textos do bot no Discord
Textos exibidos pelo bot durante o fluxo de autenticação.
Opção Descrição descriptionMessageTexto principal da mensagem enviada no canal (suporta Markdown do Discord) imageMainURL da imagem exibida na mensagem principal imageFooterURL da imagem de rodapé
10.6 messages — Mensagens operacionais
Mensagens enviadas em situações específicas do fluxo.
Chave Quando é exibida confirmInfosAo solicitar confirmação de dados digitCodeAo pedir o código de verificação register_successApós a conta ser registrada com sucesso name_unavailableQuando o nome escolhido já está em uso code_failedQuando ocorre falha na confirmação do código
11) config.nameMainConfigs
Configuração do comando auxiliar para obter o nome da conta interna.
Opção Tipo Descrição commandActivebooleanAtiva o comando /vernomedaconta. Deixe true apenas durante a configuração inicial do serial havePermissionfunction(player)Retorna true se o player tem permissão para usar o comando
Após usar o comando para configurar o serial, volte commandActive = false.
config . nameMainConfigs = {
commandActive = false ,
havePermission = function ( player )
return isObjectInACLGroup ( 'user.' .. getAccountName ( getPlayerAccount ( player )), aclGetGroup ( 'Admin' ))
end
}
12) config.infosPlayer
Configurações sobre o nome e ID do player no jogo.
12.1 getNameOption — Como o nome é definido
Valor Comportamento 'Discord'O nome do Discord do jogador é usado como nome no jogo 'Game'O nome atual do jogador no jogo é mantido (uso de getNamePlayerFunction) 'DiscordDigit'O nome digitado pelo jogador no input do Discord é usado
config . infosPlayer . getNameOption = 'Discord'
12.2 getNamePlayerFunction
Função usada quando getNameOption = 'Game' para obter o nome do jogador.
config . infosPlayer . getNamePlayerFunction = function ( player )
return getPlayerName ( player )
end
12.3 Sincronização de nome e ID
Opção truefalsechangeNameActiveQuando o jogador mudar o nome no jogo, o nome no Discord é atualizado automaticamente Mudança de nome no jogo não afeta o Discord setIDInDiscordO ID do jogador (retornado por getIDFunction) é incluído no nome do Discord O ID não é adicionado ao nome
config . infosPlayer . getIDFunction = function ( player )
return getElementData ( player , 'ID' ) or 'N/A'
end
13) config.designInfos
Configurações visuais do painel de autenticação.
Opção Tipo Descrição designnumberEscolha o layout do painel: 1 ou 2 (são designs diferentes) color_mainstringCor principal do painel (hex). Ex: '#FF145B'
13.1 logo
Opção Tipo Descrição x, ynumberPosição da logo na tela w, hnumberLargura e altura da logo imagestringCaminho para o arquivo de imagem primaryColorbooleanSe true, a logo recebe a cor principal definida em color_main
Lista de links de redes sociais exibidos no painel.
config . designInfos . socialMedia = {
{ icon = 'discord' , url = 'https://discord.gg/seuservidor' },
{ icon = 'youtube' , url = 'https://youtube.com/seucanal' },
{ icon = 'instagram' , url = 'https://instagram.com/seuservidor' },
}
14) colors
Paleta de cores da interface de autenticação.
Opção Descrição whiteCor branca base blackCor preta base primaryCor principal (herdada de config.designInfos.color_main) pinkCor rosa de destaque primaryTextCor principal de texto secondaryTextCor secundária de texto (40% de opacidade) pinkBackgroundFundo rosa com baixa opacidade (15%) pinkStrokeBorda rosa (35%) background_opacityFundo escuro do painel (90% de opacidade) primary_opacityFundo da cor primária com baixa opacidade (7%) whiteOpacityBranco com baixa opacidade (4%) whiteStrokeBorda branca (8%) whiteBorderBorda branca mais visível (20%)
Formato das cores: '#RRGGBB XX%' onde XX% é a opacidade.
As cores primary e primary_opacity são geradas automaticamente a partir de config.designInfos.color_main.
15) translate
Define o idioma padrão e os textos da interface do painel.
15.1 Idioma padrão
Opção Valor Descrição translate.language'PT'Português (Brasil) translate.language'EN'Inglês translate.language'ES'Espanhol translate.language'TR'Turco translate.language'HU'Húngaro translate.language'PT-PT'Português de Portugal
translate = {
language = 'PT' ,
}
15.2 Textos por idioma
Cada bloco de idioma contém as chaves de texto exibidas na interface.
Chave Onde aparece code_confirmTítulo da tela de código de confirmação click_copyInstrução abaixo do código copy_discordBotão de copiar link do Discord copy_codeBotão de copiar código digit_code_textTexto explicativo de como usar o código no Discord left_serverBotão de sair do servidor disconnectTexto de desconectar confirming_accountTítulo da tela de confirmação em andamento logged_successNotificação de login realizado com sucesso waiting_joinTela de aguardando entrada no Discord necessarie_joinMensagem quando o jogador não está no Discord do servidor click_to_copyTexto de ação ao clicar no código sinc_discord_successNotificação de sincronização com Discord bem-sucedida sinc_name_discordNotificação de nome sincronizado com Discord
Dicas Finais
Após qualquer alteração no config/settings.lua, reinicie o resource com restart sqh_authdiscord.
O config.events.onVerifiedPlayer é o coração da integração — sem configurá-lo corretamente, o player será autenticado mas não terá acesso liberado no servidor.
Se usar createAccountMTA = true, certifique-se de que o bot do Discord está configurado para pedir o nome do jogador (playerName = true), pois o nome digitado será o nome da conta MTA.
Para sincronização de nome com Discord funcionando corretamente, blockChangeName deve ser false e infosPlayer.changeNameActive deve ser true.
O nameMainConfigs.commandActive deve ficar false em produção — ative apenas durante a configuração inicial do serial.