商品攤位

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

商店展位 的 開發者模組 讓你能在體驗內直接提供 人物資產 、通行證 和 開發者產品 出售。玩家可以瀏覽物品、在自己的虛擬人偶上預覽資產、購買物品,並立即使用或裝備它們—所有都不需要離開體驗。這可以幫助你 商業化 你的經驗,通過與出售其他創作者物品相關的 40% 佣金獲得收入。

模組使用

安裝

要在體驗中使用 MerchBooth 模組:

  1. 視圖標籤開啟工具箱,然後選擇 創作者商店 標籤。

    Toolbox toggle button in Studio
  2. 確保 模型 排序已選擇,然後單擊 查看全部 按鈕以獲得 類別

  3. 找到並點擊 開發模組 磚塊。

  4. 找到 商品攤位 模組,然後單擊它或拖放到 3D 視檢視中。

  5. 導航器 窗口中,將整個 MerchBooth 模型移至 ServerScriptService 。執行體驗時,模組會分配到各種服務並開始運行。

配置

模組預先配置以處理大多數使用案例,但可以通過 配置 功能簡單自訂。例如,要創建輕型主題並在目錄檢視的左上角禁用預設 過濾器 按鈕:

  1. 新手玩家腳本 中,創建一個新的 LocalScript 並將其重命名為 設置商品攤位

  2. 將以下代碼貼到新腳指令碼中。

    本地腳本 - 配置商店攤位

    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. Script 內創建一個 **** ,然後粘貼以下代碼。

    腳本 - 添加虛擬人偶資產

    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, -- 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. Script 內創建一個 **** ,然後粘貼以下代碼。

    腳本 - 添加通行證

    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. 導航到 創作者面板 並選擇體驗。

  3. 在左欄中,在 盈利 下,選擇 通行證

  4. 將鼠標懸停在通行證的縮略圖上,點擊 按鈕,然後從上下文選單中選擇 複製資產ID

  5. 將每個複製的ID貼到 表中的週期分隔列表中,包括 作為第二個參數,指示項目是傳送。預設項目會以字母順序出現在目錄視圖中,但排序可以透過 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. Script 內創建一個 **** ,然後粘貼以下代碼。

    腳本 - 添加開發者產品

    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. 導航到 創作者面板 並選擇體驗。

  3. 在左欄中,在 盈利化 下,選擇 開發者產品

  4. 將鼠標懸停在產品的縮略圖上,點擊 按鈕,然後從上下文選單中選擇 複製資產ID

  5. 將每個複製的ID貼到 表的週期分隔列表中,包括 作為第二個參數,指示項目是開發者產品。預設項目在目錄視圖中以字母順序出現,但您可以使用 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. 創建一個 Anchored 區塊,包含偵測區域。請確保方塊足夠高,以便與角色模型的 PrimaryPart 碰撞(默认值為 HumanoidRootPart )。

    阻止玩家靠近商店櫃台前方時偵測
  2. 使用方磚塊的 標籤 部分或 Studio 的 標籤編輯器 將標籤 ShopRegion 應用到方塊上,以便 CollectionService 偵測到它。

  3. 將零件的 Transparency 設為最大值,以將其從體驗中的玩家隱藏。也禁用其 CanCollideCanQuery 屬性,以便對象不會物理上碰撞它,射線投射也不會偵測到它。

  4. LocalScript 下插入新的 **** 。

  5. 在新的腳指令碼中,粘貼以下代碼,使用 TouchedTouchEnded 事件偵測角色是否進入或離開區域,並呼叫 openMerchBoothcloseMerchBooth 開啟/關閉展位 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 了解詳情。

變更裝備效果

預設情況下,商店攤位會在玩家從中裝備一件物品時顯示一般閃光效果。要變更效果,將 particleEmitterTemplate 設為配置 ParticleEmitter配置 呼叫中的自己實例的 。

本地腳本 - 配置商店攤位

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可見度

預設情況下,商店攤位在其介面出現時隱藏所有的 ScreenGuisCoreGuis ,包括聊天、排行榜和 Roblox 包含的其他內容。如果您想禁用此行為,請在 hideOtherUis 呼叫中設置 false

本地腳本 - 配置商店攤位

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

角色移動

當角色在商店攤位上時,防止他們移動可能是有利的。這可以通過在 配置 呼叫中設置 來完成。

本地腳本 - 配置商店攤位

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項道具的創建者類型。

枚數

商店控件.控制

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用於窗口標題的標題文字來源()。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在點擊狀態下所有按鈕的背景顏色()。[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(資產ID: number , 產品類型: Enum.InfoType , 從目錄隱藏: boolean )

异步地添加物品到商店,以便在體驗中可購買。assetId 是道具目的資產ID,productType 是道具目的Enum.InfoType枚列,hideFromCatalog 可用於在目錄檢視圖中隱藏項目。

添加項目 了解詳情,因為使用情況略有不同,即 資產遊戲通行證開發者產品 相比。

腳本 - 添加虛擬人偶資產

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("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
腳本 - 添加通行證

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

取得項目

取得項目: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

新增接近按鈕

addProximityButton(adornee: BasePart | Model | Attachment , 資產ID: number )

在指定的 距離提示 上添加一個,會觸發顯示一個道具目的購買視圖的資產ID。這可以用作 2D 目錄檢視的替代,鼓勵玩家在 3D 環境中發現物品。

請注意,必須通過 addItemAsync 添加物件,才能將感應按鈕指派給它。也可以參考 移除靠近按鈕 以從對象中移除靠近提示。

腳本

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

移除近距離按鈕

移除接近按鈕(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

設定目錄排序

設定目錄排序(sortFunction: function ):boolean

設置排序功能 sortFunction 在目錄檢視中使用。提供的排序功能可以使用基於 項目 資訊的邏輯,例如 pricetitle 。此功能只能從 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)

設定控制鍵碼

設定控制鍵碼(控制: MerchBooth.Controls , 鍵碼: table )

配置與商店攤位互動的鍵和按鈕值。第一個參數必須是 MerchBooth.Controls 枚列,第二個參數是包含相應 和/或 枚列的表。

枚列 ( 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,
})

openMerchBooth

openMerchBooth()

開啟商店展位窗口(如果已關閉)並導航到目錄檢視。此功能只能從 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(項目ID: 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

切換目錄按鈕

切換目錄按鈕(啟用:boolean)

在屏幕右側切換目錄按鈕。當執行 自訂按鈕 或將商店攤位的外觀限制為 區域附近提示 時,這很有用。只能從 LocalScript 中呼叫。

本地脚本

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.toggleCatalogButton(false)

是否開啟商店攤位

是MerchBoothOpen(): Tuple

如果目錄或項目檢視開啟,返回 true 如果目錄或項目檢視開啟。如果項目檢視開啟,項道具的資產 ID 將作為第二值返回。此功能只能從 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 中呼叫。

設定啟用

設定啟用(啟用: boolean )

設置是否啟用整個商店攤位。當停用時,此功能會移除整個介面,包括 近距離提示 ,並切斷所有 事件。此功能只能從 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字典的 物品 資訊,例如 pricetitle
腳本

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)