Tattoo 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.
Lo que hace
El catálogo completo del juego, 1615 diseños
26 colecciones DLC, todos los tatuajes que trae GTA. Las etiquetas se leen de la propia localización de Rockstar en vez de reescribirse: quien juegue en turco ve el nombre turco de cada diseño. Las colecciones recientes se fusionan según el build del juego: un tatuaje que tu cliente no puede renderizar nunca aparece en la lista.
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 se degrada en silencio en lugar de reventar al arrancar.
-
Toda la economía del tatuaje queda abierta
Tarifa única, tarifas por zona, multiplicadores de colección, precio del láser, los siete estudios, la cámara de escena y las 368 correcciones de zona. `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_tattoo_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_tattoo/en tu directorio de recursos y añadeensure avenida_tattooa 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. -
Fija tus precios
Abre
config/tattoo.lua. La tarifa única, los multiplicadores por colección y el precio del láser son los tres números que conviene decidir antes de abrir el estudio. El idioma y los bridges están enconfig/config.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_tattoo.admin allowa la config del servidor y luego lanza/avenida_tattoo_checken juego para el informe completo.
Inicio rápido
Poner precio a la tinta
Una tarifa única cubre todo el catálogo, y los multiplicadores hacen baratas las colecciones viejas y caras las raras, sin ponerle precio a 1615 diseños a mano. Todo se recalcula en el servidor al pagar.
-- config/tattoo.lua
Config.Tattoo.Prices = {
flat = 1000, -- every tattoo, unless PricePerZone is on
hair = 500,
reset = 3000, -- laser removal, per tattoo removed
}
Config.Tattoo.PricePerZone = false
Config.Tattoo.CollectionMultipliers = {
multiplayer_overlays = 0.80, -- base game, cheaper
mpHipster_overlays = 0.85,
mpBeach_overlays = 0.85,
-- anything not listed stays at 1.0
}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_tattoo']:GetHairbase() --> { c = collection, t = nameHash } | nilLa hair base que lleva el ped. Este recurso no es su dueño, pero tiene que devolverla tras cada redibujado, y cualquier recurso tuyo que borre decoraciones debe hacer lo mismo.
GetTattoos
exports['avenida_tattoo']:GetTattoos() --> { { c, t }, ... }La lista completa de tatuajes que lleva, en pares de colección y hash de nombre. Es la copia que manda: el láser borra de ahí y una compra añade ahí, así que léela en vez de cachear la tuya.
GetSkinData
exports['avenida_tattoo']:GetSkinData()El personaje guardado, con las correcciones de zona que colocan la tinta correctamente en el torso, los brazos y las piernas. Útil cuando tu script necesita saber sobre qué cuerpo dibuja.
ApplySkin
exports['avenida_tattoo']:ApplySkin(data, ped)Aplica una apariencia a un ped, tatuajes incluidos. La ranura de decoraciones se reconstruye de una sola pasada, lo que evita el parpadeo que aparece al aplicar la tinta pieza a pieza.
ApplyClothing
exports['avenida_tattoo']:ApplyClothing(data, ped, temporary)Viste a un ped sin tocar la tinta. El tercer argumento mantiene el cambio fuera de la base de datos, que es lo que quieres para una escena que acaba cuando el jugador se va.
Recetas
Ejemplos para copiar y pegar en los casos más habituales. Los metes en tu recurso, ajustas los valores y a producción.
Con `PricePerZone` activado, el servidor cobra según la zona de decoración GTA de cada diseño. Ojo a la contrapartida documentada en la config: solo se venden los tatuajes que caen en una zona declarada, así que todo lo que no esté corregido desaparece del estudio en vez de venderse al precio equivocado.
-- config/tattoo.lua
Config.Tattoo.PricePerZone = true
Config.Tattoo.Prices = {
[0] = 1250, -- torso / back
[1] = 1000, -- head
[2] = 600, -- left arm
[3] = 600, -- right arm
[4] = 750, -- left leg
[5] = 750, -- right leg
[6] = 750, -- unknown
reset = 3000,
}GTA archiva muchos diseños DLC en la zona equivocada. 368 ya están corregidos, y la lista está abierta para que añadas los tuyos. Activa `Config.Debug` para leer un nameHash en juego y luego decláralo.
-- config/tattoo.lua
Config.Tattoo.SubZoneOverrides = {
['FM_Hip_M_Tat_000'] = 'back',
['MP_Buis_M_Tat_021'] = 'neck',
-- 'back' | 'chest' | 'neck' | 'head'
}La cámara de escena se calcula a partir del jugador, en sus propios ejes, y no del prop de la silla. Es deliberado: el asiento rara vez está en el origen del prop, y la diferencia cambia en varios metros de una silla a otra, que es lo que hace que una cámara relativa a la silla acabe filmando al jugador de espaldas.
-- config/tattoo.lua
Config.Tattoo.ApplyScene = true
Config.Tattoo.SceneCamera = {
Enabled = true,
Distance = 1.5, -- metres in front of the player
Height = 0.75, -- metres above their feet
TargetHeight = 0.6, -- aim at chest height
Fov = 42.0,
}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 todos los tatuajes que el jugador ha pagado.
local hairbase = exports['avenida_tattoo']:GetHairbase()
local tattoos = exports['avenida_tattoo']: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)
endPreguntas frecuentes
- Dos razones, las dos deliberadas. Las colecciones DLC recientes se fusionan según el build del juego, así que un diseño que tu cliente no puede renderizar nunca aparece en la lista, en vez de aparecer y salir roto. Y con `PricePerZone` activado solo se venden los tatuajes que caen en una zona declarada, cosa que la config dice explícitamente: la mayor parte del catálogo desaparece hasta que rellenes los overrides. Con `PricePerZone` apagado, el valor por defecto, todo el catálogo está a la venta.
- Es GTA, no el script: el juego archiva buena parte de los diseños DLC bajo una zona que no corresponde a dónde caen en el cuerpo. 368 ya están corregidos a mano, 310 a la espalda y 58 al cuello. Para el resto, activa `Config.Debug`, lee el nameHash en juego y añade una línea a `Config.Tattoo.SubZoneOverrides`, que está fuera del escrow.
- 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 vía `Config.UseOxLib`, `ox_target` para el prompt de interacción, `ox_inventory` para los items, y oxmysql como única dependencia dura. Nada de eso es obligatorio salvo oxmysql. 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`.
- vRP guarda componentes de ropa y props, nada más. No tiene campo para decoraciones de ped, así que los tatuajes no tienen dónde guardarse. En vRP este recurso se lleva el personaje entero a su propia tabla. Consecuencia práctica: un skinshop nativo de vRP no mostrará la tinta. 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í, 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.
- No se reescriben en absoluto: cada entrada lleva la clave de localización de Rockstar y el juego la resuelve en el idioma del jugador. Por eso los nombres coinciden con lo que un jugador ya conoce del modo historia, en todos los idiomas del juego, y por eso no hay nada que mantener cuando cambia un nombre.
- 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 clientes no se ejecuta nada.
Lo que dicen los compradores
5.0 15 opiniones verificadas
ĸιrowdev 🪐 Le script est est excellent rien à dire
Blockerman Very nice support.
Shuntzu_Gamer Very nice support.
Woufy Very nice support, fast and pro !
- ᴇʟᴄxʏ'; I had an issue where i lost access to my script and these guys couldn't help me at first but they went out there way to fix the issue and contacted me, amazing script
ReCore OoT Randomizer I bought the tattoo shop first, thanks to the very patient and efficient support I was able to make it work, I bought the barber shop afterwards and I am very happy with both scripts, it works like a charm! Congratulations again to the support !
Bl4cky 2 Scripts enjoyed by our Players already. The NPCs doing the work on the Tattoos and your Hair add a nice touch which makes it feel more lifely. Stacking Tattoos is a nice feature and the Checkout System of the Barber Shop is unbeatable. (Normally we try to avoid NPCs, this is one of the only times, where it is a nice feature). was also fast and able to help. All in all i am looking forward to new Avenida Scripts
Dominik Love it waiting for more scripts like this
theara the scripts are perfect, and the Tattoo/vending script still remains up to date and compatible.
Billy Bob i love the tattoo script !! it is AMAZING & and the support is the BEST !!!! they made me feel like a friend and not just a customer. Thank you guys!!!
OGDeuceMoney OneState USA Awesome script that works and I had a question that was answered quickly and clear! Thank you
Kikreto Historias RP Best script, best support! Friendly support!!
JACKSON Script de qualité, support rapide et très sympa ! Content de mon achat !
D3DI - Adriaan Dragon3dInteractive The best script 4 tatoos damm it works perfect love it
Mika™ Bullineo Like a good Vine.. we can't like it before taste it ! Quality.. Fast support and friendly !
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 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.