Zum Inhalt springen
Alle Dokumentationen

Clothingstore

Kleidungsladen mit Live-Vorschau: Spieler ändern ihre Kleidung, speichern Looks gegen Bargeld als Outfit und teilen sie mit anderen. Mit der Kleidertasche ziehen sie ihre Outfits auch unterwegs an. Dazu kommen ein Friseur und ein Tattoostudio mit eigenen Standorten, Blips und Menüs.

Voraussetzungen
  • ESX Legacy (es_extended)
  • oxmysql
  • skinchanger und esx_skin (bei ESX Legacy dabei)
  • OneSync (Pflicht)
  • Für die Kleidertasche: ein Inventar mit ESX-Items (Tabelle items), z. B. off_inventory

Funktionen

  • Live-Vorschau mit Kamera am passenden Körperteil. Ziehen dreht den Charakter, das Mausrad zoomt.
  • 14 Kategorien mit Variante und Stil.
  • Outfits pro Charakter gegen einen festen Preis speichern, anziehen, umbenennen, teilen und löschen.
  • Geteilt: Outfits anderer Spieler kostenlos anziehen (die 100 neuesten).
  • Kleidertasche (Item clothbag): auf den Boden stellen und dort die eigenen Outfits anziehen.
  • Jeder sieht die Tasche und kann sie benutzen.
  • Aufheben kann sie nur der Besitzer. Ist er offline, kann sie jeder aufheben.
  • Abgestellte Taschen bleiben auch nach einem Neustart liegen.
  • /clearbags räumt alle abgestellten Taschen auf.
  • Friseur mit Live-Vorschau und Kamera am Kopf:
  • alle Frisuren und Varianten des Charaktermodells, alle Haarfarben mit Strähnchen
  • Bart, Augenbrauen, Brusthaar, Make-up, Rouge und Lippenstift mit Form, Deckkraft und Farbe (Bart und Brusthaar nur bei männlichen Charakteren)
  • Bezahlt wird pro geänderter Kategorie. Abbrechen setzt den alten Look zurück.
  • Tattoostudio mit allen GTA-Tattoos inklusive DLCs, direkt aus dem Spiel gelesen:
  • sortiert nach Kopf, Oberkörper, Armen und Beinen, mit Suche und Filter Meine
  • Vorschau am Charakter, stechen und entfernen gegen einen festen Preis
  • pro Charakter gespeichert und nach dem Einloggen, Respawn und jedem Skin-Wechsel automatisch wieder aufgetragen
  • Friseur und Tattoostudio ziehen erst Bargeld ab, den Rest von der Bank.

Installation

  1. Ordner off_clothingstore in deinen resources-Ordner legen.
  2. In die server.cfg, nach oxmysql, ESX und skinchanger:
cfg
ensure oxmysql
ensure es_extended
ensure skinchanger
ensure esx_skin
ensure off_clothingstore
  1. esx_clotheshop oder andere Kleidungsläden an denselben Orten entfernen.

Beim ersten Start legt das Script automatisch an:

  • die Tabellen off_clothing_outfits, off_clothing_bags und off_clothing_tattoos
  • das Item clothbag in der Tabelle items, falls es fehlt

Konfiguration

config/settings/config.lua

OptionStandardBeschreibung
serverInfo.name'OFF SCRIPTS'Servername, steht in der Oberfläche statt „OFF SCRIPTS“
serverInfo.locale'de'Sprache: de, en, pl, fr, es, it oder nl
serverInfo.color{ 155, 89, 255 }Farbe der UI (RGB)
serverInfo.design3Design der Oberfläche: 1 = Klassisch, 2 = Kassenbon, 3 = Storefront
blurtrueHintergrund unscharf, solange das Taschen-Menü offen ist. Der Laden bleibt scharf, weil man dort den eigenen Charakter sieht
outfitPrice250Preis pro gespeichertem Outfit (Bargeld), 0 = kostenlos
maxOutfits25Max. Outfits pro Charakter
markerScheibe, 3 mKreis: type, size (Bereich zum Öffnen), drawDistance, color, alpha
blipSymbol 73Kartensymbol (enabled, sprite, color, scale)
locations14 LädenMitte des Kreises am Boden als vec3
barberan, 7 StandorteFriseur, siehe unten
tattooan, 6 StandorteTattoostudio, siehe unten

config/settings/config.categories.lua – Kategorien

Nur diese Kategorien erscheinen im Laden und nur sie werden in Outfits gespeichert, in der Reihenfolge der Datei.

lua
{ icon = 'shoes', label = 'Schuhe', variant = 'shoes_1', color = 'shoes_2', camOffset = vec3(0, 0.9, -0.8) },
FeldBeschreibung
iconbag, chain, earrings, glasses, gloves, hat, jacket, mask, ring, shirt, shoes, shorts, vest, watch oder ein Phosphor-Symbol mit ph-
labelName im Laden
variant / colorskinchanger-Werte für Variante und Stil
camOffsetKamera: x = links/rechts, y = Abstand nach vorne, z = Höhe

config/settings/config.bag.lua – Kleidertasche

OptionStandardBeschreibung
enabledtruefalse = Kleidertasche komplett aus (kein Item, keine Taschen)
item'clothbag'Item-Name, wird beim Start in der Tabelle items angelegt
weight1Gewicht des Items
model'prop_cs_heist_bag_02'Objekt der Tasche auf dem Boden
max1So viele Taschen darf ein Spieler gleichzeitig abstellen
distance2.0Abstand in Metern zum Benutzen und Aufheben
clearCommand'clearbags'Befehl, der alle abgestellten Taschen löscht, '' = aus
clearGroups{ 'projektleitung' }Gruppen, die den Befehl nutzen dürfen (Server-Konsole immer)

Mit enabled = false bleiben abgestellte Taschen in der Datenbank. Sie sind wieder da, sobald die Tasche eingeschaltet wird.

config/settings/config.lua – Friseur und Tattoostudio

Beide haben eigene Standorte und Blips, der Kreis (marker) ist derselbe wie beim Laden.

lua
barber = {
  enabled = true,
  price = 150,
  blip = { enabled = true, sprite = 71, color = 0, scale = 0.8 },
  locations = { vec3(-814.3, -183.8, 36.6), ... },
},
OptionStandardBeschreibung
enabledtruefalse = Friseur bzw. Tattoostudio komplett aus
price150 / 500Friseur: Preis pro geänderter Kategorie · Tattoostudio: Preis pro Tattoo, 0 = kostenlos
removePrice250Nur Tattoostudio: Preis fürs Entfernen eines Tattoos, 0 = kostenlos
blipSymbol 71 / 75Kartensymbol (enabled, sprite, color, scale)
locations7 / 6 StandorteMitte des Kreises am Boden als vec3

Bezahlt wird erst mit Bargeld, der Rest von der Bank. Die Preise stehen nur auf dem Server, der Client kann sie nicht ändern. Tattoos werden in der Tabelle off_clothing_tattoos gespeichert, höchstens 100 pro Charakter.

config/functions.lua

Hier bindest du eigene Scripts an.

FunktionSeiteWofür
Notify(source, message, type)ServerMeldung an einen Spieler (Kleidertasche, /clearbags)
Notify(message, type)ClientMeldung auf dem Client (z. B. zu weit weg, kein Freemode-Modell im Tattoostudio)
HelpNotify(text)ClientHinweistext im Kreis vor Laden, Friseur und Tattoostudio (Standard: ESX.ShowHelpNotification)

Die Server-Version schickt die Meldung direkt über ESX. Nutzt du ein eigenes Notify-Script, passe beide Notify-Funktionen an.

Sprachen

Alle Texte stehen in config/locales/<sprache>.json, Währung und Zahlenformat unter ui (currency, intl). Für eine eigene Sprache eine Datei kopieren, übersetzen und serverInfo.locale setzen. Platzhalter wie %d und {price} müssen drin bleiben. Die Kategorienamen stehen in config/settings/config.categories.lua (label). Die Namen der Friseur-Kategorien und Körperzonen stehen unter ui.barber.groups und ui.tattoo.zones, die Tattoo-Namen kommen aus GTA in der Spielsprache.

Im Spiel

Laden

Im Kreis vor dem Laden E drücken, EXIT oder ESC schließt.

  • Kleidung: Teile ändern und als Outfit speichern.
  • Gespeichert: eigene Outfits anziehen, umbenennen, teilen und löschen.
  • Geteilt: Outfits anderer Spieler anziehen.

Kleidertasche

  • Abstellen: Item clothbag im Inventar benutzen, die Tasche wird vor dir auf den Boden gestellt. Das geht nicht im Fahrzeug, im Tod oder in einer anderen Dimension.
  • Über der Tasche steht [E] Benutzen. Der Besitzer sieht zusätzlich [H] Aufheben. Ist der Besitzer offline, sehen alle [H] Aufheben.
  • E öffnet links eine Liste deiner gespeicherten Outfits. Anziehen zieht das Outfit an, die Liste bleibt dabei offen. ESC oder EXIT schließt sie, ebenso wenn du dich entfernst.
  • H legt die Tasche zurück in dein Inventar. Die Taste lässt sich in den FiveM-Tastenbelegungen ändern.

Friseur

Im Kreis vor dem Friseur E drücken. Hut und Maske werden für die Vorschau abgenommen, die Kamera zeigt den Kopf.

  • Oben die Kategorie wählen: Haare, Bart, Augenbrauen, Brusthaar, Make-up, Rouge oder Lippenstift.
  • Form und Variante mit den Pfeilen oder per Klick auf die Zahl ändern, Deckkraft mit dem Regler, Farbe und Strähnchen in der Farbpalette.
  • Ziehen dreht den Charakter, das Mausrad zoomt.
  • Bezahlen zeigt die Kosten (Preis × geänderte Kategorien) und speichert den Look. Abbrechen, EXIT oder ESC setzt alles zurück, was noch nicht bezahlt ist.

Tattoostudio

Im Kreis vor dem Studio E drücken. Der Charakter wird für die Vorschau ausgezogen, beim Verlassen ist die Kleidung wieder da.

  • Oben die Zone wählen, die Kamera fährt dorthin. Die Zahl zeigt gestochene / alle Tattoos der Zone.
  • Ein Klick auf ein Tattoo zeigt es zur Vorschau am Charakter, noch ein Klick blendet es aus. Tattoo suchen filtert nach Namen, Meine zeigt nur gestochene.
  • Stechen kauft das Tattoo, Entfernen nimmt ein gestochenes Tattoo gegen den Preis fürs Entfernen wieder ab.
  • Fertig, EXIT oder ESC schließt das Studio.

Befehle

BefehlWerWas passiert
/clearbagsGruppen aus clearGroups, Server-KonsoleLöscht alle abgestellten Taschen. Besitzer, die online sind, bekommen ihr Item zurück. Taschen von Offline-Spielern werden nur gelöscht.

Konsole

Beim Start prüft das Script die Einrichtung und meldet Fehler und Hinweise in der Server-Konsole. Ist alles in Ordnung, steht dort „wurde erfolgreich gestartet“. Fehlt diese Meldung, die Fehler darüber lesen, beheben und neu starten. Wird das Item clothbag neu angelegt, meldet die Konsole das ebenfalls. Ist der Friseur oder das Tattoostudio an, aber ohne locations, erscheint eine Warnung.

Häufige Fehler

ProblemLösung
Bei E passiert nichtsIn der Mitte des Kreises stehen. skinchanger und esx_skin müssen vorher starten.
Kreis schwebt oder ist im BodenHöhe (z) in locations anpassen.
Look nach Reconnect wegNur Speichern oder Anziehen übernimmt den Look, Verwerfen setzt alles zurück.
Kategorie zeigt nur 0 VariantenDas Teil gibt es für dein Charaktermodell nicht (GTA bzw. Kleidungs-Addons).
Tasche ist unsichtbarmodel in config/settings/config.bag.lua prüfen, das Objekt muss es in GTA geben.
Item clothbag fehltKonsole prüfen. Wird das Item nicht angelegt, in der Tabelle items von Hand eintragen.
[H] Aufheben fehltNur der Besitzer kann aufheben. Andere erst, wenn der Besitzer offline ist.
H hebt nichts aufIn den FiveM-Tastenbelegungen bei „Kleidertasche aufheben“ prüfen, ob eine andere Taste gesetzt ist.
„Du hast schon eine Tasche abgestellt.“Erst die eigene Tasche aufheben oder max erhöhen.
Tattoos fehlen nach einem Skin-WechselSie werden kurz danach automatisch neu aufgetragen. Keine anderen Scripts nutzen, die selbst Tattoos setzen.
„Tattoos gibt es nur für normale Charaktere“Nur mp_m_freemode_01 und mp_f_freemode_01 haben Tattoos.
Bart und Brusthaar fehlen beim FriseurBei weiblichen Charakteren ausgeblendet, wie in GTA Online.
Friseur-Look nach Reconnect wegNur Bezahlen speichert den Look, Abbrechen setzt ihn zurück.