Tienda de tatuajes
La tienda de tatuajes vende los tatuajes del juego, con un precio que sale de su precio de GTA Online (× priceFactor, 0,25 de fábrica), los tatuajes addon de tu servidor y los degradados de pelo, por zona del cuerpo. Mientras el jugador está en la tienda se saca la ropa para que se vea la piel. Al salir, la ropa vuelve.
Es para los personajes freemode, el hombre y la mujer.
La entrada

La tienda abre con el cuerpo entero, de frente. Haz clic en la tarjeta de una zona, en su punto o su nombre sobre el cuerpo, o en su tecla. Cada zona tiene el mismo número en todos lados, en las tarjetas, las pestañas de la lista y las teclas: 1 Cabeza, 2 Degradados, 3 Torso, 4 Brazo derecho, 5 Brazo izquierdo, 6 Pierna derecha y 7 Pierna izquierda. Cada punto tiene al lado el nombre de su zona; al pasar por uno se ve el número de la zona y cuántos diseños tiene. Tus tatuajes muestra todo lo que el jugador tiene puesto, de todas las zonas. Si tu servidor tiene tatuajes addon, arriba aparece Todos o De packs, para ver todos los diseños o solo los addon. Con cambios sin pagar, Comprar (B) paga sin salir de la entrada.
La primera vez que se ve la entrada en cada apertura, una vuelta corta ilumina cada zona por turno; el primer toque la corta. La tarjeta de cada zona también dice cuánto cuestan sus diseños, desde $X. Esc o la ✕ con cambios preguntan antes: se abre la compra sobre la lista, o Tenés cambios sin guardar si los cambios son gratis (Seguir editando vuelve a la entrada). Ver Salir con cambios.
Elegir un tatuaje

Cada zona lista sus tatuajes con su imagen, su nombre y su precio, y el pack debajo de los addon. Los nombres van sin el prefijo del pack, y un nombre que es solo un número se ve como Tatuaje #004. Las etiquetas dicen Lo tenés, Probando o Se saca, y unos puntitos muestran la intensidad de cada diseño. Un clic lo pone para probarlo.
El elegido también se ve grande arriba, con su precio, su Intensidad, ◀ ▶ para ir al diseño anterior y al siguiente, y n / total al lado del corazón. Cada costo aparece donde se decide: Sacátelo · $150, Aclararlo: $X, +$X por capa o Gratis. Desde el 80 % de la piel usada, un medidor dice cuánta tinta entra todavía (Te quedan N capas).
- Busca por nombre o pack. Si no hay nada, También en: muestra las otras zonas que lo tienen.
- Todos, De packs (si tu servidor tiene tatuajes addon) o Puestos filtra la lista. Colecciones, Solo favoritos y Ordenar la achican más.
- ‹ Zonas vuelve a la entrada.
- Los botones de zonas de arriba, con sus nombres, cambian de zona y muestran cuántos tatuajes lleva el jugador en cada una.
- Cuando un diseño va en la espalda o en un costado, la cámara gira sola hacia ahí. Ver la espalda la gira a mano.
Capas más oscuras
El juego no tiene opacidad para los tatuajes, así que un tatuaje más oscuro es el mismo tatuaje puesto otra vez. Intensidad suma o saca capas, hasta Config.Tattoos.maxLayers (4 de fábrica). Cada capa extra cuesta una parte del precio del tatuaje (layerPercent, 25% de fábrica).
Tatuajes uno encima de otro
Un tatuaje puede ir encima de otro, y los dos quedan puestos. Los jugadores pueden combinar diseños en el mismo lugar.
Sacarse un tatuaje
El primer clic en un tatuaje que el jugador ya tiene solo lo muestra arriba. Sacátelo (o un segundo clic) lo marca para sacarlo, y Dejátelo lo deshace. Sacarse un tatuaje, o bajarle capas, cuesta Config.Tattoos.removePrice, y el botón muestra el precio.
Apagar los extras
Cada extra de la tienda se apaga en Config.Tattoos.ui: las teclas, los favoritos, ordenar, el diseño elegido en alta resolución, Ver la espalda, la guía de la entrada, el medidor de piel, los nombres de las zonas sobre el cuerpo y el giro solo de la cámara. Ver Referencia de la config: tienda de tatuajes.
Qué tatuajes aparecen
- Los tatuajes del juego vienen con su precio de GTA Online y sus nombres en inglés y en español. Solo aparecen los que tiene el game build de tu servidor.
- Tus tatuajes addon, de packs que cargan un
PED_OVERLAY_FILE, aparecen solos, por zona. - Los degradados de pelo son tatuajes de la cabeza, en su propia zona.
Cada tatuaje muestra una imagen. Los del juego muestran la suya. Para los addon, el servidor puede hacer una imagen chica de cada uno: en el panel, Tatuajes → Imágenes, o con el comando de consola zappearance_tattoo_images. Después ejecuta ensure zaiders_photos para que les lleguen a los jugadores. Ver Fotos del catálogo.
Packs de tatuajes addon
Cualquier pack de tatuajes addon funciona, sin configurar nada en ZAIDERS Appearance:
- Pon el pack en
resourcesy agregaensurecon el nombre de su carpeta en elserver.cfg. - Reinicia el servidor. La tienda lista los tatuajes del pack por zona, y De packs muestra solo esos.
- Opcional: haz sus imágenes en el panel (Tatuajes → Imágenes) y después
ensure zaiders_photos.
La tienda lee lo que carga el juego: los archivos de overlays que el fxmanifest.lua (o __resource.lua) del pack carga con data_file 'PED_OVERLAY_FILE'. Todo pack de tatuajes addon los tiene, y funcionan los patrones como 'xml/*.xml' o 'data/**.xml'. El juego nombra cada colección por el <nameHash> que va después de </presets> en ese archivo, no por el nombre del archivo. Un archivo sin esa línea se carga, pero ninguno de sus tatuajes se puede poner, así que quedan fuera de la tienda y F8 dice el juego no tiene la colección .... La tienda lee ese mismo <nameHash>, así que también funciona un pack cuyo archivo no se llama como su colección. Solo cuentan los packs prendidos. Los tatuajes de un pack apagado salen de la tienda, y los jugadores los siguen teniendo guardados para cuando vuelva.
Todos los jugadores necesitan los mismos packs, y eso pasa solo porque los bajan de tu servidor. Un tatuaje de un pack que el juego de un jugador no cargó no se puede mostrar en su pantalla.
Nombres y pack
El nombre de un tatuaje sale del archivo de tienda de tatuajes del propio pack (TATTOO_SHOP_DLC_FILE), si el pack lo trae y registra sus nombres. Si no, la tienda muestra el nombre de su preset. Un pack también puede agregar dos líneas a su fxmanifest.lua:
tattoo_pack_name 'Mis tatuajes' -- cómo se llama el pack en la tienda (si no, su colección, legible)
tattoo_renames 'data/renamed.json' -- los nombres que tuvieron antes sus tatuajes: los guardados pasan a los nuevosrenamed.json es { "renames": [["colección vieja", "preset viejo", "colección", "preset"], ...] }. Un nombre viejo pasa solo cuando su colección ya no está cargada, así quien compró un tatuaje con su nombre viejo lo conserva. El precio propio y la marca de sin stock que le puso el panel a un diseño renombrado también pasan (se guardan con el nombre nuevo la próxima vez que el panel guarda). Los corazones de favoritos de los jugadores no pasan: se vuelven a marcar en los diseños renombrados.
Precios
| Tatuaje | Precio |
|---|---|
| Los del juego | Su precio de GTA Online × priceFactor (0.25: un tatuaje de $10.000 cuesta $2.500). maxPrice pone un tope. |
| Addon, o del juego sin precio | addonPrice: 'auto' usa el precio típico de su zona × el factor, o pon un número. |
| Degradados de pelo | fadePrice ($120). |
| Cada capa más oscura | layerPercent % del precio del tatuaje. |
| Sacarse uno | removePrice ($150). |
Todo esto se cambia en el panel: Tatuajes → Precios tiene una regla por zona (Del juego × un factor, o Fijo) y muestra el rango de precios que da. Tatuajes → Tatuajes pone el precio propio y el stock de cada tatuaje, muchos a la vez con las casillas. Todo gratis deja toda la tienda gratis. Ver ZAIDERS Studio.
Una tienda de tatuajes con su propio porcentaje en el panel (Tiendas → la tienda → Catálogo y precios) cobra a ese porcentaje los tatuajes, las capas más oscuras y sacarse uno.

Sin stock
Un tatuaje sin stock no se vende y no se puede poner. El jugador que ya lo tiene lo sigue viendo, marcado, y se lo puede sacar.
Tatuajes guardados
Los tatuajes comprados se guardan en la tabla zaiders_tattoos, que se crea sola. Se ponen al entrar con el personaje, y de nuevo cada vez que otro script cambia el ped. Funciona con cualquier framework, sea cual sea el recurso que carga la ropa.
Los tatuajes que illenium-appearance o fivem-appearance guardaron dentro de cada apariencia pasan solos la primera vez que entra cada personaje: solo los diseños que vende esta tienda, con su intensidad como capas (Config.Tattoos.importFromLooks). zappearance_migrate tattoos confirm trae los de todos de una vez. En ESX con esx_skin solo pasan con ese comando: ejecútalo apenas instalas. Ver Si vienes de otro menú.
Una copia de los tatuajes de cada personaje queda dentro de su apariencia guardada, así una pantalla de personajes que muestra la apariencia guardada también muestra los tatuajes (Config.Tattoos.inSavedLook).
Lo que ven los demás jugadores
Por su cuenta, el juego les muestra a los demás solo una parte de los tatuajes de cada jugador. Los manda en un bloque fijo de 1.792 lugares, uno por diseño, y los tatuajes del propio juego ya ocupan unos 1.600. Los diseños que no entran no los ven los demás, y cuáles quedan afuera puede cambiar entre reinicios (issues de FiveM #2010 y #3092). Las capas más oscuras nunca viajan, y los tatuajes addon hechos para no usar ese bloque no viajan nunca.
Por eso ZAIDERS Appearance les muestra a los demás los tatuajes de cada jugador:
- El juego de cada jugador lee los tatuajes de su propio personaje y se los manda al servidor, que se los pasa a los jugadores de alrededor.
- Los demás le ponen a ese jugador exactamente esa lista: los tatuajes del juego, los addon y los degradados, cada uno con sus capas.
- La lista se pone de nuevo cuando el jugador cambia de tatuajes o de ropa, cuando se acerca, y cada pocos segundos de cerca, por si el juego vuelve a poner su propia copia.
- Mientras un jugador prueba tatuajes en la tienda, los demás siguen viendo lo que lleva puesto.
- Una lista lleva hasta 200 tatuajes y 300 capas, 8 por tatuaje. Pasado eso quedan los primeros que se puso, igual en todas las pantallas, y la tienda no agrega tinta que los demás no verían.
- Después de
ensure zaiders_appearance, todos conservan sus tatuajes con sus capas.
Necesita OneSync prendido (no legacy), funciona con sv_stateBagStrictMode y prende sola el arreglo de FiveM game_enableStableOverlaySort. Sin OneSync, o con legacy, la consola del servidor lo avisa una vez, y se ve lo que manda el juego. Config.Tattoos.sync = false la apaga. También sigue prendida con otro recurso de tatuajes: ver abajo.
Packs de tatuajes con su propia sincronización
Algunos packs de tatuajes traen un script que muestra sus tatuajes a los demás jugadores. Apaga ese script en la config del pack, o dos scripts les pondrían tatuajes a los mismos jugadores. ZAIDERS Tattoos se hace a un lado solo. El autor de un pack puede hacer lo mismo con el export syncsTattoos.
Usar otro recurso de tatuajes
Config.Tattoos.enabled = falseapaga esta tienda de tatuajes.- Si está prendido un recurso de
Config.Tattoos.owners, la tienda se apaga sola, sin que hagas nada. Sus tiendas salen del mapa, no se vende nada y no se ponen los tatuajes guardados, así los dos nunca chocan. La sección Tatuajes del panel y la consola del servidor dicen qué recurso se hizo cargo. Apaga ese recurso y la tienda vuelve. - La lista trae rcore_tattoos, qb-tattooshop, esx_tattooshop, xnTattoos, illenium-appearance, fivem-appearance y bl_appearance. Si tu recurso de tatuajes tiene otro nombre de carpeta (por ejemplo
illenium-appearance-main), agrega ese nombre. vMenu no está a propósito: en la mayoría de los servidores es un menú de admin, y ponerlo apagaría esta tienda en todos lados. Tampoco dx_clothing, que este menú reemplaza.
La sincronización sigue prendida, con la tienda apagada o con otro recurso de tatuajes: los demás siguen viendo los tatuajes de cada jugador como los lleva puestos, cada uno una vez, porque las capas de otro recurso no se pueden leer. Lo que un jugador se prueba en la tienda de ese recurso no se manda: la lista espera mientras está en otro menú (una pantalla con el mouse o una cámara de script, 60 segundos como mucho), y 3 segundos después de que cambia su ped, mientras ese recurso le vuelve a poner los tatuajes. Ese recurso también lo puede decir con setTattooBusy. Config.Tattoos.syncWaitMenus = false apaga esas esperas.
Cuando este menú cambia el modelo del jugador para quedarse, dispara zaiders_appearance:modelChanged, así el otro recurso le vuelve a poner sus tatuajes al ped nuevo. En ESX, mientras skinchanger no está prendido, también dispara el skinchanger:modelLoaded del propio skinchanger, que las tiendas de tatuajes de ESX ya escuchan.
Relacionado
- Referencia de la config: tienda de tatuajes
- Tiendas del mapa y blips
- Barbería
- ZAIDERS Tattoos, nuestro pack de tatuajes addon
