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

コピーした各IDをカンマ区切りのリストとしてitemsテーブルに貼り付けます。デフォルトでは、アイテムはカタログビューにアルファベット順で表示されますが、setCatalogSortを使用してソートをカスタマイズできます。
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {607702162, -- Robloxベースボールキャップ4819740796, -- Robox1374269, -- キティイヤー11884330, -- ナードグラス10476359, -- ペーパーハット}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の2番目のパラメータとして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の2番目のパラメータとしてEnum.InfoType.Productを含めて、アイテムが開発者製品であることを示します。デフォルトでは、アイテムはカタログビューにアルファベット順で表示されますが、setCatalogSortを使用してソートをカスタマイズできます。
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {1236602053, -- マナリフィル1257880672, -- ヒーリングポーション}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プロパティを無効にして、オブジェクトが物理的に衝突せず、レイキャストがそれを検出しないようにします。


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

新しいスクリプトに次のコードを貼り付け、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インスタンスに設定します。
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呼び出しでhideOtherUisをfalseに設定します。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.configure({
hideOtherUis = false
})キャラクターの移動
マーチブースにいる間、キャラクターの移動を防ぐことが有利な場合があります。これは、configure呼び出しでdisableCharacterMovementをtrueに設定することで実現できます。
local 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 | 特定のマーチブースアイテムビューを開くためのキーおよび/またはゲームパッドボタン。 |
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インスタンス。 |
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はカタログビューでアイテムを隠すために使用できます。
アセットとゲームパスまたは開発者製品の使用法はわずかに異なるため、詳細についてはアイテムの追加を参照してください。
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
endlocal 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
endlocal 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
endgetItems
getItems(): table
現在登録されているすべてのアイテムを表す辞書を返します。各キーはアイテムのアセットID(文字列)であり、各キーの値はアイテムです。この関数は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)
endremoveItem
removeItem(assetId: number)
addItemAsyncで以前に追加されたアイテムを登録解除し、カタログビューでのタイルとそれに割り当てられたプロキシミティプロンプトを削除します。この関数は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)
endaddProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
指定されたadorneeの上にプロキシミティプロンプトを追加し、アイテムの購入ビューを表示するトリガーとなります。これは、2Dカタログビューの代わりに使用でき、プレイヤーが3D環境内でアイテムを発見することを促します。
アイテムはaddItemAsyncを通じて追加されている必要がありますので、プロキシミティボタンをそれに割り当てることができます。removeProximityButtonを参照して、オブジェクトからプロキシミティプロンプトを削除します。
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
endremoveProximityButton
removeProximityButton(adornee: BasePart|Model|Attachment)
addProximityButtonを通じて生成されたプロキシミティプロンプトを削除します。この関数は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)
endsetCatalogSort
setCatalogSort(sortFunction: function): boolean
カタログビューで使用するソート関数sortFunctionを設定します。提供されたソート関数は、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 |
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からのみ呼び出すことができます。
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からのみ呼び出すことができます。
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)
endtoggleCatalogButton
toggleCatalogButton(enabled: boolean)
画面の右側にあるカタログボタンのオン/オフを切り替えます。これは、カスタムボタンを実装する際や、マーチブースの表示を領域やプロキシミティプロンプトに制限する際に便利です。この関数はLocalScriptからのみ呼び出すことができます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.toggleCatalogButton(false)isMerchBoothOpen
isMerchBoothOpen(): Tuple
カタログまたはアイテムビューが開いている場合はtrueを返します。アイテムビューが開いている場合、アイテムのアセットIDが2番目の値として返されます。この関数は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)
endcloseMerchBooth
closeMerchBooth()
マーチブースウィンドウを閉じます。この関数はLocalScriptからのみ呼び出すことができます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.closeMerchBooth()isMerchBoothEnabled
isMerchBoothEnabled(): boolean
この関数は、setEnabledと組み合わせて、マーチブースが現在有効かどうかを確認するために使用できます。LocalScriptからのみ呼び出すことができます。
setEnabled
setEnabled(enabled: boolean)
マーチブース全体が有効か無効かを設定します。無効にすると、この関数はすべてのUIを削除し、プロキシミティプロンプトを含むすべてのイベントを切断します。この関数は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内でのみ接続できます。
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。 |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemRemoved:Connect(function(assetId)
print("アセットIDが", assetId, "のアイテムが削除されました")
end)merchBoothOpened
カタログまたはアイテム詳細ビューが開かれると発火します。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothOpened:Connect(function()
print("ブースビューが開かれました")
end)merchBoothClosed
カタログまたはアイテム詳細ビューが閉じられると発火します。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothClosed:Connect(function()
print("ブースビューが閉じられました")
end)catalogViewOpened
カタログビューが開かれると発火します。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewOpened:Connect(function()
print("カタログビューが開かれました")
end)catalogViewClosed
カタログビューが閉じられると発火します。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewClosed:Connect(function()
print("カタログビューが閉じられました")
end)itemViewOpened
アイテム詳細ビューが開かれると発火します。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewOpened:Connect(function()
print("アイテムビューが開かれました")
end)itemViewClosed
アイテム詳細ビューが閉じられると発火します。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewClosed:Connect(function()
print("アイテムビューが閉じられました")
end)