O MerchBooth módulo de desenvolvedor permite que você ofereça ativos de avatar, passes e produtos de desenvolvedor para venda diretamente dentro da sua experiência. Os jogadores podem navegar por itens, visualizar ativos em seu próprio avatar, comprar itens e usá-los ou equipá-los instantaneamente — tudo isso sem sair da sua experiência. Isso pode ajudar você a monetizar sua experiência e gerar receita através da taxa de afiliado de 40% associada à venda de itens de outros criadores.
Uso do módulo
Instalação
Para usar o módulo MerchBooth em uma experiência:
No menu Janela do Studio ou na barra de ferramentas da aba Início, abra a Caixa de Ferramentas e selecione a aba Loja do Criador.

Certifique-se de que a ordenação Modelos está selecionada, então clique no botão Ver Todos para Categorias.

Localize e clique no bloco Pacotes.
Localize o módulo Merch Booth e clique nele, ou arraste-o para a visualização 3D.

Na janela Explorador, mova todo o modelo MerchBooth para ReplicatedStorage. Ao executar a experiência, o módulo começará a funcionar.
Configuração
O módulo é pré-configurado para funcionar na maioria dos casos de uso, mas pode ser facilmente personalizado através da função configure. Por exemplo, para criar um tema mais claro e desativar o botão de Filtro padrão na área superior esquerda da visualização do catálogo:
Em StarterPlayerScripts, crie um novo LocalScript e renomeie-o para ConfigureMerchBooth.

Cole o seguinte código no novo 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})
Adicionar itens
O que é um quiosque de merch sem merch? As seções a seguir descrevem como adicionar ativos de avatar, passes e produtos de desenvolvedor ao seu quiosque de merch.
Ativos de avatar
Itens como roupas e acessórios devem ser adicionados através de seu ID do ativo localizado na página de detalhes do item na Loja de Avatares.
Crie um Script dentro de ServerScriptService e cole o seguinte código.
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)endendCopie os IDs dos ativos dos itens da URL do site da Loja de Avatares. Por exemplo, o ID do Boné de Beisebol do Roblox é 607702162.

Cole cada ID copiado em uma lista delimitada por vírgulas dentro da tabela items. Por padrão, os itens aparecem na visualização do catálogo em ordem alfabética, mas você pode personalizar a ordenação usando setCatalogSort.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {607702162, -- Boné de Beisebol do Roblox4819740796, -- Robox1374269, -- Orelhas de Gatinho11884330, -- Óculos Nerd10476359, -- Chapéu de Papel}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Passes
Adicionar passes requer IDs de passes que podem ser localizados no Painel do Criador.
Crie um Script dentro de ServerScriptService e cole o seguinte código.
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)endendNavegue até o Painel do Criador e selecione a experiência.
Na coluna à esquerda, sob Monetização, selecione Passes.
Passe o mouse sobre a miniatura de um passe, clique no botão ⋯ e selecione Copiar ID do Ativo no menu de contexto.

Cole cada ID copiado em uma lista delimitada por vírgulas dentro da tabela items **e** inclua Enum.InfoType.GamePass` como o segundo parâmetro para addItemAsync para indicar que os itens são passes. Por padrão, os itens aparecerão na visualização do catálogo em ordem alfabética, mas a ordenação pode ser personalizada através de setCatalogSort.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {4343758, -- Armadura ColdFyre28521575, -- Escudo de Slime}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Produtos de Desenvolvedor
Adicionar produtos de desenvolvedor requer IDs de produtos que podem ser localizados no Painel do Criador.
Crie um Script dentro de ServerScriptService e cole o seguinte código.
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)endendNavegue até o Painel do Criador e selecione a experiência.
Na coluna à esquerda, sob Monetização, selecione Produtos de Desenvolvedor.
Passe o mouse sobre a miniatura de um produto, clique no botão ⋯ e selecione Copiar ID do Ativo no menu de contexto.

Cole cada ID copiado em uma lista delimitada por vírgulas dentro da tabela items **e** inclua Enum.InfoType.Product` como o segundo parâmetro para addItemAsync para indicar que os itens são produtos de desenvolvedor. Por padrão, os itens aparecem na visualização do catálogo em ordem alfabética, mas você pode personalizar a ordenação usando setCatalogSort.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {1236602053, -- Reabastecimento de Mana1257880672, -- Poção de Cura}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Botão de catálogo personalizado
Por padrão, um botão de catálogo do lado direito permite que os jogadores abram o quiosque a qualquer momento.

Em alguns casos, pode ser útil remover esse botão e conectar o seu próprio:
Crie um novo botão conforme descrito em Botões.
Crie um LocalScript como filho do objeto do botão.

Cole o seguinte código no novo script.
LocalScript - Custom Catalog Buttonlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Remover o botão de catálogo padrãoMerchBooth.toggleCatalogButton(false)-- Conectar o botão personalizadoscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Regiões compráveis
Uma maneira útil de incentivar compras em sua experiência é mostrar automaticamente o quiosque de merch quando um jogador entra em uma área.
Para criar uma região comprável:
Crie um bloco Anchored que abranja a região de detecção. Certifique-se de que o bloco é alto o suficiente para colidir com a PrimaryPart dos modelos de personagem (HumanoidRootPart por padrão).

Bloco para detectar quando os jogadores se aproximam da frente do balcão da loja Usando a seção Tags das propriedades do bloco, aplique a tag ShopRegion ao bloco para que o CollectionService o detecte.
Defina a Transparency da parte para o máximo para escondê-la dos jogadores na experiência. Também desabilite as propriedades CanCollide e CanQuery para que objetos não colidam fisicamente com ela e raycasts não a detectem.


Insira um novo LocalScript em StarterPlayerScripts.

No novo script, cole o seguinte código que usa os eventos Touched e TouchEnded para detectar quando os personagens entram/saem da região e chama openMerchBooth e closeMerchBooth para abrir/fechar a GUI do quiosque.
LocalScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Remover o botão de catálogo padrãoMerchBooth.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-- Iterar pelas regiões de loja marcadas existentesfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Detectar quando regiões de loja não transmitidas entramCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Prompts de proximidade
Como alternativa à visualização 2D do catálogo, você pode adicionar prompts de proximidade sobre objetos dentro da experiência. Isso incentiva os jogadores a descobrirem itens no ambiente 3D, visualizá-los em seus próprios avatares, comprá-los e equipá-los instantaneamente. Consulte addProximityButton para mais detalhes.
Mudar o efeito de equipamento
Por padrão, o quiosque de merch mostra um efeito genérico de brilho quando um jogador equipa um item dele. Para mudar o efeito, defina particleEmitterTemplate para sua própria instância de um ParticleEmitter em uma chamada de configure.
LocalScript - ConfigureMerchBoothlocal 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.SpheremyParticleEmitter.Transparency = NumberSequence.new(0, 1)myParticleEmitter.RotSpeed = NumberRange.new(200, 200)MerchBooth.configure({particleEmitterTemplate = myParticleEmitter})
Visibilidade da GUI
Por padrão, o quiosque de merch oculta todas as ScreenGuis e CoreGuis quando sua interface aparece, incluindo o chat, a leaderboard e outros incluídos pelo Roblox. Se você quiser desativar esse comportamento, defina hideOtherUis como false em uma chamada de configure.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({hideOtherUis = false})
Movimento do personagem
Pode ser vantajoso impedir que um personagem se mova enquanto está no quiosque de merch. Isso pode ser feito definindo disableCharacterMovement como true em uma chamada de configure.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({disableCharacterMovement = true})
Referência de API
Tipos
Item
Itens no quiosque de merch são representados por um dicionário com os seguintes pares chave-valor. Os itens podem ser coletados através da função getItems ou do evento itemAdded.
| Chave | Tipo | Descrição |
|---|---|---|
| assetId | número | ID do catálogo do item, como passado para addItemAsync. |
| title | string | Título do item como aparece no catálogo. |
| price | número | Preço do item em Robux. |
| description | string | Descrição do item como aparece no catálogo. |
| assetType | string | String representando o tipo de acessório do item. |
| isOwned | bool | Se o jogador atual possui o item. |
| creatorName | string | Criador do item como mostrado no catálogo. |
| creatorType | Enum.CreatorType | Tipo de criador do item. |
Enums
MerchBooth.Controls
Usado junto com setControlKeyCodes para personalizar as teclas e botões do gamepad para interagir com o quiosque de merch.
| Nome | Resumo |
|---|---|
| ProximityPrompts | Tecla e/ou botão do gamepad para abrir a visualização do item quando prompts de proximidade são configurados. |
| OpenMerchBooth | Tecla e/ou botão do gamepad para abrir o quiosque de merch. |
| CloseMerchBooth | Tecla e/ou botão do gamepad para fechar o quiosque de merch. |
| Filter | Tecla e/ou botão do gamepad para usar o menu suspenso Filtro padrão na área superior esquerda da visualização do catálogo. |
| ViewItem | Tecla e/ou botão do gamepad para abrir uma visualização específica de item do quiosque de merch. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Funções
configure
configure(config: table)
Substitui opções de configuração padrão do lado do cliente através das seguintes chaves/valores na tabela config. Esta função só pode ser chamada de um LocalScript.
| Chave | Descrição | Padrão |
|---|---|---|
| backgroundColor | Cor de fundo principal da janela (Color3). | [0, 0, 0] |
| cornerRadius | Raio do canto para a janela principal (UDim). | (0, 16) |
| cornerRadiusSmall | Raio do canto para elementos dentro da janela (UDim). | (0, 8) |
| textFont | Fonte do "texto principal" como preços, descrições e outras informações gerais (Enum.Font). | Gotham |
| textSize | Tamanho do texto principal. | 14 |
| textColor | Cor do texto principal (Color3). | [255, 255, 255] |
| secondaryTextColor | Cor usada para algumas variações do texto principal (Color3). | [153, 153, 158] |
| headerFont | Fonte do texto do cabeçalho usado para o título da janela (Enum.Font). | GothamMedium |
| headerTextSize | Tamanho do texto do cabeçalho usado para o título da janela. | 18 |
| titleFont | Fonte do texto do título usado para os nomes dos itens na página de detalhes do item (Enum.Font). | GothamBold |
| titleTextSize | Tamanho do texto do título usado para os nomes dos itens na página de detalhes do item. | 28 |
| buttonColor | Cor de fundo para botões maiores em um estado clicável, como o botão principal de compra na visualização do item (Color3). | [255, 255, 255] |
| buttonTextColor | Cor do texto para botões maiores em um estado clicável, como o botão principal de compra na visualização do item (Color3). | [0, 0, 0] |
| secondaryButtonColor | Cor de fundo para botões menores, como os botões de preço na visualização do catálogo ou o botão de Experimentar (Color3). | [34, 34, 34] |
| secondaryButtonTextColor | Cor do texto para botões menores, como os botões de preço na visualização do catálogo ou o botão de Experimentar (Color3). | [255, 255, 255] |
| inactiveButtonColor | Cor de fundo para todos os botões em um estado não clicável (Color3). | [153, 153, 158] |
| inactiveButtonTextColor | Cor do texto para todos os botões em um estado não clicável (Color3). | [255, 255, 255] |
| particleEmitterTemplate | Instância opcional de ParticleEmitter personalizada que aparece e toca ao equipar. |
LocalScriptlocal 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)
Adiciona um item ao quiosque de merch de forma assíncrona, tornando-o elegível para compra na experiência. assetId é o ID do ativo do item, productType é o enum Enum.InfoType do item, e hideFromCatalog pode ser usado para ocultar o item na visualização do catálogo.
Consulte Adicionar Itens para detalhes, pois o uso varia um pouco para ativos em relação a passes de jogo ou produtos de desenvolvedor.
Script - Add Avatar Assets
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
607702162, -- Boné de Beisebol do Roblox
4819740796, -- Robox
1374269, -- Orelhas de Gatinho
11884330, -- Óculos Nerd
10476359, -- Chapéu de Papel
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Add Passes
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
4343758, -- Armadura ColdFyre
28521575, -- Escudo de Slime
}
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 - Add Developer Products
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
1236602053, -- Reabastecimento de Mana
1257880672, -- Poção de Cura
}
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
getItems
getItems(): table
Retorna um dicionário representando todos os itens registrados atualmente. Cada chave é o ID do ativo de um item como uma string, e o valor de cada chave é um Item. Esta função só pode ser chamada de um Script.
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)
end
removeItem
removeItem(assetId: number)
Desregistra um item anteriormente adicionado com addItemAsync, removendo seu bloco na visualização do catálogo e quaisquer prompts de proximidade atribuídos a ele. Esta função só pode ser chamada de um Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Após algum tempo, remova o item
task.wait(5)
MerchBooth.removeItem(4819740796)
end
addProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
Adiciona um prompt de proximidade sobre o dado adornee que acionará a exibição de compra de um item, dado seu ID de ativo. Isso pode ser usado como uma alternativa à visualização 2D do catálogo, incentivando os jogadores a descobrirem itens no ambiente 3D.
Observe que um item deve ser adicionado via addItemAsync antes que um botão de proximidade possa ser atribuído a ele. Consulte também removeProximityButton para remover o prompt de proximidade de um objeto.
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
end
removeProximityButton
removeProximityButton(adornee: BasePart|Model|Attachment)
Remove um prompt de proximidade gerado através de addProximityButton. Esta função só pode ser chamada de um Script.
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
-- Após algum tempo, remova o prompt
task.wait(5)
MerchBooth.removeProximityButton(item)
end
setCatalogSort
setCatalogSort(sortFunction: function): boolean
Define a função de ordenação sortFunction a ser usada na visualização do catálogo. A função de ordenação fornecida pode usar lógica baseada nas informações do Item como price ou title. Esta função só pode ser chamada de um LocalScript.
Aqui estão alguns exemplos para ordenar o catálogo:
Preço do Menor para o Maior
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Preço do Maior para o Menor
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Preço do Menor para o Maior & Alfabético
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 os valores de teclas e botões para interações com o quiosque de merch. O primeiro parâmetro deve ser um enum MerchBooth.Controls e o segundo parâmetro uma tabela contendo as teclas keyboard e/ou gamepad com os enums correspondentes de Enum.KeyCode.
| Enum (control) | Teclas/Valores keyCodes Padrão |
|---|---|
| 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 |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
openMerchBooth
openMerchBooth()
Abre a janela do quiosque de merch (se fechada) e navega até a visualização do catálogo. Esta função só pode ser chamada de um LocalScript.
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)
Navega até a visualização de item único do dado itemId, abrindo a janela do quiosque de merch se estiver atualmente fechada. Esta função só pode ser chamada de um LocalScript.
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)
end
toggleCatalogButton
toggleCatalogButton(enabled: boolean)
Ativa/desativa o botão de catálogo no lado direito da tela. Isso é útil ao implementar um botão personalizado ou limitar a aparência do quiosque de merch a regiões ou prompts de proximidade. Só pode ser chamado de um LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.toggleCatalogButton(false)
isMerchBoothOpen
isMerchBoothOpen(): Tuple
Retorna true se o catálogo ou a visualização do item estiver aberto. Se a visualização do item estiver aberta, o ID do ativo do item é retornado como o segundo valor. Esta função só pode ser chamada de um LocalScript.
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)
end
closeMerchBooth
closeMerchBooth()
Fecha a janela do quiosque de merch. Esta função só pode ser chamada de um LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.closeMerchBooth()
isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Esta função pode ser usada em conjunto com setEnabled para verificar se o quiosque de merch está atualmente habilitado ou não. Só pode ser chamada de um LocalScript.
setEnabled
setEnabled(enabled: boolean)
Define se todo o quiosque de merch está habilitado ou não. Quando desativado, esta função remove toda a UI, incluindo prompts de proximidade, e desconecta todos os eventos. Esta função só pode ser chamada de um LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Eventos
itemAdded
Dispara quando um item é adicionado através de addItemAsync. Este evento só pode ser conectado em um Script.
| Parâmetros | |
|---|---|
| assetId: number | ID do ativo do item. |
| itemInfo: table | Dicionário de informações do Item como price ou title. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Item adicionado com ID de ativo", assetId)
print(itemInfo)
end)
itemRemoved
Dispara quando um item é removido através de removeItem. Este evento só pode ser conectado em um Script.
| Parâmetros | |
|---|---|
| assetId: number | ID do ativo do item. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemRemoved:Connect(function(assetId)
print("Item removido com ID de ativo", assetId)
end)
merchBoothOpened
Dispara quando a visualização do catálogo ou a visualização de detalhes do item são abertas.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothOpened:Connect(function()
print("Visualização do quiosque aberta")
end)
merchBoothClosed
Dispara quando a visualização do catálogo ou a visualização de detalhes do item é fechada.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothClosed:Connect(function()
print("Visualização do quiosque fechada")
end)
catalogViewOpened
Dispara quando a visualização do catálogo é aberta.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewOpened:Connect(function()
print("Visualização do catálogo aberta")
end)
catalogViewClosed
Dispara quando a visualização do catálogo é fechada.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewClosed:Connect(function()
print("Visualização do catálogo fechada")
end)
itemViewOpened
Dispara quando a visualização de detalhes do item é aberta.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewOpened:Connect(function()
print("Visualização do item aberta")
end)
itemViewClosed
Dispara quando a visualização de detalhes do item é fechada.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewClosed:Connect(function()
print("Visualização do item fechada")
end)