Var-TattooShop V2

Your players don't just pick a tattoo from a list. They draw it on their own skin, and everyone else sees it.

Var-TattooShop V2 is a full tattoo studio for FiveM. It ships the entire vanilla GTA tattoo catalog, lets players import their own artwork, and adds a real freehand painting mode where the brush follows the 3D body under the cursor. Custom ink is replicated to every other player through the engine's own decoration system, so a drawing made in the shop is visible on the ped for everyone on the server.

Three creation modes

Vanilla - 1,591 official tattoos from the 25 GTA collections (multiplayer, singleplayer, biker, heist, hipster, security, summer, christmas, and the rest), each with its own preview thumbnail, sorted by body zone, searchable by name or collection.

Image - the player imports a PNG from their own PC, or picks from a catalog of images you preload for the server. Drag it on the body to place it, wheel to resize, remove it any time. Up to 6 images on the body at once.

Freehand - the player paints directly on the ped. Brush and eraser, color picker with recent colors and presets, brush size, opacity, edge softness, stroke stabilizer, mirror axis, undo/redo, clear. The cursor is projected on the skinned body mesh through a WebGL ID pass, so what you paint is exactly the texel the engine will display: no guessing, no offset between the preview and the result.

Seen by everyone

Custom drawings and imported images are not a local overlay. They go through a pool of streamed overlay slots and the native decoration system, so other players see the tattoo on the ped like any vanilla one, with no extra netcode and no per-player streaming hack.

Live studio preview

A preview clone with a free camera: right-drag to orbit, middle-drag to pan, wheel to zoom, click a body part to jump to that zone. 7 zones supported (head, torso, back, left/right arm, left/right leg). Aim with the cursor or fine-tune with the arrow keys before applying.

In-game admin studio

/tattooadmin opens a separate admin panel (ace vartattoo.admin, framework admin group, or a whitelisted identifier):

  • Price per mode (vanilla / image / freehand)
  • Price cascade: single tattoo > collection > zone > mode default. Leave a field empty and it falls back to the level below.
  • Bulk edit: price a whole zone or a whole collection in one click, hundreds of tattoos at a time
  • Enable or disable a mode live, hidden in the UI AND rejected server-side
  • Everything saved in the database, no restart, no config editing

Access control and monetization

Lock a mode, a whole collection, or a single tattoo behind an ace permission or a framework group. Reserve a collection to your VIPs, keep freehand for a specific job, sell a collection. Payment in cash or bank, currency symbol configurable.

Compatibility and setup

  • ESX / QBCore / Standalone, auto-detected. Standalone ships callback hooks for money, notifications, admin and group checks.
  • Persistence per character via oxmysql, tables created automatically on start (SQL file included as reference). No oxmysql? The script still runs, without saving.
  • 6 tattoo shops preconfigured on the map with blips, coords editable in one config block.
  • Interaction: auto-detects var-interact, falls back to ox_target, then to a marker + E. Or force one of the three.
  • EN / FR / ES included, one locale file to edit, add your own language in minutes.
  • Fully themable from variables.css - colors, radius, fonts, without touching a line of React.

Built to hold under load

  • Every submit validated server-side: strokes, points per stroke, image count, image weight, total payload, all capped before any processing
  • Per-source rate limits on submit, fetch and load
  • Slot budget: 24 custom slots and 3 simultaneously inked zones by default, both configurable
  • Disabled modes rejected server-side, group gating re-checked on the server, prices resolved on the server

Open files

Partially open: config, locales, the full tattoo catalog, the framework bridge, the SQL and the entire UI source (React + Vite) are open, plus the shop, session, persistence, database and pricing files on both client and server. Only the rendering and replication core stays escrowed.

Requirements

oxmysql (recommended, for persistence) - ESX, QBCore or standalone

31.99 EUR

Add to cart