O módulo de desenvolvedor MerchBooth permite que você ofereça ativos de avatar, passese produtos para desenvolvedor para venda diretamente dentro da sua experiência. Os jogadores podem pesquisar itens, visualizar recursos em seu próprio avatar, comprar itens e usá-los ou equipá-los instantaneamente — tudo sem sair de sua experiência. Isso pode ajudá-lo a monetizar sua experiência e obter receita por meio 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:
Na aba Exibir, abra a Caixa de ferramentas e selecione a aba Mercado.
Verifique se a ordenação de Modelos está selecionada e, em seguida, clique no botão Exibir Tudo para Categorias.
Encontre e clique no painel DEV MODULES
Localize o módulo Merch Booth e clique nele, ou arraste-o e solte-o em uma visualização 3D.
Na janela do Explorador, mova o modelo MerchBooth inteiro para o ServerScriptService. Ao executar a experiência, o módulo será distribuído para vários serviços e começará a ser executado.
Configuração
O módulo é pré-configurado para funcionar na maioria dos casos de uso, mas pode ser facilmente personalizado por meio da função configurar. Por exemplo, para criar um tema mais leve e desativar o botão Filtro padrão na área superior esquerda da visualização do catálogo:
Em StarterPlayerScripts, crie um novo Class. LocalScript e renomeie-o para ConfigureMerchBooth.
Cole o seguinte código dentro do script novo.
LocalScript - ConfigureMerchBoothlocal 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})
Adicionar itens
O que é um Merch Booth sem merch? As seções a seguir descrevem como adicionar ativos de avatar, passes e produtos de desenvolvedor para seu Merch Booth.
Ativos de avatar
Itens como roupas e acessórios devem ser adicionados por meio de seu ID de ativo localizado na página de detalhes do item na Loja do avatar.
Crie um Class. Script dentro do ServerScriptService e cole no próximo código.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in ipairs(items) dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenprint(errorMessage)endendCopie os IDs de ativos do item do URL do site Loja de Avatar. Por exemplo, o ID do Boné de Basebol da Roblox é 607702162.
Cole cada ID copiado em uma lista delimitada por vírgulas, dentro da items tabela . Por padrão, os itens aparecem na visualização do catálogo em ordem alfabética, mas você personalizar a ordenação usando o setCatalogSort.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Roblox Baseball Cap4819740796, -- Robox1374269, -- Kitty Ears11884330, -- Nerd Glasses10476359, -- Paper Hat}for _, assetId in ipairs(items) dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenprint(errorMessage)endend
Passes
Adicionar passes exige IDs de passes que podem ser encontrados no Painel de criações.
Crie um Class. Script dentro do ServerScriptService e cole no próximo código.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in ipairs(items) dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenprint(errorMessage)endendNavegue até o Painel de Criações e selecione a experiência.
Na coluna à esquerda, clique em Itens associados e, em seguida, selecione PASSES.
Clique com o botão direito do mouse em um passe e selecione Copiar ID do ativo.
Cole cada ID copiado em uma lista delimitada por vírgulas dentro da items tabela 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 por meio do setCatalogSort.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- ColdFyre Armor28521575, -- Slime Shield}for _, assetId in ipairs(items) dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum. InfoType. GamePass)end)if not success thenprint(errorMessage)endend
Produtos do Desenvolvedor
Adicionar produtos de desenvolvedor exige IDs de produtos que podem ser encontrados no Painel de Criações.
Crie um Class. Script dentro do ServerScriptService e cole no próximo código.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in ipairs(items) dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenprint(errorMessage)endendNavegue até o Painel de Criações e selecione a experiência.
Na coluna à esquerda, clique em Itens associados e, em seguida, selecione PRODUTOS DE DESENVOLVEDOR.
Clique com o botão direito do mouse em um produto e selecione Copiar ID do ativo.
Cole cada ID copiado em uma lista delimitada por vírgulas dentro da items tabela 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ê personalizar a ordenação usando o setCatalogSort.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Mana Refill1257880672, -- Healing Potion}for _, assetId in ipairs(items) dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum. InfoType. Product)end)if not success thenprint(errorMessage)endend
Personalize o botão do catálogo
Por padrão, um botão de catálogo do lado direito permite que os usuários abram o Booth a qualquer momento.
Em alguns casos, pode ser útil remover este botão e conectar o seu próprio:
Crie um novo botão conforme descrito emBotões e entrada de texto.
Crie um LocalScript como secundário para o objeto do botão.
Cole o seguinte código dentro do script novo.
LocalScript - Custom Catalog ButtonRegiões compráveis
Regiões compráveis
Uma maneira útil de impulsionar as compras em sua experiência é mostrar automaticamente o estande de produtos quando um usuário entra em uma área.
Para criar uma região comprável:
Crie um Class. BasePart. Anchored|Anchored bloco que engloba a região de detecção.
Usando o Editor de marcadores, acessível a partir da guia Ver, aplique a guia ShopRegion para bloquear, assim CollectionService poderá detectá-lo.
Desabilite as partes de Class. BasePart. CanCollide|CanCollide e Class. BasePart. CanQuery|CanQuery as propriedades para que os objetos não colidam fisicamente com ela e os raycasts não a detectem. Defina também o Class. BasePart. Transparency|Transparency para o máximo para ocultá-lo dos usuários na experiência.
Insira um novo Class. LocalScript em StarterPlayerScripts.
No novo script, cole o seguinte código que usa os Class. BasePart. Touched|Touched e Class. BasePart. TouchEnded|TouchEnded eventos para detectar quando os usuários entram/saem da região e chama openMerchBooth e closeMerchBooth para abrir/fechar a interface gráfica do Booth.
LocalScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Remove the default catalog buttonMerchBooth.toggleCatalogButton(false)-- Iterate through all tagged partsfor _, region in ipairs(CollectionService:GetTagged("ShopRegion")) doregion. Touched:Connect(function(otherPart)local character = Players. LocalPlayer. Characterif character and character:FindFirstChild("HumanoidRootPart") == otherPart thenMerchBooth.openMerchBooth()endend)region. TouchEnded:Connect(function(otherPart)local character = Players. LocalPlayer. Characterif character and character:FindFirstChild("HumanoidRootPart") == otherPart thenMerchBooth.closeMerchBooth()endend)end
Indicadores de proximidade
Como alternativa à visualização de catálogo 2D, você pode adicionar avisos de proximidade sobre objetos na experiência. Isso incentiva os usuários a descobrir itens no ambiente 3D, visualizá-los em seu próprio avatar, comprá-los e equipá-los instantaneamente. Consulte addProximityButton para obter detalhes.
Alteração do efeito de equipar
Por padrão, o estande de produtos mostra um efeito de brilho genérico quando um usuário equipa um item dele. Para alterar o efeito, defina particleEmitterTemplate a sua própria instância de Class. ParticleEmitter em uma chamada de configuração.
LocalScript - ConfigureMerchBooth
Avisos de proximidade
Visibilidade da interface gráfica
Por padrão, o Merch Booth oculta todos Class. ScreenGui|ScreenGuis e Class. CoreGui|CoreGuis quando sua interface do usuário aparece, incluindo o chat, classificação e outros, incluídos pela Roblox. Se você deseja desabilitar esse comportamento, defina hideOtherUis como false em uma chamada de configuração.
LocalScript - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Movimento do personagem
Pode ser vantajoso impedir que um personagem se mova enquanto ele estiver no Merch Booth. Isso pode ser feito definindo disableCharacterMovement como true em uma chamada de configuração.
LocalScript - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
Referência de API
Tipos
Item
Os itens no Merch Booth são representados por um dicionário com os seguintes pares de chave-valor. Os itens podem ser coletados por meio da função getItems ou do evento itemAdded.
Chave | Tipo | Descrição |
---|---|---|
assetId | número | ID do catálogo do item, conforme 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 conforme aparece no catálogo. |
assetType | string | String representando o tipo acessório do item. |
isOwned | boolean | Se o usuário atual possui o item. |
creatorName | string | Criador de itens, como mostrado no catálogo. |
creatorType | Enum. CreatorType | Tipo de criador para o item. |
Enumeradores
MerchBooth. Controls
Usado junto com setControlKeyCodes para personalizar as teclas e os botões do gamepad para interagir com o Merch Booth.
Nome | Resumo |
---|---|
ProximityPrompts | Tecla e/ou botão de gamepad para abrir a visualização do item quando os avisos de proximidade são configurados. |
OpenMerchBooth | Tecla ou botão do gamepad para abrir o Merch Booth. |
CloseMerchBooth | Botão de tecla e/ou gamepad fechar o Merch Booth. |
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 do item do Merch Boot. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth. Controls. ProximityPrompts, {keyboard = Enum. KeyCode. Q,gamepad = Enum. KeyCode. ButtonL1})
Funções
configurar
configure(config:table)
Substitui as opções de configuração padrão do cliente por meio das seguintes chaves-valores na tabela config. Esta função só poder ser chamada de um Class. LocalScript.
Aparência
Chave | Descrição | Padrão |
---|---|---|
backgroundColor | Cor de fundo principal da janela (Datatype. 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. | 13 |
textColor | Cor do texto principal (Datatype. Color3). | [255, 255, 255] |
secondaryTextColor | Cor usada para algumas variações do texto principal (Datatype. 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 nomes de itens na página de detalhes do item (Enum. Font). | GothamBold |
titleTextSize | Tamanho do texto do título usado para nomes de 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 de compra principal na visualização do item (Datatype. Color3). | [255, 255, 255] |
buttonTextColor | Cor do texto para botões maiores em um estado clicável, como o botão de compra principal na visualização do item (Datatype. 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 Experimente (Datatype. 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 Experimente (Datatype. Color3). | [255, 255, 255] |
inactiveButtonColor | Cor de fundo para todos os botões em um estado não clicável (Datatype. Color3). | [153, 153, 158] |
inactiveButtonTextColor | Cor do texto para todos os botões em um estado não clicável (Datatype. Color3). | [255, 255, 255] |
particleEmitterTemplate | Instância personalizada opcionalClass. ParticleEmitter que aparece e liga o equipamento. |
ProximityPrompts`
Chave | Descrição | Padrão |
---|---|---|
proximityButtonActivationDistance | A distância máxima que o personagem de um jogador pode estar do aviso adornado para que o aviso apareça. | 10 |
proximityButtonExclusivity | Enum. ProximityPromptExclusivity especificando quais avisos podem ser mostrados ao mesmo tempo. | OnePerButton |
proximityButtonOffset | Compensação de pixel aplicado à IU do aviso (Datatype. Vector2). | (0, 0) |
proximityButtonPulseCount | Quantos "pulsos" ocorrem em torno dos botões de proximidade antes de parar. | 3 |
Comportamento
Chave | Descrição | Padrão |
---|---|---|
useFilters | Ativa/desativa o botão Filtro mostrado no catálogo. | true |
disableCharacterMovement | Se true, impede que o personagem se mova enquanto o Merch Booth estiver aberto. | false |
hideOtherUis | Se true, o Merch Booth oculta todos Class. ScreenGui|ScreenGuis e Class. CoreGui|CoreGuis quando sua IU aparece. | true |
closeWhenFarFromPrompt | Se truee se o jogador abriu uma visualização de item por meio de um aviso de proximidade, o Merch Booth fechará automaticamente quando o jogador se afastar mais do objeto de aviso do que sua distância de ativação. | true |
LocalScript
Avisos de proximidade
addItemAsync
addItemAsync(assetId:number, productType:Enum. InfoType, hideFromCatalog:boolean)
Adiciona de forma assíncrona um item ao Merch Booth para que seja 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 exibição do catálogo.
Consulte Adicionar itens para obter detalhes, à medida que o uso varia ligeiramente para ativos em relação aos passes de jogo ou produtos de desenvolvedor.
Script - Add Avatar Assets
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Roblox Baseball Cap
4819740796, -- Robox
1374269, -- Kitty Ears
11884330, -- Nerd Glasses
10476359, -- Paper Hat
}
for _, assetId in ipairs(items) do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
print(errorMessage)
end
end
Script - Add Passes
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- ColdFyre Armor
28521575, -- Slime Shield
}
for _, assetId in ipairs(items) do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)
end)
if not success then
print(errorMessage)
end
end
Script - Add Developer Products
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Mana Refill
1257880672, -- Healing Potion
}
for _, assetId in ipairs(items) do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)
end)
if not success then
print(errorMessage)
end
end
getItems
getItems():table
Retorna um dicionário representando todos os itens atualmente registrados. 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 a partir de um Script.
Script
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
removeItem
removeItem(assetId:number)
Cancela o registro de um item adicionado anteriormente com addItemAsync, removendo seu painel na visualização do catálogo e quaisquer avisos de proximidade atribuídos a ele. Esta função só pode ser chamada a partir de um Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- After some time, remove the item
task.wait(5)
MerchBooth.removeItem(4819740796)
end
addProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
Adiciona um aviso de proximidade sobre o dado adornee que acionará a exibição da visualização de compra de um item, dado seu ID de ativo. Isso pode ser usado como uma alternativa à visualização de catálogo 2D, incentivando os usuários a descobrir itens no ambiente 3D.
Observe que um item deve ser adicionado via addItemAsync antes que um aviso de proximidade possa ser atribuído a ele. Consulte também removeProximityButton para remover o aviso de proximidade de um objeto.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
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
removeProximityButton
removeProximityButton(adornee: Class. BasePart|Class. Model|Class. Attachment|Attachment)
Remove um aviso de proximidade gerado por meio de addProximityButton. Esta função só pode ser chamada a partir de um Class. Script.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
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
-- After some time, remove the prompt
task.wait(5)
MerchBooth.removeProximityButton(item)
end
setCatalogSort
setCatalogSort(sortFunction:function):boolean
Define a função de classificação sortFunction a ser usada na visualização do catálogo. A função de classificação fornecida pode usar a lógica ligado às informações do item como price ou title. Esta função só poder ser chamada de um Class. LocalScript.
Aqui estão alguns exemplos para classificar o catálogo:
Price 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)
Price High-to-Low
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Price Low-to-High & Alphabetical
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)
setControlKeyCodes
setControlKeyCodes(control:MerchBooth. Controls, keyCodes:table)
Configura os valores de chave e botão para interações com o estande de produtos. O primeiro parâmetro deve ser um MerchBooth. Controls enum e o segundo parâmetro uma tabela contendo as chaves keyboard e/ou gamepad com os correspondentes Enum. KeyCode enums.
Enum (control) | Chaves/valores keyCodespadrã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 |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth. Controls. ProximityPrompts, {keyboard = Enum. KeyCode. Q,gamepad = Enum. KeyCode. ButtonL1,})
openMerchBooth
openMerchBooth():
Abre a janela do Merch Booth (se fechada) e navega para a visualização do catálogo. Esta função só poder ser chamada de um Class. LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
print(errorMessage)
end MerchBooth.openMerchBooth()
openItemView
openItemView(itemId:number)
Navega para a visualização de item único do itemId fornecido, abrindo a janela do Merch Booth se estiver fechada no momento. Esta função só poder ser chamada de um Class. LocalScript.
LocalScript
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
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 aparência do Merch Booths para regiões ou avisos de proximidade. Só pode ser chamado de um Class. LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
isMerchBoothOpen
isMerchBoothOpen():Tuple
Devolve true se o catálogo ou item visão está aberto. Se a visualização do item estiver aberta, o ID do ativo do item será retornado como o segundo valor. Esta função só poder ser chamada de um Class. LocalScript.
LocalScript
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
closeMerchBooth
closeMerchBooth():
Fecha a janela do Merch Boot. Esta função só poder ser chamada de um Class. LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
isMerchBoothEnabled
isMerchBoothEnabled():boolean
Esta função pode ser usada em conjunto com setEnabled para verificar se o Merch Booth está habilitado ou não. Só pode ser chamado de um Class. LocalScript.
setEnabled
setEnabled(enabled:boolean)
Define se todo o Merch Booth está ativado ou não. Quando desabilitada, esta função remove toda a IU, incluindo avisos de proximidade e desconecta todos os eventos. Esta função só poder ser chamada de um Class. LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Eventos
itemAdded
itemAdded(assetId:number, itemInfo:table):RBXScriptSignal
É acionado quando um item é adicionado por meio de addItemAsync. O evento só pode ser conectado a um Class. 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:WaitForChild("MerchBooth"))
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Item added with asset ID of", assetId)
print(itemInfo)
end)
itemRemoved
itemRemoved(assetId:number):RBXScriptSignal
É acionado quando um item é removido por meio de removeItem. O evento só pode ser conectado a um Class. Script.
Parâmetros | |
---|---|
assetId: number | ID do ativo do item. |
Script
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
merchBoothOpened():RBXScriptSignal
É acionado quando se abre o catálogo item ou visualização de detalhe do item.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
merchBoothClosed
merchBoothClosed():RBXScriptSignal
É acionado quando o catálogo ou visualização do detalhe do item estão fechados.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
catalogViewOpened
catalogViewOpened():RBXScriptSignal
É acionado quando a visualização do catálogo se abre.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
catalogViewClosed
catalogViewClosed():RBXScriptSignal
É acionado quando a visualização de catálogo se fecha.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
itemViewOpened
itemViewOpened():RBXScriptSignal
É acionado quando a visualização do detalhe do item se abre.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewClosed
itemViewClosed():RBXScriptSignal
É acionado quando a visualização do detalhe do item se fecha.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)