Barber 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.
O que ele faz
Controle total da câmera
Uma câmera orbital plana gira em torno do osso da cabeça, capturado uma única vez, para que nenhuma animação de cena sincronizada arraste o ângulo de câmera. Arraste para girar 360 graus, role para dar zoom, arraste na vertical para descer da altura dos olhos até os sapatos. Sensibilidade e inversão de eixo ficam em `Config.Camera`.
Especificações
técnicas
Tudo o que
você recebe
-
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.
-
Sete bridges, um arquivo cada
Framework, notificações, interação, roupas, inventário, decorações 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
Lojas, preços, blips, comportamento da cadeira, sensibilidade da câmera, iluminação, profundidade de campo, tutorial, sons e todos os bridges. `config/*.lua`, `locales/*.lua` e `bridges/*.lua` estão fora do escrow e são editáveis em produção.
-
Um relatório de instalação para colar no suporte
`/avenida_barber_check` imprime qual bridge foi escolhido para cada categoria, se as tabelas e colunas existem, e qual build do jogo o seu servidor realmente roda. Ele responde à maioria das dúvidas de integração antes de você precisar perguntar.
Guia de integração
Instalação
-
Coloque o resource
Baixe o script pela sua conta Tebex, copie a pasta
avenida_barber/para o seu diretório de resources e adicioneensure avenida_barberna config do servidor, depois deensure oxmysql. -
Rode o SQL
Rode a seção [A] do
INSTALL.sqlno seu banco. A seção [B] é condicional, o cabeçalho do arquivo diz quando você precisa dela. -
Confira a config
Abra
config/config.lua. Os padrões funcionam na maioria dos servidores, a única linha que vale olhar éConfig.Locale. Preços, lojas e comportamento da cadeira ficam no arquivo do lado,config/barber.lua. -
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, os comandos de diagnóstico que ele libera custam um engasgo no frame. -
Libere os poderes de admin para você
Adicione
add_ace group.admin avenida_barber.admin allowna config do servidor e depois rode/avenida_barber_checkno jogo para o relatório completo.
Início rápido
Forçar uma integração em vez de detectar
A detecção automática cobre a maioria dos servidores, e ela testa o export real em vez do estado do resource. Numa stack customizada, force o alvo e a detecção é pulada por completo.
-- config/config.lua
Config.Locale = 'en'
Config.UseOxLib = true
Config.Framework = 'auto' -- 'qbcore' | 'esx' | 'vrp' | 'standalone' | 'custom'
Config.Notif = 'ox_lib' -- 'qbcore' | 'esx' | 'ox_lib' | 'okok' | 'vrp' | 'chat' | 'custom'
Config.Interact = 'auto' -- 'avenida' | 'ox_target' | 'qb-target' | 'standalone' | 'custom'
Config.Clothing = 'auto' -- 'qb' | 'illenium' | 'fivem-appearance' | 'esx_skin' | 'vrp' | 'table' | 'custom'
Config.Camera = {
Sensitivity = 1.0, -- rotation, zoom and height, clamped to 0.1 - 5.0
InvertY = false,
}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_barber']:GetHairbase() --> { c = collection, t = nameHash } | nilA hairbase que o ped usa neste momento, ou nil quando o corte não precisa de nenhuma. Leia ela antes de chamar
ClearPedDecorationse devolva depois: assim o cabelo mantém o sombreado em vez de virar um capacete liso.GetTattoos
exports['avenida_barber']:GetTattoos() --> { { c, t }, ... }Todas as tatuagens que este resource mantém no ped. A barbearia compartilha o único slot de decoração com a tinta, então um redraw que esquece essa lista apaga tatuagens que o jogador pagou.
GetSkinData
exports['avenida_barber']:GetSkinData()O personagem do jeito que a barbearia guarda ele na memória, com cabelo, barba, sobrancelhas e as cores de cada um. Útil para guardar o visual antes de um uniforme de trabalho tomar o lugar dele.
ApplySkin
exports['avenida_barber']:ApplySkin(data, ped)Escreve uma aparência completa num ped. Passe o ped que você quer vestir, que pode ser um clone de preview em vez do jogador, para um espelho ou uma tela de seleção de personagem mostrar o mesmo rosto.
ApplyClothing
exports['avenida_barber']:ApplyClothing(data, ped, temporary)Aplica só a parte de roupas e deixa o rosto e o cabelo intactos. Coloque
temporarycomo true para uma roupa que não deve ir para o banco, tipo um uniforme de presidiário ou um disfarce.
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.
A câmera gira em torno da cabeça, então os mesmos valores de altura servem em pé ou sentado. Valor negativo de altura desce pelo corpo. 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.4, -- faster drag
InvertY = true,
}
Config.UI = {
Tutorial = true, -- first-run tour, replayable from the toolbar
Sounds = true,
Blips = true,
Timecycle = 'casino_brightroom',
TimecycleStrength = 1.0,
TimecycleFadeMs = 400, -- 0 makes it snap like a light switch
DofStrength = 0.1, -- false drops the per-frame SetUseHiDof call
DofPlanes = { 0.4, 0.7, 2.2, 4.5 },
}As lojas ficam num arquivo aberto, uma entrada cada, cada uma com o seu barbeiro e os seus preços. Desligar a cena da cadeira mantém a câmera e o menu, e só pula a parte de entrar andando.
-- config/barber.lua
Config.Barber.ChairScene = false -- menu opens on the spot
Config.Barber.Shops[9] = {
BarberPedModel = 's_m_m_hairdress_01',
Welcome = vec3(-1282.60, -1116.60, 6.99),
Blip = { sprite = 71, color = 4, scale = 0.7 },
}O ped tem um único slot de decorações para o servidor inteiro. Se o seu script chama `ClearPedDecorations`, leia antes o que este resource possui e devolva depois, senão você apaga a hair base.
local hairbase = exports['avenida_barber']:GetHairbase()
local tattoos = exports['avenida_barber']:GetTattoos()
ClearPedDecorations(PlayerPedId())
-- your own decoration work here
if hairbase then
AddPedDecorationFromHashes(PlayerPedId(), hairbase.c, hairbase.t)
end
for _, dec in ipairs(tattoos) do
AddPedDecorationFromHashes(PlayerPedId(), dec.c, dec.t)
endO resource dispara um evento de client ao abrir e fechar um menu. Escute esse evento em vez de ficar checando num loop, é o mesmo sinal que o tratamento interno de HUD usa.
AddEventHandler('avenida_barber:client:uiStateChanged', function(hidden)
if hidden then
exports['myhud']:hide()
else
exports['myhud']:show()
end
end)Perguntas frequentes
- 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.
- 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 logo depois de cada mudança. Consequência prática: um skinshop nativo do vRP não vai mostrar o trabalho do barbeiro, porque o vRP não tem onde guardar isso. vRP 2 e vRP 0.5 não são suportados, e o resource avisa no console em vez de dar problema em silêncio.
- Funciona, onde importa: `ox_lib` para as notificações via `Config.UseOxLib`, `ox_target` para o prompt de interação, `ox_inventory` para os itens de roupa, e o oxmysql como única dependência de verdade. Fora ele, nada disso é obrigatório, e o `bridges/compat.lua` entrega os fallbacks em natives quando o ox_lib está desligado. O que não tem caminho dedicado é o `ox_core` como framework: num servidor ox_core o resource roda em standalone, ou pelo caminho `custom` de `bridges/framework.lua` se você quiser que ele leia os dados do seu jogador.
- Pode, é para isso que foram feitos. Cada um é dono da sua metade do único slot de decorações do ped e recoloca os outros depois de cada redraw. O que não dá é rodar os resources separados e o pacote `avenida_skin` 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.
- As hair bases são filtradas pela build do jogo. Um estilo que o seu cliente não consegue renderizar nunca é listado, de propósito: se ele aparecesse, o jogador escolheria uma opção que sai quebrada. Rode `/avenida_barber_check` para ver a build que o seu servidor realmente roda.
- O head tracking é preso a uma sessão de câmera orbital: a thread começa com a câmera e termina com ela. Ele também precisa de foco NUI, já que lê o cursor pelo `GetNuiCursorPosition`. Se outro resource tomou conta da câmera, o tracking fica desligado de propósito.
- Quinze vêm preenchidos, na pasta aberta `locales/`. Copie um arquivo, traduza os valores e aponte `Config.Locale` para o seu novo código de idioma. `en.lua` é o fallback de qualquer chave que você deixar de fora, então um arquivo parcial nunca mostra um rótulo vazio.
- 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. Entre um corte e outro, não roda nada.
O que dizem os compradores
5.0 16 avaliações verificadas
🐊 Benaz Spirit Roleplay Script de grande qualité, nos joueurs apprécient énormément ce barber shop. Ils s'en servent depuis plusieurs mois, il a été testé et éprouvé en conditions réelles sur notre serveur. Je recommande !
Vroum Rex Studio
CarniceroDeZaun Los Santos 2080
|| !xAyu♥ ||
𝕄𝕠𝕟𝕥𝕖ℂ𝕣𝕚𝕤𝕥𝕠 𝐕𝐀𝐋𝐄𝐍𝐓𝐈𝐍𝐄 𝐂𝐅𝐖
Leny.M Redstart V2 Un support au top !
eizrass il sont toujours la quand il faut exelent merci
Sauron Very good script and support
TCL-Server TCL RP Best support on this planet ...love u guys ❤
einfachFlo Very good script and support ❤
drantox Firma RP Very nice work and fast support!
Deichmann Thank you for the fast support.
Cougar Fanatic SAV RP had a big issue where the female hairs were causing my players to freeze - The Avenida Scripts team had a fix out to me by the next day! fantastic work!
Leny.M Redstart V2 quality scripts without the headache of configuration. It's very rare to find scripts that work the first time even with an AC or even a custom framework. Thanks Avenida Scripts
BigOppGrimeyy GangWrld NYC 10/10 again help me with a script that wasn't his and got it working this man is great at everything he does thanks again
FЦПKӨ Best script, best support, this is the best place to buy your scripts
DESTAQUE Avenida TeamCore 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.
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.