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

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

パッケージタイルを見つけてクリックします。
マーチブースモジュールを見つけてクリックするか、それを3Dビューにドラッグアンドドロップします。

エクスプローラーウィンドウで、全体のMerchBoothモデルをReplicatedStorageに移動します。体験を実行すると、モジュールが実行を開始します。
設定
このモジュールは、ほとんどの使用ケースで動作するように事前設定されていますが、configure関数を通じて簡単にカスタマイズできます。たとえば、より明るいテーマを作成し、カタログビューの左上エリアにあるデフォルトのフィルターボタンを無効にするには:
StarterPlayerScripts内に新しいLocalScriptを作成し、それにConfigureMerchBoothと名前を付けます。

新しいスクリプトに以下のコードを貼り付けます。
LocalScript - ConfigureMerchBoothlocal 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を通じて追加する必要があります。
ServerScriptService内にScriptを作成し、以下のコードを貼り付けます。
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendアイテムアセットIDをそのアバターショップのウェブサイトURLからコピーします。たとえば、Roblox Baseball CapのIDは607702162です。

コピーした各IDをカンマ区切りのリストとしてitemsテーブル内に貼り付けます。デフォルトでは、アイテムはカタログビューにアルファベット順に表示されますが、setCatalogSortを使用してソートをカスタマイズできます。
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {607702162, -- Roblox Baseball Cap4819740796, -- Robox1374269, -- Kitty Ears11884330, -- Nerd Glasses10476359, -- Paper Hat}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
パス
パスを追加するには、クリエイターダッシュボードで見つけられるパスIDが必要です。
ServerScriptService内にScriptを作成し、以下のコードを貼り付けます。
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendクリエイターダッシュボードに移動し、体験を選択します。
左の列のマネタイズの下にあるパスを選択します。
パスのサムネイルにマウスを合わせ、⋯ボタンをクリックし、コンテキストメニューからアセットIDをコピーを選択します。

コピーした各IDをカンマ区切りのリストとしてitemsテーブルに貼り付け、addItemAsyncの第二パラメータとしてEnum.InfoType.GamePassを含めて、アイテムがパスであることを示します。デフォルトでは、アイテムはカタログビューにアルファベット順で表示されますが、setCatalogSortを使用してソートをカスタマイズできます。
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {4343758, -- ColdFyre Armor28521575, -- Slime Shield}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
開発者製品
開発者製品を追加するには、クリエイターダッシュボードで見つけられる製品IDが必要です。
ServerScriptService内にScriptを作成し、以下のコードを貼り付けます。
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendクリエイターダッシュボードに移動し、体験を選択します。
左の列のマネタイズの下にある開発者製品を選択します。
製品のサムネイルにマウスを合わせ、⋯ボタンをクリックし、コンテキストメニューからアセットIDをコピーを選択します。

コピーした各IDをカンマ区切りのリストとしてitemsテーブルに貼り付け、addItemAsyncの第二パラメータとしてEnum.InfoType.Productを含めて、アイテムが開発者製品であることを示します。デフォルトでは、アイテムはカタログビューにアルファベット順に表示されますが、setCatalogSortを使用してソートをカスタマイズできます。
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {1236602053, -- Mana Refill1257880672, -- Healing Potion}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
カスタムカタログボタン
デフォルトでは、右側のカタログボタンにより、プレイヤーはいつでもブースを開けます。

場合によっては、このボタンを削除して独自のものに接続することが便利な場合があります。
ボタンの説明に従って新しいボタンを作成します。
ボタンオブジェクトの子としてLocalScriptを作成します。

新しいスクリプトに以下のコードを貼り付けます。
LocalScript - Custom Catalog Buttonlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- デフォルトのカタログボタンを削除MerchBooth.toggleCatalogButton(false)-- カスタムボタンを接続script.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
ショッピング可能な領域
体験内での購入を促進する便利な方法は、プレイヤーが特定のエリアに入ると自動的にマーチブースを表示することです。
ショッピング可能な領域を作成するには:
検出領域を囲むAnchoredブロックを作成します。ブロックがキャラクターモデルのPrimaryPart(デフォルトはHumanoidRootPart)と衝突するのに十分な高さにしてください。

プレイヤーがショップカウンターの前に近づいたことを検出するためのブロック ブロックのプロパティのタグセクションを使用して、ブロックにShopRegionタグを適用します。これにより、CollectionServiceがそれを検出します。
プレイヤーが体験内でそれを見えないようにするために、パートのTransparencyを最大に設定します。また、オブジェクトが物理的にそれと衝突せず、レイキャストがそれを検出しないように、CanCollideおよびCanQueryプロパティを無効にします。


新しいLocalScriptをStarterPlayerScriptsの下に挿入します。

新しいスクリプトに以下のコードを貼り付け、TouchedおよびTouchEndedイベントを使用してキャラクターが領域に入る/出ることを検出し、openMerchBoothおよびcloseMerchBoothを呼び出してブースのGUIを開いたり閉じたりします。
LocalScriptlocal 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.Characterif character and otherPart == character.PrimaryPart thenMerchBooth.openMerchBooth()endend)region.TouchEnded:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenMerchBooth.closeMerchBooth()endend)end-- 既存のタグ付きショップ領域を反復for _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- 非ストリームされたショップ領域が流入したときに検出CollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
プロキシミティプロンプト
2Dカタログビューの代わりに、体験内のオブジェクトにプロキシミティプロンプトを追加できます。これにより、プレイヤーは3D環境内のアイテムを発見し、アバターにプレビューし、購入し、瞬時に装備することが奨励されます。詳細についてはaddProximityButtonを参照してください。
装備効果の変更
デフォルトでは、マーチブースはプレイヤーがアイテムを装備するときに一般的なスパークルエフェクトを表示します。効果を変更するには、configure呼び出しでparticleEmitterTemplateを独自のParticleEmitterインスタンスに設定します。
LocalScript - ConfigureMerchBoothlocal 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.SpheremyParticleEmitter.Transparency = NumberSequence.new(0, 1)myParticleEmitter.RotSpeed = NumberRange.new(200, 200)MerchBooth.configure({particleEmitterTemplate = myParticleEmitter})
GUIの可視性
デフォルトでは、マーチブースはそのUIが表示されるときに、チャット、リーダーボードなどロブロックスが含むすべてのScreenGuisおよびCoreGuisを隠します。この動作を無効にしたい場合は、configure呼び出しでhideOtherUisをfalseに設定します。
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({hideOtherUis = false})
キャラクターの移動
マーチブース内にいるときにキャラクターの移動を防ぐことが有利な場合があります。これは、configure呼び出しでdisableCharacterMovementをtrueに設定することで行えます。
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({disableCharacterMovement = true})
APIリファレンス
タイプ
アイテム
マーチブースのアイテムは、次のキーと値のペアを持つ辞書で表されます。アイテムは、getItems関数またはitemAddedイベントを通じて収集できます。
| キー | タイプ | 説明 |
|---|---|---|
| assetId | number | アイテムのカタログID。addItemAsyncに渡される。 |
| title | string | カタログに表示されるアイテムタイトル。 |
| price | number | アイテムの価格(ロブックス単位)。 |
| description | string | カタログに表示されるアイテム説明。 |
| assetType | string | アイテムのアクセサリータイプを示す文字列。 |
| isOwned | bool | 現在のプレイヤーがアイテムを所有しているかどうか。 |
| creatorName | string | カタログに表示されるアイテムのクリエイター。 |
| creatorType | Enum.CreatorType | アイテムのクリエイタータイプ。 |
列挙型
MerchBooth.Controls
setControlKeyCodesと共に使用され、マーチブースとの相互作用のためのキーとゲームパッドボタンをカスタマイズします。
| 名前 | 概要 |
|---|---|
| ProximityPrompts | プロキシミティプロンプトが設定されているときにアイテムビューを開くためのキーおよび/またはゲームパッドボタン。 |
| OpenMerchBooth | マーチブースを開くためのキーおよび/またはゲームパッドボタン。 |
| CloseMerchBooth | マーチブースを閉じるためのキーおよび/またはゲームパッドボタン。 |
| Filter | カタログビューの左上エリアに表示されるデフォルトのフィルタープルダウンを使用するためのキーおよび/またはゲームパッドボタン。 |
| ViewItem | 特定のマーチブースアイテムビューを開くためのキーおよび/またはゲームパッドボタン。 |
LocalScriptlocal 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インスタンス。 |
LocalScriptlocal 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の情報(priceやtitleなど)に基づいてロジックを使用することができます。この関数は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.ProximityPrompts | keyboard = Enum.KeyCode.E gamepad = Enum.KeyCode.ButtonY |
| MerchBooth.Controls.OpenMerchBooth | gamepad = Enum.KeyCode.ButtonY |
| MerchBooth.Controls.CloseMerchBooth | gamepad = Enum.KeyCode.ButtonB |
| MerchBooth.Controls.Filter | gamepad = Enum.KeyCode.ButtonX |
| MerchBooth.Controls.ViewItem | gamepad = Enum.KeyCode.ButtonA |
LocalScriptlocal 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からのみ呼び出すことができます。
LocalScriptlocal 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からのみ呼び出すことができます。
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.closeMerchBooth()
isMerchBoothEnabled
isMerchBoothEnabled(): boolean
この関数は、setEnabledと組み合わせて、現在マーチブースが有効かどうかをチェックするために使用できます。LocalScriptからのみ呼び出すことができます。
setEnabled
setEnabled(enabled: boolean)
マーチブース全体が有効か無効かを設定します。無効にされると、この関数はすべてのUI(プロキシミティプロンプトを含む)を削除し、すべてのイベントの接続を切断します。この関数はLocalScriptからのみ呼び出すことができます。
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
イベント
itemAdded
addItemAsyncを通じてアイテムが追加されると、発火します。このイベントはScript内でのみ接続できます。
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)