商品ブース

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

The MerchBooth 開発者モジュール では、アバターアセットパス、および開発者製品を、エクスペリエンス内で直接販売することができます。プレイヤーはアイテムを閲覧し、自分のアバターでアセットをプレビューし、アイテムを購入し、すぐに自分のエクスペリエンスから使用または装備することができます - エクスペリエンスを離れることなく。これは、あなたのエクスペリエンスをマネタイズし、他のクリエーターのアイテムの販売に関連する 40% のアフィリエイト料を通じて収入を得るのに役立つことができます。

モジュールの使用

インストール

エクスペリエンスで MerchBooth モジュールを使用するには:

  1. ビュータブから、ツールボックスを開き、クリエイターストアタブを選択します。

    Toolbox toggle button in Studio
  2. モデル の順序が選択されていることを確認し、 すべて表示 ボタンをクリックして、 カテゴリ を選択します。

  3. ロケートしてクリックして 開発モジュール タイル。

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

  5. エクスプローラー ウィンドウで、 マーチブース モデル全体を ServerScriptService に移動します。エクスペリエンスを実行すると、モジュールは複数のサービスに分配され、実行を開始します。

構成

モジュールはほとんどの使用ケースで動作するようプリコンフィグされていますが、configure 関数を通じて簡単にカスタマイズできます。たとえば、ライトテーマを作成し、カタログビューの左上領域でデフォルトの フィルター ボタンを無効にするには:

  1. In スタータープレイヤースクリプト , 新しい LocalScript を作成し、名前を マーチブースの構成 に変更します。

  2. 新しいスクリプトに次のコードを貼り付けます。

    ローカルスクリプト - ConfigureMerchBooth

    local 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 を通じて追加する必要があります。

  1. Create a Script within ServerScriptService と、次のコードを貼り付けます。

    スクリプト - アバターアセットを追加

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("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 を使用してソートをカスタマイズできます。

    スクリプト - アバターアセットを追加

    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

パス

パスを追加するには、クリエイターダッシュボードで見つけることができるパスIDが必要です。

  1. Create a Script within ServerScriptService と、次のコードを貼り付けます。

    スクリプト - パスを追加

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("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. ナビゲート to the クリエイターダッシュボード and select the experience.

  3. 左の列で、 マネタイズ の下で、 パス を選択します。

  4. パスのサムネイルをホバーし、 ボタンをクリックし、コンテキストメニューから アセットIDをコピー を選択します。

  5. コピーしたそれぞれの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 do
    local success, errorMessage = pcall(function()
    MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)
    end)
    if not success then
    warn(errorMessage)
    end
    end

開発者製品

開発者製品を追加するには、クリエイターダッシュボードで見つけることができる製品IDが必要です。

  1. Create a Script within ServerScriptService と、次のコードを貼り付けます。

    スクリプト - 開発者製品を追加

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("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. ナビゲート to the クリエイターダッシュボード and select the experience.

  3. 左の列で、 マネタイズ の下で、 開発者製品 を選択します。

  4. 製品のサムネイルをホバーし、 ボタンをクリックし、コンテキストメニューから アセットIDをコピー を選択します。

  5. コピーしたそれぞれの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 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. 新しいスクリプトに次のコードを貼り付けます。

    ローカルスクリプト - カスタムカタログボタン

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    -- デフォルトのカタログボタンを削除
    MerchBooth.toggleCatalogButton(false)
    -- カスタムボタンを接続する
    script.Parent.Activated:Connect(function()
    MerchBooth.openMerchBooth()
    end)

購入可能な地域

エクスペリエンスで購入を促進する有用な方法の 1つは、プレイヤーがエリアに入ると自動的に商品ブースを表示することです。

購入可能な領域を作成するには:

  1. 検出領域を包含する Anchored ブロックを作成するブロックがキャラクタモデルの PrimaryPart と十分に衝突することを確認してください (デフォルトでは HumanoidRootPart )。

    ブロックを設置して、プレイヤーがショップカウンターの前に近づいたときを検出する
  2. ブロックのプロパティの タグ セクション、または Studio の タグエディタ を使用して、ブロックにタグ ShopRegion を適用して、CollectionService が検出できるようにします。

  3. パーツの Transparency を最大に設定して、エクスペリエンスのプレイヤーから隠すまた、CanCollide および CanQuery プロパティを無効にして、オブジェクトが物理的に衝突したり、レイキャストが検出したりしないようにします。

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

  5. 新しいスクリプトでは、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.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 を参照してください。

装備効果を変更

デフォルトでは、商品ブースはプレイヤーがアイテムを装備すると、一般的なスパークル効果を表示します。効果を変更するには、particleEmitterTemplateParticleEmitter構成する 呼び出しで自分のインスタンスに設定します。

ローカルスクリプト - 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.Sphere
myParticleEmitter.Transparency = NumberSequence.new(0, 1)
myParticleEmitter.RotSpeed = NumberRange.new(200, 200)
MerchBooth.configure({
particleEmitterTemplate = myParticleEmitter
})

GUI ビジビリティ

デフォルトでは、商品ブースは UI が表示されるとすべての ScreenGuisCoreGuis を隠し、チャット、リーダーボード、RobloRoblox(ロブロックス) によって含まれる他のものを含みます。この動作を無効にするには、hideOtherUisfalse に設定し、構成する 呼び出しで。

ローカルスクリプト - ConfigureMerchBooth

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.configure({
hideOtherUis = false
})

キャラクター移動

商品ブースにいる間、キャラクターが移動しないようにするのが有益である可能性があります。これは、disableCharacterMovementtrue に設定して、構成する 呼び出しで行うことができます。

ローカルスクリプト - 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文字列アイテムのアクセサリタイプを表す文字列。
isOwnedbool現在のプレイヤーがアイテムを所有しているかどうか。
creatorName文字列カタログに示されたアイテム作成者。
creatorTypeEnum.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.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
本地スクリプト

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 then
MerchBooth.setEnabled(false)
end

イベント

追加アイテム

アイテムを addItemAsync で追加すると、炎が発生します。このイベントは Script でのみ接続できます。

パラメータ
アセットID: numberアイテムアセット ID。
アイテム情報: tableアイテム情報の辞書、例えば price または title
スクリプト

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)