Skip to main content

🔧 Erros e Soluções

Encontrou um problema? Comece pela mensagem que apareceu na tela ou no console — ela quase sempre está listada abaixo.
Antes de qualquer coisa: ligue o debugMode do lado afetado.
  • config/client/config.lua → mensagens no console F8 do jogador
  • config/server/config.lua → mensagens no console do servidor
Volte para false depois do teste.

🔐 Instalação e autenticação

O recurso não inicia e acusa falta de dk_snippets

Problema

O console reclama do dk_snippets ao iniciar o recurso.

Solução

O dk_snippets é dependência do manifesto e também é carregado por @dk_snippets/init.lua.
1

Confirme o nome da pasta

Precisa ser exatamente dk_snippets.
2

Confirme a ordem de start

Ele precisa iniciar antes do dk_skinshop.
3

Confirme o nome da pasta do skinshop

A pasta instalada precisa se chamar exatamente dk_skinshop — o nome aparece nos require, exports, eventos e caminhos da interface.

Problema

O console mostra que o script não foi autenticado, ou aparece a mensagem “Loja indisponível: recurso não autenticado”.

Causas possíveis

  • IP do servidor não cadastrado na licença
  • license.lua removido ou substituído
  • Licença expirada ou inválida

Soluções

1

Verifique o license.lua

Ele veio junto do produto e precisa continuar na raiz do recurso.
2

Verifique o IP

Confirme se o IP atual do servidor está cadastrado na licença.
3

Altere o IP

Acesse a sala 💻・comandos no Discord e use o comando para alterar o IP.
4

Reinicie o servidor

Depois de alterar o IP, reinicie completamente o servidor.

Problema

A loja abre com uma tela simples: troca de peça e cor por setas, sem fotos, sem compra, sem outfits e sem guarda-roupa.

Causa

É o modo de desenvolvimento, usado enquanto a licença ainda não foi validada e devShop.enabled = true.

Solução

Resolva a autenticação (acima). Assim que a licença valida, a loja completa assume sozinha e o comando /skinshopdev para de responder.
Com devShop.enabled = false, a loja simplesmente não abre até a autenticação terminar.

Problema

Nada é salvo e o console reclama de acesso ao banco.

Solução

O recurso cria as tabelas sozinho — desde que o driver de banco esteja rodando antes dele.
Se o driver de banco também estiver dentro de [dk], coloque-o antes do dk_snippets na ordem de start da pasta, ou inicie-o separadamente antes dela.

👕 Roupas e armazenamento

A roupa não salva ou não volta quando o jogador entra

Diagnóstico

Procure no console do servidor a linha que aparece no boot:
Ela informa onde a roupa está sendo gravada.

Soluções

1

Confirme se o adapter é o certo

Se a detecção automática pegou um schema errado, force o correto ou use clothesStorage = "script".
2

Confirme se o jogador tem uma base

No ESX, ele precisa de uma skin em users.skin. No QB/Qbox, de uma skin ativa em playerskins.
3

Confirme o carregamento no spawn

loadClothesOnSpawn.enabled precisa estar true.
4

Spawn customizado?

Adicione o nome do evento em loadClothesOnSpawn.events.

Armazenamento das Roupas

A lista de adapters, a ordem de detecção e as ressalvas por framework.

Causa mais comum

O vRPex mantém o datatable em memória enquanto o jogador está online e pode sobrescrever a gravação direta no próximo save.

Solução

Use clothesStorage = "script" para isolar o armazenamento do skinshop.

Causa

Outro script de skin ainda está ativo e disputando o ped.

Solução

Pare o script antigo de roupas. Se ele precisa continuar rodando, considere clothesStorage = "auto" para que os dois leiam do mesmo lugar.

📸 Fotos das roupas

As fotos não aparecem — só os ícones de categoria

Causa

A interface usa o ícone da categoria sempre que a foto não carrega. O problema está no caminho ou na hospedagem.

Solução

Abra no navegador a URL completa de uma peça, montada pelo template:
Se ela não abre no navegador, também não vai abrir na interface.
1

baseUrl sem barra no final

O template já começa com o nome do modelo.
2

Extensão correta

O ext precisa bater com os arquivos gerados.
3

Ped cadastrado

Peds addon precisam estar no knownModels — senão o script busca as fotos do mp_m_freemode_01.
4

Nome das pastas

Categorias com pasta de nome diferente do id precisam estar no categoryMap.

Fotos das Roupas

Configuração completa do bloco itemImages.

🎮 Interface e acesso

Erro: Você não tem permissão para acessar este ponto

Causa

O ponto tem uma permissão restrita e o jogador não a possui.

Solução

Confira a permissão do ponto em /ssadminEditar e a vipPermission no config do servidor.

Verifique

1

Distância

O jogador precisa estar dentro do raio de interação do ponto.
2

Tecla remapeada

O FiveM salva a tecla no perfil do jogador. Confira em Configurações → Controles.
3

Hook bloqueando

Um onBeforeOpenUi retornando false impede a abertura. Confira o hook em config/client/config.lua.

Causas

  • O framework não reconhece o jogador como administrador
  • O adminCommand está vazio no config do servidor

Solução

A checagem acontece no servidor. Confirme a permissão de admin no framework e o valor de adminCommand.

Causa

A opção Mostrar ícone no mapa está desligada — ou o nome do ponto ficou vazio.

Nota

O ponto continua funcionando normalmente: só não exibe o ícone. Se isso não era a intenção, edite o ponto em /ssadmin.

💰 Compras

O valor do carrinho é maior que o saldo do jogador. O total considera os descontos: com purchasedDiscount ligado, peças já compradas custam zero.
Proteção anti-spam entre compras seguidas. Basta aguardar alguns segundos.

Causa comum

Um hook onBeforeBuy retornando false no config/server/config.lua.

Solução

Revise o hook. Lembre que ele só cancela quando retorna exatamente false.

Causa

O conjuntoDiscount altera apenas o preço exibido no card do conjunto. Na cobrança, o servidor soma o preço cheio de cada peça — descontando só o que o jogador já possui, via purchasedDiscount.

Solução

Se os dois valores precisam bater, deixe conjuntoDiscount = 0 para o card mostrar a soma real das peças.

⌨️ Comandos de roupa

Causa

Os comandos saem do bloco categories em config/shared/config.lua.
O número informado não existe para essa categoria no modelo de ped atual. Use a loja para descobrir os números disponíveis, ou o /lroupas para copiar os comandos do que já está vestido.
1 segundo de intervalo entre usos do comando da mesma categoria. Trocar o look inteiro de uma vez (/jaqueta 31, /calca 24, /sapatos 1) continua funcionando, porque o intervalo é contado por categoria.

🤝 Compartilhamento

Só entram na lista jogadores a até 5 metros. Aproxime-se e tente de novo.
Os dois personagens precisam usar o mesmo modelo de ped. Uma roupa masculina não encaixa em um ped feminino, e o script avisa em vez de aplicar algo quebrado.
Com a interface fechada, o destinatário tem 20 segundos para aceitar ou recusar. Depois disso o pedido expira e precisa ser reenviado.
Verifique o hook onBeforeShareOutfit no config/server/config.lua. Retornando false, ele cancela o envio silenciosamente.

🛡️ Outfits de organização

Causa

O jogador não tem nenhuma das labels cadastradas no ponto, ou o ponto não usa a permissão Grupo.

Solução

Edite o ponto em /ssadmin e confira as Labels de Líder e Labels de Membro — elas precisam bater com as permissões do seu framework.
É o comportamento esperado. Só líderes criam, editam e removem uniformes do grupo; membros consultam e usam.Para dar esse poder a alguém, adicione a label dele em Labels de Líder.
Também é o comportamento esperado. Os outfits de grupo são isolados por ponto — cada local tem a própria coleção, mesmo com as mesmas labels de acesso.
Um ponto com permissão Grupo exige pelo menos uma label de cada tipo para ser salvo.

🔍 Ainda não resolveu?

1

Ligue o debugMode

No lado afetado — client para problemas de interface e ped, server para permissões, compras e banco.
2

Reproduza o problema

Guarde o que aparece no console F8 e no console do servidor.
3

Abra um ticket

Envie os logs junto com a versão do framework e a linha Storage de roupas do boot.

Precisa de ajuda?

Abra um ticket no nosso Discord para suporte técnico.