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

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

Individua e fai clic sul riquadro Pacchetti.
Individua il modulo Banco Merceologico e fai clic su di esso, oppure trascinalo nella vista 3D.

Nella finestra Esplora, sposta l'intero modello BancoMerceologico in ReplicatedStorage. Durante l'esecuzione dell'esperienza, il modulo inizierà a funzionare.
Configurazione
Il modulo è preconfigurato per funzionare nella maggior parte dei casi d'uso, ma può essere facilmente personalizzato tramite la funzione configura. Ad esempio, per creare un tema più chiaro e disabilitare il pulsante Filtra predefinito nell'area dell'angolo in alto a sinistra della vista catalogo:
In StarterPlayerScripts, crea un nuovo LocalScript e rinominalo in ConfiguraBancoMerceologico.

Incolla il seguente codice nello script nuovo.
LocalScript - ConfiguraBancoMerceologicolocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)BancoMerceologico.configure({backgroundColor = Color3.fromRGB(220, 210, 200),textSize = 17,textFont = Enum.Font.Fondamento,textColor = Color3.fromRGB(20, 20, 20),useFilters = false})
Aggiungi articoli
Cos'è un banco merceologico senza merce? Le seguenti sezioni delineano come aggiungere asset per avatar, pass e prodotti per sviluppatori al tuo banco merceologico.
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 - Aggiungi Asset per Avatarlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()BancoMerceologico.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendCopia gli ID asset degli articoli dall'URL del sito del loro Negozio Avatar. Ad esempio, l'ID del Cappello da Baseball di 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 - Aggiungi Asset per Avatarlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)local items = {607702162, -- Cappello da Baseball di Roblox4819740796, -- Robox1374269, -- Orecchie da Gattino11884330, -- Occhiali da Nerd10476359, -- Cappello di Carta}for _, assetId in items dolocal success, errorMessage = pcall(function()BancoMerceologico.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Pass
Aggiungere pass richiede ID pass che possono essere trovati nel Dashboard Creatore.
Crea uno Script all'interno di ServerScriptService e incolla il seguente codice.
Script - Aggiungi Passlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()BancoMerceologico.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNaviga al Dashboard Creatore e seleziona l'esperienza.
Nella colonna a 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 - Aggiungi Passlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)local items = {4343758, -- Armatura ColdFyre28521575, -- Scudo di Melma}for _, assetId in items dolocal success, errorMessage = pcall(function()BancoMerceologico.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Prodotti per sviluppatori
Aggiungere prodotti per sviluppatori richiede ID prodotto che possono essere trovati nel Dashboard Creatore.
Crea uno Script all'interno di ServerScriptService e incolla il seguente codice.
Script - Aggiungi Prodotti per Sviluppatorilocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()BancoMerceologico.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNaviga al Dashboard Creatore e seleziona l'esperienza.
Nella colonna a 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 appariranno nella vista catalogo in ordine alfabetico, ma puoi personalizzare l'ordinamento utilizzando setCatalogSort.
Script - Aggiungi Prodotti per Sviluppatorilocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)local items = {1236602053, -- Ricarica Mana1257880672, -- Pozione di Guarigione}for _, assetId in items dolocal success, errorMessage = pcall(function()BancoMerceologico.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 proprio:
Crea un nuovo pulsante come descritto in Pulsanti.
Crea uno LocalScript come figlio dell'oggetto pulsante.

Incolla il seguente codice nello script nuovo.
LocalScript - Pulsante Catalogo Personalizzatolocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)-- Rimuovi il pulsante catalogo predefinitoBancoMerceologico.toggleCatalogButton(false)-- Collega il pulsante personalizzatoscript.Parent.Activated:Connect(function()BancoMerceologico.openMerchBooth()end)
Aree acquistabili
Un modo utile per stimolare gli acquisti nella tua esperienza è mostrare automaticamente il banco merceologico 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 sufficientemente 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 bancone del negozio Utilizzando la sezione Tag delle proprietà del blocco, applica il tag ShopRegion al blocco affinché CollectionService lo rilevi.
Imposta Transparency della parte al massimo per nasconderla dai giocatori nell'esperienza. Disabilita anche le proprietà CanCollide e CanQuery in modo che gli oggetti non collidano fisicamente con esso e i raycast non lo 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 BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)-- Rimuovi il pulsante catalogo predefinitoBancoMerceologico.toggleCatalogButton(false)local function setupRegion(region: BasePart)region.Touched:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenBancoMerceologico.openMerchBooth()endend)region.TouchEnded:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenBancoMerceologico.closeMerchBooth()endend)end-- Itera attraverso le aree del negozio con tag esistentifor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Rileva quando le aree del negozio non in streaming vengono aggiunteCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Promemoria di prossimità
Come alternativa alla vista catalogo 2D, puoi aggiungere promemoria di prossimità su oggetti dell'esperienza. Questo incoraggia i giocatori a scoprire articoli nell'ambiente 3D, visualizzarli sul proprio avatar, acquistarli e equipaggiarli immediatamente. Vedi addProximityButton per ulteriori dettagli.
Cambia l'effetto di equipaggiamento
Per impostazione predefinita, il banco merceologico mostra un generico effetto scintillante quando un giocatore equipaggia un articolo. Per cambiare l'effetto, imposta particleEmitterTemplate su una tua istanza di ParticleEmitter in una chiamata configura.
LocalScript - ConfiguraBancoMerceologicolocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)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)BancoMerceologico.configure({particleEmitterTemplate = myParticleEmitter})
Visibilità dell'interfaccia
Per impostazione predefinita, il banco merceologico nasconde tutte le ScreenGuis e CoreGuis quando appare la sua interfaccia, incluso il chat, la leaderboard e altri inclusi da Roblox. Se desideri disabilitare questo comportamento, imposta hideOtherUis su false in una chiamata configura.
LocalScript - ConfiguraBancoMerceologicolocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)BancoMerceologico.configure({hideOtherUis = false})
Movimento del personaggio
Può essere vantaggioso impedire a un personaggio di muoversi mentre si trova nel banco merceologico. Questo può essere fatto impostando disableCharacterMovement su true in una chiamata configura.
LocalScript - ConfiguraBancoMerceologicolocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)BancoMerceologico.configure({disableCharacterMovement = true})
Riferimento API
Tipi
Articolo
Gli articoli nel banco merceologico sono rappresentati da un dizionario con i 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 | Nome dell'articolo così come appare nel catalogo. |
| price | number | Prezzo dell'articolo in Robux. |
| description | string | Descrizione dell'articolo così come appare nel catalogo. |
| assetType | string | Stringa che rappresenta il tipo di accessorio dell'articolo. |
| isOwned | bool | Indica se il giocatore attuale possiede l'articolo. |
| creatorName | string | Nome del creatore dell'articolo come mostrato nel catalogo. |
| creatorType | Enum.CreatorType | Tipo di creatore per l'articolo. |
Enum
BancoMerceologico.Controls
Utilizzato insieme a setControlKeyCodes per personalizzare i tasti e i pulsanti del gamepad per interagire con il banco merceologico.
| Nome | Riassunto |
|---|---|
| ProximityPrompts | Tasto e/o pulsante del gamepad per aprire la vista dell'articolo quando i promemoria di prossimità sono configurati. |
| OpenMerchBooth | Tasto e/o pulsante del gamepad per aprire il banco merceologico. |
| CloseMerchBooth | Tasto e/o pulsante del gamepad per chiudere il banco merceologico. |
| Filter | Tasto e/o pulsante del gamepad per utilizzare il predefinito Filtro nel'area in alto a sinistra della vista catalogo. |
| ViewItem | Tasto e/o pulsante del gamepad per aprire una vista specifica dell'articolo nel banco merceologico. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)BancoMerceologico.setControlKeyCodes(BancoMerceologico.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Funzioni
configura
configura(config: table)
Sovrascrive le opzioni di configurazione predefinite sul 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 degli articoli (Enum.Font). | GothamBold |
| titleTextSize | Dimensione del testo del titolo utilizzato per i nomi degli articoli nella pagina dei dettagli degli articoli. | 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 (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 (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 | Istantanea opzionale di ParticleEmitter personalizzata che appare e gioca all'equipaggiamento. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)BancoMerceologico.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 merceologico in modo che sia idoneo per l'acquisto nell'esperienza. 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 Articoli per dettagli, poiché l'uso varia leggermente per asset rispetto a pass o prodotti per sviluppatori.
Script - Aggiungi Asset per Avatar
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local items = {
607702162, -- Cappello da Baseball di Roblox
4819740796, -- Robox
1374269, -- Orecchie da Gattino
11884330, -- Occhiali da Nerd
10476359, -- Cappello di Carta
}
for _, assetId in items do
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Aggiungi Pass
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local items = {
4343758, -- Armatura ColdFyre
28521575, -- Scudo di Melma
}
for _, assetId in items do
local success, errorMessage = pcall(function()
BancoMerceologico.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 BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local items = {
1236602053, -- Ricarica Mana
1257880672, -- Pozione di Guarigione
}
for _, assetId in items do
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(assetId, Enum.InfoType.Product)
end)
if not success then
warn(errorMessage)
end
end
getItems
getItems(): table
Restituisce un dizionario che rappresenta tutti gli articoli attualmente registrati. Ogni chiave è l'ID asset di un articolo come una stringa, e il valore di ogni chiave è un Articolo. Questa funzione può essere chiamata solo da un Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(4819740796)
end)
if success then
local items = BancoMerceologico.getItems()
print(items)
end
removeItem
removeItem(assetId: number)
Deregistra un articolo precedentemente aggiunto tramite addItemAsync, rimuovendo il suo riquadro nella vista catalogo e qualsiasi promemoria di prossimità assegnata ad esso. Questa funzione può essere chiamata solo da un Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(4819740796)
end)
if success then
-- Dopo un certo tempo, rimuovi l'articolo
task.wait(5)
BancoMerceologico.removeItem(4819740796)
end
addProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
Aggiunge un promemoria di prossimità sopra il dato adornee 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.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(4819740796)
end)
if success then
local item = Workspace:FindFirstChild("Robox")
if item then
BancoMerceologico.addProximityButton(item, 4819740796)
end
end
removeProximityButton
removeProximityButton(adornee: BasePart|Model|Attachment)
Rimuove un promemoria di prossimità generato tramite addProximityButton. Questa funzione può essere chiamata solo da un Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(4819740796)
end)
if success then
local item = Workspace:FindFirstChild("Robox")
if item then
BancoMerceologico.addProximityButton(item, 4819740796)
end
-- Dopo un certo tempo, rimuovi il promemoria
task.wait(5)
BancoMerceologico.removeProximityButton(item)
end
setCatalogSort
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 degli Articoli come price o title. Questa funzione può essere chiamata solo da un LocalScript.
Ecco alcuni esempi per ordinare il catalogo:
Prezzo Basso-Ad Alto
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.setCatalogSort(function(a, b)
return a.price < b.price
end)
Prezzo Alto-Ad Basso
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.setCatalogSort(function(a, b)
return a.price > b.price
end)
Prezzo Basso-Ad Alto & Alfabetico
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.setCatalogSort(function(a, b)
return if a.price == b.price then a.title < b.title else a.price < b.price
end)
setControlKeyCodes
setControlKeyCodes(control: BancoMerceologico.Controls, keyCodes: table)
Configura i valori di tasto e pulsante per le interazioni con il banco merceologico. Il primo parametro deve essere un enum BancoMerceologico.Controls e il secondo parametro una tabella contenente i tasti keyboard e/o gamepad con i corrispondenti enum Enum.KeyCode.
| Enum (control) | Predefinito keyCodes Chiavi/Valori |
|---|---|
| BancoMerceologico.Controls.ProximityPrompts | keyboard = Enum.KeyCode.E gamepad = Enum.KeyCode.ButtonY |
| BancoMerceologico.Controls.OpenMerchBooth | gamepad = Enum.KeyCode.ButtonY |
| BancoMerceologico.Controls.CloseMerchBooth | gamepad = Enum.KeyCode.ButtonB |
| BancoMerceologico.Controls.Filter | gamepad = Enum.KeyCode.ButtonX |
| BancoMerceologico.Controls.ViewItem | gamepad = Enum.KeyCode.ButtonA |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)BancoMerceologico.setControlKeyCodes(BancoMerceologico.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
openMerchBooth
openMerchBooth()
Apre la finestra del banco merceologico (se chiusa) e naviga alla vista catalogo. Questa funzione può essere chiamata solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
BancoMerceologico.openMerchBooth()
openItemView
openItemView(itemId: number)
Naviga alla vista dell'articolo singolo dato itemId, aprendo la finestra del banco merceologico se è attualmente chiusa. Questa funzione può essere chiamata solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(4819740796)
end)
if success then
BancoMerceologico.openItemView(4819740796)
end
toggleCatalogButton
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'apparizione del banco merceologico a regioni o promemoria di prossimità. Può essere chiamato solo da un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)BancoMerceologico.toggleCatalogButton(false)
isMerchBoothOpen
isMerchBoothOpen(): Tuple
Restituisce true se è aperta sia la vista catalogo che la vista articolo. Se è aperta la vista dell'articolo, viene restituito come secondo valore l'ID asset dell'articolo. Questa funzione può essere chiamata solo da un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local success, errorMessage = pcall(function()
BancoMerceologico.addItemAsync(4819740796)
end)
if success then
BancoMerceologico.openItemView(4819740796)
local isOpen, itemId = BancoMerceologico.isMerchBoothOpen()
print(isOpen, itemId)
end
closeMerchBooth
closeMerchBooth()
Chiude la finestra del banco merceologico. Questa funzione può essere chiamata solo da un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)BancoMerceologico.closeMerchBooth()
isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Questa funzione può essere utilizzata insieme a setEnabled per controllare se il banco merceologico è attualmente abilitato o meno. Può essere chiamata solo da un LocalScript.
setEnabled
setEnabled(enabled: boolean)
Imposta se l'intero banco merceologico è 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.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)local isEnabled = BancoMerceologico.isMerchBoothEnabled()if isEnabled thenBancoMerceologico.setEnabled(false)end
Eventi
itemAdded
Si attiva quando un articolo viene aggiunto tramite addItemAsync. Questo evento può essere collegato solo in un Script.
| Parametri | |
|---|---|
| assetId: number | ID asset dell'articolo. |
| itemInfo: table | Dizionario delle informazioni dell'Articolo come price o title. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.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 collegato solo in un Script.
| Parametri | |
|---|---|
| assetId: number | ID asset dell'articolo. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.itemRemoved:Connect(function(assetId)
print("Articolo rimosso con ID asset di", assetId)
end)
merchBoothOpened
Si attiva quando viene aperta sia la vista catalogo che la vista dei dettagli dell'articolo.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.merchBoothOpened:Connect(function()
print("Vista del banco aperta")
end)
merchBoothClosed
Si attiva quando viene chiusa sia la vista catalogo che la vista dei dettagli dell'articolo.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.merchBoothClosed:Connect(function()
print("Vista del banco chiusa")
end)
catalogViewOpened
Si attiva quando viene aperta la vista catalogo.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.catalogViewOpened:Connect(function()
print("Vista catalogo aperta")
end)
catalogViewClosed
Si attiva quando viene chiusa la vista catalogo.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.catalogViewClosed:Connect(function()
print("Vista catalogo chiusa")
end)
itemViewOpened
Si attiva quando viene aperta la vista dei dettagli dell'articolo.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.itemViewOpened:Connect(function()
print("Vista articolo aperta")
end)
itemViewClosed
Si attiva quando viene chiusa la vista dei dettagli dell'articolo.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
BancoMerceologico.itemViewClosed:Connect(function()
print("Vista articolo chiusa")
end)