Core Skin (3 in 1)
Barbearia, estúdio de tatuagem e loja de roupas num único resource FiveM. 1615 tatuagens, todos os componentes e props de roupa, a cabeça e a pele por inteiro, espalhados por 36 lojas. Uma interface, uma câmera, um fluxo de compra, e uma coisa só para instalar em ESX, QBCore, vRP ou standalone.
O que este pack inclui
Economize € 15,00O que ele faz
O problema do slot de decorações, eliminado em vez de contornado
Um ped do GTA tem um único slot de decorações, compartilhado por todos os resources do servidor, e limpá-lo limpa para todo mundo. Hair bases e tatuagens moram nele. Com os três resources separados, cada um precisa recolocar os outros depois de cada redraw, o que funciona, mas é uma trégua. Aqui tudo é desenhado e salvo junto, então não tem passagem de bastão para dar errado.
Especificações
técnicas
Tudo o que
você recebe
-
As três lojas, por um preço só
A barbearia, o estúdio de tatuagem e a loja de roupas, com tudo que cada um entrega sozinho. O pacote custa menos que os três separados, e você ainda pode desligar um módulo se só precisa de dois.
-
Quinze arquivos de idioma, entregues preenchidos
Seus jogadores leem o script no idioma deles desde o primeiro start, e os arquivos ficam fora do escrow, então você corrige qualquer linha em produção. Nota honesta: eles são traduzidos e revisados por nós, não revisados por nativos dos quinze idiomas. Diga o que soa errado no seu e a gente corrige.
-
Oito bridges, um arquivo cada
Framework, notificações, interação, roupas, inventário, decorações, screenshots e compat. Cada arquivo documenta seus alvos, o que detecta e o que cada alvo custa para você. A detecção testa o export real em vez do estado do resource, então um export renomeado degrada em silêncio em vez de estourar no boot.
-
Tudo que é ajustável fica aberto
As 36 lojas, cada tabela de preços, os multiplicadores de coleção, as correções de zona, a câmera, a iluminação, as listas VIP e os overrides que o editor no jogo escreve. `config/*.lua`, `locales/*.lua` e `bridges/*.lua` estão fora do escrow e são editáveis em produção.
Guia de integração
Instalação
-
Coloque o resource
Baixe o script pela sua conta Tebex, copie a pasta para o seu diretório de resources e adicione
ensure avenida_core_skinna config do servidor, depois deensure oxmysql. Mantenha o nome da pasta do jeito que vem, é ele que dá nome ao resource. -
Rode o SQL, a seção [A] inteira
A seção [A] tem todas as tabelas do resource, incluindo o registro de roupas pagas. As seções [B], [C] e [D] são condicionais e o arquivo diz quando cada uma se aplica. A [D] é a dos itens de inventário, só necessária se você ligar
Config.Clothes.GiveAsItems, e é a que todo mundo esquece. -
Escolha seus módulos
Abra
config/config.luae ajusteConfig.Modules. Um módulo em false não custa nada: sem blip, sem ponto de interação, sem thread, e a config dele simplesmente nunca é lida. Aproveite para conferirConfig.Locale. -
Dê as permissões de admin
Adicione
add_ace group.admin avenida_skin.admin alloweadd_ace group.admin avenida_skin.vip allow. A primeira abre o editor de catálogo no jogo, a segunda libera o que você colocar atrás da lista VIP. -
Verifique as integrações
Coloque
Config.Debug = true, reinicie e leia o console: uma linha por categoria de bridge nomeia o alvo escolhido. Volte parafalsequando as linhas baterem com o seu servidor, e lembre que ele só controla os logs, o editor tem a própria flag.
Início rápido
Rodar só as lojas que você precisa
Os três módulos são independentes. Um servidor que já tem uma loja de roupas que curte fica com a barbearia e o estúdio de tatuagem, e nada do módulo desligado roda.
-- config/config.lua
Config.Modules = {
Barber = true,
Tattoo = true,
Clothes = false, -- no blip, no point, no thread
}
Config.Locale = 'en'
Config.Framework = 'auto' -- 'qbcore' | 'esx' | 'vrp' | 'standalone' | 'custom'
Config.Notif = 'auto'
Config.Interact = 'auto'
Config.Clothing = 'auto'Referência da API
Exports públicos agrupados por domínio. Cada linha mostra a assinatura da chamada e o que ela faz, não como faz.
Client
GetHairbase
exports['avenida_skin']:GetHairbase() --> { c = collection, t = nameHash } | nilA hairbase que está no ped. O pacote roda as três lojas em um único slot de decoração, então é o único lugar de onde ler isso, seja qual for a última loja que o jogador visitou.
GetTattoos
exports['avenida_skin']:GetTattoos() --> { { c, t }, ... }As tatuagens que estão no ped agora. Como a barbearia, a tinta e o guarda-roupa dividem aqui um registro só, você recebe uma lista só em vez de ter que consultar três resources.
Server
GetBagStorage
exports['avenida_skin']:GetBagStorage(sex, drawable) --> { weight, slots } | nilQuanto vale um drawable de mochila em peso e slots, lido da configuração do guarda-roupa. Retorna nil para um drawable que não está declarado como bolsa.
Receitas
Exemplos de copiar e colar para os casos mais comuns. Você cola na sua resource, ajusta os valores e já está em produção.
Cada loja declara as próprias seções, e cada seção declara o próprio modo de preço. Uma taxa fixa para a seção inteira, um multiplicador que encarece os drawables seguintes, ou uma tabela quando só algumas peças merecem preço próprio.
-- config/clothes_shops.lua
categories = {
tops = {
enabled = true,
price = { mode = 'fixed', base = 300 },
},
pants = {
enabled = true,
-- price = base + index * mult
price = { mode = 'multiplier', base = 100, mult = 2 },
},
mask = {
enabled = true,
price = { mode = 'table', map = { [12] = 900, [45] = 1500 } },
},
}Uma taxa fixa cobre os 1615 desenhos, e um multiplicador por coleção de DLC faz o resto, então você nunca precifica um catálogo na unha. A remoção a laser mantém a própria taxa e nunca é multiplicada.
-- config/tattoo.lua
Config.Tattoo.Prices = {
flat = 1000,
reset = 3000, -- laser removal, per tattoo removed
}
Config.Tattoo.CollectionMultipliers = {
multiplayer_overlays = 0.80, -- base game, cheaper
mpHipster_overlays = 0.85,
-- anything not listed stays at 1.0
}A câmera gira em torno da cabeça, então os mesmos valores de altura servem em pé ou sentado. A iluminação e a profundidade de campo são o que faz o personagem virar o assunto da cena, e não um ped num cômodo escuro.
-- config/config.lua
Config.Camera = {
Sensitivity = 1.0, -- rotation, zoom and height, clamped to 0.1 - 5.0
InvertY = false,
}
Config.UI = {
Tutorial = true,
Timecycle = 'casino_brightroom',
TimecycleFadeMs = 400,
DofStrength = 0.1,
}O resource dispara um evento de client ao abrir e fechar um menu, para os três módulos. Escute esse evento em vez de ficar checando num loop, é o mesmo sinal que o tratamento interno de HUD usa.
AddEventHandler('avenida_skin:client:uiStateChanged', function(hidden)
if hidden then
exports['myhud']:hide()
else
exports['myhud']:show()
end
end)Perguntas frequentes
- O pacote se você quer os três: custa menos e é uma coisa só para instalar e atualizar. Os resources separados se você só precisa de um ou dois, ou se você já tem uma loja de roupas que curte. O que nunca dá é rodar o pacote e os separados ao mesmo tempo: cada um colocaria o próprio blip e escreveria a própria cópia do mesmo personagem. O resource detecta a sobreposição e avisa no console no start.
- Coloque `Config.Clothes = false` em `Config.Modules`. Um módulo desligado não registra nada: sem blip, sem ponto de interação, sem thread, e a config dele simplesmente nunca é lida. Você também pode comprar os dois resources separados, a diferença é de preço, não do que roda.
- Mantém. Ele lê e escreve o mesmo formato de personagem que os resources separados e passa pelo mesmo bridge de aparência, então qb-clothing, illenium-appearance, fivem-appearance, esx_skin ou a tabela do próprio resource continuam funcionando. Os personagens que já existem são inicializados com o que estão vestindo, inclusive para o registro de propriedade das roupas.
- QBCore, ESX e vRP, mais um modo standalone que não precisa de framework nenhum e um caminho `custom` em `bridges/framework.lua` para qualquer outro caso. A detecção roda no start e testa o export real. Qbox e ox_core não têm caminho dedicado: eles passam pelo caminho standalone ou custom, não por um alvo testado.
- Funciona, onde importa: `ox_lib` para as notificações, `ox_target` para o prompt de interação, `ox_inventory` para as roupas em itens e os containers de mochila, e o oxmysql como única dependência de verdade. Fora ele, nada disso é obrigatório.
- O vRP salva componentes de roupa e props, e nada mais. Ele não tem campo para overlays de cabeça, traços do rosto, cor de cabelo, cor de olhos nem decorações de ped, então no vRP o personagem inteiro fica na tabela do próprio resource. O vRP continua recebendo a parte de roupas, atualizada depois de cada mudança. vRP 2 e vRP 0.5 não são suportados, e o resource avisa no console.
- Confira o `Config.Clothes.RequireOwnership`. O registro inicializa um personagem com o que ele já está vestindo na primeira vez que o vê, então ligar isso não tira o guarda-roupa de ninguém. O que ele recusa é uma escrita para uma peça sem compra por trás, que é justamente o que um client adulterado manda.
- 0.00ms. Os pontos de interação compartilham uma thread que passa a rodar de segundo em segundo quando não tem ninguém por perto, os blips são criados uma vez, e toda thread de sessão morre na saída. Um módulo desligado não custa nada, já que nenhuma linha dele roda.
O que dizem os compradores
5.0 1 avaliação verificada
Glades Ravage-rp.fr Excellent resource — and genuinely open where it matters Every point where this touches the rest of the server goes through one readable file in bridges/. Each one documents what it detects, what it writes, and what each target actually costs you. That meant I could plug the clothing store into an inventory system it was never designed for — clothing as real items in dedicated equipment slots — without touching a single encrypted file. I wrapped the inventory bridge, translated names and metadata on the way through, and everything else kept working.
DESTAQUE Avenida TeamBarber shop
Uma barbearia encenada de ponta a ponta, com uma câmera que o jogador controla de verdade. O personagem entra, senta na cadeira, e o barbeiro começa a trabalhar enquanto uma câmera orbital enquadra a cabeça. Cabelo, barba, overlays e todo o conjunto de detalhes de pele, com preview em tempo real antes de você gastar um dólar.
DESTAQUE Avenida TeamClothing store
Uma loja de roupas com outfits salvos, guarda-roupas de empresa e um editor que define os preços do catálogo de dentro do jogo. Todos os componentes e todos os props, comprados peça por peça ou como look inteiro, com um registro no servidor que impede qualquer um de vestir o que não pagou.
DESTAQUE Avenida TeamTattoo shop
Todo o catálogo de tatuagens do jogo, com carrinho e uma cadeira em que você senta de verdade. 1615 desenhos espalhados por 26 coleções de DLC, com preview em tempo real no seu personagem conforme você vai adicionando, pagos de uma vez só. Remoção a laser inclusa, e um tatuador que entra e faz o trabalho.