Banco Merceologico

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

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:

  1. Dal menu Finestra di Studio o dalla barra degli strumenti del tab Home, apri il Toolbox e seleziona il tab Negozio Creatori.

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

  3. Individua e fai clic sul riquadro Pacchetti.

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

  5. 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:

  1. In StarterPlayerScripts, crea un nuovo LocalScript e rinominalo in ConfiguraBancoMerceologico.

  2. Incolla il seguente codice nello script nuovo.

    LocalScript - ConfiguraBancoMerceologico

    local 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.

  1. Crea uno Script all'interno di ServerScriptService e incolla il seguente codice.

    Script - Aggiungi Asset per Avatar

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
    local items = {
    }
    for _, assetId in items do
    local success, errorMessage = pcall(function()
    BancoMerceologico.addItemAsync(assetId)
    end)
    if not success then
    warn(errorMessage)
    end
    end
  2. Copia gli ID asset degli articoli dall'URL del sito del loro Negozio Avatar. Ad esempio, l'ID del Cappello da Baseball di Roblox è 607702162.

  3. 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 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

Pass

Aggiungere pass richiede ID pass che possono essere trovati nel Dashboard Creatore.

  1. Crea uno Script all'interno di ServerScriptService e incolla il seguente codice.

    Script - Aggiungi Pass

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
    local items = {
    }
    for _, assetId in items do
    local success, errorMessage = pcall(function()
    BancoMerceologico.addItemAsync(assetId)
    end)
    if not success then
    warn(errorMessage)
    end
    end
  2. Naviga al Dashboard Creatore e seleziona l'esperienza.

  3. Nella colonna a sinistra, sotto Monetizzazione, seleziona Pass.

  4. Passa il mouse sopra la miniatura di un pass, fai clic sul pulsante e seleziona Copia ID Asset dal menu contestuale.

  5. 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 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

Prodotti per sviluppatori

Aggiungere prodotti per sviluppatori richiede ID prodotto che possono essere trovati nel Dashboard Creatore.

  1. Crea uno Script all'interno di ServerScriptService e incolla il seguente codice.

    Script - Aggiungi Prodotti per Sviluppatori

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
    local items = {
    }
    for _, assetId in items do
    local success, errorMessage = pcall(function()
    BancoMerceologico.addItemAsync(assetId)
    end)
    if not success then
    warn(errorMessage)
    end
    end
  2. Naviga al Dashboard Creatore e seleziona l'esperienza.

  3. Nella colonna a sinistra, sotto Monetizzazione, seleziona Prodotti per Sviluppatori.

  4. Passa il mouse sopra la miniatura di un prodotto, fai clic sul pulsante e seleziona Copia ID Asset dal menu contestuale.

  5. 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 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

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:

  1. Crea un nuovo pulsante come descritto in Pulsanti.

  2. Crea uno LocalScript come figlio dell'oggetto pulsante.

  3. Incolla il seguente codice nello script nuovo.

    LocalScript - Pulsante Catalogo Personalizzato

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
    -- Rimuovi il pulsante catalogo predefinito
    BancoMerceologico.toggleCatalogButton(false)
    -- Collega il pulsante personalizzato
    script.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:

  1. 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
  2. Utilizzando la sezione Tag delle proprietà del blocco, applica il tag ShopRegion al blocco affinché CollectionService lo rilevi.

  3. 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.

  4. Inserisci un nuovo LocalScript sotto StarterPlayerScripts.

  5. 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.

    LocalScript

    local Players = game:GetService("Players")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
    -- Rimuovi il pulsante catalogo predefinito
    BancoMerceologico.toggleCatalogButton(false)
    local function setupRegion(region: BasePart)
    region.Touched:Connect(function(otherPart)
    local character = Players.LocalPlayer.Character
    if character and otherPart == character.PrimaryPart then
    BancoMerceologico.openMerchBooth()
    end
    end)
    region.TouchEnded:Connect(function(otherPart)
    local character = Players.LocalPlayer.Character
    if character and otherPart == character.PrimaryPart then
    BancoMerceologico.closeMerchBooth()
    end
    end)
    end
    -- Itera attraverso le aree del negozio con tag esistenti
    for _, region in CollectionService:GetTagged("ShopRegion") do
    setupRegion(region)
    end
    -- Rileva quando le aree del negozio non in streaming vengono aggiunte
    CollectionService: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 - ConfiguraBancoMerceologico

local 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.Sphere
myParticleEmitter.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 - ConfiguraBancoMerceologico

local 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 - ConfiguraBancoMerceologico

local 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.

ChiaveTipoDescrizione
assetIdnumberID catalogo dell'articolo, come passato a addItemAsync.
titlestringNome dell'articolo così come appare nel catalogo.
pricenumberPrezzo dell'articolo in Robux.
descriptionstringDescrizione dell'articolo così come appare nel catalogo.
assetTypestringStringa che rappresenta il tipo di accessorio dell'articolo.
isOwnedboolIndica se il giocatore attuale possiede l'articolo.
creatorNamestringNome del creatore dell'articolo come mostrato nel catalogo.
creatorTypeEnum.CreatorTypeTipo 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.

NomeRiassunto
ProximityPromptsTasto e/o pulsante del gamepad per aprire la vista dell'articolo quando i promemoria di prossimità sono configurati.
OpenMerchBoothTasto e/o pulsante del gamepad per aprire il banco merceologico.
CloseMerchBoothTasto e/o pulsante del gamepad per chiudere il banco merceologico.
FilterTasto e/o pulsante del gamepad per utilizzare il predefinito Filtro nel'area in alto a sinistra della vista catalogo.
ViewItemTasto e/o pulsante del gamepad per aprire una vista specifica dell'articolo nel banco merceologico.
LocalScript

local 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.

ChiaveDescrizionePredefinito
backgroundColorColore di sfondo principale della finestra (Color3).[0, 0, 0]
cornerRadiusRaggio degli angoli per la finestra principale (UDim).(0, 16)
cornerRadiusSmallRaggio degli angoli per gli elementi all'interno della finestra (UDim).(0, 8)
textFontFont del "testo principale" come prezzi, descrizioni e altre informazioni generali (Enum.Font).Gotham
textSizeDimensione del testo principale.14
textColorColore del testo principale (Color3).[255, 255, 255]
secondaryTextColorColore utilizzato per alcune variazioni del testo principale (Color3).[153, 153, 158]
headerFontFont del testo dell'intestazione utilizzato per il titolo della finestra (Enum.Font).GothamMedium
headerTextSizeDimensione del testo dell'intestazione utilizzato per il titolo della finestra.18
titleFontFont del testo del titolo utilizzato per i nomi degli articoli nella pagina dei dettagli degli articoli (Enum.Font).GothamBold
titleTextSizeDimensione del testo del titolo utilizzato per i nomi degli articoli nella pagina dei dettagli degli articoli.28
buttonColorColore 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]
buttonTextColorColore 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]
secondaryButtonColorColore di sfondo per i pulsanti più piccoli come i pulsanti di prezzo nella vista catalogo o il pulsante Prova (Color3).[34, 34, 34]
secondaryButtonTextColorColore del testo per i pulsanti più piccoli come i pulsanti di prezzo nella vista catalogo o il pulsante Prova (Color3).[255, 255, 255]
inactiveButtonColorColore di sfondo per tutti i pulsanti in uno stato non cliccabile (Color3).[153, 153, 158]
inactiveButtonTextColorColore del testo per tutti i pulsanti in uno stato non cliccabile (Color3).[255, 255, 255]
particleEmitterTemplateIstantanea opzionale di ParticleEmitter personalizzata che appare e gioca all'equipaggiamento.
LocalScript

local 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.ProximityPromptskeyboard = Enum.KeyCode.E
gamepad = Enum.KeyCode.ButtonY
BancoMerceologico.Controls.OpenMerchBoothgamepad = Enum.KeyCode.ButtonY
BancoMerceologico.Controls.CloseMerchBoothgamepad = Enum.KeyCode.ButtonB
BancoMerceologico.Controls.Filtergamepad = Enum.KeyCode.ButtonX
BancoMerceologico.Controls.ViewItemgamepad = Enum.KeyCode.ButtonA
LocalScript

local 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.

LocalScript

local 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.

LocalScript

local 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.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BancoMerceologico = require(ReplicatedStorage.BancoMerceologico)
local isEnabled = BancoMerceologico.isMerchBoothEnabled()
if isEnabled then
BancoMerceologico.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: numberID asset dell'articolo.
itemInfo: tableDizionario 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: numberID 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)
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.