マーチブース

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

The MerchBooth developer module lets you offer avatar assets, passes, and developer products for sale directly within your experience. Players can browse items, preview assets on their own avatar, purchase items, and instantly use or equip them — all without leaving your experience. This can help you monetize your experience and gain revenue through the 40% affiliate fee associated with selling other creators' items.

モジュールの使用法

インストール

MerchBoothモジュールを体験で使用するには:

  1. Studioのウィンドウメニューまたはホームタブツールバーから、ツールボックスを開き、クリエーターストアタブを選択します。

  2. モデルソートが選択されていることを確認してから、カテゴリすべて表示ボタンをクリックします。

  3. パッケージタイルを見つけてクリックします。

  4. Merch Boothモジュールを見つけてクリックするか、それを3Dビューにドラッグアンドドロップします。

  5. エクスプローラーウィンドウで、MerchBoothモデル全体をReplicatedStorageに移動します。体験を実行すると、モジュールが実行され始めます。

設定

モジュールはほとんどのユースケースに対してプリコンフィグされていますが、configure関数を使って簡単にカスタマイズできます。たとえば、より明るいテーマを作成し、カタログビューの左上領域にあるデフォルトのフィルターボタンを無効にするには:

  1. StarterPlayerScripts内に新しいLocalScriptを作成し、それをConfigureMerchBoothに名前変更します。

  2. 新しいスクリプトに以下のコードを貼り付けます。

    LocalScript - ConfigureMerchBooth

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

アイテムの追加

マーチブースに商品がなければ意味がありません。以下のセクションでは、マーチブースにアバターアセットパス、および開発者製品を追加する方法を説明します。

アバターアセット

衣服やアクセサリーなどのアイテムは、アバターショップのアイテム詳細ページにあるアセットIDを介して追加する必要があります。

  1. ServerScriptService内にScriptを作成し、以下のコードを貼り付けます。

    Script - Add Avatar Assets

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage.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. アイテムのアバターショップのウェブサイトURLからアイテムアセットIDをコピーします。たとえば、Roblox Baseball CapのIDは607702162です。

  3. コピーしたIDをitemsテーブル内のカンマ区切りリストに貼り付けます。デフォルトでは、アイテムはカタログビューにアルファベット順で表示されますが、setCatalogSortを使用してソートをカスタマイズできます。

    Script - Add Avatar Assets

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage.MerchBooth)
    local items = {
    607702162, -- Roblox Baseball Cap
    4819740796, -- Robox
    1374269, -- Kitty Ears
    11884330, -- Nerd Glasses
    10476359, -- Paper Hat
    }
    for _, assetId in items do
    local success, errorMessage = pcall(function()
    MerchBooth.addItemAsync(assetId)
    end)
    if not success then
    warn(errorMessage)
    end
    end

パス

パスの追加には、クリエーターダッシュボード内にあるパスIDが必要です。

  1. ServerScriptService内にScriptを作成し、以下のコードを貼り付けます。

    Script - Add Passes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage.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. クリエーターダッシュボードに移動し、体験を選択します。

  3. 左の列でマネタイズの下のパスを選択します。

  4. パスのサムネイルにマウスを重ね、ボタンをクリックし、コンテキストメニューからアセットIDをコピーを選択します。

  5. コピーしたIDをitemsテーブル内のカンマ区切りリストに貼り付け、addItemAsyncの2番目のパラメータとしてEnum.InfoType.GamePassを含めて、アイテムがパスであることを示します。デフォルトでは、アイテムはカタログビューにアルファベット順で表示されますが、ソートはsetCatalogSortを使用してカスタマイズできます。

    Script - Add Passes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage.MerchBooth)
    local items = {
    4343758, -- ColdFyre Armor
    28521575, -- Slime Shield
    }
    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

開発者製品

開発者製品を追加するには、クリエーターダッシュボードにある製品IDが必要です。

  1. ServerScriptService内にScriptを作成し、以下のコードを貼り付けます。

    Script - Add Developer Products

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage.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. クリエーターダッシュボードに移動し、体験を選択します。

  3. 左の列でマネタイズの下の開発者製品を選択します。

  4. 製品のサムネイルにマウスを重ね、ボタンをクリックし、コンテキストメニューからアセットIDをコピーを選択します。

  5. コピーしたIDをitemsテーブル内のカンマ区切りリストに貼り付け、addItemAsyncの2番目のパラメータとしてEnum.InfoType.Productを含めて、アイテムが開発者製品であることを示します。デフォルトでは、アイテムはカタログビューにアルファベット順で表示されますが、ソートはsetCatalogSortを使用してカスタマイズできます。

    Script - Add Developer Products

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage.MerchBooth)
    local items = {
    1236602053, -- Mana Refill
    1257880672, -- Healing Potion
    }
    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

カスタムカタログボタン

デフォルトでは、右側にあるカタログボタンがプレイヤーがブースをいつでも開けるようにします。

場合によっては、このボタンを削除して独自のボタンを接続することが便利です:

  1. ボタンに示されているように、新しいボタンを作成します。

  2. ボタンオブジェクトの子としてLocalScriptを作成します。

  3. 新しいスクリプトに以下のコードを貼り付けます。

    LocalScript - Custom Catalog Button

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage.MerchBooth)
    -- デフォルトのカタログボタンを削除
    MerchBooth.toggleCatalogButton(false)
    -- カスタムボタンを接続
    script.Parent.Activated:Connect(function()
    MerchBooth.openMerchBooth()
    end)

購入可能な領域

あなたの体験で購入を促進するための便利な方法は、プレイヤーが特定のエリアに入ったときに自動的にマーチブースを表示することです。

購入可能な領域を作成するには:

  1. 検出領域を囲むAnchoredブロックを作成します。ブロックはキャラクターモデルのPrimaryPart(デフォルトはHumanoidRootPart)と衝突するのに十分な高さが必要です。

    プレイヤーがショップカウンターの前に近づくときに検出するブロック
  2. ブロックのプロパティのタグセクションを使用して、ブロックにShopRegionというタグを適用し、CollectionServiceがこれを検出できるようにします。

  3. パートのTransparencyを最大に設定して、体験中にプレイヤーから隠します。また、CanCollideCanQueryプロパティーを無効にして、オブジェクトが物理的に衝突せず、レイキャストがそれを検出できないようにします。

  4. 新しいLocalScriptStarterPlayerScriptsの下に挿入します。

  5. 新しいスクリプトに、TouchedおよびTouchEndedイベントを使用してキャラクターが領域に入り/出るときに検出し、openMerchBoothcloseMerchBoothを呼び出してブースGUIを開閉するための以下のコードを貼り付けます。

    LocalScript

    local Players = game:GetService("Players")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local MerchBooth = require(ReplicatedStorage.MerchBooth)
    -- デフォルトのカタログボタンを削除
    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
    -- タグ付けされたショップ領域をループ処理
    for _, region in CollectionService:GetTagged("ShopRegion") do
    setupRegion(region)
    end
    -- 非ストリーミングのショップ領域がストリーミングされたときに検出
    CollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)

プロキシミティプロンプト

2Dカタログビューの代わりに、体験内のオブジェクト上にプロキシミティプロンプトを追加できます。これにより、プレイヤーは3D環境でアイテムを発見し、自分のアバターでプレビューし、購入し、すぐに装備できます。詳細については、addProximityButtonを参照してください。

装備効果の変更

デフォルトでは、マーチブースはプレイヤーがアイテムを装備したときに一般的なスパークルエフェクトを表示します。この効果を変更するには、configure呼び出し内でparticleEmitterTemplateに独自のParticleEmitterインスタンスを設定します。

LocalScript - ConfigureMerchBooth

local 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.Sphere
myParticleEmitter.Transparency = NumberSequence.new(0, 1)
myParticleEmitter.RotSpeed = NumberRange.new(200, 200)
MerchBooth.configure({
particleEmitterTemplate = myParticleEmitter
})

GUIの可視性

デフォルトでは、マーチブースはそのUIが表示されるときにすべてのScreenGuisおよびCoreGuisを非表示にします。チャット、リーダーボード、Robloxによって含まれているその他の要素が含まれます。この動作を無効にしたい場合は、configure呼び出し内でhideOtherUisfalseに設定します。

LocalScript - ConfigureMerchBooth

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

キャラクターの移動

マーチブース内にいる間、キャラクターの移動を防ぐことは有利な場合があります。これは、configure呼び出し内でdisableCharacterMovementtrueに設定することによって行うことができます。

LocalScript - ConfigureMerchBooth

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

APIリファレンス

タイプ

アイテム

マーチブースのアイテムは、次のキーと値のペアを持つ辞書で表されます。アイテムはgetItems関数またはitemAddedイベントを介して収集できます。

キータイプ説明
assetIdnumberアイテムのカタログID、addItemAsyncで渡される。
titlestringカタログに表示されるアイテムタイトル。
pricenumberアイテムの価格(Robux)。
descriptionstringカタログに表示されるアイテム説明。
assetTypestringアイテムのアクセサリータイプを表す文字列。
isOwnedbool現在のプレイヤーがそのアイテムを所有しているかどうか。
creatorNamestringカタログに表示されるアイテムクリエイター。
creatorTypeEnum.CreatorTypeアイテムのクリエイタータイプ。

列挙型

MerchBooth.Controls

マーチブースと相互作用するためのキーとゲームパッドボタンをカスタマイズするために、setControlKeyCodesと共に使用されます。

名前概要
ProximityPromptsプロキシミティプロンプトが設定されているときにアイテムビューを開くためのキーおよび/またはゲームパッドボタン。
OpenMerchBoothマーチブースを開くためのキーおよび/またはゲームパッドボタン。
CloseMerchBoothマーチブースを閉じるためのキーおよび/またはゲームパッドボタン。
Filterカタログビューの左上領域に表示されるデフォルトのフィルタープルダウンを使用するためのキーおよび/またはゲームパッドボタン。
ViewItem特定のマーチブースアイテムビューを開くためのキーおよび/またはゲームパッドボタン。
LocalScript

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

関数

configure

configure(config: table)

configテーブル内の以下のキー/値を介してデフォルトのクライアント側設定オプションをオーバーライドします。この関数はLocalScriptからのみ呼び出すことができます。

キー説明デフォルト
backgroundColorウィンドウのメイン背景色(Color3)。[0, 0, 0]
cornerRadiusメインウィンドウのコーナー半径(UDim)。(0, 16)
cornerRadiusSmallウィンドウ内の要素のためのコーナー半径(UDim)。(0, 8)
textFont価格、説明、およびその他の一般情報の「メインテキスト」のフォント(Enum.Font)。Gotham
textSizeメインテキストのサイズ。14
textColorメインテキストの色(Color3)。[255, 255, 255]
secondaryTextColorメインテキストの一部の変化に使用される色(Color3)。[153, 153, 158]
headerFontウィンドウタイトルに使用されるヘッダーテキストのフォント(Enum.Font)。GothamMedium
headerTextSizeウィンドウタイトルに使用されるヘッダーテキストのサイズ。18
titleFontアイテム詳細ページのアイテム名に使用されるタイトルテキストのフォント(Enum.Font)。GothamBold
titleTextSizeアイテム詳細ページのアイテム名に使用されるタイトルテキストのサイズ。28
buttonColorアイテムビューの主な購入ボタンなど、クリック可能な状態の大きなボタンの背景色(Color3)。[255, 255, 255]
buttonTextColorアイテムビューの主な購入ボタンなど、クリック可能な状態の大きなボタンのテキストの色(Color3)。[0, 0, 0]
secondaryButtonColorカタログビューの価格ボタンや試着ボタンなどの小さなボタンの背景色(Color3)。[34, 34, 34]
secondaryButtonTextColorカタログビューの価格ボタンや試着ボタンなどの小さなボタンのテキストの色(Color3)。[255, 255, 255]
inactiveButtonColorすべてのボタンがクリック不可能な状態のときの背景色(Color3)。[153, 153, 158]
inactiveButtonTextColorすべてのボタンがクリック不可能な状態のときのテキスト色(Color3)。[255, 255, 255]
particleEmitterTemplate装備時に表示され再生されるオプションのカスタムParticleEmitterインスタンス。
LocalScript

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

アイテムをマーチブースに非同期で追加し、体験内で購入可能にします。assetIdはそのアイテムのアセットID、productTypeはアイテムのEnum.InfoType列挙型、hideFromCatalogはカタログビューでアイテムを非表示にするために使用できます。

アセットゲームパスまたは開発者製品の使用方法はわずかに異なるため、アイテムの追加を参照してください。

Script - Add Avatar Assets

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
607702162, -- Roblox Baseball Cap
4819740796, -- Robox
1374269, -- Kitty Ears
11884330, -- Nerd Glasses
10476359, -- Paper Hat
}
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, -- ColdFyre Armor
28521575, -- Slime Shield
}
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, -- Mana Refill
1257880672, -- Healing Potion
}
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

現在登録されているすべてのアイテムを表す辞書を返します。各キーはアイテムのアセットID(文字列)であり、各キーの値はItemです。この関数は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)

addItemAsyncを介して以前に追加されたアイテムを登録解除し、カタログビューからそのタイルを削除し、割り当てられたプロキシミティプロンプトを削除します。この関数はScriptからのみ呼び出すことができます。

Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- しばらくしてからアイテムを削除
task.wait(5)
MerchBooth.removeItem(4819740796)
end

addProximityButton

addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)

指定されたadorneeの上にプロキシミティプロンプトを追加し、アイテムの購入ビューを表示します。これにより、2Dカタログビューの代わりに、プレイヤーが3D環境でアイテムを発見することを促します。

アイテムはaddItemAsyncで追加しておく必要があります。その後、プロキシミティボタンをそのアイテムに割り当てることができます。removeProximityButtonも参照し、オブジェクトからプロキシミティプロンプトを削除します。

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)

addProximityButtonを介して生成されたプロキシミティプロンプトを削除します。この関数は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
-- しばらくしてからプロンプトを削除
task.wait(5)
MerchBooth.removeProximityButton(item)
end

setCatalogSort

setCatalogSort(sortFunction: function): boolean

カタログビューで使用されるソート関数sortFunctionを設定します。提供されたソート関数は、pricetitleなどのItem情報にもとづくロジックを使用できます。この関数はLocalScriptからのみ呼び出すことができます。

ここでは、カタログをソートするいくつかの例を示します。

Price Low-to-High

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.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.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.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)

マーチブースとの相互作用のためのキーとボタンの値を設定します。最初のパラメータはMerchBooth.Controls列挙型である必要があり、2番目のパラメータはキーkeyboardおよび/またはgamepadとそれに対応するEnum.KeyCode列挙型を含むテーブルである必要があります。

列挙型(controlデフォルトのkeyCodesキー/値
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
LocalScript

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

openMerchBooth

openMerchBooth()

マーチブースウィンドウを開き(閉じている場合)、カタログビューに移動します。この関数は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)

指定されたitemIdのシングルアイテムビューに移動し、現在閉じている場合はマーチブースウィンドウを開きます。この関数は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)

画面右側のカタログボタンのオン/オフを切り替えます。これは、カスタムボタンを実装したり、マーチブースの表示を領域プロキシミティプロンプトに制限したりするのに便利です。この関数はLocalScriptからのみ呼び出せます。

LocalScript

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

isMerchBoothOpen

isMerchBoothOpen(): Tuple

カタログまたはアイテムビューが開いている場合はtrueを返します。アイテムビューが開いている場合、アイテムのアセットIDが2番目の値として返されます。この関数は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()

マーチブースウィンドウを閉じます。この関数はLocalScriptからのみ呼び出すことができます。

LocalScript

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

isMerchBoothEnabled

isMerchBoothEnabled(): boolean

この関数は、setEnabledと一緒に使用することで、マーチブースが現在有効かどうかを確認するために使用できます。この関数もLocalScriptからのみ呼び出すことができます。

setEnabled

setEnabled(enabled: boolean)

マーチブース全体を有効または無効にします。無効にすると、この関数はカタログビューとプロキシミティプロンプトを含むUI全体を削除し、すべてのイベントを切断します。この関数はLocalScriptからのみ呼び出せます。

LocalScript

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

イベント

itemAdded

addItemAsyncを介してアイテムが追加されると発火します。このイベントは、Scriptでのみ接続可能です。

パラメータ
assetId: numberアイテムアセットID。
itemInfo: tablepricetitleなどのItem情報の辞書。
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Item added with asset ID of", assetId)
print(itemInfo)
end)

itemRemoved

removeItemを介してアイテムが削除されると発火します。このイベントは、Scriptでのみ接続可能です。

パラメータ
assetId: numberアイテムアセットID。
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemRemoved:Connect(function(assetId)
print("Item removed with asset ID of", assetId)
end)

merchBoothOpened

カタログまたはアイテム詳細ビューが開かれると発火します。

LocalScript

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

merchBoothClosed

カタログまたはアイテム詳細ビューが閉じると発火します。

LocalScript

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

catalogViewOpened

カタログビューが開かれると発火します。

LocalScript

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

catalogViewClosed

カタログビューが閉じると発火します。

LocalScript

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

itemViewOpened

アイテム詳細ビューが開かれると発火します。

LocalScript

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

itemViewClosed

アイテム詳細ビューが閉じると発火します。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。