商品攤位

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

貨品攤位 開發模組 讓您直接在您的體驗中提供 虛擬人偶資產 、 1> 通行證1> 和 4> 開發者產

模組使用

安裝

要在體驗中使用 商店攤位 模組:

  1. 檢視 標籤開啟 工具箱 並選擇 創作者商店 標籤。

    Toolbox toggle button in Studio
  2. 確認 模型排序 已選擇,然後按一下 查看全部 按鈕 for 類別

  3. 找到並點擊 Dev Modules 磚塊。

  4. 找到 服飾攤位 模組並點擊它,或將它拖曳到 3D 檢視窗中。

  5. 探險家 窗口中,將整個 商店 模型移入 ServerScriptService 。執行體驗時,模組將自動分配到各個服務並開始執行。

設定

模組預設為大多數使用案例,但可以通過 設定 功能來簡單自訂。例如,創建一個更輕的主題並禁用目錄檢視窗的預設 過濾器 按鈕:

  1. StarterPlayerScripts 中,創建新 LocalScript 並將其重命名為 ConfigureMerchBooth

  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 內建立 Class.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. 從其 虛擬人偶商店 網站上複製資產 ID。例如,Roblox Baseball Cap 的 ID 是 607702162

  3. 將每個複製的ID粘貼在 items 表內的空格分開列表中。 由預設情況下,項目會在目錄中以字母順序顯示,但您可以使用 setCatalogSort 自訂排序。

    指令碼 - 增加虛擬人偶資產

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    607702162, -- Roblox 棒球帽
    4819740796, -- Roblox
    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 內建立 Class.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 貼入 items 表內的空格分隔列表 包括 Enum.InfoType.GamePass 作為第二個參數 1>addItemAsync1> 以表示物品是傳輸。 預設情況下,項目將在目錄中以字母順序排列,但排

    指令碼 - 增加通行證

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    4343758, -- ColdFyre 裝甲
    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 內建立 Class.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 貼入 items 表內的空格分隔列表 包含 Enum.InfoType.Product 作為第二個參數 1>addItemAsync1> 以表示項目是開發者產品。 預設情況下,項目會在目錄中以字母順序排列,

    腳本 - 添加開發者產品

    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 應用到區塊,讓 1> Class.CollectionService1> 偵測到它。

  3. 將零件的 Transparency 設為最大值,以隱藏它給體驗家。也停用其 CanCollideCanQuery 屬性,以便對對象不發生物理碰撞,並且雷射cast不會偵測到它。

  4. 將新 LocalScript 插入 StarterPlayerScripts 下。

  5. 在新的指令碼中,將以下代碼貼入使用 TouchedTouchEnded 事件來偵測當個人進入/離開區域時,呼叫 openMerchBooth 和 1> closeMerchBooth1> 來開啟/關閉 booth 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 當其 UI 出現時,包括聊天、排行榜和其他由 Roblox 包含的內容。如果您想要禁用此行為,請將 hideOtherUis

本地指令碼 - 設定商店

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

角色移動

可能有益於防止一個角色在他們在商品攤位中移動時移動。這可以通過將 disableCharacterMovement 設置為 trueconfigure 呼叫中做到。

本地指令碼 - 設定商店

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字串代表物道具配件類輸入的字串。
isOwnedboolean該玩家是否擁有物道具。
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
})

功能

設定

設定(配置: table )

config 表中,通過以下鍵值/值來偽裝預設客戶端設定選項。此功能只能從 LocalScript 中呼叫。

鑰匙說明預設
backgroundColorDatatype.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,
})

addItemAsync

addItemAsync(assetId: number , productType: Enum.InfoType , hideFromCatalog: boolean )

Asynchronously 在商店添加一個項目,讓它能夠在體驗中購買。assetId 是道具目的資產ID,productType 是道具目的 Enum.InfoType 枚列,並且1> hideFromCatalog1> 可以用來隱藏項目在目錄檢視圖中。

參閱 增加項目 了解詳情,因為使用者對 資產遊戲通行證 或1>開發者產品1>有點不同。

指令碼 - 增加虛擬人偶資產

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Roblox 棒球帽
4819740796, -- Roblox
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, -- ColdFyre 裝甲
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

移除項目

移除項目(assetId: 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

addProximityButton(adornee: BasePart | Model | Attachment , assetId: 1> number1>)

添加一個 接近提示 在指定的 adornee 上,該指定將會顯示產道具購買視檢視,提供其資產 ID。這可以作為 2D 目錄視檢視的替代方案,勵勵玩家發現在 3D 環境中發現物品。

注意,必須先過 addItemAsync 才能將靈敏按鈕指定到它。請參閱 移除靈敏按鈕 以移除對靈敏提示的對物件。

腳本

local ReplicatedStorage = game:GetService("ReplicatedStorage")
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 )

移除一個 接近提示添加接近按鈕 生成。 此功能只能從 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 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 或 1>標題1> 來使用。此功能只能從 4>Class.LocalScript4> 中呼叫。

這裡是一些排序目錄的範例:

價格 低到高

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)

設定控制鍵代碼

setControlKeyCodes(控制: 商店.Controls , 鑰匙碼: table )

設定商品攤與按鈕值的鍵值。第一個參數必須為 MerchBooth.Controls 枚,第二個參數必須是包含鍵 keyboard 和/或 gamepad 的相應 1> Enum.KeyCode1> 枚。

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

打開商店攤位

開啟MerchBooth()

開啟商店攤位窗口 (如果已關閉) 並瀏覽目錄視檢視。此功能只能從 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

切換目錄按鈕

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

切換屏幕右側的目錄按鈕開關。這是實現<a href="/reference/engine/databases">自訂按鈕</a>或限制商店攤位外觀<a href="/reference/engines/databases">區域</a>或<a href="https:// proximity.microsoft.com/en-us/microsoft-edge/microsoft-edge-bs/">提示</a>的情況下。只能從<a href="https:// proximity.microsoft.com/en-us/microsoft-edge

本地指令碼

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

是否開啟商店攤位

isMerchBoothOpen():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

關閉MerchBooth

關閉MerchBooth()

關閉商店攤位窗口。 此功能只能從 LocalScript 中呼叫。

本地指令碼

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

isMerchBooth啟用

isMerchBoothEnabled():boolean

此功能可以與 setEnabled 一起使用來檢查商店是否啟用或不啟用。只能從 LocalScript 中呼叫。

啟用

setEnabled(啟用: 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

事件

已新增的項目

添加項目時發生時間。這個事件只能連接在 Class.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)

已移除項目

發生當項目被移除通過 移除項目 。此事件只能連接在 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)