Tattoos System
gcm_tattoos is a complete tattoo shop and tattoo persistence system for FiveM servers.
It allows players to preview, purchase, remove, and permanently store tattoos, while giving administrators full control over tattoo availability and management.
Overview
The Tattoos System provides an integrated workflow for in-game tattoo shops, allowing players to customize their character appearance while ensuring tattoo data is persisted and synchronized across sessions.
Core Features
- Framework Auto-Detection – Supports multiple frameworks automatically.
- Appearance System Integration – Works with common clothing/appearance systems.
- Tattoo Persistence – Saves owned tattoos in the database.
- Global Tattoo Locks – Allows specific tattoos to be locked or restricted globally.
- Tattoo Shop Interface – Players can preview, purchase, and remove tattoos.
- Admin Tattoo Management – Staff can access tattoo management tools through an admin command.
Supported Frameworks
The system automatically detects and supports:
qbx_coreqb-corees_extended- Custom core adapters
Appearance / Clothing Integrations
Compatible with the following appearance systems:
fivem-appearanceillenium-appearanceqb-clothingskinchanger- Custom skin hooks
Runtime Architecture
The system is designed to work with common FiveM server infrastructures.
Core Dependencies
Required libraries used by the resource:
ox_liboxmysql
Database Persistence
Tattoo data is stored in the following database tables: gcm_tattoos gcm_tattoos_locked
These tables store player-owned tattoos and globally locked tattoos.
Client Runtime
Client-side behavior includes:
- Tattoo shop interaction points
- In-game markers and shop access
- NUI tattoo preview and selection workflow
- Tattoo application directly to the player's ped
Server Runtime
Server-side logic handles:
- Tattoo purchases and removal validation
- Payment processing
- Tattoo lock management
- Database structure verification and persistence
System Flow
The tattoo lifecycle operates as follows:
- The resource starts and detects the active framework and clothing system.
- A player enters a tattoo shop interaction point and opens the tattoo interface.
- The player previews available tattoos using the NUI tattoo UI.
- When purchasing a tattoo, the server validates the transaction and payment.
- Tattoo data is stored in the database and synchronized back to the client.
- The locked tattoo list is loaded from the database and shared globally with connected players.
The Tattoos System ensures persistent character customization across sessions while integrating seamlessly with existing appearance frameworks.