Para investigar um erro de inventário do ESX, é preciso saber a mensagem exata e qual recurso de inventário está em uso. A ausência da função canCarryItem é um problema de API ou integração; um jogador não conseguir carregar mais peso é outra situação. Não substitua o ESX e o inventário ao mesmo tempo sem verificar a compatibilidade.
Identifique a integração
Registre a versão ou commit do ESX, o recurso de inventário e o script que acionou o erro. Capture o rastreamento de pilha do servidor e seu arquivo e número de linha. Verifique se o recurso usa a API de inventário ESX ou uma ponte de inventário de terceiros.
Se canCarryItem for nil
Um erro de função nil significa que o chamador não consegue acessar essa função no objeto que está usando. Verifique como ele obtém o objeto do jogador, se o jogador está carregado e se o framework ou a integração de inventário instalada suporta essa API. O erro por si só não prova que um item não tem peso.
Compare o código de chamada com a implementação oficial do jogador ESX e a documentação do seu inventário. Atualize ou adapte o recurso incompatível em uma cópia de teste. Não ignore as verificações de capacidade retornando true: isso pode criar estouro ou exploits de transferência de itens.
Se a capacidade de carga estiver errada
Verifique a definição do item, a unidade de peso, a quantidade e a capacidade do jogador no inventário que controla esses dados. Não presuma que um registro de item no banco de dados seja a fonte oficial quando um inventário alternativo usa arquivos ou metadados. Faça backup dos dados persistentes antes de alterar as definições.
Teste um item por vez: um inventário vazio, logo abaixo da capacidade, exatamente na capacidade e acima da capacidade. Inclua transferências, compras, armazenamento e remoção de itens, depois reconecte para verificar a persistência.
Implante uma correção verificada
Mantenha as versões compatíveis juntas e siga a ordem de migração documentada. Use uma reinicialização controlada quando o estado do framework exigir. Confirme se a inicialização, os inventários existentes e os novos jogadores funcionam antes de reabrir o servidor. Se as alterações de dados falharem, restaure apenas o estado de teste ou de migração afetado por meio do seu procedimento de recuperação.