Skip to main content
Rarx Tattoos Preview

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 Stores

Multiple tattoo shop locations with custom configurations

NPC Employees

Animated tattoo artists that perform the tattoo process

Custom Animations

Immersive customer and employee animations

Modern UI

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

1

Download

Download rarx_tattoos from your Keymaster and extract to your resources folder.
2

Configure server.cfg

ensure rarx_tattoos
3

Configure

Edit shared/config.lua to customize settings.
4

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 manually

Store 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 = 200

Tattoo 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

ControlAction
Mouse DragSmoothly rotate your character
Mouse WheelRotate in 30° increments
ZZoom in
CZoom out
XHands up pose
ESCClose tattoo shop
All controls are displayed in the key hints bar at the bottom of the screen while the tattoo shop is open. Labels are automatically translated based on your server language.

Adding Custom Tattoos

  1. Create a new JSON file in assets_tattoos/
  2. Add your tattoo definitions
  3. Add the filename to Config.TattooLists
  4. If using custom overlays, add XML files to stream/