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

Clothing 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.

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
Läden 21 enthalten 15 Sektionen · 4 Masken- und Taschenläden
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 Laden 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.

  • Acht Bridges, je eine Datei

    Framework, Notifications, Interaktion, Kleidung, Inventar, Decorations, Screenshots 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.

  • Der ganze Katalog bleibt offen

    Läden, Sektionen, Preise, Steuer und Rabatt, gesperrte Drawables, VIP-Listen und die Overrides, die der Editor im Spiel schreibt. `config/*.lua`, `locales/*.lua` und `bridges/*.lua` sind escrow-frei und im Betrieb editierbar.

  • Ein Installationsbericht für den Support

    `/avenida_clotheshops_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_clotheshops/ in dein resources-Verzeichnis und füg ensure avenida_clotheshops 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. Admin-Rechte vergeben

    Füg add_ace group.admin avenida_clotheshops.admin allow und add_ace group.admin avenida_clotheshops.vip allow in deine Serverconfig ein. Das erste öffnet den Katalog-Editor, das zweite schaltet frei, was du hinter die VIP-Liste legst.

  4. Den Katalog direkt im Spiel bepreisen

    Setz Config.DevMode.Enabled = true, geh in einen Laden und öffne den Editor. Leg Preise fest, blende aus, was du nicht verkaufst, und reservier für einen Job, was dorthin gehört. Alles landet in config/clothes_overrides.lua. Schalt DevMode danach wieder aus, jede Speicherung wird ohnehin serverseitig erneut geprüft.

  5. Integrationen prüfen

    Setz Config.Debug = true, starte neu und lies die Konsole: Eine Zeile pro Bridge-Kategorie nennt das gewählte Target. Config.Debug steuert nur das Logging und ist nicht der Schalter für den Editor.

02

Schnellstart

Eine Sektion auf drei Arten bepreisen

Jeder Laden deklariert seine Sektionen, und jede Sektion ihren Preismodus. Ein fester Satz für eine ganze Sektion, ein Multiplikator, der spätere Drawables teurer macht, oder eine Tabelle, wenn nur eine Handvoll Teile einen eigenen Preis verdienen.

lua
-- config/clothes_shops.lua
categories = {
    tops = {
        enabled = true,
        price   = { mode = 'fixed', base = 300 },
    },
    pants = {
        enabled = true,
        -- price = base + index * mult
        price   = { mode = 'multiplier', base = 100, mult = 2 },
    },
    mask = {
        enabled = true,
        price   = { mode = 'table', map = { [12] = 900, [45] = 1500 } },
        -- only these drawables are offered
        whitelist = { 12, 45, 51 },
    },
}
03

API-Referenz

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

Client

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

    Das Outfit, das der Spieler trägt, Komponente für Komponente, samt Props. Genau das schreibt der Shop beim Kauf, es deckt sich also immer mit dem, was die Garderobe zeigt.

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

    Wendet ein komplettes Aussehen auf einen Ped an. Ein Outfit leert den Decoration-Slot, deshalb trägt dieser Aufruf danach die Arbeit von Barber und Tattoo wieder ein, statt blanke Haut zurückzulassen.

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

    Wechselt die Kleidung und sonst nichts. Mit temporary auf true gilt das Outfit nur für die Session, genau so soll sich eine Uniform verhalten, die ein Job ausgibt.

Server

  • GetBagStorage
    exports['avenida_clotheshops']:GetBagStorage(sex, drawable) --> { weight, slots } | nil

    Die Kapazität, die ein Rucksack-Drawable mitbringt, Gewicht und Slots, oder nil, wenn das Drawable nichts fasst. Ruf den Export aus deiner Inventory-Resource auf, damit ein gekaufter Rucksack wirklich etwas fasst.

04

Rezepte

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

Ein Laden ist ein Eintrag. Er trägt seinen Anzeigenamen, seine Zahlungsart, sein Währungssymbol, eine optionale Steuer und einen Rabatt auf die Warenkorbsumme und die Sektionen, die er anbietet. Halt den Key stabil: Er ist die Laden-Id, die in Outfits gespeichert wird, und wer ihn umbenennt, nachdem Spieler dort eingekauft haben, zerschießt ihre Daten.

lua
-- config/clothes_shops.lua
Config.Clothes.Shops[22] = {
    name       = 'Ponsonbys - Rockford Hills',
    payment    = 'bank',
    currency   = '$',
    tax        = 0.20,        -- +20% on the cart
    discount   = 0.00,
    outfitMode = true,
    blip = { sprite = 73, color = 4, scale = 0.7, coords = vec3(-708.2, -152.2, 37.4) },
    categories = {
        tops  = { enabled = true, price = { mode = 'fixed', base = 900 } },
        shoes = { enabled = true, price = { mode = 'fixed', base = 450 } },
    },
}
05

Fehlerbehebung

  • Prüf `Config.Clothes.RequireOwnership`. Das Register übernimmt beim ersten Mal, was ein Charakter ohnehin trägt, das Einschalten nimmt also niemandem seine Garderobe weg. Was es ablehnt, ist ein Schreibvorgang für ein Teil ohne Kauf dahinter, und genau das schickt ein manipulierter Client. Wenn eine deiner Resources Spieler in nie gekaufte Teile kleidet, registrier diese Käufe oder setz das Flag auf false.
BEWERTUNGEN

Was Käufer sagen

4.8 5 verifizierte Bewertungen

  • Haldor

    brilliant scripts and great support 10 /10

    Auf Discord ansehen ↗
  • BigOppGrimeyy GangWrld NYC

    10/10 was having a problem and these guys ain't stop till it was fix customer service is great definitely buying again

  • 00hugi

    Super scripts and even better and fast support. Thanks a lot!!

  • reapersrow

    Amazing support from the developers and a smooth script!

  • Necro Huston RP

    Best service Ive ever received! He even helped me fix problems not associated with his script!

Warenkorb
Spirit RP
Discord