Barber shop
Una barbería puesta en escena, con una cámara que el jugador controla de verdad. El personaje entra, se sienta y el barbero se pone a trabajar mientras una cámara orbital encuadra la cabeza. Pelo, barba, overlays y todos los detalles de piel, con vista previa en directo antes de gastar un solo dólar.
Lo que hace
Control total de la cámara
Una cámara orbital plana pivota sobre el hueso de la cabeza, cuya posición se captura una sola vez para que ninguna animación sincronizada pueda arrastrar el encuadre. Arrastra para girar los 360 grados, usa la rueda para acercar, arrastra en vertical para bajar desde la altura de los ojos hasta los zapatos. La sensibilidad y la inversión de ejes se ajustan en `Config.Camera`.
Especificaciones
técnicas
Todo lo que
recibes
-
Quince archivos de idioma, ya rellenados
Tus jugadores leen el script en su idioma desde el primer arranque, y los archivos están fuera del escrow, así que puedes corregir cualquier línea en producción. Nota honesta: están traducidos y revisados por nosotros, pero no los ha corregido un hablante nativo de cada uno de los quince. Dinos qué suena mal en el tuyo y lo arreglamos.
-
Siete bridges, un archivo cada uno
Framework, notificaciones, interacción, ropa, inventario, decoraciones y compat. Cada archivo documenta sus targets, qué detecta y qué te cuesta cada uno. La detección sondea el export real en vez del estado del recurso, así que un export renombrado se degrada en silencio en lugar de reventar al arrancar.
-
Todo lo ajustable queda abierto
Tiendas, precios, blips, comportamiento de la silla, sensibilidad de la cámara, iluminación, profundidad de campo, tutorial, sonidos y todos los bridges. `config/*.lua`, `locales/*.lua` y `bridges/*.lua` están fuera del escrow y son editables en producción.
-
Un informe de instalación para pegar en soporte
`/avenida_barber_check` imprime qué bridge se eligió para cada categoría, si las tablas y columnas existen, y qué build del juego trae realmente tu servidor. Responde a la mayoría de las dudas de integración antes de que tengas que preguntarlas.
Guía de integración
Instalación
-
Coloca el recurso
Descarga el script desde tu cuenta Tebex, copia la carpeta
avenida_barber/en tu directorio de recursos y añadeensure avenida_barbera la config del servidor, después deensure oxmysql. -
Ejecuta el SQL
Ejecuta la sección [A] de
INSTALL.sqlen tu base de datos. La sección [B] es condicional, la cabecera del archivo dice cuándo la necesitas. -
Revisa la config
Abre
config/config.lua. Los valores por defecto funcionan en la mayoría de servidores, y la única línea que conviene mirar esConfig.Locale. Los precios, las tiendas y el comportamiento de la silla están en el archivo de al lado,config/barber.lua. -
Verifica las integraciones
Pon
Config.Debug = true, reinicia y lee la consola: una línea por categoría de bridge nombra el target elegido. Ponlo de nuevo enfalsecuando las líneas coincidan con tu servidor, porque los comandos de diagnóstico que desbloquea provocan un tirón. -
Date permisos de admin
Añade
add_ace group.admin avenida_barber.admin allowa la config del servidor y luego lanza/avenida_barber_checken juego para el informe completo.
Inicio rápido
Forzar una integración en vez de detectarla
La detección automática cubre la mayoría de servidores, y sondea el export real en lugar del estado del recurso. En un stack a medida, fuerza el target y la detección se salta 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,
}Referencia de la API
Exports públicos agrupados por dominio. Cada fila muestra la firma de la llamada y qué hace, no cómo lo hace.
Client
GetHairbase
exports['avenida_barber']:GetHairbase() --> { c = collection, t = nameHash } | nilLa hair base que lleva el ped ahora mismo, o nil cuando el corte no necesita ninguna. Léela antes de llamar a
ClearPedDecorationsy devuélvela después, así el pelo conserva su sombreado en vez de quedarse como un gorro plano.GetTattoos
exports['avenida_barber']:GetTattoos() --> { { c, t }, ... }Todos los tatuajes que este recurso mantiene en el ped. La barbería comparte la única ranura de decoraciones con la tinta, así que un redibujado que se olvide de esta lista borra tatuajes que el jugador ha pagado.
GetSkinData
exports['avenida_barber']:GetSkinData()El personaje tal y como lo guarda la barbería en memoria, con el pelo, la barba, las cejas y sus colores. Útil para guardar el look antes de que un uniforme de trabajo tome el control.
ApplySkin
exports['avenida_barber']:ApplySkin(data, ped)Aplica una apariencia completa a un ped. Pásale el ped que quieres vestir, que puede ser un clon de vista previa en vez del jugador, para que un espejo o un selector de personaje muestren la misma cara.
ApplyClothing
exports['avenida_barber']:ApplyClothing(data, ped, temporary)Aplica solo la parte de ropa y deja intactos la cara y el pelo. Pon
temporaryen true para un conjunto que no debe guardarse en la base de datos, como un uniforme de prisión o un disfraz.
Recetas
Ejemplos para copiar y pegar en los casos más habituales. Los metes en tu recurso, ajustas los valores y a producción.
La cámara pivota sobre la cabeza, así que los mismos valores de altura sirven igual de pie que sentado. Una altura negativa va bajando por el cuerpo. La iluminación y la profundidad de campo son lo que hace que el personaje se lea como el sujeto del plano y no como un ped en una habitación a oscuras.
-- 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 },
}Las tiendas viven en un archivo abierto, una entrada cada una, con su propio ped de barbero y sus propios precios. Apagar la escena de la silla conserva la cámara y el menú, y lo único que se salta es la entrada 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 },
}El ped tiene una sola ranura de decoraciones para todo el servidor. Si tu script llama a `ClearPedDecorations`, lee antes lo que es de este recurso y devuélvelo después, o borrarás la 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)
endEl recurso dispara un evento de cliente al abrir y al cerrar un menú. Engánchate a él en vez de sondear, es la misma señal que usa la gestión interna del HUD.
AddEventHandler('avenida_barber:client:uiStateChanged', function(hidden)
if hidden then
exports['myhud']:hide()
else
exports['myhud']:show()
end
end)Preguntas frecuentes
- QBCore, ESX y vRP, más un modo standalone que no necesita framework alguno y una rama `custom` en `bridges/framework.lua` para cualquier otra cosa. La detección se hace al arrancar y sondea el export real. Qbox y ox_core no tienen rama dedicada: pasan por la vía standalone o custom, no por un target probado.
- vRP guarda componentes de ropa y props, nada más. No tiene ningún campo para overlays de cabeza, rasgos faciales, color de pelo, color de ojos ni decoraciones de ped, así que en vRP el personaje entero se guarda en la tabla propia de este recurso. La parte de ropa sí sigue llegando a vRP, y se refresca justo después de cada cambio. Consecuencia práctica: un skinshop nativo de vRP no mostrará el trabajo del barbero, porque vRP no tiene dónde guardarlo. vRP 2 y vRP 0.5 no están soportados, y el recurso lo dice en consola en vez de comportarse mal en silencio.
- Sí, en todo lo que importa: `ox_lib` para las notificaciones vía `Config.UseOxLib`, `ox_target` para el prompt de interacción, `ox_inventory` para los items de ropa, y oxmysql como única dependencia dura. Nada de eso es obligatorio salvo oxmysql, y `bridges/compat.lua` aporta los fallbacks nativos cuando ox_lib está apagado. Lo que no tiene rama dedicada es `ox_core` como framework: en un servidor ox_core el recurso funciona en standalone, o pasa por la rama `custom` de `bridges/framework.lua` si quieres que lea los datos de tus jugadores.
- Sí, están hechos para eso. Cada uno se ocupa de su mitad de la única ranura de decoraciones del ped y vuelve a poner lo de los otros tras cada redibujado. Lo que no debes hacer es usar los recursos sueltos y el pack `avenida_skin` a la vez: cada uno pondría su blip y escribiría su copia del mismo personaje. El recurso detecta el solape y lo dice en consola al arrancar.
- Las hair bases se filtran según el build del juego. Un estilo que tu cliente no puede renderizar no se lista nunca, y es a propósito, porque listarlo le mostraría al jugador una opción que sale rota. Lanza `/avenida_barber_check` para ver el build que trae realmente tu servidor.
- El seguimiento de la cabeza está ligado a una sesión de cámara orbital: el hilo arranca con la cámara y se detiene con ella. Además necesita foco NUI, porque lee el cursor con `GetNuiCursorPosition`. Si otro recurso se ha quedado con la cámara, el seguimiento se mantiene apagado a propósito.
- Quince vienen ya rellenados, en la carpeta abierta `locales/`. Copia un archivo, traduce los valores y apunta `Config.Locale` a tu nuevo código. `en.lua` es el fallback de cualquier clave que dejes fuera, así que un archivo parcial nunca muestra una etiqueta vacía.
- 0.00ms. Los puntos de interacción comparten un hilo que baja a un segundo cuando no hay nadie cerca, los blips se crean una vez, y cada hilo de sesión muere al salir. Entre dos cortes no se ejecuta nada.
Lo que dicen los compradores
5.0 16 opiniones 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
DESTACADO Avenida TeamCore Skin (3 in 1)
Barbería, estudio de tatuajes y tienda de ropa en un solo recurso FiveM. 1615 tatuajes, todos los componentes y props de ropa, la cabeza y la piel al completo, repartido todo por 36 tiendas. Una interfaz, una cámara, un flujo de compra, y una sola cosa que instalar en ESX, QBCore, vRP o standalone.
DESTACADO Avenida TeamClothing store
Una tienda de ropa con conjuntos guardados, vestuarios de empresa y un editor que pone precio al catálogo desde el propio juego. Todos los componentes y todos los props, comprados prenda a prenda o como conjunto entero, con un registro en el servidor que impide que nadie lleve puesto lo que no ha pagado.
DESTACADO Avenida TeamTattoo shop
Todo el catálogo de tatuajes del juego, con un carrito y una silla en la que de verdad te sientas. 1615 diseños en 26 colecciones DLC, con vista previa en directo en tu personaje a medida que los vas añadiendo, y un solo pago al final. Borrado láser incluido, y un tatuador que entra y hace el trabajo.