Il MerchBooth modulo per sviluppatori ti consente di offrire asset per avatar, pass e prodotti per sviluppatori in vendita direttamente all'interno del tuo gioco. I giocatori possono sfogliare gli oggetti, visualizzare gli asset sul proprio avatar, acquistare articoli e utilizzarli o equipaggiarli istantaneamente — tutto senza lasciare il tuo gioco. Questo può aiutarti a monetizzare il tuo gioco e guadagnare entrate attraverso la commissione di affiliazione del 40% associata alla vendita di articoli di altri creatori.
Utilizzo del modulo
Installazione
Per utilizzare il modulo MerchBooth in un gioco:
Dal menu Finestra di Studio o dalla barra degli strumenti della scheda Home, apri il Toolbox e seleziona la scheda Negozio Creatore.

Assicurati che sia selezionato l'ordinamento Modelli, quindi fai clic sul pulsante Vedi Tutti per Categorie.

Individua e fai clic sulla tessera Pacchetti.
Individua il modulo Banco Merch e fai clic su di esso, oppure trascinalo nella vista 3D.

Nella finestra Esplora, sposta l'intero modello MerchBooth in ReplicatedStorage. Una volta avviato il gioco, il modulo inizierà a funzionare.
Configurazione
Il modulo è preconfigurato per funzionare per la maggior parte dei casi d'uso, ma può essere facilmente personalizzato tramite la funzione configure. Ad esempio, per creare un tema più chiaro e disabilitare il pulsante Filtro predefinito nell'area in alto a sinistra della vista catalogo:
In StarterPlayerScripts, crea un nuovo LocalScript e rinominalo in ConfigureMerchBooth.

Incolla il seguente codice nel nuovo script.
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})
Aggiungi articoli
Che cos'è un banco merch senza merch? Le seguenti sezioni descrivono come aggiungere asset per avatar, pass e prodotti per sviluppatori al tuo banco merch.
Asset per avatar
Articoli come abbigliamento e accessori devono essere aggiunti tramite il loro ID asset situato nella pagina dei dettagli dell'articolo nel Negozio Avatar.
Crea uno Script all'interno di ServerScriptService e incolla il seguente codice.
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)endendCopia gli ID degli asset degli articoli dall'URL del sito web del loro Negozio Avatar. Ad esempio, l'ID del Cappellino da Baseball Roblox è 607702162.

Incolla ciascun ID copiato in un elenco delimitato da virgole all'interno della tabella items. Per impostazione predefinita, gli articoli appaiono nella vista catalogo in ordine alfabetico, ma puoi personalizzare l'ordinamento utilizzando setCatalogSort.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {607702162, -- Cappellino 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
Pass
Aggiungere pass richiede ID di pass che possono essere trovati nel Dashboard Creatore.
Crea uno Script all'interno di ServerScriptService e incolla il seguente codice.
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)endendNaviga al Dashboard Creatore e seleziona il gioco.
Nella colonna di sinistra, sotto Monetizzazione, seleziona Pass.
Passa il mouse sopra la miniatura di un pass, fai clic sul pulsante ⋯ e seleziona Copia ID Asset dal menu contestuale.

Incolla ciascun ID copiato in un elenco delimitato da virgole all'interno della tabella items e includi Enum.InfoType.GamePass come secondo parametro per addItemAsync per indicare che gli articoli sono pass. Per impostazione predefinita, gli articoli appariranno nella vista catalogo in ordine alfabetico, ma l'ordinamento può essere personalizzato tramite setCatalogSort.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {4343758, -- Armatura 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
Aggiungere prodotti per sviluppatori richiede ID di prodotto che possono essere trovati nel Dashboard Creatore.
Crea uno Script all'interno di ServerScriptService e incolla il seguente codice.
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)endendNaviga al Dashboard Creatore e seleziona il gioco.
Nella colonna di sinistra, sotto Monetizzazione, seleziona Prodotti per Sviluppatori.
Passa il mouse sopra la miniatura di un prodotto, fai clic sul pulsante ⋯ e seleziona Copia ID Asset dal menu contestuale.

Incolla ciascun ID copiato in un elenco delimitato da virgole all'interno della tabella items e includi Enum.InfoType.Product come secondo parametro per addItemAsync per indicare che gli articoli sono prodotti per sviluppatori. Per impostazione predefinita, gli articoli appaiono nella vista catalogo in ordine alfabetico, ma puoi personalizzare l'ordinamento utilizzando setCatalogSort.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {1236602053, -- Ricarica Mana1257880672, -- Pozione di Guarigione}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 catalogo sul lato destro consente ai giocatori di aprire il banco in qualsiasi momento.

In alcuni casi, potrebbe essere utile rimuovere questo pulsante e collegare il tuo:
Crea un nuovo pulsante come descritto in Pulsanti.
Crea un LocalScript come figlio dell'oggetto pulsante.

Incolla il seguente codice nel nuovo script.
LocalScript - Custom Catalog Buttonlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Rimuovi il pulsante catalogo predefinitoMerchBooth.toggleCatalogButton(false)-- Collega il pulsante personalizzatoscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Aree acquistabili
Un modo utile per incentivare gli acquisti nel tuo gioco è mostrare automaticamente il banco merch quando un giocatore entra in un'area.
Per creare un'area acquistabile:
Crea un blocco Anchored che racchiuda la regione di rilevamento. Assicurati che il blocco sia abbastanza alto da collidere con il PrimaryPart dei modelli dei personaggi (HumanoidRootPart per impostazione predefinita).

Blocco per rilevare quando i giocatori si avvicinano alla parte anteriore del banco Utilizzando la sezione Tag delle proprietà del blocco, applica il tag ShopRegion al blocco in modo che CollectionService lo rilevi.
Imposta la Transparency della parte al massimo per nasconderla dai giocatori nel gioco. Disabilita anche le proprietà CanCollide e CanQuery in modo che gli oggetti non collidano 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 l'interfaccia del banco.
LocalScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Rimuovi il pulsante 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-- Itera attraverso le regioni di negozio già taggatefor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Rileva quando le regioni di negozio non in streaming vengono aggiunteCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Promemoria di prossimità
Come alternativa alla vista catalogo 2D, puoi aggiungere promemoria di prossimità sugli oggetti di gioco. Questo incoraggia i giocatori a scoprire articoli nell'ambiente 3D, visualizzarli sul proprio avatar, acquistarli e equipaggiarli istantaneamente. Vedi addProximityButton per dettagli.
Cambia l'effetto di equipaggiamento
Per impostazione predefinita, il banco merch mostra un effetto scintillante generico quando un giocatore equipaggia un articolo da esso. Per cambiare l'effetto, imposta particleEmitterTemplate sulla tua istanza di ParticleEmitter in una chiamata a configure.
local 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.Sphere
myParticleEmitter.Transparency = NumberSequence.new(0, 1)
myParticleEmitter.RotSpeed = NumberRange.new(200, 200)
MerchBooth.configure({
particleEmitterTemplate = myParticleEmitter
})Visibilità GUI
Per impostazione predefinita, il banco merch nasconde tutte le ScreenGuis e CoreGuis quando la sua interfaccia appare, inclusi la chat, la classifica e altri inclusi da Roblox. Se desideri disabilitare questo comportamento, imposta hideOtherUis su false in una chiamata a configure.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.configure({
hideOtherUis = false
})Movimento del personaggio
Può essere vantaggioso impedire a un personaggio di muoversi mentre si trova nel banco merch. Questo può essere fatto impostando disableCharacterMovement su true in una chiamata a configure.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.configure({
disableCharacterMovement = true
})Riferimento API
Tipi
Articolo
Gli articoli nel banco merch sono rappresentati da un dizionario con le seguenti coppie chiave-valore. Gli articoli possono essere raccolti tramite la funzione getItems o l'evento itemAdded.
| Chiave | Tipo | Descrizione |
|---|---|---|
| assetId | number | ID catalogo dell'articolo, come passato a addItemAsync. |
| title | string | Titolo dell'articolo come appare nel catalogo. |
| price | number | Prezzo dell'articolo in Robux. |
| description | string | Descrizione dell'articolo come appare nel catalogo. |
| assetType | string | Stringa che rappresenta il tipo di accessorio dell'articolo. |
| isOwned | bool | Se il giocatore attuale possiede l'articolo. |
| creatorName | string | Creatore dell'articolo come mostrato nel catalogo. |
| creatorType | Enum.CreatorType | Tipo di creatore per l'articolo. |
Enums
MerchBooth.Controls
Utilizzato insieme a setControlKeyCodes per personalizzare i tasti e i pulsanti del gamepad per interagire con il banco merch.
| Nome | Riepilogo |
|---|---|
| ProximityPrompts | Tasto e/o pulsante del gamepad per aprire la vista dell'articolo quando sono configurati promemoria di prossimità. |
| OpenMerchBooth | Tasto e/o pulsante del gamepad per aprire il banco merch. |
| CloseMerchBooth | Tasto e/o pulsante del gamepad per chiudere il banco merch. |
| Filter | Tasto e/o pulsante del gamepad per utilizzare il menu a discesa Filtro predefinito nell'area in alto a sinistra della vista catalogo. |
| ViewItem | Tasto e/o pulsante del gamepad per aprire una vista specifica dell'articolo del banco merch. |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {
keyboard = Enum.KeyCode.Q,
gamepad = Enum.KeyCode.ButtonL1
})Funzioni
configure
configure(config: table)
Sovrascrive le opzioni di configurazione predefinite lato client tramite le seguenti chiavi/valori nella tabella config. Questa funzione può essere chiamata solo da un LocalScript.
| Chiave | Descrizione | Predefinito |
|---|---|---|
| backgroundColor | Colore di sfondo principale della finestra (Color3). | [0, 0, 0] |
| cornerRadius | Raggio degli angoli per la finestra principale (UDim). | (0, 16) |
| cornerRadiusSmall | Raggio degli angoli per gli elementi all'interno della finestra (UDim). | (0, 8) |
| textFont | Font del "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 variazioni del testo principale (Color3). | [153, 153, 158] |
| headerFont | Font del testo dell'intestazione utilizzato per il titolo della finestra (Enum.Font). | GothamMedium |
| headerTextSize | Dimensione del testo dell'intestazione utilizzato per il titolo della finestra. | 18 |
| titleFont | Font del testo del titolo utilizzato per i nomi degli articoli nella pagina dei dettagli dell'articolo (Enum.Font). | GothamBold |
| titleTextSize | Dimensione del testo del titolo utilizzato per i nomi degli articoli nella pagina dei dettagli dell'articolo. | 28 |
| buttonColor | Colore di sfondo per i pulsanti più grandi in uno stato cliccabile, come il pulsante principale di acquisto nella vista dell'articolo (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'articolo (Color3). | [0, 0, 0] |
| secondaryButtonColor | Colore di sfondo per i pulsanti più piccoli come i pulsanti di prezzo nella vista catalogo o il pulsante Prova On (Color3). | [34, 34, 34] |
| secondaryButtonTextColor | Colore del testo per i pulsanti più piccoli come i pulsanti di prezzo nella vista catalogo o il pulsante Prova On (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 istanza personalizzata di ParticleEmitter che appare e viene riprodotta all'equipaggiamento. |
local 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)
Aggiunge in modo asincrono un articolo al banco merch in modo che sia idoneo per l'acquisto nel gioco. assetId è l'ID asset dell'articolo, productType è l'enum Enum.InfoType dell'articolo e hideFromCatalog può essere utilizzato per nascondere l'articolo nella vista catalogo.
Vedi Aggiunta di Articoli per dettagli, poiché l'uso varia leggermente per asset rispetto a pass o prodotti per sviluppatori.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
607702162, -- Cappellino 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
endlocal ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
4343758, -- Armatura 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
endlocal ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
1236602053, -- Ricarica Mana
1257880672, -- Pozione di Guarigione
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)
end)
if not success then
warn(errorMessage)
end
endgetItems
getItems(): table
Restituisce un dizionario che rappresenta tutti gli articoli attualmente registrati. Ogni chiave è l'ID asset di un articolo come stringa, e il valore di ogni chiave è un Articolo. Questa funzione può essere chiamata solo da un 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)
endremoveItem
removeItem(assetId: number)
Deregistra un articolo precedentemente aggiunto con addItemAsync, rimuovendo la sua tessera nella vista catalogo e eventuali promemoria di prossimità ad esso assegnati. Questa funzione può essere chiamata solo da un Script.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Dopo un po', rimuovi l'articolo
task.wait(5)
MerchBooth.removeItem(4819740796)
endaddProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
Aggiunge un promemoria di prossimità sopra l'adornee dato che attiverà la visualizzazione dell'acquisto di un articolo, dato il suo ID asset. Questo può essere utilizzato come alternativa alla vista catalogo 2D, incoraggiando i giocatori a scoprire articoli nell'ambiente 3D.
Nota che un articolo deve essere aggiunto tramite addItemAsync prima che un pulsante di prossimità possa essere assegnato ad esso. Vedi anche removeProximityButton per rimuovere il promemoria di prossimità da un oggetto.
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
endremoveProximityButton
removeProximityButton(adornee: BasePart|Model|Attachment)
Rimuove un promemoria di prossimità generato tramite addProximityButton. Questa funzione può essere chiamata solo da un 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
-- Dopo un po', rimuovi il promemoria
task.wait(5)
MerchBooth.removeProximityButton(item)
endsetCatalogSort
setCatalogSort(sortFunction: function): boolean
Imposta la funzione di ordinamento sortFunction da utilizzare nella vista catalogo. La funzione di ordinamento fornita può utilizzare logica basata sulle informazioni Articolo come price o title. Questa funzione può essere chiamata solo da un LocalScript.
Ecco alcuni esempi per ordinare il catalogo:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)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)
Configura i valori dei tasti e dei pulsanti per le interazioni con il banco merch. Il primo parametro deve essere un enum MerchBooth.Controls e il secondo parametro una tabella contenente i tasti keyboard e/o gamepad con i corrispondenti enum Enum.KeyCode.
| Enum (control) | Valori Predefiniti keyCodes |
|---|---|
| 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 |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {
keyboard = Enum.KeyCode.Q,
gamepad = Enum.KeyCode.ButtonL1,
})openMerchBooth
openMerchBooth()
Apre la finestra del banco merch (se chiusa) e naviga alla vista catalogo. Questa funzione può essere chiamata solo da un 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)
Naviga alla vista di un singolo articolo dato il itemId, aprendo la finestra del banco merch se è attualmente chiusa. Questa funzione può essere chiamata solo da un 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)
endtoggleCatalogButton
toggleCatalogButton(enabled: 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 banco merch a regioni o promemoria di prossimità. Può essere chiamato solo da un LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.toggleCatalogButton(false)isMerchBoothOpen
isMerchBoothOpen(): Tuple
Restituisce true se la vista catalogo o la vista articolo è aperta. Se la vista articolo è aperta, l'ID asset dell'articolo viene restituito come secondo valore. Questa funzione può essere chiamata solo da un 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)
endcloseMerchBooth
closeMerchBooth()
Chiude la finestra del banco merch. Questa funzione può essere chiamata solo da un LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.closeMerchBooth()isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Questa funzione può essere utilizzata insieme a setEnabled per controllare se il banco merch è attualmente abilitato o meno. Può essere chiamata solo da un LocalScript.
setEnabled
setEnabled(enabled: boolean)
Imposta se l'intero banco merch è abilitato o meno. Quando disabilitato, questa funzione rimuove l'intera interfaccia, inclusi i promemoria di prossimità, e disconnette tutti gli eventi. Questa funzione può essere chiamata solo da un LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local isEnabled = MerchBooth.isMerchBoothEnabled()
if isEnabled then
MerchBooth.setEnabled(false)
endEventi
itemAdded
Si attiva quando un articolo viene aggiunto tramite addItemAsync. Questo evento può essere connesso solo in un Script.
| Parametri | |
|---|---|
| assetId: number | ID asset dell'articolo. |
| itemInfo: table | Dizionario delle informazioni Articolo come price o title. |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Articolo aggiunto con ID asset di", assetId)
print(itemInfo)
end)itemRemoved
Si attiva quando un articolo viene rimosso tramite removeItem. Questo evento può essere connesso solo in un Script.
| Parametri | |
|---|---|
| assetId: number | ID asset dell'articolo. |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemRemoved:Connect(function(assetId)
print("Articolo rimosso con ID asset di", assetId)
end)merchBoothOpened
Si attiva quando viene aperta la vista catalogo o la vista dei dettagli dell'articolo.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothOpened:Connect(function()
print("Vista del banco aperta")
end)merchBoothClosed
Si attiva quando viene chiusa la vista catalogo o la vista dei dettagli dell'articolo.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothClosed:Connect(function()
print("Vista del banco chiusa")
end)catalogViewOpened
Si attiva quando viene aperta la vista catalogo.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewOpened:Connect(function()
print("Vista catalogo aperta")
end)catalogViewClosed
Si attiva quando viene chiusa la vista catalogo.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewClosed:Connect(function()
print("Vista catalogo chiusa")
end)itemViewOpened
Si attiva quando viene aperta la vista dei dettagli dell'articolo.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewOpened:Connect(function()
print("Vista articolo aperta")
end)itemViewClosed
Si attiva quando viene chiusa la vista dei dettagli dell'articolo.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewClosed:Connect(function()
print("Vista articolo chiusa")
end)