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

Tattoo shop

Der komplette Tattoo-Katalog des Spiels, mit Warenkorb und einem Stuhl, in den du dich wirklich setzt. 1615 Motive aus 26 DLC-Collections, live an deinem Charakter zu sehen, während du sie hinzufügst, in einem Rutsch bezahlt. Laser-Entfernung inklusive, und ein Artist, der hereinkommt und die Arbeit erledigt.

Lieferung Sofort
Updates Für immer kostenlos
Support Täglich auf Discord
01 · FUNKTIONEN

Was es kann

02 · SPECS

Technische
Daten

Framework Automatisch erkannt QBCore · ESX · vRP · Standalone · Custom
Dependencies oxmysql ox_lib · ox_target · ox_inventory unterstützt
Katalog 1615 Tattoos 26 DLC-Collections · 368 Zonen-Korrekturen
In-Game-Sprachen 15 enthalten ar · cs · de · en · es · fr · id · it · nl · pl · pt-br · ro · ru · th · tr
Performance 0.00ms im Leerlauf Nichts läuft, solange niemand im Shop ist
03 · INKLUSIVE

Alles, was du
bekommst

  • Fünfzehn Sprachdateien, gefüllt ausgeliefert

    Deine Spieler lesen das Script vom ersten Start an in ihrer Sprache, und die Dateien liegen außerhalb des Escrows, du kannst also jede Zeile im laufenden Betrieb ändern. Ehrlicher Hinweis: Sie sind von uns übersetzt und geprüft, nicht von Muttersprachlern aller fünfzehn gegengelesen. Sag uns, was in deiner falsch klingt, dann korrigieren wir es.

  • Sieben Bridges, je eine Datei

    Framework, Notifications, Interaktion, Kleidung, Inventar, Decorations und Compat. Jede Datei dokumentiert ihre Targets, was sie erkennt und was dich jedes Target kostet. Die Erkennung prüft den echten Export statt nur den Resource-Status, ein umbenannter Export degradiert also leise, statt beim Start einen Fehler zu werfen.

  • Die ganze Tattoo-Ökonomie bleibt offen

    Fester Satz, Preise pro Zone, Collection-Multiplikatoren, Lasergebühr, die sieben Studios, die Szenenkamera und die 368 Zonen-Korrekturen. `config/*.lua`, `locales/*.lua` und `bridges/*.lua` sind escrow-frei und im Betrieb editierbar.

  • Ein Installationsbericht für den Support

    `/avenida_tattoo_check` zeigt, welche Bridge pro Kategorie gewählt wurde, ob Tabellen und Spalten existieren und welchen Game Build dein Server tatsächlich fährt. Er beantwortet die meisten Integrationsfragen, bevor du sie stellen musst.

04 · DOKUMENTATION

Guide zur Integration

01

Installation

  1. Resource ablegen

    Hol dir das Script aus deinem Tebex-Konto, kopier den Ordner avenida_tattoo/ in dein resources-Verzeichnis und füg ensure avenida_tattoo hinter ensure oxmysql in deine Serverconfig ein.

  2. SQL ausführen

    Führ Abschnitt [A] von INSTALL.sql auf deiner Datenbank aus. Abschnitt [B] ist bedingt, der Dateikopf sagt, wann du ihn brauchst.

  3. Preise festlegen

    Öffne config/tattoo.lua. Der feste Satz, die Multiplikatoren pro Collection und die Lasergebühr sind die drei Zahlen, die du vor der Eröffnung festlegen solltest. Sprache und Bridges liegen in config/config.lua.

  4. Integrationen prüfen

    Setz Config.Debug = true, starte neu und lies die Konsole: Eine Zeile pro Bridge-Kategorie nennt das gewählte Target. Setz es wieder auf false, sobald die Zeilen zu deinem Server passen. Die freigeschalteten Diagnosebefehle kosten einen Frame-Hitch.

  5. Admin-Rechte geben

    Füg add_ace group.admin avenida_tattoo.admin allow in deine Serverconfig ein und ruf dann im Spiel /avenida_tattoo_check für den vollen Bericht auf.

02

Schnellstart

Den Preis der Tinte festlegen

Ein fester Satz deckt den ganzen Katalog ab, und die Multiplikatoren machen alte Collections billig und seltene teuer, ohne 1615 Motive von Hand zu bepreisen. Alles wird beim Bezahlen serverseitig neu berechnet.

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

API-Referenz

Öffentliche Exports nach Bereich gruppiert. Jede Zeile zeigt die Signatur und was der Export macht, nicht wie er es macht.

Client

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

    Die Hairbase, die der Ped gerade trägt. Das Ink-Studio besitzt sie nicht, muss sie aber nach jedem Redraw zurückgeben, und jede Resource von dir, die Decorations löscht, muss das genauso tun.

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

    Die vollständige Liste der getragenen Tattoos als Paare aus Collection und Name-Hash. Das ist die maßgebliche Kopie: Der Laser streicht Einträge daraus, ein Kauf legt neue dazu, lies sie also aus, statt selbst zu cachen.

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

    Der gespeicherte Charakter samt der Zonen-Korrekturen, die die Tinte auf Torso, Armen und Beinen richtig platzieren. Nützlich, wenn dein Script wissen muss, auf welchem Körper es zeichnet.

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

    Überträgt ein Aussehen auf einen Ped, Tattoos inklusive. Der Decoration-Slot wird in einem Durchgang neu aufgebaut. Das vermeidet das Flackern, das entsteht, wenn die Tinte Stück für Stück gesetzt wird.

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

    Zieht einen Ped an, ohne die Tinte anzufassen. Das dritte Argument hält die Änderung aus der Datenbank heraus, genau richtig für eine Szene, die endet, wenn der Spieler weggeht.

04

Rezepte

Praxisnahe Copy-Paste-Beispiele. In deine eigene Resource kopieren, Werte anpassen, fertig.

Ist `PricePerZone` aktiv, rechnet der Server nach der GTA-Decoration-Zone jedes Motivs ab. Achte auf den in der Config dokumentierten Haken: Nur Tattoos, die in einer deklarierten Zone landen, werden verkauft, alles Unkorrigierte verschwindet also aus dem Shop, statt zum falschen Preis verkauft zu werden.

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

Fehlerbehebung

  • Zwei Gründe, beide gewollt. Neuere DLC-Collections werden nach Game Build eingemischt, ein Motiv, das dein Client nicht rendern kann, wird also gar nicht erst gelistet, statt gelistet und kaputt zu sein. Und mit aktivem `PricePerZone` werden nur Tattoos verkauft, die in einer deklarierten Zone landen, was in der Config auch so steht: Der größte Teil des Katalogs verschwindet, bis du die Overrides gefüllt hast. Im Standard, also mit ausgeschaltetem `PricePerZone`, steht der ganze Katalog zum Verkauf.
BEWERTUNGEN

Was Käufer sagen

5.0 15 verifizierte Bewertungen

  • ĸιrowdev 🪐

    Le script est est excellent rien à dire

    Auf Discord ansehen ↗
  • Blockerman

    Very nice support.

    Auf Discord ansehen ↗
  • Shuntzu_Gamer

    Very nice support.

    Auf Discord ansehen ↗
  • Woufy

    Very nice support, fast and pro !

  • - ᴇʟᴄ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

    Auf Discord ansehen ↗
  • 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 !

    Auf Discord ansehen ↗
Warenkorb
Spirit RP
Discord