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.
Was es kann
Der komplette Katalog des Spiels, 1615 Motive
26 DLC-Collections, jedes Tattoo, das GTA mitbringt. Die Bezeichnungen sind nicht abgetippt, sie kommen aus Rockstars eigener Lokalisierung: Wer das Spiel auf Türkisch spielt, sieht den türkischen Namen jedes Motivs. Neuere Collections werden nach Game Build eingemischt: Ein Tattoo, das dein Client nicht rendern kann, taucht gar nicht erst auf.
Technische
Daten
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.
Guide zur Integration
Installation
-
Resource ablegen
Hol dir das Script aus deinem Tebex-Konto, kopier den Ordner
avenida_tattoo/in dein resources-Verzeichnis und fügensure avenida_tattoohinterensure oxmysqlin deine Serverconfig ein. -
SQL ausführen
Führ Abschnitt [A] von
INSTALL.sqlauf deiner Datenbank aus. Abschnitt [B] ist bedingt, der Dateikopf sagt, wann du ihn brauchst. -
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 inconfig/config.lua. -
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 auffalse, sobald die Zeilen zu deinem Server passen. Die freigeschalteten Diagnosebefehle kosten einen Frame-Hitch. -
Admin-Rechte geben
Füg
add_ace group.admin avenida_tattoo.admin allowin deine Serverconfig ein und ruf dann im Spiel/avenida_tattoo_checkfür den vollen Bericht auf.
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.
-- 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
}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 } | nilDie 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.
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.
-- 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,
}GTA legt viele DLC-Motive in der falschen Zone ab. 368 sind bereits korrigiert, und die Liste ist offen, damit du deine eigenen ergänzen kannst. Schalt `Config.Debug` ein, um im Spiel einen nameHash abzulesen, und trag ihn ein.
-- config/tattoo.lua
Config.Tattoo.SubZoneOverrides = {
['FM_Hip_M_Tat_000'] = 'back',
['MP_Buis_M_Tat_021'] = 'neck',
-- 'back' | 'chest' | 'neck' | 'head'
}Die Szenenkamera wird am Spieler gemessen, in seinen eigenen Achsen, nicht am Stuhl-Prop. Das ist Absicht: Die Sitzfläche liegt selten im Prop-Ursprung, und die Abweichung beträgt von Stuhl zu Stuhl mehrere Meter, weshalb eine stuhlrelative Kamera den Spieler von hinten filmt.
-- config/tattoo.lua
Config.Tattoo.ApplyScene = true
Config.Tattoo.SceneCamera = {
Enabled = true,
Distance = 1.5, -- metres in front of the player
Height = 0.75, -- metres above their feet
TargetHeight = 0.6, -- aim at chest height
Fov = 42.0,
}Der Ped hat einen einzigen Decoration-Slot für den ganzen Server. Wenn dein Script `ClearPedDecorations` aufruft, lies vorher aus, was diese Resource besitzt, und gib es danach zurück, sonst löschst du jedes Tattoo, für das der Spieler bezahlt hat.
local hairbase = exports['avenida_tattoo']:GetHairbase()
local tattoos = exports['avenida_tattoo']:GetTattoos()
ClearPedDecorations(PlayerPedId())
-- your own decoration work here
if hairbase then
AddPedDecorationFromHashes(PlayerPedId(), hairbase.c, hairbase.t)
end
for _, dec in ipairs(tattoos) do
AddPedDecorationFromHashes(PlayerPedId(), dec.c, dec.t)
endFehlerbehebung
- 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.
- Das ist GTA, nicht das Script: Das Spiel führt einen großen Teil der DLC-Motive unter einer Zone, die nicht zu der Stelle passt, an der sie am Körper landen. 368 sind bereits von Hand korrigiert, 310 auf den Rücken und 58 an den Hals. Für den Rest schalt `Config.Debug` ein, lies den nameHash im Spiel ab und ergänz eine Zeile in `Config.Tattoo.SubZoneOverrides`. Die Datei ist escrow-frei.
- QBCore, ESX und vRP, dazu ein Standalone-Modus, der gar kein Framework braucht, und ein `custom`-Zweig in `bridges/framework.lua` für alles andere. Die Erkennung läuft beim Start und prüft den echten Export. Qbox und ox_core haben keinen eigenen Zweig: Sie laufen über den Standalone- oder Custom-Pfad, nicht über ein getestetes Target.
- Ja, überall, wo es zählt: `ox_lib` für Notifications über `Config.UseOxLib`, `ox_target` für den Interaktions-Prompt, `ox_inventory` für Items und oxmysql als einzige harte Dependency. Nichts davon ist Pflicht außer oxmysql. Keinen eigenen Zweig hat `ox_core` als Framework: Auf einem ox_core-Server läuft die Resource standalone oder über den `custom`-Zweig von `bridges/framework.lua`.
- vRP speichert Kleidungskomponenten und Props, sonst nichts. Es hat kein Feld für Ped-Decorations, Tattoos haben dort also keinen Platz. Auf vRP hält diese Resource den ganzen Charakter stattdessen in ihrer eigenen Tabelle. Praktische Folge: Ein vRP-eigener Skinshop zeigt die Tinte nicht. vRP 2 und vRP 0.5 werden nicht unterstützt, und die Resource sagt das in der Konsole, statt sich still falsch zu verhalten.
- Ja, genau dafür sind sie gebaut. Jede besitzt ihre Hälfte des einen Ped-Decoration-Slots und trägt die anderen nach jedem Redraw wieder ein. Was du nicht tun darfst: die einzelnen Resources und das Bundle `avenida_skin` gleichzeitig laufen lassen. Beide würden je einen eigenen Blip setzen und je eine eigene Kopie desselben Charakters schreiben. Die Resource erkennt die Überschneidung und meldet das beim Start in der Konsole.
- Sie werden gar nicht abgetippt: Jeder Eintrag trägt den Rockstar-Locale-Key, und das Spiel löst ihn in der Sprache des Spielers auf. Deshalb passen die Namen zu dem, was ein Spieler aus dem Story-Modus kennt, in jeder Sprache des Spiels, und deshalb muss nichts gepflegt werden, wenn sich ein Name ändert.
- 0.00ms. Die Interaktionspunkte teilen sich einen Thread, der auf eine Sekunde hochgeht, wenn niemand in der Nähe ist, Blips werden einmal erzeugt, und jeder Session-Thread wird beim Verlassen beendet. Zwischen zwei Kunden läuft nichts.
Was Käufer sagen
5.0 15 verifizierte Bewertungen
ĸιrowdev 🪐 Le script est est excellent rien à dire
Blockerman Very nice support.
Shuntzu_Gamer Very nice support.
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
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 !
Bl4cky 2 Scripts enjoyed by our Players already. The NPCs doing the work on the Tattoos and your Hair add a nice touch which makes it feel more lifely. Stacking Tattoos is a nice feature and the Checkout System of the Barber Shop is unbeatable. (Normally we try to avoid NPCs, this is one of the only times, where it is a nice feature). was also fast and able to help. All in all i am looking forward to new Avenida Scripts
Dominik Love it waiting for more scripts like this
theara the scripts are perfect, and the Tattoo/vending script still remains up to date and compatible.
Billy Bob i love the tattoo script !! it is AMAZING & and the support is the BEST !!!! they made me feel like a friend and not just a customer. Thank you guys!!!
OGDeuceMoney OneState USA Awesome script that works and I had a question that was answered quickly and clear! Thank you
Kikreto Historias RP Best script, best support! Friendly support!!
JACKSON Script de qualité, support rapide et très sympa ! Content de mon achat !
D3DI - Adriaan Dragon3dInteractive The best script 4 tatoos damm it works perfect love it
Mika™ Bullineo Like a good Vine.. we can't like it before taste it ! Quality.. Fast support and friendly !
EMPFOHLEN Avenida TeamCore Skin (3 in 1)
Barbershop, Tattoo-Studio und Kleidungsladen in einer einzigen FiveM-Resource. 1615 Tattoos, jede Kleidungskomponente und jedes Prop, der komplette Bereich für Kopf und Haut, verteilt auf 36 Läden. Eine Oberfläche, eine Kamera, ein Kaufablauf und nur eine Sache, die du auf ESX, QBCore, vRP oder Standalone installierst.
EMPFOHLEN Avenida TeamBarber shop
Ein Barbershop, inszeniert wie eine Szene, mit einer Kamera, die der Spieler wirklich steuert. Der Charakter kommt herein, setzt sich, und der Barber legt los, während eine Orbit-Kamera den Kopf ins Bild rückt. Haare, Bart, Overlays und der komplette Satz an Skin-Details, live am Charakter zu sehen, bevor ein einziger Dollar ausgegeben ist.
EMPFOHLEN Avenida TeamClothing store
Ein Kleidungsladen mit gespeicherten Outfits, Firmen-Garderoben und einem Editor, der den Katalog direkt im Spiel bepreist. Jede Komponente und jedes Prop, Stück für Stück gekauft oder als ganzer Look, mit einem serverseitigen Register, das verhindert, dass jemand etwas trägt, wofür er nie bezahlt hat.