Core 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.
Qué incluye este pack
Ahorra 15,00 €Lo que hace
El problema de la ranura de decoraciones, resuelto en vez de gestionado
Un ped de GTA tiene una única ranura de decoraciones, compartida por todos los recursos del servidor, y vaciarla la vacía para todos. Ahí viven tanto las hair bases como los tatuajes. Con los tres recursos por separado, cada uno tiene que volver a poner lo de los demás tras cada redibujado. Funciona, pero es una tregua. Aquí se dibujan y se guardan juntos, así que no hay ningún relevo que pueda salir mal.
Especificaciones
técnicas
Todo lo que
recibes
-
Las tres tiendas, a un solo precio
La barbería, el estudio de tatuajes y la tienda de ropa, con todo lo que trae cada uno por separado. El pack cuesta menos que los tres sueltos, y aun así puedes apagar un módulo si solo necesitas dos.
-
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.
-
Ocho bridges, un archivo cada uno
Framework, notificaciones, interacción, ropa, inventario, decoraciones, capturas de pantalla 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
Las 36 tiendas, cada tabla de precios, los multiplicadores de colección, las correcciones de zona, la cámara, la iluminación, las listas VIP y los overrides que escribe el editor dentro del juego. `config/*.lua`, `locales/*.lua` y `bridges/*.lua` están fuera del escrow y son editables en producción.
Guía de integración
Instalación
-
Coloca el recurso
Descarga el script desde tu cuenta Tebex, copia la carpeta en tu directorio de recursos y añade
ensure avenida_core_skina la config del servidor, después deensure oxmysql. No cambies el nombre de la carpeta, es el que declara el manifest. -
Ejecuta el SQL, toda la sección [A]
La sección [A] contiene todas las tablas del recurso, incluido el registro de prendas pagadas. Las secciones [B], [C] y [D] son condicionales, y el archivo dice cuándo hace falta cada una. La [D] son los items de inventario, solo hace falta si activas
Config.Clothes.GiveAsItems, y es la que se olvida todo el mundo. -
Elige tus módulos
Abre
config/config.luay ajustaConfig.Modules. Un módulo puesto en false no cuesta nada: sin blip, sin punto de interacción, sin hilo, y su config simplemente no se lee nunca. Aprovecha para revisarConfig.Locale. -
Concede los permisos de admin
Añade
add_ace group.admin avenida_skin.admin allowyadd_ace group.admin avenida_skin.vip allow. El primero abre el editor de catálogo dentro del juego, el segundo desbloquea lo que hayas reservado a la lista VIP. -
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, y recuerda que solo controla los logs, el editor tiene su propio interruptor.
Inicio rápido
Deja activas solo las tiendas que necesitas
Los tres módulos son independientes. Un servidor que ya tiene una tienda de ropa que le convence se queda con la barbería y el estudio de tatuajes, y del módulo apagado no se ejecuta nada.
-- 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'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_skin']:GetHairbase() --> { c = collection, t = nameHash } | nilLa hair base que lleva el ped. El pack hace funcionar las tres tiendas con una sola ranura de decoraciones, así que es el único sitio del que hay que leerla, sea cual sea la última tienda que haya visitado el jugador.
GetTattoos
exports['avenida_skin']:GetTattoos() --> { { c, t }, ... }Los tatuajes que lleva el ped en este momento. Como la barbería, la tinta y el armario comparten aquí un mismo registro, obtienes una sola lista en vez de preguntarle lo mismo a tres recursos.
Server
GetBagStorage
exports['avenida_skin']:GetBagStorage(sex, drawable) --> { weight, slots } | nilLo que vale un drawable de mochila en peso y ranuras, leído de la configuración del armario. Devuelve nil para un drawable que no esté declarado como bolsa.
Recetas
Ejemplos para copiar y pegar en los casos más habituales. Los metes en tu recurso, ajustas los valores y a producción.
Cada tienda declara sus secciones, y cada sección su modo de precio. Una tarifa única para toda una sección, un multiplicador que encarece los drawables siguientes, o una tabla cuando solo un puñado de prendas merece su propio precio.
-- 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 } },
},
}Una tarifa única cubre los 1615 diseños, y un multiplicador por colección DLC hace el resto, así que nunca le pones precio a un catálogo entero a mano. El borrado láser tiene su propia tarifa y nunca se multiplica.
-- 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
}La cámara pivota sobre la cabeza, así que los mismos valores de altura sirven igual de pie que sentado. 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.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,
}El recurso dispara un evento de cliente al abrir y al cerrar un menú, en los tres módulos. Engánchate a él en vez de sondear, es la misma señal que usa la gestión interna del HUD.
AddEventHandler('avenida_skin:client:uiStateChanged', function(hidden)
if hidden then
exports['myhud']:hide()
else
exports['myhud']:show()
end
end)Preguntas frecuentes
- El pack si quieres los tres: cuesta menos y es una sola cosa que instalar y actualizar. Los recursos sueltos si solo necesitas uno o dos, o si ya tienes una tienda de ropa que te convence. Lo que nunca debes hacer es tener los dos 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.
- Pon `Config.Clothes = false` en `Config.Modules`. Un módulo apagado no registra nada: sin blip, sin punto de interacción, sin hilo, y su config simplemente no se lee nunca. También puedes comprar los dos recursos sueltos, es una decisión de precio y no de lo que se ejecuta.
- Sí. Lee y escribe la misma estructura de personaje que los recursos sueltos y pasa por el mismo bridge de apariencia, así que qb-clothing, illenium-appearance, fivem-appearance, esx_skin o la tabla propia del recurso siguen funcionando igual. Los personajes que ya existen se inicializan con lo que llevan puesto, también para el registro de propiedad de la ropa.
- 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.
- Sí, en todo lo que importa: `ox_lib` para las notificaciones, `ox_target` para el prompt de interacción, `ox_inventory` para las prendas como items y los contenedores de mochila, y oxmysql como única dependencia dura. Nada de eso es obligatorio salvo oxmysql.
- 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 tras cada cambio. vRP 2 y vRP 0.5 no están soportados, y el recurso lo dice en consola en vez de comportarse mal en silencio.
- Mira `Config.Clothes.RequireOwnership`. El registro da por pagado lo que un personaje ya lleva puesto la primera vez que lo ve, así que activarlo no le quita el vestuario a nadie. Lo que sí rechaza es una escritura de una prenda que no tenga una compra detrás, que es justo lo que manda un cliente manipulado.
- 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. Un módulo apagado no cuesta nada, porque no se ejecuta ni una sola de sus líneas.
Lo que dicen los compradores
5.0 1 opinión 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.
DESTACADO Avenida TeamBarber 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.
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.