par Avenida Team ESX · QBCore · vRP · Standalone · oxmysql

Tattoo shop

Tout le catalogue de tatouages du jeu, avec un panier et un fauteuil où l'on s'assoit vraiment. 1615 motifs répartis sur 26 collections DLC, prévisualisés en direct sur votre personnage au fur et à mesure, payés en une fois. Détatouage au laser inclus, et un tatoueur qui entre et fait le travail.

Livraison Instantanée
Mises à jour Gratuites à vie
Support Discord 7j/7
01 · FONCTIONNALITÉS

Ce qu'il fait

02 · SPECS

Spécifications
techniques

Framework Détection auto QBCore · ESX · vRP · Standalone · Custom
Dépendances oxmysql ox_lib · ox_target · ox_inventory gérés
Catalogue 1615 tatouages 26 collections DLC · 368 corrections de zone
Langues en jeu 15 incluses ar · cs · de · en · es · fr · id · it · nl · pl · pt-br · ro · ru · th · tr
Performance 0.00ms au repos Rien ne tourne tant que personne n'est en boutique
03 · INCLUS

Tout ce que vous
recevez

  • Quinze fichiers de langue, livrés remplis

    Vos joueurs lisent le script dans leur langue dès le premier démarrage, et les fichiers sont hors escrow, donc vous pouvez corriger n'importe quelle ligne en production. Note honnête : ils sont traduits et relus par nos soins, pas par des natifs des quinze langues. Dites-nous ce qui sonne faux dans la vôtre, c'est corrigé.

  • Sept bridges, un fichier chacun

    Framework, notifications, interaction, vêtements, inventaire, décorations et compat. Chaque fichier documente ses cibles, ce qu'il détecte, et ce que chaque cible vous coûte. La détection sonde l'export réel plutôt que l'état de la ressource, un export renommé dégrade donc en silence au lieu de planter au démarrage.

  • Toute l'économie du tatouage reste ouverte

    Tarif unique, tarifs par zone, multiplicateurs de collection, prix du laser, les sept boutiques, la caméra de scène et les 368 corrections de zone. `config/*.lua`, `locales/*.lua` et `bridges/*.lua` sont hors escrow et modifiables en production.

  • Un rapport d'installation à coller au support

    `/avenida_tattoo_check` affiche quel bridge a été retenu pour chaque catégorie, si les tables et les colonnes existent, et quelle version du jeu tourne réellement. Il répond à la plupart des questions d'intégration avant que vous ayez à les poser.

04 · DOCUMENTATION

Guide d'intégration

01

Installation

  1. Déposez la ressource

    Récupérez le script depuis votre compte Tebex, copiez le dossier avenida_tattoo/ dans votre dossier resources et ajoutez ensure avenida_tattoo à votre config serveur, après ensure oxmysql.

  2. Passez le SQL

    Exécutez la section [A] d'INSTALL.sql sur votre base. La section [B] est conditionnelle, l'en-tête du fichier dit quand elle s'applique.

  3. Fixez vos prix

    Ouvrez config/tattoo.lua. Le tarif unique, les multiplicateurs par collection et le prix du laser sont les trois nombres à décider avant d'ouvrir la boutique. config/config.lua porte la langue et les bridges.

  4. Contrôlez les intégrations

    Mettez Config.Debug = true, redémarrez, et lisez la console : une ligne par catégorie de bridge nomme la cible retenue. Repassez à false une fois que les lignes correspondent à votre serveur, les commandes de diagnostic qu'il débloque coûtent un à-coup.

  5. Donnez-vous les droits admin

    Ajoutez add_ace group.admin avenida_tattoo.admin allow à votre config serveur, puis lancez /avenida_tattoo_check en jeu pour le rapport complet.

02

Démarrage rapide

Fixer le prix de l'encre

Un tarif unique couvre tout le catalogue, et les multiplicateurs rendent les vieilles collections bon marché et les rares chères, sans tarifer 1615 motifs à la main. Tout est recalculé côté serveur au paiement.

lua
-- config/tattoo.lua
Config.Tattoo.Prices = {
    flat  = 1000,   -- every tattoo, unless PricePerZone is on
    hair  = 500,
    reset = 3000,   -- laser removal, per tattoo removed
}

Config.Tattoo.PricePerZone = false

Config.Tattoo.CollectionMultipliers = {
    multiplayer_overlays = 0.80,   -- base game, cheaper
    mpHipster_overlays   = 0.85,
    mpBeach_overlays     = 0.85,
    -- anything not listed stays at 1.0
}
03

Référence API

Exports publics groupés par domaine. Chaque ligne montre la signature d'appel

Client

  • GetHairbase
    exports['avenida_tattoo']:GetHairbase() --> { c = collection, t = nameHash } | nil

    La racine de cheveux portée par le ped. Le studio d'encre n'en est pas propriétaire, mais il doit la rendre après chaque redraw, et toute ressource à vous qui efface les décorations doit faire pareil.

  • GetTattoos
    exports['avenida_tattoo']:GetTattoos() --> { { c, t }, ... }

    La liste complète des tatouages portés, en paires collection et hash de nom. C'est la copie qui fait foi : le laser en retire, un achat en ajoute, donc lisez-la plutôt que d'en garder une copie.

  • GetSkinData
    exports['avenida_tattoo']:GetSkinData()

    Le personnage stocké, avec les corrections de zones qui posent l'encre correctement sur le torse, les bras et les jambes. Utile quand votre script a besoin de savoir sur quel corps il dessine.

  • ApplySkin
    exports['avenida_tattoo']:ApplySkin(data, ped)

    Pousse une apparence sur un ped, tatouages compris. L'emplacement de décoration est reconstruit en une passe, ce qui évite le clignotement obtenu quand l'encre est appliquée pièce par pièce.

  • ApplyClothing
    exports['avenida_tattoo']:ApplyClothing(data, ped, temporary)

    Habille un ped sans toucher à l'encre. Le troisième argument garde le changement hors de la base, ce qu'on veut pour une scène qui s'arrête quand le joueur s'en va.

04

Recettes

Exemples copier-coller pour les cas courants. À déposer dans ta ressource, ajuster les valeurs, et c'est en prod.

Avec `PricePerZone` activé, le serveur facture selon la zone de décoration GTA de chaque motif. Attention au compromis documenté dans la config : seuls les tatouages qui tombent dans une zone déclarée sont vendus, donc tout ce qui n'est pas corrigé disparaît de la boutique au lieu d'être vendu au mauvais prix.

lua
-- config/tattoo.lua
Config.Tattoo.PricePerZone = true

Config.Tattoo.Prices = {
    [0] = 1250, -- torso / back
    [1] = 1000, -- head
    [2] = 600,  -- left arm
    [3] = 600,  -- right arm
    [4] = 750,  -- left leg
    [5] = 750,  -- right leg
    [6] = 750,  -- unknown
    reset = 3000,
}
05

Questions fréquentes

  • Deux raisons, toutes deux volontaires. Les collections DLC récentes sont fusionnées selon la version du jeu, un motif que votre client ne sait pas rendre n'est donc jamais listé plutôt que listé et cassé. Et avec `PricePerZone` activé, seuls les tatouages qui tombent dans une zone déclarée sont vendus, ce que la config dit explicitement : l'essentiel du catalogue disparaît tant que vous n'avez pas rempli les overrides. Avec `PricePerZone` désactivé, le défaut, tout le catalogue est en vente.
AVIS

Ce qu'en disent les acheteurs

5.0 15 avis vérifiés

  • ĸιrowdev 🪐

    Le script est est excellent rien à dire

    Voir sur Discord ↗
  • Blockerman

    Very nice support.

    Voir sur Discord ↗
  • Shuntzu_Gamer

    Very nice support.

    Voir sur Discord ↗
  • Woufy

    Very nice support, fast and pro !

    Voir sur Discord ↗
  • - ᴇʟᴄxʏ';

    I had an issue where i lost access to my script and these guys couldn't help me at first but they went out there way to fix the issue and contacted me, amazing script

    Voir sur Discord ↗
  • ReCore OoT Randomizer

    I bought the tattoo shop first, thanks to the very patient and efficient support I was able to make it work, I bought the barber shop afterwards and I am very happy with both scripts, it works like a charm! Congratulations again to the support !

    Voir sur Discord ↗
Panier
Spirit RP
Discord