
Rarx Tattoos
Rarx Tattoos
Advanced tattoo shop system for FiveM
- Qbox
- QBCore
- ESX
rarx_tattoos

Overview#
RARX Tattoos is a complete tattoo shop system for FiveM servers featuring an immersive experience with NPC employees, custom animations, and a modern UI.
Requirements#
- oxmysql
- ESX or QBCore/QBox framework
- Compatible clothing system (auto-detected)
Features#
Multiple tattoo shop locations with custom configurations
Animated tattoo artists that perform the tattoo process
Immersive customer and employee animations
Clean, intuitive interface for browsing and applying tattoos
Additional Features#
- Mouse drag rotation — Click and drag outside the panel to smoothly rotate your character
- Mouse wheel rotation — Scroll to rotate in 30° steps
- On-screen controls legend — Keybinds and controls displayed at the bottom of the screen
- Auto-detection of framework and clothing system
- Multi-language support (Spanish, English, etc.)
- Custom tattoo collections including DLCs
- Fixed camera angles for precise tattoo application
- Configurable prices per tattoo
- Blocked tattoos system for exclusive/restricted designs
Supported Clothing Systems#
The script auto-detects your installed clothing system:
- origen_clothing
- bl_appearance
- illenium-appearance
- fivem-appearance
- qb-clothing
- skinchanger
- esx_skin
Installation#
Download
Download rarx_tattoos from your Keymaster and extract to your resources folder.
Configure server.cfg
ensure rarx_tattoosConfigure
Edit
shared/config.luato customize settings.Restart
Restart your server.
Configuration#
Framework & Language#
Config.Framework = 'auto' -- 'auto', 'qb-core', 'esx'
Config.Language = 'es' -- Language code
Config.ClothingSystem = 'auto' -- Auto-detect or specify manuallyStore Locations#
Each store has configurable:
- Coordinates and blip
- Fixed camera position
- Customer chair position and animation
- Employee idle and tattoo positions
- Employee NPC model
Config.Stores = {
{
coords = vector3(-1154.59, -1426.55, 4.95),
blip = true,
fixedCamera = vector4(-1153.76, -1424.30, 4.95, 163.47),
customer = {
chair = vector4(-1154.36, -1426.24, 4.95, 190.87),
coords = vector4(-1154.31, -1427.57, 3.83, 350.44),
anim = 'customer_loop',
dict = 'misstattoo_parlour@shop_ig_4',
},
employee = {
idle = {
coords = vector4(-1152.65, -1425.57, 4.95, 136.05),
anim = 'base',
dict = 'rcmnigel1a',
},
tattoo = {
coords = vector4(-1153.75, -1427.45, 4.95, 100.52),
anim = 'tattooist_loop',
dict = 'misstattoo_parlour@shop_ig_4',
},
model = 'IG_DJSolMike',
},
},
}Pricing#
Config.DefaultTattooPrice = 200Tattoo Collections#
The script includes multiple tattoo collections:
Config.TattooLists = {
'BaseTattoos.json',
'DLC_enterprise.json',
'DLC_mpchristmas3.json',
'DLC_mp2023_02.json',
'DLC_mpheist3.json',
'DLC_mpheist4.json',
'DLC_mpsecurity.json',
'DLC_mpvinewood.json',
'HairFades.json',
'HairFades2.json',
'StreetDreams.json',
'yakuzatattoo.json',
'rarxnetwork.json',
}Blocked Tattoos#
Restrict specific tattoos to certain players:
Config.BlockedTattoos = {
['rarx_tattoo_092_M'] = {
'CLS30468', -- CitizenID allowed
},
}Tattoo Gun Prop#
Customize the tattoo gun prop attachment:
Config.Prop = {
model = 'v_ilev_ta_tatgun',
bone = 60309,
xPos = 0.09,
yPos = 0.06,
zPos = 0.036,
xRot = 0.0,
yRot = -110.0,
zRot = -90.0,
}Events & Exports#
Client Events#
-- Update/restore player tattoos from database
TriggerEvent('rarx_tattoos:client:UpdatePlayerTattoos')
-- Update tattoos with a specific list
TriggerEvent('rarx_tattoos:client:updateTattoos', tattooList)Usage Example#
Restore player tattoos after character selection or clothing change:
-- In your multicharacter or clothing script
TriggerEvent('rarx_tattoos:client:UpdatePlayerTattoos')In-Game Controls#
| Control | Action |
|---|---|
| Mouse Drag | Smoothly rotate your character |
| Mouse Wheel | Rotate in 30° increments |
| Z | Zoom in |
| C | Zoom out |
| X | Hands up pose |
| ESC | Close tattoo shop |
Adding Custom Tattoos#
- Create a new JSON file in
assets_tattoos/ - Add your tattoo definitions
- Add the filename to
Config.TattooLists - If using custom overlays, add XML files to
stream/
