Ir para conteúdo
  • Cadastre-se

Encontre Mods e Recursos Fivem

Selecione uma categoria para busca direcionada
Scripts Carros Roupas MLOs/Maps HUD Inventário Painel ADM Scripts FIVEMDEV +

attempt to index a nil value


Hideki

Posts Recomendados

  • [CEO]

🚨 ALERTA CRÍTICO DE SEGURANÇA

Erro Fatal em Adaptive Cards - Falha Silenciosa de Conexão

Severidade: ⚠️ CRÍTICO
Impacto: Alto - Bloqueia Conexões
Urgência: 🔴 IMEDIATA

📋 O Que Está Acontecendo?

Identificado um erro crítico na estrutura JSON dos arquivos Adaptive Cards que causa perda de conexão silenciosas durante o processo de autenticação. Players tentam conectar mas são rejeitados sem mensagem clara, resultando em loop de conexão.

⚠️ Sintomas Identificados

  • Players são desconectados sem mensagem de erro clara
  • Console mostra: attempt to index a nil value
  • Fila de conexão fica travada

🐛 Causa Raiz do Erro

Os arquivos .js dos Adaptive Cards contêm estrutura JSON inválida com múltiplos arrays separados por vírgula:

//  ESTRUTURA INCORRETA (CAUSA O ERRO)
[{
    "type": "AdaptiveCard",
    "body": [...]
}],  ← Vírgula separa dois arrays!
[{
    "type": "AdaptiveCard",
    "body": [...]
}]

O código em base.lua tenta acessar json.decode()[1], mas retorna nil quando há arrays separados.

Solução Definitiva

🔧 Passo 1: Corrigir Arquivos JSON

Remova o segundo array de cada arquivo. Mantenha apenas um único array válido:

//  ESTRUTURA CORRETA
[{
    "type": "AdaptiveCard",
    "body": [{
        "type": "TextBlock",
        "text": "Servidor em manutenção"
    }],
    "version": "1.0"
}]

🛡️ Passo 2: Implementar Tratamento de Erros (RECOMENDADO)

Adicione no início do base.lua:

-- Carregamento seguro com tratamento de erros
local function loadAdaptiveCard(filename)
    local fileContent = LoadResourceFile(GetCurrentResourceName(), filename)
    
    if not fileContent then
        print(string.format("^1[ERRO] Arquivo não encontrado: %s^0", filename))
        return nil
    end
    
    local success, decoded = pcall(json.decode, fileContent)
    
    if not success then
        print(string.format("^1[ERRO] JSON inválido: %s^0", filename))
        return nil
    end
    
    if type(decoded) ~= "table" or not decoded[1] then
        print(string.format("^1[ERRO] Formato incorreto: %s^0", filename))
        return nil
    end
    
    return decoded[1]
end

-- Carregar com segurança
local nomearquivo = loadAdaptiveCard("nomearquivo.js")
local nomearquivo2 = loadAdaptiveCard("nomearquivo2.js")

📋 Checklist de Correção

☐ Fazer backup dos arquivos originais
☐ Corrigir todos os arquivos .js dos adaptive cards
☐ Remover arrays duplicados/vírgulas extras
☐ Implementar função loadAdaptiveCard()
☐ Validar JSON em
Conteúdo oculto 🔒 Login necessário

🔒 Este é conteúdo está oculto, por favor faça login para visualizar.

☐ Reiniciar servidor e verificar console
☐ Testar conexão real de um player

📊 Análise de Impacto

Aspecto Nível Descrição
Severidade CRÍTICO Impede funcionamento do servidor
Impacto ALTO 100% dos players afetados
Urgência IMEDIATA Correção deve ser aplicada agora
Tipo de Falha SILENCIOSA Sem feedback claro ao usuário

💡 Dicas Importantes

  • Sempre valide JSON antes de colocar em produção usando ferramentas online
  • Mantenha backups dos arquivos originais antes de fazer alterações
  • Teste em ambiente de desenvolvimento antes de aplicar em produção
  • Verifique o encoding dos arquivos (deve ser UTF-8)
  • Monitore os logs do console após cada correção

🆘 Precisa de Ajuda?

Comente abaixo para que possamos te ajudar, a FivemDEV tem um compromisso sério com a comunidade.;

Problema resolvido? Deixe um comentário ajudando outros membros!

Atenciosamente,

Blue and White Modern Healthcare Home Service Leaderboard Ad.gif

Link para o comentário
Compartilhar em outros sites

  • Respostas 0
  • Criado
  • Última resposta

Top Posters Neste Tópico

Popular nos dias

Top Posters Neste Tópico

Popular nos dias

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.



×
×
  • Criar Novo...

Informação Importante

Esse website utiliza Cookies, se continuar navegando você concordar na usabilidade.