マーチブース

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

MerchBooth 開発者モジュールを使用すると、アバターのアセットパス、および開発者製品を体験内で直接販売できます。プレイヤーはアイテムを閲覧し、自分のアバターでアセットをプレビューし、アイテムを購入し、瞬時に使用または装備することができます — すべて体験を離れることなく行えます。これにより、他のクリエイターのアイテム販売に関連する40%のアフィリエイト手数料を通じて、体験をマネタイズし、収益を得る手助けになります。

モジュールの使用法

インストール

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

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

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

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

  4. マーチブースモジュールを見つけてクリックするか、それを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. アイテムアセットIDをそのアバターショップのウェブサイトURLからコピーします。たとえば、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の第二パラメータとして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の第二パラメータとして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を最大に設定します。また、オブジェクトが物理的にそれと衝突せず、レイキャストがそれを検出しないように、CanCollideおよびCanQueryプロパティを無効にします。

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

  5. 新しいスクリプトに以下のコードを貼り付け、TouchedおよびTouchEndedイベントを使用してキャラクターが領域に入る/出ることを検出し、openMerchBoothおよびcloseMerchBoothを呼び出してブースの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を隠します。この動作を無効にしたい場合は、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アイテムの価格(ロブックス単位)。
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(文字列)であり、各キーの値はアイテムです。この関数は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にアイテムの購入ビューを表示させるプロキシミティプロンプトを追加します。これは、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を設定します。提供されたソート関数は、Itemの情報(pricetitleなど)に基づいてロジックを使用することができます。この関数はLocalScriptからのみ呼び出すことができます。

カタログソートのいくつかの例を以下に示します。

価格の低い順

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
価格の高い順

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
価格の低い順&アルファベット順

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および/またはゲームパッドgamepadEnum.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を返します。アイテムビューが開いている場合、第2の値としてアイテムのアセットIDが返されます。この関数は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などのアイテム情報の辞書。
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("アイテムがアセットIDで追加されました", 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("アセットIDでアイテムが削除されました", assetId)
end)

merchBoothOpened

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

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothOpened:Connect(function()
print("ブースビューが開かれました")
end)

merchBoothClosed

カタログまたはアイテム詳細ビューのいずれかが閉じられたときに発火します。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothClosed:Connect(function()
print("ブースビューが閉じられました")
end)

catalogViewOpened

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

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewOpened:Connect(function()
print("カタログビューが開かれました")
end)

catalogViewClosed

カタログビューが閉じられたときに発火します。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewClosed:Connect(function()
print("カタログビューが閉じられました")
end)

itemViewOpened

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

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewOpened:Connect(function()
print("アイテムビューが開かれました")
end)

itemViewClosed

アイテム詳細ビューが閉じられたときに発火します。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewClosed:Connect(function()
print("アイテムビューが閉じられました")
end)
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。