Stand di merchandising

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

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:

  1. Dalla scheda Visualizza, apri la Toolbox e seleziona la scheda Creator Store .

    Toolbox toggle button in Studio
  2. Assicurati che la classificazione Modelli sia selezionata, quindi fai clic sul pulsante Vedi tutti per Categorie .

  3. Individua e fai clic sul riquadro Moduli di sviluppo .

  4. Individua il modulo Merch Booth e cliccalo, oppure trascinalo nella vista 3D.

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

  1. In StarterPlayerScripts , crea una nuova LocalScript e rinominala in ConfiguraMerchBooth .

  2. Incolla il seguente codice nel nuovo script.

    Script locale - ConfigurareMerchBooth

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

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

    Script - Aggiungi risorse avatar

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    }
    for _, assetId in items do
    local success, errorMessage = pcall(function()
    MerchBooth.addItemAsync(assetId)
    end)
    if not success then
    warn(errorMessage)
    end
    end
  2. Copia gli ID risorsa dell'elemento dal loro URL del sito Avatar Shop. Ad esempio, l'ID di Roblox Baseball Cap è 607702162 .

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

Passi

L'aggiunta di pass richiede ID di pass che possono essere localizzati nella Dashboard del creatore.

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

    Script - Aggiungi pass

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

  3. Nella colonna di sinistra, sotto Monetizzazione , seleziona Passi .

  4. Passa il mouse su una miniatura di Passaggi di gioco, fai clic sul pulsante e seleziona Copia ID risorsa dal menu contestuale.

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

Prodotti per sviluppatori

L'aggiunta di prodotti per sviluppatori richiede ID di prodotto che possono essere localizzati nella Dashboard del creatore.

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

    Script - Aggiungi prodotti per sviluppatori

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

  3. Nella colonna di sinistra, sotto Monetizzazione , seleziona Prodotti per sviluppatori .

  4. Passa il mouse su una miniatura di prodotto, fai clic sul pulsante e seleziona Copia ID risorsa dal menu contestuale.

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

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:

  1. Crea un nuovo pulsante come descritto in Pulsanti.

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

  3. Incolla il seguente codice nel nuovo script.

    Script locale - Pulsante catalogo personalizzato

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

  1. 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
  2. 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.

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

  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 la GUI or Intefaccia grafica utentedel negozio.

    Script locale

    local 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 predefinito
    MerchBooth.toggleCatalogButton(false)
    local function setupRegion(region: BasePart)
    region.Touched:Connect(function(otherPart)
    local character = Players.LocalPlayer.Character
    if character and otherPart == character.PrimaryPart then
    MerchBooth.openMerchBooth()
    end
    end)
    region.TouchEnded:Connect(function(otherPart)
    local character = Players.LocalPlayer.Character
    if character and otherPart == character.PrimaryPart then
    MerchBooth.closeMerchBooth()
    end
    end)
    end
    -- Iterare attraverso le regioni del negozio contrassegnate esistenti
    for _, region in CollectionService:GetTagged("ShopRegion") do
    setupRegion(region)
    end
    -- Rileva quando le regioni non in streaming del negozio si streamano
    CollectionService: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.Sphere
myParticleEmitter.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.

ChiaveTipoDescrizione
assetIdnumberoID del catalogo dell'Articolo, come passato a addItemAsync.
titlestringaTitolo dell'elemento come appare nel catalogo.
pricenumberoPrezzo dell'articolo in Robux.
descriptionstringaDescrizione dell'articolo come appare nel catalogo.
assetTypestringaStringa che rappresenta il inserisci / scrividi accessorio dell'Articolo.
isOwnedboolSe il giocatore attuale possiede l'Articolo.
creatorNamestringaCreatore di oggetti come mostrato nel catalogo.
creatorTypeEnum.CreatorTypeTipo 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.

NomeSommariamente
ProximityPromptsTasto di tastiera e/o gamepad per aprire la vista dell'oggetto quando prompt di prossimità sono configurati.
OpenMerchBoothTasto di tastiera e/o gamepad per aprire il bancone di merchandising.
CloseMerchBoothTasto di tastiera e/o gamepad per chiudere il merch booth.
FilterTasto di tastiera e/o gamepad per utilizzare il pull-down predefinito del Filtro nell'area superiore sinistra della vista del catalogo.
ViewItemTasto 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 .

ChiaveDescrizioneBasilare
backgroundColorColore di sfondo principale della finestra ( Color3 ).[0, 0, 0]
cornerRadiusRaggio d'angolo per la finestra principale ( UDim ).(0, 16)
cornerRadiusSmallRaggio d'angolo per gli elementi all'interno della finestra ( UDim ).(0, 8)
textFontFonte di "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 varianti del testo principale ( Color3 ).[153, 153, 158]
headerFontFonte del testo dell'intestazione utilizzato per il titolo della finestra ( Enum.Font ).GothamMedium
headerTextSizeDimensione del testo dell'Header utilizzato per il titolo della finestra.18
titleFontFonte del testo del titolo utilizzato per i nomi degli elementi sulla pagina dei dettagli dell'elemento ( Enum.Font ).GothamBold
titleTextSizeDimensione del testo del titolo utilizzato per i nomi degli elementi sulla pagina dei dettagli dell'elemento.28
buttonColorColore 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]
buttonTextColorColore 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]
secondaryButtonColorColore di sfondo per pulsanti più piccoli come i pulsanti di prezzo nella vista del catalogo o il pulsante Prova ( Color3 ).[34, 34, 34]
secondaryButtonTextColorColore del testo per pulsanti più piccoli come i pulsanti di prezzo nella vista del 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]
particleEmitterTemplateOpzionale 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.ProximityPromptskeyboard = Enum.KeyCode.E``gamepad = Enum.KeyCode.ButtonY
MerchBooth.Controls.OpenMerchBoothgamepad = Enum.KeyCode.ButtonY
MerchBooth.Controls.CloseMerchBoothgamepad = Enum.KeyCode.ButtonB
MerchBooth.Controls.Filtergamepad = Enum.KeyCode.ButtonX
MerchBooth.Controls.ViewItemgamepad = 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

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 then
MerchBooth.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: numberID risorsa oggetto.
itemInfo: tableDizionario 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: numberID 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)