Cabine de Mercadoria

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O Mercado de Merchmódulo de desenvolvedor permite que você ofereça recursos de avatar, 2> passes2> e 5> produtos de desenvolvedor5> para venda diretamente dentro de sua experiência. Os jogadores podem pesquisar it

Uso de Módulo

Instalação

Para usar o módulo MerchBooth em uma experiência:

  1. Na aba Ver, abra a caixa de ferramentas e selecione a aba Loja do Criador.

    Toolbox toggle button in Studio
  2. Certifique-se de que a classificação Modelos foi selecionada, então clique no botão Ver Todos para Categorias .

  3. Localize e clique no mosaico Modulos de Desenvolvedor .

  4. Localize o módulo Loja de Merchandising e clique nele, ou arraste e solte na janela de ver3D.

  5. Na janela Explorer, mova o modelo completo de Loja de Mercadoria para ServerScriptService . Ao executar a experiência, o módulo será distribuído para vários serviços e começará a funcionar.

Configuração

O módulo está predefinido para funcionar para a maioria dos casos de uso, mas pode ser facilmente personalizado através da função Configurar. Por exemplo, para criar um tema mais claro e desativar o botão Filtro padrão na área superior esquerda da verdo catálogo:

  1. In StarterPlayerScripts , create a new LocalScript and rename it to ConfigurarMercado .

  2. Paste o seguinte código no novo script.

    LocalScript - ConfigureComprador

    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
    })

Adicionando Itens

O que é uma cabine de merchandising sem merch? As seções a seguir contornam como adicionar recursos de avatar, passes e produtos do desenvolvedor à sua cabine de merchandising.

Recursos de Avatar

Itens, como roupas e acessórios, devem ser adicionados através de seu ID de ativo, localizado na página de detalhes do item na Loja de Avatar .

  1. Crie um Script dentro de ServerScriptService e cole o seguinte código.

    Script - Adicionar Recursos de 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. Copie os IDs de ativos de seus sites Avatar Shop. Por exemplo, o ID de Capa de Beisebol Roblox é 607702162 .

  3. Paste cada ID copiado em uma lista com espaços dentro da tabela items. Por padrão, os itens aparecem na visualização do catálogo na ordem alfabético, mas você pode personalizar a classificação usando setCatalogSort.

    Script - Adicionar Recursos de Avatar

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    607702162, -- Capa de beisebol da Roblox
    4819740796, -- Roblox
    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

Passes

Adicionar passes requer IDs de passe que podem ser localizados no Painel do Criador.

  1. Crie um Script dentro de ServerScriptService e cole o seguinte código.

    Script - Adicionar Passes

    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. Navegue até o Painel do Criador e selecione a experiência.

  3. Na coluna da esquerda, em Monetização , selecione Passes .

  4. Clique no botão para um passe e selecione Copiar ID do Recurso .

  5. Paste cada ID copiado em uma lista com espaço-delimite dentro da items tabela e incluir Enum.InfoType.GamePass como o segundo parâmetro para 2> adicionarItemAsync2> para indicar que os itens são passes. Por padrão, os itens aparecerão na visualização do catálogo na ordem

    Script - Adicionar Passes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    4343758, -- Armadura de Fogo Frio
    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

Produtos do desenvolvedor

Adicionar produtos do desenvolvedor requer IDs de produto que podem ser localizados na Criador Dashboard.

  1. Crie um Script dentro de ServerScriptService e cole o seguinte código.

    Script - Adicionar Produtos do Desenvolvedor

    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. Navegue até o Painel do Criador e selecione a experiência.

  3. Na coluna da esquerda, em Monetização , selecione Produtos do Desenvolvedor .

  4. Clique no botão para um produto e selecione Copiar ID do Recurso .

  5. Colete cada ID copiado em uma lista com espaço-delimite dentro da items tabela e incluir Enum.InfoType.Product como o segundo parâmetro para adicionar 2>addItemAsync2> às vezes para indicar que os itens são produtos do desenvolvedor. Por padrão, os itens aparecem na visão do catálogo na ord

    Script - Adicionar Produtos do Desenvolvedor

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    1236602053, -- Reabastecimento de Mana
    1257880672, -- Poção de Regeneração
    }
    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

Botão do Catálogo Personalizado

Por padrão, um botão de catálogo direito botão de direito do catálogo permite que os jogadores abram o estande em qualquer momento.

Em alguns casos, pode ser útil remover este botão e conectar o seu possuir:

  1. Crie um novo botão, conforme descrito em Botões.

  2. Crie um LocalScript como filho do Objetobotão.

  3. Paste o seguinte código no novo script.

    LocalScript - Botão de Catálogo Personalizado

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    -- Remova o botão padrão do catálogo
    MerchBooth.toggleCatalogButton(false)
    -- Conecte o botão personalizado
    script.Parent.Activated:Connect(function()
    MerchBooth.openMerchBooth()
    end)

Regiões Compráveis

Um bom jeito de aumentar as compras na sua experiência é mostrar automaticamente a área de merchandising quando um jogador entrar em uma área.

Para criar uma região comprável:

  1. Crie um bloco Anchored que abrange a região de detecção. Certifique-se de que o bloco seja alto o suficiente para colidir com o PrimaryPart de modelos de personagens ( HumanoidRootPart por padrão).

    Bloqueie para detectar quando os jogadores se aproximarem da frente do contador da loja
  2. Usando a seção Tags das propriedades do bloco, ou o Editor de Tags do Studio, aplique a etiqueta ShopRegion ao bloco para que o 1> Class.CollectionService1> detecte-o.

  3. Defina a Transparency da peça para o máximo para ocultá-la dos jogadores na experiência. Desative suas propriedades CanCollide e CanQuery para que os objetos não colidam fisicamente com ela e os raios não detectem.

  4. Insira um novo LocalScript sob StarterPlayerScripts .

  5. No novo script, cole o seguinte código que usa os seguintes eventos Touched e TouchEnded para detectar quando os personagens entram/saiem da região e chamam abrir o MerchBooth e 2> fechar o MerchBooth2> para abrir/fechar a Interface gráfica do usuáriodo booth.

    Script Local

    local Players = game:GetService("Players")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    -- Remova o botão padrão do catálogo
    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
    -- Iterar através de regiões de loja existentes
    for _, region in CollectionService:GetTagged("ShopRegion") do
    setupRegion(region)
    end
    -- Detecte quando regiões não estreamadas da loja flutuam
    CollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)

Prompts de Proximidade

Como uma alternativa à verde catálogo 2D, você pode adicionar 提示 de proximidade sobre objetos-alvo na experiência. Isso incentiva os jogadores a descobrir itens na ambiente3D, visualizá-los em seu próprio avatar, comprar e equipá-los instantaneamente. Veja adicionarProximityButton para detalhes.

Mudando o Efeito de Equipar

Por padrão, a cabine de mercadoria mostra um efeito de brilho genérico quando um jogador equipa um item dela. Para alterar o efeito, configure particleEmitterTemplate para sua própria instância de um ParticleEmitter em uma chamada Configurar.

LocalScript - ConfigureComprador

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
})

Visibilidade GUI

Por padrão, a cabine de merchandising oculta todos os ScreenGuis e CoreGuis quando sua UI aparece, incluindo o chat, a tabela de classificação e outros incluídos pelo Roblox. Se você quiser desativar esse comportamento, configure hideOtherUis para 1>

LocalScript - ConfigureComprador

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.configure({
hideOtherUis = false
})

Movimento de Personagem

Pode ser vantajoso impedir um personagem de se mover enquanto eles estão na cabine de merchandising. Isso pode ser feito definindo disableCharacterMovement para true em um Configurar chamada.

LocalScript - ConfigureComprador

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.configure({
disableCharacterMovement = true
})

Referência da API

Tipos

Item

Os itens na área de venda são representados por um dicionário com as seguintes pares de valores-chave. Os itens podem ser coletados através da função obter itens ou do evento itemAdded.

ChaveTipoDescrição
assetIdnúmeroID do Catálogo do item, como passado para addItemAsync .
titlestring / cadeia / textoTítulo do item como ele aparece no catálogo.
pricenúmeroPreço do item em Robux.
descriptionstring / cadeia / textoDescrição do item como ele aparece no catálogo.
assetTypestring / cadeia / textoUma string representando o digitarde acessório do item.
isOwnedbooleanoSe o jogador atual possui ou não o item.
creatorNamestring / cadeia / textoCriador de itens como mostrado no catálogo.
creatorTypeEnum.CreatorTypeTipo de criador para o item.

Enums

MerchBooth.Controls

Usado junto com setControlKeyCodes para personalizar as chaves e os botões do gamepad para interagir com a cabine de merchandising.

NomeVisão Geral
ProximityPromptsBotão de chave e/ou gamepad para abrir a janela de visualização de itens quando ximidade prompts estiverem configurados.
OpenMerchBoothBotão de chave e/ou gamepad para abrir a cabine de mercadoria.
CloseMerchBoothBotão de chave e/ou gamepad para fechar a cabine de mercadoria.
FilterBotão de tecla e/ou gamepad para usar o pulldown de 필터 padrão na área superior esquerda da verdo catálogo.
ViewItemBotão de chave e/ou gamepad para abrir uma verde cabine de mercadoria específica.
Script Local

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

configurar(config: table )

Substitui as opções de configuração padrão do lado do cliente através das seguintes chaves/valores na tabela config. Essa função só pode ser chamada de um LocalScript .

ChaveDescriçãoPadrão
backgroundColorCor de fundo principal da janela ( Color3 ).[0, 0, 0]
cornerRadiusRaio de canto para a janela principal ( UDim ).(0, 16)
cornerRadiusSmallRaio de canto para elementos dentro da janela ( UDim ).(0, 8)
textFontFonte de "texto principal" como preços, descrições e outras informações gerais (Enum.Font).Gotham
textSizeTamanho do texto principal.14
textColorCor do texto principal ( Color3 ).[255, 255, 255]
secondaryTextColorCor usada para algumas variações do texto principal ( Color3 ).[153, 153, 158]
headerFontFonte do texto usado para o cabeçalho ( Enum.Font ) usado para o cabeçalho da janela.GothamMedium
headerTextSizeTamanho do texto do cabeçalho usado para o título da janela.18
titleFontFonte do texto de título usado para nomes de itens na página de detalhes do item ( Enum.Font ).GothamBold
titleTextSizeTamanho do texto de título usado para nomes de itens na página de detalhes do item.28
buttonColorCor de fundo para botões maiores em um estado clicável, como o botão de compra principal na visualização de itens ( Color3 ).[255, 255, 255]
buttonTextColorCor de texto para botões maiores em um estado clicável, como o botão de compra principal na visualização de itens ( Color3 ).[0, 0, 0]
secondaryButtonColorCor de fundo para botões menores, como os botões de preço na visualização de catálogo ou o botão Try On ( Color3 ).[34, 34, 34]
secondaryButtonTextColorCor de texto para botões menores, como os botões de preço na visualização do catálogo ou o botão Try On ( Color3 ).[255, 255, 255]
inactiveButtonColorCor de fundo para todos os botões em um estado não clicável ( Color3 ).[153, 153, 158]
inactiveButtonTextColorCor de texto para todos os botões em um estado não clicável ( Color3 ).[255, 255, 255]
particleEmitterTemplateInstância de ParticleEmitter personalizada opcional que aparece e joga no equip.
Script Local

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,
})

addItemAsync

addItemAsync(assetId: number , productType: Enum.InfoType , hideFromCatalog: boolean )

Adiciona um item à loja de artigos de forma assíncrona para que ele seja elegível para compra na experiência. assetId é o ID de ativo do item, productType é o ativo da Enum.InfoType枚, e 1> hideFromCatalog1> pode ser usado para ocultar o item na verdo catálogo.

Veja Adicionando Itens para detalhes, pois o uso varia um pouco para ativos em vez de passe de jogo ou 1>produtos do desenvolvedor1>.

Script - Adicionar Recursos de Avatar

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Capa de beisebol da Roblox
4819740796, -- Roblox
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 - Adicionar Passes

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Armadura de Fogo Frio
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 - Adicionar Produtos do Desenvolvedor

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Reabastecimento de Mana
1257880672, -- Poção de Regeneração
}
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

obter itens

getItems() : table

Retorna um dicionário representando todos os itens registrados atualmente. Cada chave é um ID de ativo de um item como uma string / cadeia / texto, e cada chave de valor é um Item. Essa função só pode ser chamada 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

removerItem

removerItem(assetId: number )

Desregistra um item previamente adicionado com adicionarItemAsync, removendo sua tabela na visualização do catálogo e quaisquer 提pts de proximidade atribuídos a ele. Essa função só pode ser chamada 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
-- Depois de algum tempo, remova o item
task.wait(5)
MerchBooth.removeItem(4819740796)
end

adicionarBotão de Proximidade

addProximityButton(adornee: BasePart | Model | Attachment , assetId: 1> number1> )

Adiciona um prompt de proximidade sobre o adornee que será acionado para exibir a verde um item, dado seu ID de recurso. Isso pode ser usado como uma alternativa à verde catálogo 2D, encorajando os jogadores a descobrir itens na ambiente3D.

Nota que um item deve ser adicionado via adicionarItemAsync antes que um botão de proximidade possa ser atribuído a ele. Veja também removerProximityButton para remover o prompt 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

removerProximityButton

removerProximityButton(adornee: BasePart | Model | Attachment )

Remove a janela de proximidade gerada através de adicionarBotão de Proximidade . Essa função só pode ser chamada 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
-- Depois de algum tempo, remova o prompt
task.wait(5)
MerchBooth.removeProximityButton(item)
end

setCatálogoSort

setCatalogSort(sortFunction: function>: boolean

Define a função de classificação sortFunction para ser usada na verdo catálogo. A função de classificação fornecida pode usar lógica baseada em informações de Item ou price ou 1> title1>. Essa função só pode ser chamada de um 4> Class.LocalScript4>.

Aqui estão alguns exemplos para classificar o catálogo:

Preço Baixo para Alto

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Preço Alto para Baixo

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Preço Baixo-para-Alto & Alfabético

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: Loja.Controls, keyCodes: table )

Configura os valores de chave e botão para interações com a cabine de merchandising. 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 valores correspondentes 2> Container.KeyCode2> e 5> enum.KeyCode5> em seus respectivos 8> 1>.1>

Enum ( control )Padrão keyCodes Chaves/Valores
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 Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {
keyboard = Enum.KeyCode.Q,
gamepad = Enum.KeyCode.ButtonL1,
})

abrirComercio

abrirCabine de Mercadoria

Abre a janela do estande de mercadoria (se fechada) e navega para a janela de visualização do ver. Essa função só pode ser chamada de um LocalScript .

Script Local

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()

abrirItemView

openItemView(itemId: number )

Navega até a janela de visualização de itens única do itemId, abrindo a janela de cabine de mercadoria se ela estiver atualmente fechada. Essa função só pode ser chamada de um LocalScript.

Script Local

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(habilitado: boolean )

Alterna o botão de catálogo no lado direito da tela. Isso é útil ao implementar um botão de botão personalizado ou limitar a aparência do cabine de merchandising para regiões ou 提pts de proximidade. Só pode ser chamado de um 2>Class.LocalScript2>.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.toggleCatalogButton(false)

é aberto

isMerchBoothOpen() Tuple

Retorna true se a janela de catálogo ou a janela de visualização de itens estiver aberta. Se a janela de visualização de itens estiver aberta, o ID de ativo do item é retornado como o segundo valor. Essa função só pode ser chamada de um LocalScript .

Script Local

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

fecharCabine

fecharComercio()

Fecha a janela da cabine de artesanato. Essa função só pode ser chamada de um LocalScript.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.closeMerchBooth()

isMerchBoothAtivado

isMerchBoothEnabled() boolean

Essa função pode ser usada em conjunto com setEnabled para verificar se a cabine de merchandising está atualmente ativada ou não. Somente pode ser chamada de um LocalScript.

setHabilitado

setEnabled(habilitado: boolean )

Define se a cabine de merchandising inteira é habilitada ou não. Quando desativada, esta função remove toda a UI, incluindo prompt de proximidade e desconecta todos os eventos. Essa função só pode ser chamada de um LocalScript.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local isEnabled = MerchBooth.isMerchBoothEnabled()
if isEnabled then
MerchBooth.setEnabled(false)
end

Eventos

itemAdicionado

Ocorre quando um item é adicionado através de adicionarItemAsync. Este evento só pode ser conectado em um Script .

Parâmetros
assetId: numberID de ativo de item.
itemInfo: tableDicionário de Item informações, 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)

itemRemovido

Só é disparado quando um item é removido através de removerItem. Este evento só pode ser conectado em um Script .

Parâmetros
assetId: numberID de ativo de 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)

merchBoothAberto

Dispara quando é aberto o detalhe de catálogo ou .

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)

merchBoothFechado

Dispara quando o detalhe de catálogo ou é fechado.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)

catálogoVistaAberta

Dispara quando a visualização do catálogo é aberta.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)

atalogoFechado

Dispara quando a janela de catálogo é fechada.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)

itemViewAberto

Dispara quando a visualização de detalhes do item é aberta.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)

itemViewFechado

Dispara quando a visualização de detalhes do item é fechada.

Script Local

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)