Das MerchBooth-Entwicklermodul bietet Ihnen die Möglichkeit, Avatar-Assets , 2> Pässe2> und 5> Entwicklerprodukte5> direkt in Ihrem Erlebnis anzubieten. Spieler können Elemente durchsuc
Modul-Einsatz
Installation
Um das MerchBooth-Modul in einem Erlebnis zu verwenden:
Von der Ansicht-Registerkarte öffnen Sie die Werkzeugkiste und wählen Sie die Creator-Store -Registerkarte.
Stellen Sie sicher, dass die Models Sortierung ausgewählt ist, dann klicken Sie auf die Alle anzeigen Schaltfläche für Kategorien .
Suchen Sie die Dev-Module -Kachel und klicken Sie darauf.
Suchen Sie das Merch Booth -Modul und klicken Sie darauf, oder ziehen Sie es in die 3D-Ansicht.
In dem Explorer-Fenster bewegen Sie das gesamte MerchBooth-Modell in ServerScriptService . Nach dem Laufen der Erlebniswird das Modul auf verschiedene Dienste verteilt und beginnt zu laufen.
Konfiguration
Das Modul ist voreingestellt, um für die meisten Anwendungsfälle zu arbeiten, aber es kann leicht über die Konfigurieren-Funktion anpassen werden. Zum Beispiel, um ein helleres Thema zu erstellen und den Standard Filter -Button in der oberen linken Ecke des Katalog-Ansichtsfensters zu deaktivieren:
In StarterPlayerScripts erstellen Sie ein neues LocalScript und benennen Sie es zu Konfigurieren Sie MerchBooth um.
Fügen Sie den folgenden Code in das neue Skript, das. PL: die Skriptsein.
Lokales Skript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({backgroundColor = Color3.fromRGB(220, 210, 200),textSize = 17,textFont = Enum.Font.Fondamento,textColor = Color3.fromRGB(20, 20, 20),useFilters = false})
Gegenstände hinzufügen
Was ist ein Merch-Stand ohne Merch? Die folgenden Abschnitte erklären, wie Sie Avatar-Assets, Pässe und Entwicklerprodukte zu Ihrem Merch-Stand hinzufügen.
Avatar-Assets
Gegenstände wie Kleidung und Zubehör müssen durch ihre Asset-ID , die sich auf der Detailseite des Artikelim Avatar-Shop befindet, hinzugefügt werden.
Erstellen Sie ein Script innerhalb von ServerScriptService und fügen Sie den folgenden Codesein.
Script - Avatar-Assets hinzufügenlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendKopiere die Element-IDs von der Avatar-Shop-Website-URL. Zum Beispiel ist die ID von Roblox Baseball Cap607702162 .
Fügen Sie jede kopierte ID in eine Kombinationsliste innerhalb der items Tabelle ein. Standardmäßig erscheinen die Elemente in der Katalogansicht in alphabetischer Reihenfolge, aber Sie können die Sortierung anpassen, indem Sie setCatalogSort verwenden.
Script - Avatar-Assets hinzufügenlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Roblox-Baseballkappe4819740796, -- Robox1374269, -- Kätzchenohren11884330, -- Nerd-Brille10476359, -- Papierhut}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 in dem Creator-Dashboard liegen können.
Erstellen Sie ein Script innerhalb von ServerScriptService und fügen Sie den folgenden Codesein.
Skript - Pässe hinzufügenlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNavigiere zum Creator-Dashboard und wähle die Erlebnisaus.
In der linken Spalte, unter Monetarisierung , wählen Sie Pässe .
Klicken Sie auf die Schaltfläche ⋯ für einen Pass und wählen Sie Asset-ID kopieren .
Fügen Sie jede kopierte ID in eine Kombination von Kommas innerhalb der items Tabelle und enthalten Sie Enum.InfoType.GamePass als zweiten Parallelbereich für 1> addItemAsync1> zum Indizieren der Elemente. Standardmäßig erscheinen die Elemente im Katalogansicht in alphabetischer Reihenfolge, aber die Sortierung
Skript - Pässe hinzufügenlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- ColdFyre-Rüstung28521575, -- Schleim-Schild}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 in dem Creator-Dashboard zu finden sind.
Erstellen Sie ein Script innerhalb von ServerScriptService und fügen Sie den folgenden Codesein.
Script - Entwicklerprodukte hinzufügenlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNavigiere zum Creator-Dashboard und wähle die Erlebnisaus.
In der linken Spalte, unter Monetarisierung , wählen Sie Entwicklerprodukte .
Klicken Sie auf die Schaltfläche ⋯ für ein Produkt und wählen Sie Kopieren Asset-ID .
Fügen Sie jede kopierte ID in eine komma-delimited-Liste innerhalb der items Tabelle und enthalten Sie Enum.InfoType.Product als zweiten Parallel參數 für 1> addItemAsync1> , um anzuzeigen, dass die Elemente Entwicklerprodukte sind。 Standardmäßig erscheinen die Elemente in der Katalogans
Script - Entwicklerprodukte hinzufügenlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Mana-Auffüllung1257880672, -- Heiltrank}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Benutzerdefinierte Katalog-Schaltfläche
Standardmäßig ermöglicht eine rechte Katalog-Schaltfläche , Spieler, die Booth jederzeit öffnen können.
In einigen Fällen kann es sinnvoll sein, diese Schaltfläche zu entfernen und Ihre besitzenzu verbinden:
Erstellen Sie einen neuen Button, wie in Buttons beschrieben.
Erstellen Sie ein LocalScript als Kind des Buttons-Objekts.
Fügen Sie den folgenden Code in das neue Skript, das. PL: die Skriptsein.
LocalScript - Benutzerdefinierte Katalog-Schaltflächelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Entfernen Sie die Standard-Katalog-SchaltflächeMerchBooth.toggleCatalogButton(false)-- Verbinde den benutzerdefinierten Buttonscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Shoppable Regionen
Ein hilfreiches Fahrzeug für den Umsatz in deiner Erfahrung ist es, den Merch-Stand automatisch anzuzeigen, wenn ein Spieler einen Bereich betritt.
Um einen shoppable Region zu erstellen:
Erstellen Sie einen Anchored Block, der die Entdeckungsregion umfasst. Stellen Sie sicher, dass der Block hoch genug ist, um mit dem PrimaryPart von Charaktermodellen ( HumanoidRootPart standardmäßig) zu kollidieren.
Durch die Tags-Sektion der Eigenschaften des Blöckeoder durch den Tag-Editor von Studio gilt der Tag ShopRegion auf den Block, damit 2> Class.CollectionService2> ihn erkennt.
Setzen Sie die Teil Transparency auf das Maximum, um ihn den Spielern in der Erlebnisauszublenden. Deaktivieren Sie auch seine CanCollide und CanQuery-Eigenschaften, damit Objekte nicht physisch miteinander kollidieren und Rayscasts nicht ihn erkennen.
Fügen Sie einen neuen LocalScript unter StarterPlayerScripts ein.
In dem neuen Skript, das. PL: die Skriptsfügen Sie den folgenden Code ein, der die Touched und TouchEnded Ereignisse verwendet, um zu erkennen, wenn sich die Charaktere in der Region befinden und die openMerchBooth und 1> closeMerchBooth1> grafische Benutzeroberflächeöffnen/schließen ö
Lokales Skriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Entfernen Sie die Standard-Katalog-Schaltflä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-- Iterate durch bestehende markierte Shop-Regionenfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Erkennen, wenn nicht-streamed-Shop-Regionen inCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Nähe-Hinweis
Als Alternative zum 2D-Katalog-Ansicht kannst du Nähe-Eingabeaufforderungen über In-Experience-Objekte hinzufügen. Dies ermutigt Spieler, die Gegenstände in der 3D-Umgebung zu entdecken, sie auf ihrem eigenen Avatar anzupreisen, sie zu kaufen und sie sofort auszurüsten. Siehe addProximityButton für Details.
Ändern des Equip-Effekts
Standardmäßig zeigt die Merch-Booth einen generischen Funkeln-Effekt an, wenn ein Spieler ein Item aus ihm ausrüstet. Um den Effekt zu ändern, setzen Sie particleEmitterTemplate an Ihre eigene Instanz eines ParticleEmitter in einer konfigurieren-Anruf.
Lokales Skript - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("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 versteckt sich die Merch-Booth, wenn ihre UI angezeigt wird, alle ScreenGuis und CoreGuis, einschließlich der Chat-Chat, Bestenlisten und anderen von Roblox enthaltenen. Wenn Sie dieses Verhalten deaktivieren möchten, setzen Sie hideOtherUis auf 1>
Lokales Skript - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Charakter-Bewegung
Es kann vorteilhaft sein, einen Charakter zu verhindern, dass er sich bewegt, während er in der Merch-Booth ist. Dies kann durch die Einstellung disableCharacterMovement in true in einem konfigurieren-Aufruf erfolgen.
Lokales Skript - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
API-Referenz
Typen
Artikel
Die Elemente in der Merch-Booth-Items sind durch ein Wörterbuch mit den folgenden Schlüsselwertenpaaren repräsentiert. Elemente können über die Funktion getItems oder das Ereignis itemAdded gesammelt werden.
Schlüssel | Typ | Beschreibung |
---|---|---|
assetId | nummer | Katalog-ID des Artikel, wie in addItemAsync festgelegt. |
title | string | Artikelname, wie er im Katalog aussieht. |
price | nummer | Artikelpreis in Robux. |
description | string | Artikelbeschreibung, wie sie im Katalog aussieht. |
assetType | string | String, der den eingebendes Artikelrepräsentiert. |
isOwned | boolean | Ob der aktuelle Spieler das Artikelbesitzt. |
creatorName | string | Artikelersteller wie in der Kataloganzeige. |
creatorType | Enum.CreatorType | Creator-Typ für das Artikel. |
Enums
MerchBooth.Steuerung
Verwendet zusammen mit setControlKeyCodes, um die Tasten und Gamepad-Schaltflächen anzupassen, um mit dem Merch-Stand zu interagieren.
Name | Zusammenfassung |
---|---|
ProximityPrompts | Taste und/oder Gamepad-Button, um die Item-Ansicht zu öffnen, wenn Nähe-Befehle konfiguriert sind. |
OpenMerchBooth | Tasten und/oder Gamepad-Button, um den Merch-Stand zu öffnen. |
CloseMerchBooth | Taste und/oder Gamepad, um den Merch-Stand zu schließen. |
Filter | Taste und/oder Gamepad-Button, um den Standard Filter Pulldown in der oberen linken Ecke des Katalog-Ansichtsfensters zu verwenden. |
ViewItem | Tastatur- und/oder Gamepad-Button, um eine bestimmte Ansichtzu öffnen. |
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Funktionen
konfigurieren
Überschreibt Standard-Client-Konfigurationsoptionen durch die folgenden Schlüssel/ Werte in der config Tabelle. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
Schlüssel | Beschreibung | Standard |
---|---|---|
backgroundColor | Hauptfarbe des Fensters ( Color3 ). | [0, 0, 0] |
cornerRadius | Eckradius für das Hauptfenster ( UDim ). | (0, 16) |
cornerRadiusSmall | Eckradius für Elemente innerhalb des Fensters ( UDim ). | (0, 8) |
textFont | Font des "Haupttexts" wie Preise, Beschreibungen und andere allgemeine Informationen ( Enum.Font ). | Gotham |
textSize | Größe des Haupttexts. | 14 |
textColor | Farbe des Haupttexts ( Color3 ). | [255, 255, 255] |
secondaryTextColor | Farbe für einige Variationen des Haupttexts ( Color3 ). | [153, 153, 158] |
headerFont | Font des verwendeten Kopfzeittextes für den Fenstertitel ( Enum.Font ). | GothamMedium |
headerTextSize | Größe des Kopftextes, der für den Fenstertitel verwendet wird. | 18 |
titleFont | Font des Titeltextes, der für Artikelnamen auf der Artikelseite verwendet wird ( Enum.Font ). | GothamBold |
titleTextSize | Größe des Titeltextes, der für Artikelnamen auf der Artikelseite verwendet wird. | 28 |
buttonColor | Hintergrundfarbe für größere Schaltflächen in einem klickbaren Zustand, wie die Hauptkaufschaltfläche in der Item-Ansicht ( Color3 ). | [255, 255, 255] |
buttonTextColor | Textfarbe für größere Schaltflächen in einem klickbaren Zustand, wie die Hauptkaufschaltfläche in der Item-Ansicht ( Color3 ). | [0, 0, 0] |
secondaryButtonColor | Hintergrundfarbe für kleinere Schaltflächen wie die Preisschaltflächen im Katalog-Ansichtsfenster oder die Try-on-Button ( Color3 ). | [34, 34, 34] |
secondaryButtonTextColor | Textfarbe für kleinere Schaltflächen wie die Preisschaltflächen im Katalog-Ansichtsfenster oder die Try-on-Button ( Color3 ). | [255, 255, 255] |
inactiveButtonColor | Hintergrundfarbe für alle Schaltflächen in einem nicht-klickbaren Zustand ( Color3 ). | [153, 153, 158] |
inactiveButtonTextColor | Textfarbe für alle Schaltflächen in einem nicht-klickbaren Zustand ( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | Optionale benutzerdefinierte ParticleEmitter Instanz, die auf dem Gerät erscheint und spielt. |
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({backgroundColor = Color3.fromRGB(255, 255, 255),textSize = 16,textFont = Enum.Font.Roboto,textColor = Color3.fromRGB(20, 20, 20),hideOtherUis = false,})
ein ItemAsync hinzufügen
Fügt ein Item der Merch-Booth asynchron hinzu, damit es in der Erlebniskäuflich ist. assetId ist die Asset-ID des Artikel, productType ist die ArtikelEnnum.InfoType-Registerkarte und 1> hideFromCatalog1> kann verwendet werden, um das Item im Katalog-Ansichtsmodus zu verbergen.
Siehe Gegenstände hinzufügen für Details, da die Verwendung für Assets gegenüber Spielpässen oder 1>Entwicklerprodukten1> etwas variiert.
Script - Avatar-Assets hinzufügen
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Roblox-Baseballkappe
4819740796, -- Robox
1374269, -- Kätzchenohren
11884330, -- Nerd-Brille
10476359, -- Papierhut
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Skript - Pässe hinzufügen
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- ColdFyre-Rüstung
28521575, -- Schleim-Schild
}
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 - Entwicklerprodukte hinzufügen
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Mana-Auffüllung
1257880672, -- Heiltrank
}
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
erhalten Sie Artikel
Gibt eine Liste zurück, die alle der derzeit eingetragenen Elemente repräsentiert. Jeder Schlüssel ist eine Asset-ID des Elements als Strings, und der Wert jedes Schlüssels ist ein Artikel. Diese Funktion kann nur von einem Script aufgerufen werden.
Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local items = MerchBooth.getItems()
print(items)
end
Item entfernen
Registriert ein Element nicht erneut mit addItemAsync, indem seine Kachel in der Katalogansicht entfernt und alle Nähe-Hinweis-Felder, die mit ihm zugewiesen sind, entfernt. Diese Funktion kann nur von einem Script aufgerufen werden.
Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Nach einiger Zeit entfernen Sie den Artikel
task.wait(5)
MerchBooth.removeItem(4819740796)
end
ProximityButton hinzufügen
Fügt eine Nähe-Eingabe über das gegebene adornee hinzu, die die Anzeige eines Artikelseiner Kaufansicht anzeigt, das basierend auf seiner Asset-ID angezeigt wird. Dies kann als Alternative zum 2D-Katalog-Ansichts-Button verwendet werden, um die Spieler dazu zu bringen, die Elemente in der 3D-Umgebung zu entdecken.
Beachten Sie, dass ein Element über addItemAsync hinzugefügt werden muss, bevor ein Nähe-Button zugewiesen werden kann. Siehe auch entfernenProximityButton, um die Nähe-Anfrage von einem Objekt zu entfernen.
Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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
ProximityButton entfernen
Entfernt eine Nähe-Eingabe, die durch addProximityButton erzeugt wird. Diese Funktion kann nur von einem Script aufgerufen werden.
Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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 Anfrage
task.wait(5)
MerchBooth.removeProximityButton(item)
end
Katalog Sortieren
Setzt die Sortierungsfunktion sortFunction , die in der Ansichtverwendet wird. Die bereitgestellte Sortierungsfunktion kann Logik basierend auf Artikel-Info wie price oder 1> title1> verwenden. Diese Funktion kann nur von einem 4> Class.LocalScript4> aufgerufen werden.
Hier sind einige Beispiele für die Sortierung des Katalogs:
Preis von niedrig nach hoch
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Preis Hoch zu Niedrig
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Preis von niedrig nach hoch & alphabetisch
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return if a.price == b.price then a.title < b.title else a.price < b.price
end)
ControlKeyCodes einstellen
Konfiguriert die Schlüssel- und Buttonwerte für Interaktionen mit dem Merch-Stand. Der erste Parameter muss ein MerchBooth.Controls Enumer sein und der zweite Parameter eine Tabelle mit den Schlüsseln keyboard und/oder gamepad mit entsprechenden 1> Ennum.KeyCode1> Enums.
enum ( control ) | Standard keyCodes Schlüssel/ 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 |
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
OpenMerchBooth
Öffnet das Merch-Stand-Fenster (wenn geschlossen) und navigiert zur Ansicht. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
MerchBooth.openMerchBooth()
openItemView
Navigiert zur einzelnen Artikelansicht des gegebenen itemId, öffnet das Merch-Stand-Fenster, wenn es derzeit geschlossen ist. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
end
Katalog-Button umschalten
Schaltet den Katalog-Button auf der rechten Seite des Bildschirms um/nach. Dies ist nützlich, wenn Sie einen benutzerdefinierten Button oder die Merch-Booth-Ansicht auf Regionen oder Nähe-Anfragen beschränken. Kann nur von einem 2>Class.LocalScript2> aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
istMerchBoothÖffnen
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 Elements als zweiter Wert zurückgegeben. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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
closeMerchStand
Schließt das Merch-Stand-Fenster. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
istMerchBoothAktiviert
Diese Funktion kann in Kombination mit setEnabled verwendet werden, um zu überprüfen, ob der Merch-Standort aktiviert oder nicht ist. Kann nur von einem LocalScript aufgerufen werden.
setAktiviert
Setzt, ob die gesamte Merch-Booth aktiviert oder nicht ist. Wenn deaktiviert, entfernt diese Funktion die gesamte UI, einschließlich Nähe-Eingaben und verbindet alle Ereignisse. Diese Funktion kann nur von einem LocalScript aufgerufen werden.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Ereignisse
Item hinzugefügt
Feuert wenn ein Element über addItemAsync hinzugefügt wird. Dieses Ereignis kann nur in einem Script verbunden werden.
Parameter | |
---|---|
Asset-ID: number | Asset-ID des Elements. |
itemInfo: table | Wörterbuch von Artikel Info wie price oder title. |
Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Item added with asset ID of", assetId)
print(itemInfo)
end)
Item entfernt
Feuert, wenn ein Element durch entfernenItem entfernt wird. Dieses Ereignis kann nur in einem Script verbunden werden.
Parameter | |
---|---|
Asset-ID: number | Asset-ID des Elements. |
Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemRemoved:Connect(function(assetId)
print("Item removed with asset ID of", assetId)
end)
Verkaufstand geöffnet
Feuert, wenn entweder der Katalog-Artikel-Detailansicht öffnet oder .
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
VerkaufstandClosed
Feuert, wenn einer der Katalog- oder Artikel-Detailsansicht geschlossen ist.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
katalogViewOpened
Feuert, wenn die Katalogansicht geöffnet wird.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
katalogViewClosed
Feuert, wenn die Katalogansicht geschlossen wird.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
itemViewOffen
Feuert, wenn die Item-Detail-Ansicht geöffnet wird.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewGeschlossen
Feuert, wenn die Item-Detail-Ansicht geschlossen wird.
Lokales Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)