Il modulo MerchBooth sviluppatore ti consente di offrire risorse avatar, pass e prodotti per sviluppatori in vendita direttamente all'interno della tua esperienza.I giocatori possono sfogliare gli oggetti, visualizzare le risorse sul proprio Avatar, acquistare oggetti e utilizzarli istantaneamente o equipaggiarli - tutto senza lasciare la tua esperienza.Questo può aiutarti a monetizzare la tua esperienza e a guadagnare entrate attraverso la tassa di affiliazione del 40% associata alla vendita di oggetti di altri creatori.
Uso del modulo
Installazione
Per utilizzare il modulo MerchBooth in un'esperienza:
Assicurati che la classificazione Modelli sia selezionata, quindi fai clic sul pulsante Vedi tutti per Categorie .
Individua e fai clic sul riquadro Moduli di sviluppo .
Individua il modulo Merch Booth e cliccalo, oppure trascinalo nella vista 3D.
Nella finestra Explorer, sposta l'intero modello MerchBooth nel ServerScriptService .Dopo l'esecuzione dell'esperienza, il modulo si distribuirà a vari servizi e inizierà a funzionare.
Configurazione
Il modulo è preconfigurato per funzionare per la maggior parte dei casi d'uso, ma può essere facilmente personalizzato attraverso la funzione configura.Ad esempio, per creare un tema più leggero e disabilitare il pulsante predefinito Filtro nella parte superiore sinistra della vista del catalogo:
In StarterPlayerScripts , crea una nuova LocalScript e rinominala in ConfiguraMerchBooth .
Incolla il seguente codice nel nuovo script.
Script locale - ConfigurareMerchBoothlocal 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})
Aggiungi oggetti
Cos'è una cabina di merch senza merch? Le seguenti sezioni illustrano come aggiungere risorse di avatar , passaggi e prodotti per sviluppatori alla tua cabina di merch.
Risorse dell'avatar
Gli oggetti come abbigliamento e accessori devono essere aggiunti attraverso il loro ID risorsa situato sulla pagina dettagli dell'Articolonel Negozio Avatar.
Crea un Script all'interno di ServerScriptService e incolla il seguente codice.
Script - Aggiungi risorse avatarlocal 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)endendCopia gli ID risorsa dell'elemento dal loro URL del sito Avatar Shop. Ad esempio, l'ID di Roblox Baseball Cap è 607702162 .
Incolla ciascun ID copiato in una lista delimitata da virgola all'interno della tabella items.Per impostazione predefinita, gli elementi appaiono nella vista del catalogo in ordine alfabetico, ma puoi personalizzare l'ordine di classificazione utilizzando setCatalogSort.
Script - Aggiungi risorse avatarlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Cappello da baseball Roblox4819740796, -- Robox1374269, -- Orecchie di gatto11884330, -- Occhiali da nerd10476359, -- Cappello di carta}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Passi
L'aggiunta di pass richiede ID di pass che possono essere localizzati nella Dashboard del creatore.
Crea un Script all'interno di ServerScriptService e incolla il seguente codice.
Script - Aggiungi passlocal 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)endendNaviga alla Dashboard del Creatore e seleziona l'esperienza.
Nella colonna di sinistra, sotto Monetizzazione , seleziona Passi .
Passa il mouse su una miniatura di Passaggi di gioco, fai clic sul pulsante ⋯ e seleziona Copia ID risorsa dal menu contestuale.
Incolla ciascun ID copiato in una lista delimitata da virgola all'interno della tabella e includi come secondo parametro per addItemAsync per indicare che gli elementi sono passaggi.Per impostazione predefinita, gli elementi appariranno nella vista del catalogo in ordine alfabetico, ma la classificazione può essere personalizzata tramite setCatalogSort .
Script - Aggiungi passlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- Armatura di ColdFyre28521575, -- Scudo di melma}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Prodotti per sviluppatori
L'aggiunta di prodotti per sviluppatori richiede ID di prodotto che possono essere localizzati nella Dashboard del creatore.
Crea un Script all'interno di ServerScriptService e incolla il seguente codice.
Script - Aggiungi prodotti per sviluppatorilocal 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)endendNaviga alla Dashboard del Creatore e seleziona l'esperienza.
Nella colonna di sinistra, sotto Monetizzazione , seleziona Prodotti per sviluppatori .
Passa il mouse su una miniatura di prodotto, fai clic sul pulsante ⋯ e seleziona Copia ID risorsa dal menu contestuale.
Incolla ciascun ID copiato in una lista delimitata da virgola all'interno della tabella e includi come secondo parametro per addItemAsync indicare che gli elementi sono prodotti sviluppatori.Per impostazione predefinita, gli elementi appaiono nella vista del catalogo in ordine alfabetico, ma puoi personalizzare l'ordine di classificazione utilizzando setCatalogSort.
Script - Aggiungi prodotti per sviluppatorilocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Ricarica di Mana1257880672, -- Pozione curativa}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Pulsante catalogo personalizzato
Per impostazione predefinita, un pulsante del catalogo a destra fa in modo che i giocatori aprano la cabina in qualsiasi momento .

In alcuni casi, può essere utile rimuovere questo pulsante e connettere il Proprio:
Crea un nuovo pulsante come descritto in Pulsanti.
Crea un LocalScript come figlio dell'oggetto pulsante.
Incolla il seguente codice nel nuovo script.
Script locale - Pulsante catalogo personalizzatolocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Rimuovi il pulsante del catalogo predefinitoMerchBooth.toggleCatalogButton(false)-- Connetti il pulsante personalizzatoscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Regioni acquistabili
Un modo utile per guidare gli acquisti nella tua esperienza è mostrare automaticamente il merch booth quando un giocatore entra in un'area.
Per creare una regione acquistabile:
Crea un blocco Anchored che comprende la regione di rilevamento.Assicurati che il blocco sia abbastanza alto da scontrarsi con il PrimaryPart dei modelli di caratteri ( HumanoidRootPart per impostazione predefinita).
Blocca per rilevare quando i giocatori si avvicinano alla parte anteriore del bancone del negozio Usando la sezione Tag delle proprietà del blocco o l'editor di tag di Studio, applica il tag ShopRegion al blocco in modo che CollectionService lo rilevi.
Imposta il Transparency della parte al massimo per nasconderla ai giocatori nell'esperienza.Disabilita anche le sue proprietà CanCollide e CanQuery in modo che gli oggetti non si scontrino fisicamente con essa e i raycast non la rilevino.
Inserisci un nuovo LocalScript sotto StarterPlayerScripts .
Nel nuovo script, incolla il seguente codice che utilizza gli eventi Touched e TouchEnded per rilevare quando i personaggi entrano/escono dalla regione e chiama openMerchBooth e closeMerchBooth per aprire/chiudere la GUI or Intefaccia grafica utentedel negozio.
Script localelocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Rimuovi il pulsante del catalogo predefinitoMerchBooth.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-- Iterare attraverso le regioni del negozio contrassegnate esistentifor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Rileva quando le regioni non in streaming del negozio si streamanoCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Prompt di prossimità
Come alternativa alla vista del catalogo 2D, puoi aggiungere prompt di prossimità sugli oggetti in-experience.Questo incoraggia i giocatori a scoprire oggetti nell'Ambiente3D, visualizzarli sul proprio Avatar, acquistarli e equipaggiarli istantaneamente.Vedi aggiungiProximityButton per i dettagli.
Cambia l'effetto di equipaggio
Per impostazione predefinita, la cabina del merch mostra un effetto scintillante generico quando un giocatore equipaggia un oggetto da essa.Per cambiare l'effetto, imposta particleEmitterTemplate alla tua istanza di un ParticleEmitter in una chiamata configurare.
Script locale - ConfigurareMerchBooth
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})
Visibilità GUI
Per impostazione predefinita, il negozio di merch nasconde tutto ScreenGuis e CoreGuis quando la sua interfaccia utente appare, inclusa la chat, la Classificae gli altri inclusi da Roblox.Se vuoi disabilitare questo comportamento, imposta hideOtherUis a false in una chiamata configurare.
Script locale - ConfigurareMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Movimento del personaggio
Può essere vantaggioso impedire a un personaggio di muoversi mentre è nella cabina commerciale.Questo può essere fatto impostando disableCharacterMovement a true in una chiamata configurare.
Script locale - ConfigurareMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
Riferimento API
Tipi
Articolo
Gli oggetti nella cabina commerciale sono rappresentati da un dizionario con le seguenti coppie chiave-valore.Gli elementi possono essere raccolti attraverso la funzione getItems o l'evento itemadded.
Chiave | Tipo | Descrizione |
---|---|---|
assetId | numbero | ID del catalogo dell'Articolo, come passato a addItemAsync. |
title | stringa | Titolo dell'elemento come appare nel catalogo. |
price | numbero | Prezzo dell'articolo in Robux. |
description | stringa | Descrizione dell'articolo come appare nel catalogo. |
assetType | stringa | Stringa che rappresenta il inserisci / scrividi accessorio dell'Articolo. |
isOwned | bool | Se il giocatore attuale possiede l'Articolo. |
creatorName | stringa | Creatore di oggetti come mostrato nel catalogo. |
creatorType | Enum.CreatorType | Tipo creatore per l'Articolo. |
Enumi
MerchBooth.Controlli
Utilizzato insieme a setControlKeyCommands per personalizzare le chiavi e i pulsanti del gamepad per interagire con lo stand di merchandising.
Nome | Sommariamente |
---|---|
ProximityPrompts | Tasto di tastiera e/o gamepad per aprire la vista dell'oggetto quando prompt di prossimità sono configurati. |
OpenMerchBooth | Tasto di tastiera e/o gamepad per aprire il bancone di merchandising. |
CloseMerchBooth | Tasto di tastiera e/o gamepad per chiudere il merch booth. |
Filter | Tasto di tastiera e/o gamepad per utilizzare il pull-down predefinito del Filtro nell'area superiore sinistra della vista del catalogo. |
ViewItem | Tasto di tastiera e/o gamepad per aprire una vista oggetto specifica del negozio di merchandising. |
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Functioni
configurare
configurare(config: table )
Sovrascrive le opzioni di configurazione predefinite lato client attraverso le seguenti chiavi/valori nella tabella config.Questa funzione può essere chiamata solo da un LocalScript .
Chiave | Descrizione | Basilare |
---|---|---|
backgroundColor | Colore di sfondo principale della finestra ( Color3 ). | [0, 0, 0] |
cornerRadius | Raggio d'angolo per la finestra principale ( UDim ). | (0, 16) |
cornerRadiusSmall | Raggio d'angolo per gli elementi all'interno della finestra ( UDim ). | (0, 8) |
textFont | Fonte di "testo principale" come prezzi, descrizioni e altre informazioni generali ( Enum.Font ). | Gotham |
textSize | Dimensione del testo principale. | 14 |
textColor | Colore del testo principale ( Color3 ). | [255, 255, 255] |
secondaryTextColor | Colore utilizzato per alcune varianti del testo principale ( Color3 ). | [153, 153, 158] |
headerFont | Fonte del testo dell'intestazione utilizzato per il titolo della finestra ( Enum.Font ). | GothamMedium |
headerTextSize | Dimensione del testo dell'Header utilizzato per il titolo della finestra. | 18 |
titleFont | Fonte del testo del titolo utilizzato per i nomi degli elementi sulla pagina dei dettagli dell'elemento ( Enum.Font ). | GothamBold |
titleTextSize | Dimensione del testo del titolo utilizzato per i nomi degli elementi sulla pagina dei dettagli dell'elemento. | 28 |
buttonColor | Colore di sfondo per i pulsanti più grandi in uno stato cliccabile, come il pulsante principale di acquisto nella vista dell'oggetto ( Color3 ). | [255, 255, 255] |
buttonTextColor | Colore del testo per i pulsanti più grandi in uno stato cliccabile, come il pulsante principale di acquisto nella vista dell'oggetto ( Color3 ). | [0, 0, 0] |
secondaryButtonColor | Colore di sfondo per pulsanti più piccoli come i pulsanti di prezzo nella vista del catalogo o il pulsante Prova ( Color3 ). | [34, 34, 34] |
secondaryButtonTextColor | Colore del testo per pulsanti più piccoli come i pulsanti di prezzo nella vista del catalogo o il pulsante Prova ( Color3 ). | [255, 255, 255] |
inactiveButtonColor | Colore di sfondo per tutti i pulsanti in uno stato non cliccabile ( Color3 ). | [153, 153, 158] |
inactiveButtonTextColor | Colore del testo per tutti i pulsanti in uno stato non cliccabile ( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | Opzionale personalizzata ParticleEmitter istanza che appare e gioca su equip. |
Script locale
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,})
aggiungiItemAsync
aggiungiItemAsync(assetId: number , productType: Enum.InfoType , hideFromCatalog: boolean )
Aggiunge asincronamente un oggetto alla cabina commerciale in modo che sia idoneo all'acquisto nell'esperienza.assetId è l'ID risorsa dell'Articolo, productType è l'ArticoloEnum.InfoType enumerato e hideFromCatalog può essere utilizzato per nascondere l'elemento nella vista del catalogo.
Vedi Aggiungere oggetti per i dettagli, poiché l'uso varia leggermente per risorse rispetto a pass di gioco o prodotti per sviluppatori .
Script - Aggiungi risorse avatar
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Cappello da baseball Roblox
4819740796, -- Robox
1374269, -- Orecchie di gatto
11884330, -- Occhiali da nerd
10476359, -- Cappello di carta
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Aggiungi pass
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Armatura di ColdFyre
28521575, -- Scudo di melma
}
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 - Aggiungi prodotti per sviluppatori
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Ricarica di Mana
1257880672, -- Pozione curativa
}
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
ottenere gli elementi
getItems(): table
Restituisce un dizionario che rappresenta tutti gli elementi attualmente registrati.Ogni chiave è l'ID risorsa di un Articolocome Stringae il valore di ogni chiave è un Oggetto.Questa funzione può essere chiamata solo da un Script .
Scrittura
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
rimuovi oggetto
rimuoviItem(assetId: number )
Annulla un oggetto precedentemente aggiunto con addItemAsync, rimuovendo la sua casella nella vista del catalogo e qualsiasi prompt di prossimità assegnato ad esso.Questa funzione può essere chiamata solo da un Script .
Scrittura
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Dopo un po' di tempo, rimuovi l'Articolo
task.wait(5)
MerchBooth.removeItem(4819740796)
end
aggiungiProximityButton
aggiungiProximityButton(adornee: BasePart | Model | Attachment , assetId: number )
Aggiunge un prompt di prossimità su quello dato adornee che attiverà la visualizzazione della vista di acquisto di un Articolo, dato il suo ID risorsa.Questo può essere utilizzato come alternativa alla vista del catalogo 2D, incoraggiando i giocatori a scoprire gli oggetti nell'Ambiente3D.
Si noti che un oggetto deve essere aggiunto tramite addItemAsync prima che possa essere assegnato un pulsante di prossimità.Vedi anche rimuoviProximityButton per rimuovere l'avviso di prossimità da un oggetto.
Scrittura
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
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
rimuoviProximityButton
rimuoviProximityButton(adornee: BasePart | Model | Attachment )
Rimuove un prompt di prossimità generato attraverso aggiungiProssimitàButton . Questa funzione può essere chiamata solo da un Script .
Scrittura
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
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
-- Dopo qualche tempo, rimuovi l'invito
task.wait(5)
MerchBooth.removeProximityButton(item)
end
setCatalogSort
setCatalogSort(funzione di ordinamento: function ): boolean
Imposta la funzione di ordinamento sortFunction da utilizzare nella vista del catalogo.La funzione di ordinamento fornita può utilizzare la logica basata su Oggetto informazioni come price o title .Questa funzione può essere chiamata solo da un LocalScript .
Ecco alcuni esempi per ordinare il catalogo:
Prezzo Low-to-High
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Prezzo dal più alto al più basso
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Prezzo Low-to-High & Alfabetico
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)
setControlKeyCredentials
setControlKeyMetrics(control: MerchBooth.Controls , keyMetrics: table )
Configura i valori della chiave e dei pulsanti per le interazioni con lo stand del mercante.Il primo parametro deve essere un' MerchBooth.Controls enumerazione e il secondo parametro una tabella che contiene le chiavi e/o con le relative enumerate.
Enum ( control ) | Predefinito keyCodes Chiavi/Valori |
---|---|
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 |
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
apriMerchBooth
openMerchBooth()
Apre la finestra del negozio di merchandising (se chiusa) e naviga alla vista del catalogo. Questa funzione può essere chiamata solo da un LocalScript .
Script locale
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
openItemView(itemId: number )
Naviga alla vista dell'elemento singolo del dato itemId, aprendo la finestra del negozio di merchandising se è attualmente chiusa.Questa funzione può essere chiamata solo da un LocalScript .
Script locale
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
attiva/disattiva il pulsanteCatalogo
toggleCatalogButton(abilitato: boolean)
Attiva/disattiva il pulsante catalogo sul lato destro dello schermo.Questo è utile quando si implementa un pulsante personalizzato o si limita l'aspetto del negozio di merch a regioni o prompt di prossimità.Può essere chiamato solo da un LocalScript .
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
èMerchBoothOpen
isMerchBoothOpen(): Tuple
Restituisce true se sia il catalogo o la vista dell'elemento è aperta.Se la vista dell'elemento è aperta, l'ID risorsa dell'Articoloviene restituito come secondo valore.Questa funzione può essere chiamata solo da un LocalScript .
Script locale
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
chiudiMerchBooth
closeMerchBooth()
Chiude la finestra del negozio di merchandising. Questa funzione può essere chiamata solo da un LocalScript .
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
èMerchBoothEnabled
isMerchBoothEnabled(): boolean
Questa funzione può essere utilizzata in tandem con setEnabled per controllare se il merch booth è attualmente abilitato o meno.Può essere chiamato solo da un LocalScript .
abilitato setEnabled
setEnabled(enabled: boolean )
Imposta se l'intero stand commerciale è abilitato o meno.Quando è disabilitata, questa funzione rimuove l'intera interfaccia utente, inclusi prompt di prossimità e disconnette tutti gli eventi .Questa funzione può essere chiamata solo da un LocalScript .
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Eventi
oggetto aggiunto
Si attiva quando un oggetto viene aggiunto attraverso addItemAsync. Questo evento può essere connesso solo in un Script .
Parametri | |
---|---|
assetId: number | ID risorsa oggetto. |
itemInfo: table | Dizionario di Informazioni sull'oggetto come price o title. |
Scrittura
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)
oggettoRimosso
Si attiva quando un oggetto viene rimosso attraverso removeItem. Questo evento può essere connesso solo in un Script .
Parametri | |
---|---|
assetId: number | ID risorsa oggetto. |
Scrittura
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)
merchBoothOpened
Si accende quando viene aperta la vista dettagli dell'elemento catalogo o .
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
merchBoothChiuso
Si accende quando viene chiusa la vista dettagli dell'elemento catalogo o .
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
catalogViewAperto
Si accende quando viene aperta la vista del catalogo.
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
catalogViewChiuso
Si accende quando la vista del catalogo è chiusa.
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
itemViewAperto
Si accende quando viene aperta la vista dettagli dell'elemento.
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewChiuso
Si accende quando la vista dettagli dell'elemento è chiusa.
Script locale
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)