
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.
- 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.
/clearbagsrä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
- Ordner
off_clothingstorein deinenresources-Ordner legen. - In die
server.cfg, nach oxmysql, ESX und skinchanger:
ensure oxmysql
ensure es_extended
ensure skinchanger
ensure esx_skin
ensure off_clothingstoreesx_clotheshopoder andere Kleidungsläden an denselben Orten entfernen.
Beim ersten Start legt das Script automatisch an:
- die Tabellen
off_clothing_outfits,off_clothing_bagsundoff_clothing_tattoos - das Item
clothbagin der Tabelleitems, falls es fehlt
Konfiguration
config/settings/config.lua
| Option | Standard | Beschreibung |
|---|---|---|
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.design | 3 | Design der Oberfläche: 1 = Klassisch, 2 = Kassenbon, 3 = Storefront |
blur | true | Hintergrund unscharf, solange das Taschen-Menü offen ist. Der Laden bleibt scharf, weil man dort den eigenen Charakter sieht |
outfitPrice | 250 | Preis pro gespeichertem Outfit (Bargeld), 0 = kostenlos |
maxOutfits | 25 | Max. Outfits pro Charakter |
marker | Scheibe, 3 m | Kreis: type, size (Bereich zum Öffnen), drawDistance, color, alpha |
blip | Symbol 73 | Kartensymbol (enabled, sprite, color, scale) |
locations | 14 Läden | Mitte des Kreises am Boden als vec3 |
barber | an, 7 Standorte | Friseur, siehe unten |
tattoo | an, 6 Standorte | Tattoostudio, 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.
{ icon = 'shoes', label = 'Schuhe', variant = 'shoes_1', color = 'shoes_2', camOffset = vec3(0, 0.9, -0.8) },| Feld | Beschreibung |
|---|---|
icon | bag, chain, earrings, glasses, gloves, hat, jacket, mask, ring, shirt, shoes, shorts, vest, watch oder ein Phosphor-Symbol mit ph- |
label | Name im Laden |
variant / color | skinchanger-Werte für Variante und Stil |
camOffset | Kamera: x = links/rechts, y = Abstand nach vorne, z = Höhe |
config/settings/config.bag.lua – Kleidertasche
| Option | Standard | Beschreibung |
|---|---|---|
enabled | true | false = Kleidertasche komplett aus (kein Item, keine Taschen) |
item | 'clothbag' | Item-Name, wird beim Start in der Tabelle items angelegt |
weight | 1 | Gewicht des Items |
model | 'prop_cs_heist_bag_02' | Objekt der Tasche auf dem Boden |
max | 1 | So viele Taschen darf ein Spieler gleichzeitig abstellen |
distance | 2.0 | Abstand 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.
barber = {
enabled = true,
price = 150,
blip = { enabled = true, sprite = 71, color = 0, scale = 0.8 },
locations = { vec3(-814.3, -183.8, 36.6), ... },
},| Option | Standard | Beschreibung |
|---|---|---|
enabled | true | false = Friseur bzw. Tattoostudio komplett aus |
price | 150 / 500 | Friseur: Preis pro geänderter Kategorie · Tattoostudio: Preis pro Tattoo, 0 = kostenlos |
removePrice | 250 | Nur Tattoostudio: Preis fürs Entfernen eines Tattoos, 0 = kostenlos |
blip | Symbol 71 / 75 | Kartensymbol (enabled, sprite, color, scale) |
locations | 7 / 6 Standorte | Mitte 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.
| Funktion | Seite | Wofür |
|---|---|---|
Notify(source, message, type) | Server | Meldung an einen Spieler (Kleidertasche, /clearbags) |
Notify(message, type) | Client | Meldung auf dem Client (z. B. zu weit weg, kein Freemode-Modell im Tattoostudio) |
HelpNotify(text) | Client | Hinweistext 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
clothbagim 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
| Befehl | Wer | Was passiert |
|---|---|---|
/clearbags | Gruppen aus clearGroups, Server-Konsole | Lö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
| Problem | Lösung |
|---|---|
| Bei E passiert nichts | In der Mitte des Kreises stehen. skinchanger und esx_skin müssen vorher starten. |
| Kreis schwebt oder ist im Boden | Höhe (z) in locations anpassen. |
| Look nach Reconnect weg | Nur Speichern oder Anziehen übernimmt den Look, Verwerfen setzt alles zurück. |
| Kategorie zeigt nur 0 Varianten | Das Teil gibt es für dein Charaktermodell nicht (GTA bzw. Kleidungs-Addons). |
| Tasche ist unsichtbar | model in config/settings/config.bag.lua prüfen, das Objekt muss es in GTA geben. |
Item clothbag fehlt | Konsole prüfen. Wird das Item nicht angelegt, in der Tabelle items von Hand eintragen. |
| [H] Aufheben fehlt | Nur der Besitzer kann aufheben. Andere erst, wenn der Besitzer offline ist. |
| H hebt nichts auf | In 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-Wechsel | Sie 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 Friseur | Bei weiblichen Charakteren ausgeblendet, wie in GTA Online. |
| Friseur-Look nach Reconnect weg | Nur Bezahlen speichert den Look, Abbrechen setzt ihn zurück. |
Noch nicht gekauft?
Clothingstore im Shop ansehen