Jump to content
👑
Loja VIP

Find Mods & Resources Fivem

Select a category for targeted search
Scripts Carros Roupas MLOs/Maps HUD Inventário Painel ADM Scripts FIVEMDEV +

attempt to index a nil value


Hideki

Recommended Posts

  • [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
Hidden Content Login required

This is the hidden content, please

☐ 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 to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

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

Important Information

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