💾 Armazenamento das Roupas
Todo servidor já tem um lugar onde a roupa do jogador mora. O dk_skinshop procura esse lugar em vez de criar mais um: assim a roupa continua valendo no spawn e nos demais recursos que já leem de lá. Configurado emconfig/server/config.lua:
Como o modo automático decide
O script não olha para o nome do framework — ele olha para o schema do banco. O primeiro adapter cujo teste passa vence, e a tabela própria fica por último como garantia.1
vRP Creative V5 (Summerz)
Tabela
summerz_playerdata, coluna user_id, chave Clothings.2
vRP Creative Network
Tabela
playerdata, coluna Passport, chave Clothings.3
vRP Creative V3
Tabela
vrp_user_data, chave Clothings.4
vRPex clássico
Tabela
vrp_user_data, chave vRP:datatable, dentro de data.customization.5
ESX
Coluna
users.skin, preservando as partes de aparência que não são roupa.6
QBCore / Qbox
Skin ativa em
playerskins.skin, nos arrays components e props.7
Tabela própria
dk_skinshop_clothes — usada quando nenhum schema conhecido é encontrado.O adapter escolhido aparece no console assim que o servidor sobe:Confira essa linha na primeira instalação. É o jeito mais rápido de saber se a detecção acertou.
Valores aceitos
Nomes dos adapters
Quando usar cada modo
auto — o padrão
auto — o padrão
Serve para a grande maioria dos servidores. A roupa passa a ser compartilhada com o spawn e com os outros recursos que leem do mesmo lugar.
script — isolar o skinshop
script — isolar o skinshop
Use quando quiser que o dk_skinshop tenha a própria fonte de verdade, sem conviver com o sistema de skin do framework.Também é a saída rápida quando a detecção automática pega um schema errado.
Adapter específico — forçar
Adapter específico — forçar
Use quando o banco tem mais de um schema conhecido (por exemplo, uma
playerdata legada convivendo com a base atual) e a detecção precisa ser decidida por você.Pontos de atenção por framework
ESX
ESX
O jogador precisa ter uma skin em
users.skin para o adapter funcionar. O script preserva as partes de aparência que não são roupa (rosto, cabelo, etc.) ao gravar.QBCore / Qbox
QBCore / Qbox
O jogador precisa ter uma skin ativa em
playerskins. A roupa é escrita nos arrays components e props.vRPex clássico
vRPex clássico
A leitura funciona normalmente, mas 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.Se a roupa não estiver persistindo nesse framework, o caminho mais seguro é
clothesStorage = "script".❓ A roupa não salva ou não volta no spawn
1
Leia a linha Storage de roupas no console
Ela informa qual adapter foi escolhido.
2
Confirme se o adapter é o certo
Se a detecção pegou um schema errado, force o correto ou use
"script".3
Confirme se o jogador tem uma base
No ESX, uma skin em
users.skin. No QB/Qbox, uma skin ativa em playerskins.4
Confirme o carregamento no spawn
loadClothesOnSpawn.enabled precisa estar true. Em spawns customizados, adicione o evento em loadClothesOnSpawn.events.5
Ligue o debug
debugMode = true no config do servidor mostra o que está acontecendo em cada gravação. Volte para false depois do teste.Configurações do Server
O restante do
config/server/config.lua.
