Das MerchBooth Entwicklermodul erlaubt es Ihnen, Avatar-Assets, Pässe und Entwicklerprodukte direkt innerhalb Ihrer Erfahrung zum Verkauf anzubieten. Spieler können Artikel durchstöbern, Assets auf ihrem eigenen Avatar in der Vorschau ansehen, Artikel kaufen und sie sofort verwenden oder ausrüsten — alles ohne die Erfahrung zu verlassen. Dies kann Ihnen helfen, Ihre Erfahrung zu monetarisieren und Einnahmen durch die 40 % Affiliate-Gebühr zu erzielen, die mit dem Verkauf von Artikeln anderer Creator verbunden ist.
Modulanwendung
Installation
Um das MerchBooth-Modul in einer Erfahrung zu verwenden:
Öffnen Sie das Toolbox aus dem Fenster-Menü von Studio oder der Symbolleiste des Start-Tabs und wählen Sie die Registerkarte Creator Store.

Stellen Sie sicher, dass die Sortierung nach Modellen ausgewählt ist, und klicken Sie dann auf die Schaltfläche Alle ansehen für Kategorien.

Suchen Sie das Kachel Packages und klicken Sie darauf.
Suchen Sie das Modul Merch Booth und klicken Sie darauf oder ziehen Sie es in die 3D-Ansicht.

Verschieben Sie das gesamte MerchBooth-Modell im Explorer-Fenster in ReplicatedStorage. Bei Ausführung der Erfahrung beginnt das Modul mit der Ausführung.
Konfiguration
Das Modul ist vorkonfiguriert, um für die meisten Anwendungsfälle zu funktionieren, kann jedoch leicht über die configure-Funktion angepasst werden. Um beispielsweise ein helleres Thema zu erstellen und die Standard-Filter-Schaltfläche im oberen linken Bereich der Katalogansicht zu deaktivieren:
Erstellen Sie in StarterPlayerScripts ein neues LocalScript und benennen Sie es in ConfigureMerchBooth um.

Fügen Sie den folgenden Code in das neue Skript ein.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({backgroundColor = Color3.fromRGB(220, 210, 200),textSize = 17,textFont = Enum.Font.Fondamento,textColor = Color3.fromRGB(20, 20, 20),useFilters = false})
Artikel hinzufügen
Was ist ein Merch Booth ohne Merch? Die folgenden Abschnitte erläutern, wie Sie Avatar-Assets, Pässe und Entwicklerprodukte zu Ihrem Merch Booth hinzufügen.
Avatar-Assets
Artikel wie Kleidung und Accessoires müssen über ihre Asset-ID hinzugefügt werden, die auf der Detailseite des Artikels im Avatar-Shop zu finden ist.
Erstellen Sie ein Script in ServerScriptService und fügen Sie den folgenden Code ein.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendKopieren Sie die Asset-IDs der Artikel aus der URL des Avatar-Shops. Zum Beispiel ist die ID von Roblox Baseball Cap 607702162.

Fügen Sie jede kopierte ID in eine durch Kommas getrennte Liste innerhalb der items-Tabelle ein. Standardmäßig erscheinen Artikel in der Katalogansicht alphabetisch, aber die Sortierung kann über setCatalogSort angepasst werden.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {607702162, -- Roblox Baseball Cap4819740796, -- Robox1374269, -- Kitty Ears11884330, -- Nerd Glasses10476359, -- Paper Hat}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Pässe
Das Hinzufügen von Pässen erfordert Pass-IDs, die im Creator Dashboard zu finden sind.
Erstellen Sie ein Script innerhalb von ServerScriptService und fügen Sie den folgenden Code ein.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNavigieren Sie zum Creator Dashboard und wählen Sie die Erfahrung aus.
Wählen Sie in der linken Spalte unter Monetarisierung die Pässe aus.
Fahren Sie mit der Maus über das Thumbnail eines Passes, klicken Sie auf die ⋯-Schaltfläche und wählen Sie Asset-ID kopieren aus dem Kontextmenü.

Fügen Sie jede kopierte ID in eine durch Kommas getrennte Liste innerhalb der items-Tabelle ein und fügen Sie Enum.InfoType.GamePass als zweiten Parameter für addItemAsync hinzu, um anzugeben, dass es sich um Pässe handelt. Standardmäßig erscheinen Artikel in der Katalogansicht alphabetisch, aber die Sortierung kann über setCatalogSort angepasst werden.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {4343758, -- ColdFyre Armor28521575, -- Slime Shield}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Entwicklerprodukte
Das Hinzufügen von Entwicklerprodukten erfordert Produkt-IDs, die im Creator Dashboard zu finden sind.
Erstellen Sie ein Script innerhalb von ServerScriptService und fügen Sie den folgenden Code ein.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNavigieren Sie zum Creator Dashboard und wählen Sie die Erfahrung aus.
Wählen Sie in der linken Spalte unter Monetarisierung die Entwicklerprodukte aus.
Fahren Sie mit der Maus über das Thumbnail eines Produkts, klicken Sie auf die ⋯-Schaltfläche und wählen Sie Asset-ID kopieren aus dem Kontextmenü.

Fügen Sie jede kopierte ID in eine durch Kommas getrennte Liste innerhalb der items-Tabelle ein und fügen Sie Enum.InfoType.Product als zweiten Parameter für addItemAsync hinzu, um anzugeben, dass es sich um Entwicklerprodukte handelt. Standardmäßig erscheinen Artikel in der Katalogansicht alphabetisch, aber die Sortierung kann über setCatalogSort angepasst werden.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {1236602053, -- Mana Refill1257880672, -- Healing Potion}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Benutzerdefinierte Katalogschaltfläche
Standardmäßig lässt eine Katalogschaltfläche auf der rechten Seite die Spieler das Booth jederzeit öffnen.

In einigen Fällen kann es nützlich sein, diese Schaltfläche zu entfernen und Ihre eigene zu verbinden:
Erstellen Sie eine neue Schaltfläche, wie im Abschnitt Schaltflächen beschrieben.
Erstellen Sie ein LocalScript als Kind des Schaltflächenobjekts.

Fügen Sie den folgenden Code in das neue Skript ein.
LocalScript - Custom Catalog Buttonlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Entfernen Sie die Standard-KatalogschaltflächeMerchBooth.toggleCatalogButton(false)-- Verbinden Sie die benutzerdefinierte Schaltflächescript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Kaufbare Bereiche
Ein hilfreicher Weg, um Käufe in Ihrer Erfahrung zu fördern, besteht darin, den Merch Booth automatisch anzuzeigen, wenn ein Spieler einen Bereich betritt.
So erstellen Sie einen kaufbaren Bereich:
Erstellen Sie einen Anchored-Block, der den Erkennungsbereich umfasst. Stellen Sie sicher, dass der Block hoch genug ist, um mit dem PrimaryPart von Charaktermodellen (Standardmäßig HumanoidRootPart) zu kollidieren.

Block zur Erkennung, wenn Spieler sich der Vorderseite des Shopzählers nähern Wenden Sie mithilfe des Tags-Abschnitts der Eigenschaften des Blocks das Tag ShopRegion auf den Block an, damit CollectionService dies erkennt.
Setzen Sie die Transparency des Teils auf den maximalen Wert, um ihn für Spieler in der Erfahrung zu verbergen. Deaktivieren Sie auch die Eigenschaften CanCollide und CanQuery, damit Objekte nicht physisch mit ihm kollidieren und Strahlen nicht erkannt werden.


Fügen Sie ein neues LocalScript unter StarterPlayerScripts hinzu.

Fügen Sie im neuen Skript den folgenden Code ein, der die Ereignisse Touched und TouchEnded verwendet, um zu erkennen, wann Charaktere den Bereich betreten/verlassen, und ruft openMerchBooth und closeMerchBooth auf, um die Booth-GUI zu öffnen/zu schließen.
LocalScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Entfernen Sie die Standard-KatalogschaltflächeMerchBooth.toggleCatalogButton(false)local function setupRegion(region: BasePart)region.Touched:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenMerchBooth.openMerchBooth()endend)region.TouchEnded:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenMerchBooth.closeMerchBooth()endend)end-- Durch vorhandene markierte Shopregionen iterierenfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- erkennen, wenn nicht gestreamte Shopregionen hereinkommenCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Proximitätsaufforderungen
Als Alternative zur 2D-Katalogansicht können Sie Proximitätsaufforderungen über Objekte in der Erfahrung hinzufügen. Dies ermutigt die Spieler, Artikel in der 3D-Umgebung zu entdecken, sie auf ihrem eigenen Avatar in der Vorschau anzusehen, sie zu erwerben und sie sofort auszurüsten. Siehe addProximityButton für Details.
Ändern Sie den Ausstattungs-Effekt
Standardmäßig zeigt der Merch Booth einen generischen Funkeneffekt, wenn ein Spieler einen Artikel davon ausstattet. Um den Effekt zu ändern, setzen Sie particleEmitterTemplate auf Ihre eigene Instanz eines ParticleEmitter in einem configure-Aufruf.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local myParticleEmitter = Instance.new("ParticleEmitter")myParticleEmitter.SpreadAngle = Vector2.new(22, 22)myParticleEmitter.Lifetime = NumberRange.new(0.5, 1.5)myParticleEmitter.Shape = Enum.ParticleEmitterShape.SpheremyParticleEmitter.Transparency = NumberSequence.new(0, 1)myParticleEmitter.RotSpeed = NumberRange.new(200, 200)MerchBooth.configure({particleEmitterTemplate = myParticleEmitter})
GUI-Sichtbarkeit
Standardmäßig blendet der Merch Booth alle ScreenGuis und CoreGuis aus, wenn seine UI erscheint, einschließlich des Chats, der Bestenliste und anderer von Roblox bereitgestellter Elemente. Wenn Sie dieses Verhalten deaktivieren möchten, setzen Sie hideOtherUis auf false in einem configure-Aufruf.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({hideOtherUis = false})
Charakterbewegung
Es kann von Vorteil sein, zu verhindern, dass sich ein Charakter bewegt, während er sich im Merch Booth befindet. Dies kann erreicht werden, indem disableCharacterMovement auf true in einem configure-Aufruf gesetzt wird.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({disableCharacterMovement = true})
API-Referenz
Typen
Artikel
Artikel im Merch Booth werden durch ein Wörterbuch mit den folgenden Schlüssel-Wert-Paaren repräsentiert. Artikel können durch die getItems-Funktion oder das itemAdded-Ereignis gesammelt werden.
| Schlüssel | Typ | Beschreibung |
|---|---|---|
| assetId | number | Katalog-ID des Artikels, wie sie an addItemAsync übergeben wird. |
| title | string | Artikelbezeichnung, wie sie im Katalog erscheint. |
| price | number | Artikelpreis in Robux. |
| description | string | Artikelbeschreibung, wie sie im Katalog erscheint. |
| assetType | string | String, der den Typ des Accessoires des Artikels repräsentiert. |
| isOwned | bool | Ob der aktuelle Spieler den Artikel besitzt. |
| creatorName | string | Artikelcreator, wie er im Katalog angezeigt wird. |
| creatorType | Enum.CreatorType | Creator-Typ des Artikels. |
Enums
MerchBooth.Controls
Verwendet zusammen mit setControlKeyCodes, um die Tasten und Gamepad-Tasten für die Interaktion mit dem Merch Booth anzupassen.
| Name | Zusammenfassung |
|---|---|
| ProximityPrompts | Schlüssel und/oder Gamepad-Taste, um die Artikelansicht zu öffnen, wenn Proximitätsaufforderungen konfiguriert sind. |
| OpenMerchBooth | Schlüssel und/oder Gamepad-Taste, um den Merch Booth zu öffnen. |
| CloseMerchBooth | Schlüssel und/oder Gamepad-Taste, um den Merch Booth zu schließen. |
| Filter | Schlüssel und/oder Gamepad-Taste, um die Standard-Filter-Auswahl im oberen linken Bereich der Katalogansicht zu verwenden. |
| ViewItem | Schlüssel und/oder Gamepad-Taste, um eine spezifische Artikelansicht im Merch Booth zu öffnen. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Funktionen
configure
configure(config: table)
Überschreibt die Standardkonfigurationsoptionen für den Client über die folgenden Schlüssel/Werte in der config-Tabelle. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
| Schlüssel | Beschreibung | Standard |
|---|---|---|
| backgroundColor | Haupt-Hintergrundfarbe des Fensters (Color3). | [0, 0, 0] |
| cornerRadius | Eckenradius für das Hauptfenster (UDim). | (0, 16) |
| cornerRadiusSmall | Eckenradius für Elemente innerhalb des Fensters (UDim). | (0, 8) |
| textFont | Schriftart des „Haupttextes“, wie Preise, Beschreibungen und andere allgemeine Informationen (Enum.Font). | Gotham |
| textSize | Größe des Haupttextes. | 14 |
| textColor | Farbe des Haupttextes (Color3). | [255, 255, 255] |
| secondaryTextColor | Farbe, die für einige Variationen des Haupttextes verwendet wird (Color3). | [153, 153, 158] |
| headerFont | Schriftart des Kopfzeilentextes, die für den Fenstertitel verwendet wird (Enum.Font). | GothamMedium |
| headerTextSize | Größe des Kopfzeilentextes, der für den Fenstertitel verwendet wird. | 18 |
| titleFont | Schriftart des Titeltextes, der für Artikelnamen auf der Detailseite verwendet wird (Enum.Font). | GothamBold |
| titleTextSize | Größe des Titeltextes, der für Artikelnamen auf der Detailseite verwendet wird. | 28 |
| buttonColor | Hintergrundfarbe für größere Schaltflächen im klickbaren Zustand, wie die Hauptkauftaste in der Artikelansicht (Color3). | [255, 255, 255] |
| buttonTextColor | Textfarbe für größere Schaltflächen im klickbaren Zustand, wie die Hauptkauftaste in der Artikelansicht (Color3). | [0, 0, 0] |
| secondaryButtonColor | Hintergrundfarbe für kleinere Schaltflächen wie die Preisschaltflächen in der Katalogansicht oder die Anprobieren-Schaltfläche (Color3). | [34, 34, 34] |
| secondaryButtonTextColor | Textfarbe für kleinere Schaltflächen wie die Preisschaltflächen in der Katalogansicht oder die Anprobieren-Schaltfläche (Color3). | [255, 255, 255] |
| inactiveButtonColor | Hintergrundfarbe für alle Schaltflächen im nicht klickbaren Zustand (Color3). | [153, 153, 158] |
| inactiveButtonTextColor | Textfarbe für alle Schaltflächen im nicht klickbaren Zustand (Color3). | [255, 255, 255] |
| particleEmitterTemplate | Optionale benutzerdefinierte ParticleEmitter-Instanz, die erscheint und beim Ausstatten abgespielt wird. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({backgroundColor = Color3.fromRGB(255, 255, 255),textSize = 16,textFont = Enum.Font.Roboto,textColor = Color3.fromRGB(20, 20, 20),hideOtherUis = false,})
addItemAsync
addItemAsync(assetId: number, productType: Enum.InfoType, hideFromCatalog: boolean)
Fügt asynchron einen Artikel zum Merch Booth hinzu, sodass er für den Kauf in der Erfahrung berechtigt ist. assetId ist die Asset-ID des Artikels, productType ist das Enum.InfoType-Enum des Artikels, und hideFromCatalog kann verwendet werden, um den Artikel in der Katalogansicht auszublenden.
Siehe Artikel hinzufügen für Details, da die Verwendung leicht unterschiedlich für Assets im Vergleich zu Spielpässen oder Entwicklerprodukten ist.
Script - Add Avatar Assets
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
607702162, -- Roblox Baseball Cap
4819740796, -- Robox
1374269, -- Kitty Ears
11884330, -- Nerd Glasses
10476359, -- Paper Hat
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Add Passes
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
4343758, -- ColdFyre Armor
28521575, -- Slime Shield
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)
end)
if not success then
warn(errorMessage)
end
end
Script - Add Developer Products
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
1236602053, -- Mana Refill
1257880672, -- Healing Potion
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)
end)
if not success then
warn(errorMessage)
end
end
getItems
getItems(): table
Gibt ein Wörterbuch zurück, das alle derzeit registrierten Artikel darstellt. Jeder Schlüssel ist die Asset-ID eines Artikels als Zeichenfolge, und jeder Wert des Schlüssels ist ein Artikel. Diese Funktion kann nur von einem Script aufgerufen werden.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local items = MerchBooth.getItems()
print(items)
end
removeItem
removeItem(assetId: number)
Registriert einen zuvor mit addItemAsync hinzugefügten Artikel ab und entfernt dessen Kachel in der Katalogansicht sowie alle Proximitätsaufforderungen, die ihm zugewiesen sind. Diese Funktion kann nur von einem Script aufgerufen werden.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Nach einiger Zeit, entferne den Artikel
task.wait(5)
MerchBooth.removeItem(4819740796)
end
addProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
Fügt eine Proximitätsaufforderung über dem gegebenen adornee hinzu, die die Anzeige der Kaufansicht eines Artikels auslöst, gegeben dessen Asset-ID. Dies kann als Alternative zur 2D-Katalogansicht verwendet werden, um die Spieler dazu zu ermutigen, Artikel in der 3D-Umgebung zu entdecken.
Beachten Sie, dass ein Artikel über addItemAsync hinzugefügt werden muss, bevor eine Proximitäts-Schaltfläche ihm zugewiesen werden kann. Siehe auch removeProximityButton, um die Proximitätsaufforderung von einem Objekt zu entfernen.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local item = Workspace:FindFirstChild("Robox")
if item then
MerchBooth.addProximityButton(item, 4819740796)
end
end
removeProximityButton
removeProximityButton(adornee: BasePart|Model|Attachment)
Entfernt eine Proximitätsaufforderung, die über addProximityButton generiert wurde. Diese Funktion kann nur von einem Script aufgerufen werden.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local item = Workspace:FindFirstChild("Robox")
if item then
MerchBooth.addProximityButton(item, 4819740796)
end
-- Nach einiger Zeit, entfernen Sie die Aufforderung
task.wait(5)
MerchBooth.removeProximityButton(item)
end
setCatalogSort
setCatalogSort(sortFunction: function): boolean
Setzt die Sortierfunktion sortFunction, die in der Katalogansicht verwendet werden soll. Die bereitgestellte Sortierfunktion kann Logik basierend auf den Artikel-Informationen wie price oder title verwenden. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
Hier sind einige Beispiele für die Sortierung des Katalogs:
Preis niedrig bis hoch
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Preis hoch bis niedrig
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Preis niedrig bis hoch & alphabetisch
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return if a.price == b.price then a.title < b.title else a.price < b.price
end)
setControlKeyCodes
setControlKeyCodes(control: MerchBooth.Controls, keyCodes: table)
Konfiguriert die Schlüssel- und Tastenwerte für die Interaktionen mit dem Merch Booth. Der erste Parameter muss ein MerchBooth.Controls-Enum und der zweite Parameter eine Tabelle mit den Schlüsseln keyboard und/oder gamepad mit den entsprechenden Enum.KeyCode-Enums sein.
| Enum (control) | Standard keyCodes-Tasten/Werte |
|---|---|
| MerchBooth.Controls.ProximityPrompts | keyboard = Enum.KeyCode.E gamepad = Enum.KeyCode.ButtonY |
| MerchBooth.Controls.OpenMerchBooth | gamepad = Enum.KeyCode.ButtonY |
| MerchBooth.Controls.CloseMerchBooth | gamepad = Enum.KeyCode.ButtonB |
| MerchBooth.Controls.Filter | gamepad = Enum.KeyCode.ButtonX |
| MerchBooth.Controls.ViewItem | gamepad = Enum.KeyCode.ButtonA |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
openMerchBooth
openMerchBooth()
Öffnet das Merch Booth-Fenster (wenn es geschlossen ist) und navigiert zur Katalogansicht. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
MerchBooth.openMerchBooth()
openItemView
openItemView(itemId: number)
Navigiert zur Einzelartikelansicht des angegebenen itemId, öffnet das Merch Booth-Fenster, falls es derzeit geschlossen ist. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
end
toggleCatalogButton
toggleCatalogButton(enabled: boolean)
Schaltet die Katalogschaltfläche auf der rechten Seite des Bildschirms an/aus. Dies ist nützlich, wenn Sie eine benutzerdefinierte Schaltfläche implementieren oder das Erscheinen des Merch Booths auf Bereiche oder Proximitätsaufforderungen beschränken möchten. Kann nur von einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.toggleCatalogButton(false)
isMerchBoothOpen
isMerchBoothOpen(): Tuple
Gibt true zurück, wenn entweder der Katalog oder die Artikelansicht geöffnet ist. Wenn die Artikelansicht geöffnet ist, wird die Asset-ID des Artikels als zweiter Wert zurückgegeben. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
local isOpen, itemId = MerchBooth.isMerchBoothOpen()
print(isOpen, itemId)
end
closeMerchBooth
closeMerchBooth()
Schließt das Merch Booth-Fenster. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.closeMerchBooth()
isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Diese Funktion kann zusammen mit setEnabled verwendet werden, um zu überprüfen, ob der Merch Booth derzeit aktiviert ist oder nicht. Kann nur von einem LocalScript aufgerufen werden.
setEnabled
setEnabled(enabled: boolean)
Legt fest, ob der gesamte Merch Booth aktiviert oder deaktiviert ist oder nicht. Wenn deaktiviert, entfernt diese Funktion die gesamte UI, einschließlich Proximitätsaufforderungen, und trennt alle Ereignisse. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Ereignisse
itemAdded
Ereignet sich, wenn ein Artikel über addItemAsync hinzugefügt wird. Dieses Ereignis kann nur in einem Script verbunden werden.
| Parameter | |
|---|---|
| assetId: number | Asset-ID des Artikels. |
| itemInfo: table | Wörterbuch der Artikel-Informationen wie price oder title. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Artikel mit der Asset-ID", assetId, "hinzugefügt.")
print(itemInfo)
end)
itemRemoved
Ereignet sich, wenn ein Artikel über removeItem entfernt wird. Dieses Ereignis kann nur in einem Script verbunden werden.
| Parameter | |
|---|---|
| assetId: number | Asset-ID des Artikels. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemRemoved:Connect(function(assetId)
print("Artikel mit der Asset-ID", assetId, "entfernt.")
end)
merchBoothOpened
Ereignet sich, wenn entweder die Katalog-oder die Artikelansicht geöffnet wird.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothOpened:Connect(function()
print("Booth-Ansicht geöffnet.")
end)
merchBoothClosed
Ereignet sich, wenn entweder die Katalog-oder die Artikelansicht geschlossen wird.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothClosed:Connect(function()
print("Booth-Ansicht geschlossen.")
end)
catalogViewOpened
Ereignet sich, wenn die Katalogansicht geöffnet wird.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewOpened:Connect(function()
print("Katalogansicht geöffnet.")
end)
catalogViewClosed
Ereignet sich, wenn die Katalogansicht geschlossen wird.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewClosed:Connect(function()
print("Katalogansicht geschlossen.")
end)
itemViewOpened
Ereignet sich, wenn die Artikelansicht geöffnet wird.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewOpened:Connect(function()
print("Artikelansicht geöffnet.")
end)
itemViewClosed
Ereignet sich, wenn die Artikelansicht geschlossen wird.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewClosed:Connect(function()
print("Artikelansicht geschlossen.")
end)