マーチブース

*このコンテンツは、ベータ版の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. アバターショップのウェブサイトURLからアイテムアセットIDをコピーします。たとえば、RobloxベースボールキャップのIDは607702162です。

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

    Script - Add Avatar Assets
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage.MerchBooth)
    local items = {
    607702162, -- Robloxベースボールキャップ
    4819740796, -- Robox
    1374269, -- キティイヤー
    11884330, -- ナードグラス
    10476359, -- ペーパーハット
    }
    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, -- マナリフィル
    1257880672, -- ヒーリングポーション
    }
    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. StarterPlayerScriptsの下に新しいLocalScriptを挿入します。

  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を隠します。これには、チャット、リーダーボード、および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アイテムの価格(ロブックス)。
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ベースボールキャップ
4819740796, -- Robox
1374269, -- キティイヤー
11884330, -- ナードグラス
10476359, -- ペーパーハット
}
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, -- マナリフィル
1257880672, -- ヒーリングポーション
}
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の上にプロキシミティプロンプトを追加し、アイテムの購入ビューを表示するトリガーとなります。これは、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などのアイテム情報に基づくロジックを使用できます。この関数は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および/または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などのアイテム情報の辞書。
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は、米国並びにその他の国における登録商標および非登録商標です。