The MerchBooth 開発者モジュール では、アバターアセット、パス、および開発者製品を、エクスペリエンス内で直接販売することができます。プレイヤーはアイテムを閲覧し、自分のアバターでアセットをプレビューし、アイテムを購入し、すぐに自分のエクスペリエンスから使用または装備することができます - エクスペリエンスを離れることなく。これは、あなたのエクスペリエンスをマネタイズし、他のクリエーターのアイテムの販売に関連する 40% のアフィリエイト料を通じて収入を得るのに役立つことができます。
モジュールの使用
インストール
エクスペリエンスで MerchBooth モジュールを使用するには:
ビュータブから、ツールボックスを開き、クリエイターストアタブを選択します。
モデル の順序が選択されていることを確認し、 すべて表示 ボタンをクリックして、 カテゴリ を選択します。
ロケートしてクリックして 開発モジュール タイル。
マーチブース モジュールを見つけてクリックするか、3Dビューにドラッグアンドドロップします。
エクスプローラー ウィンドウで、 マーチブース モデル全体を ServerScriptService に移動します。エクスペリエンスを実行すると、モジュールは複数のサービスに分配され、実行を開始します。
構成
モジュールはほとんどの使用ケースで動作するようプリコンフィグされていますが、configure 関数を通じて簡単にカスタマイズできます。たとえば、ライトテーマを作成し、カタログビューの左上領域でデフォルトの フィルター ボタンを無効にするには:
In スタータープレイヤースクリプト , 新しい LocalScript を作成し、名前を マーチブースの構成 に変更します。
新しいスクリプトに次のコードを貼り付けます。
ローカルスクリプト - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({backgroundColor = Color3.fromRGB(220, 210, 200),textSize = 17,textFont = Enum.Font.Fondamento,textColor = Color3.fromRGB(20, 20, 20),useFilters = false})
アイテムを追加
マーチャントブースに商品がないとは何ですか?次のセクションでは、アバターアセット、パス、および開発者製品をあなたのマーチャントブースに追加する方法を説明します。
アバターアセット
服装やアクセサリー などのアイテムは、 アバターショップ のアイテム詳細ページにある アセットID を通じて追加する必要があります。
Create a Script within ServerScriptService と、次のコードを貼り付けます。
スクリプト - アバターアセットを追加local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("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 を使用してソートをカスタマイズできます。
スクリプト - アバターアセットを追加local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Roblox 野球キャップ4819740796, -- ロボックス1374269, -- キティの耳11884330, -- オタクメガネ10476359, -- 紙の帽子}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
パス
パスを追加するには、クリエイターダッシュボードで見つけることができるパスIDが必要です。
Create a Script within ServerScriptService と、次のコードを貼り付けます。
スクリプト - パスを追加local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendナビゲート to the クリエイターダッシュボード and select the experience.
左の列で、 マネタイズ の下で、 パス を選択します。
パスのサムネイルをホバーし、 ⋯ ボタンをクリックし、コンテキストメニューから アセットIDをコピー を選択します。
コピーしたそれぞれのIDを items テーブル 内のコンマ区切りリストに貼り付け、 そして Enum.InfoType.GamePass を 2番目のパラメータとして含めて、アイテムがパスであることを示すために addItemAsync を追加する。デフォルトでは、アイテムはアルファベット順にカタログビューに表示されますが、setCatalogSort を介して並べ替えることができます。
スクリプト - パスを追加local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- コールドファイアアーマー28521575, -- スライムシールド}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
開発者製品
開発者製品を追加するには、クリエイターダッシュボードで見つけることができる製品IDが必要です。
Create a Script within ServerScriptService と、次のコードを貼り付けます。
スクリプト - 開発者製品を追加local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendナビゲート to the クリエイターダッシュボード and select the experience.
左の列で、 マネタイズ の下で、 開発者製品 を選択します。
製品のサムネイルをホバーし、 ⋯ ボタンをクリックし、コンテキストメニューから アセットIDをコピー を選択します。
コピーしたそれぞれのIDを items テーブル 内のコンマ区切りリストに貼り付け、 そして Enum.InfoType.Product を 2番目のパラメータとして含めて、アイテムが開発者製品であることを示すために addItemAsync を追加する。デフォルトでは、アイテムはアルファベット順にカタログビューに表示されますが、setCatalogSort を使用してソートをカスタマイズできます。
スクリプト - 開発者製品を追加local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("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 を作成します。
新しいスクリプトに次のコードを貼り付けます。
ローカルスクリプト - カスタムカタログボタンlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- デフォルトのカタログボタンを削除MerchBooth.toggleCatalogButton(false)-- カスタムボタンを接続するscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
購入可能な地域
エクスペリエンスで購入を促進する有用な方法の 1つは、プレイヤーがエリアに入ると自動的に商品ブースを表示することです。
購入可能な領域を作成するには:
検出領域を包含する Anchored ブロックを作成するブロックがキャラクタモデルの PrimaryPart と十分に衝突することを確認してください (デフォルトでは HumanoidRootPart )。
ブロックを設置して、プレイヤーがショップカウンターの前に近づいたときを検出する ブロックのプロパティの タグ セクション、または Studio の タグエディタ を使用して、ブロックにタグ ShopRegion を適用して、CollectionService が検出できるようにします。
パーツの Transparency を最大に設定して、エクスペリエンスのプレイヤーから隠すまた、CanCollide および CanQuery プロパティを無効にして、オブジェクトが物理的に衝突したり、レイキャストが検出したりしないようにします。
新しい LocalScript を StarterPlayerScripts の下に挿入します。
新しいスクリプトでは、Touched および TouchEnded イベントを使用して、キャラクターが領域に入力/離れるときを検出し、openMerchBooth および closeMerchBooth を呼び出して、ブースGUIを開く/閉じるようにします。
本地スクリプトlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("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 を参照してください。
装備効果を変更
デフォルトでは、商品ブースはプレイヤーがアイテムを装備すると、一般的なスパークル効果を表示します。効果を変更するには、particleEmitterTemplate を ParticleEmitter の 構成する 呼び出しで自分のインスタンスに設定します。
ローカルスクリプト - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("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 を隠し、チャット、リーダーボード、RobloRoblox(ロブロックス) によって含まれる他のものを含みます。この動作を無効にするには、hideOtherUis を false に設定し、構成する 呼び出しで。
ローカルスクリプト - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
キャラクター移動
商品ブースにいる間、キャラクターが移動しないようにするのが有益である可能性があります。これは、disableCharacterMovement を true に設定して、構成する 呼び出しで行うことができます。
ローカルスクリプト - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
API リファレンス
タイプ
アイテム
商品ブースのアイテムは、以下のキー-バリューペアで構成される辞書で表現されます。アイテムは getItems 機能または itemadded イベントを通じて収集できます。
キー | 種類 | 説明 |
---|---|---|
assetId | 番号 | アイテムのカタログID、addItemAsync に渡されたもの。 |
title | 文字列 | カタログに表示されるアイテムタイトル。 |
price | 番号 | Robux のアイテム価格。 |
description | 文字列 | カタログに表示されるアイテムの説明。 |
assetType | 文字列 | アイテムのアクセサリタイプを表す文字列。 |
isOwned | bool | 現在のプレイヤーがアイテムを所有しているかどうか。 |
creatorName | 文字列 | カタログに示されたアイテム作成者。 |
creatorType | Enum.CreatorType | アイテムのクリエイタータイプ。 |
枚数
メルチブース.Controls
setControlKeyCodes と一緒に使用して、商品ブースと対話するためのキーとゲームパッドボタンをカスタマイズする
名前 | 概要 |
---|---|
ProximityPrompts | 近接プロンプト が構成されたときにアイテムビューを開くためのキーと/またはゲームパッドボタン。 |
OpenMerchBooth | キーと/またはゲームパッドボタンで商品ブースを開く。 |
CloseMerchBooth | キーと/またはゲームパッドボタンで商品ブースを閉じる。 |
Filter | キーと/またはゲームパッドボタンを使用して、カタログビューの左上領域でデフォルトの フィルタ をパルダウンします。 |
ViewItem | 特定の商品ブースアイテムビューを開くためのキーと/またはゲームパッドボタン。 |
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
機能
設定する
環境設定(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:WaitForChild("MerchBooth"))MerchBooth.configure({backgroundColor = Color3.fromRGB(255, 255, 255),textSize = 16,textFont = Enum.Font.Roboto,textColor = Color3.fromRGB(20, 20, 20),hideOtherUis = false,})
追加アイテムAsync
addItemAsync(assetId: number , productType: Enum.InfoType , hideFromCatalog: boolean )
非同期で商品ブースにアイテムを追加し、エクスペリエンスで購入できるようにします。assetId はアイテムのアセット ID、productType はアイテムの Enum.InfoType 枚数、そして hideFromCatalog はカタログビューでアイテムを隠すために使用できます。
詳細については、アイテムの追加 を参照してください、使用法は、 アセット と ゲームパス または 開発者製品 と比較して若干異なります。
スクリプト - アバターアセットを追加
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Roblox 野球キャップ
4819740796, -- ロボックス
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
スクリプト - パスを追加
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- コールドファイアアーマー
28521575, -- スライムシールド
}
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
スクリプト - 開発者製品を追加
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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(): table
現在登録されているすべてのアイテムを表す辞書を返します。それぞれのキーは、文字列としてアイテムのアセット IDであり、それぞれのキーの値は アイテム です。この機能は Script からのみ呼び出すことができます。
スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local items = MerchBooth.getItems()
print(items)
end
削除アイテム
削除アイテム(アセットID: number )
addItemAsync で以前に追加されたアイテムを登録解除し、カタログビューのタイルとそれに割り当てられた 近接プロンプト を削除します。この機能は Script からのみ呼び出すことができます。
スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- しばらく経過したら、アイテムを削除する
task.wait(5)
MerchBooth.removeItem(4819740796)
end
追加Proximityボタン
addProximityButton(adornee: BasePart | Model | Attachment , アセットID: number )
指定された 近接プロンプト を上に追加し、アセットIDを持つアイテムの購入ビューの表示をトリガーする。これは、2D カタログビューの代替として使用でき、プレイヤーが 3D 環境でアイテムを発見するように促します。
近接ボタンが割り当てられる前に、addItemAsync を介してアイテムを追加する必要があることに注意してください。参照してください removeProximityButton オブジェクトから距離プロンプトを削除するには。
スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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
除去プロキシミティボタン
削除ProximityButton(adornee: BasePart | Model | Attachment )
近接プロンプト を削除します。この機能は、addProximityButton を介して生成されます。この機能は、Script からのみ呼び出すことができます。
スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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(sortFunction: function ): boolean
カタログビューで使用するソート機能 sortFunction を設定します。提供されたソート機能は、アイテム情報などのロジックを使用できます。例えば、price または title など。この機能は LocalScript からのみ呼び出すことができます。
カタログをソートするためのいくつかの例は次のとおりです:
価格低い順に高い順
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
価格の高い順に並べ替え
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
価格低い順から高い順、アルファベット順
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return if a.price == b.price then a.title < b.title else a.price < b.price
end)
setControlKeyMetrics を設定
setControlKeyMetrics(control: マーチブース.Controls , keyMetrics: table)
商品ブースとのインタラクションのためのキーとボタンの値を設定します。最初のパラメータは MerchBooth.Controls 枚数であり、2番目のパラメータは、対応する および/または キーを含むテーブルです。
Enum ( 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:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
開いたマーチブース
開いたマーチブース()
商品ブースウィンドウを開き(閉じている場合)、カタログビューに移動します。この機能は、LocalScript からのみ呼び出すことができます。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
MerchBooth.openMerchBooth()
開くアイテムビュー
openItemView(itemId: number )
指定された itemId の単一アイテムビューに移動し、現在閉じている場合は商品ブースウィンドウを開きます。この機能は LocalScript からのみ呼び出すことができます。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
end
カタログボタンの切り替え
toggleCatalogButton(enabled: boolean )
画面の右側にあるカタログボタンをオン/オフに切り替えます。これは、カスタムボタンを実装するとき または商品ブースの外観を 領域 または 近接プロンプト に制限するときに便利です。は LocalScript からのみ呼び出すことができます。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
はMerchBoothOpenです
isMerchBoothOpen(): Tuple
カタログまたはアイテムビューが開いている場合は、true を返します。アイテムビューが開いている場合、アイテムのアセット IDは 2番目の値として返されます。この機能は LocalScript からのみ呼び出すことができます。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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
閉じるマーチブース
閉じるマーチブース()
商品ブースのウィンドウを閉じます。この機能は LocalScript からのみ呼び出すことができます。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
はメルチブースを有効にしました
isMerchBoothEnabled(): boolean
この機能は、setEnabled と一緒に使用して、現在商品ブースが有効になっているかどうかをチェックすることができます。は LocalScript からのみ呼び出すことができます。
設定した有効化
setEnabled(enabled: boolean )
全商品ブースを有効化するかどうかを設定します。無効にすると、この機能は、近接プロンプト を含む全体のUIを削除し、すべてのイベントを切断します。この機能は LocalScript からのみ呼び出すことができます。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
イベント
追加アイテム
アイテムを addItemAsync で追加すると、炎が発生します。このイベントは Script でのみ接続できます。
スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Item added with asset ID of", assetId)
print(itemInfo)
end)
削除されたアイテム
アイテムを removeItem で削除すると、炎が発生します。このイベントは Script でのみ接続できます。
パラメータ | |
---|---|
アセットID: number | アイテムアセット ID。 |
スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemRemoved:Connect(function(assetId)
print("Item removed with asset ID of", assetId)
end)
商品ブースが開いた
カタログ または のアイテム詳細ビューが開いたときに発火します。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
商品ブースが閉まった
カタログ または のアイテム詳細ビューが閉じられたときに発火します。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
カタログビュー開いた
カタログビューが開いたときに発火します。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
カタログビューが閉じた
カタログビューが閉じられたときに発火します。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
アイテムビュー開いた
アイテムの詳細ビューが開いたときに発火します。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
アイテムビューが閉じた
アイテムの詳細ビューが閉じられたときに発火します。
本地スクリプト
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)