Gian hàng thương mại

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Các kệ hàng MerchBooth模块 cho phép bạn cung cấp tài nguyên avatar, 2>thẻ2> và 5>sản phẩm nhà phát triển5> cho sale trự

Sử dụng mô-đun

Cài đặt

Để sử dụng mô-đun MerchBooth trong một trải nghiệm:

  1. Từ trang Xem, mở trang Hộp công cụ và chọn trang Cửa hàng Creator .

    Toolbox toggle button in Studio
  2. Đảm bạn chắn chọn Mô Hình sắp xếp, then click the Xem tất cả button for Các danh mục .

  3. Tìm và nhấp vào Dev Modules mảnh.

  4. Tìm mô-đun Merch Booth và nhấp vào nó, hoặc kéo nó vào 3D view.

  5. Trong cửa sổ Explorer, di chuyển toàn bộ mô hình MerchBooth đến ServerScriptService . Khi chạy trải nghiệm, mô-đun sẽ được phân phối đến các dịch vụ khác nhau và bắt đầu chạy.

Tùy chỉnh

Cấu hình này đã được tùy chỉnh để hoạt động cho hầu hết các trường hợp dùng, nhưng nó có thể được dễ dàng tùy chỉnh thông qua chức năng tùy chỉnh . Ví dụ, để tạo một chủ đề nhẹ hơn và vô hiệu hóa nút Lọc mặc định ở khu v

  1. Trong StarterPlayerScripts , tạo một LocalScript mới và đổi tên nó thành Tùy chỉnh gian hàng .

  2. Sao chép mã sau đây vào một tập tin mới.

    LocalScript - Tùy chỉnh gian hàng

    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
    })

Thêm vật phẩm

What's a merch booth without merch? The following sections outline how to add avatar assets , passes and developer products to your merch booth.

Tài sản Avatar

Các mặt hàng như quần áo và phụ kiện phải được thêm qua màn hình chi tiết của mặt hàng ở trang chi tiết của mặt vật phẩmtrong Cửa hàng Avatar .

  1. Tạo một Script trong ServerScriptService và dán vào mã sau đây.

    Script - Thêm tài nguyên avatar

    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. Bắt ID tài nguyên từ trang web Avatar Shop của họ. Ví dụ, ID của Mũ bóng chày Roblox607702162 .

  3. Sao mỗi ID đã sao vào một danh sách trong các dấu chấm câu trong bảng items . Bởi mặc định, các mục xuất hiện trong cảnh nhìn trong thư mục theo thứ tự alphabetical, nhưng bạn có thể tùy chỉnh sắp xếp bằng cách sử dụng setCatalogSort .

    Script - Thêm tài nguyên avatar

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    607702162, -- Mũ bóng chày Roblox
    4819740796, -- Robux
    1374269, -- Tai Mèo
    11884330, -- Kính Nerd
    10476359, -- Nón giấy
    }
    for _, assetId in items do
    local success, errorMessage = pcall(function()
    MerchBooth.addItemAsync(assetId)
    end)
    if not success then
    warn(errorMessage)
    end
    end

Các mục qua

Thêm passes yêu cầu ID thẻ qua đó có thể được tìm thấy trong Creator Dashboard .

  1. Tạo một Script trong ServerScriptService và dán vào mã sau đây.

    Script - Thêm Thẻ

    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. Navigate to the Bảng điều khiển của Creator and select the experience.

  3. Trong cột bên trái, dưới Monetization, hãy chọn Passes.

  4. Nhấp vào nút cho một vượt qua và chọn Nhân bản ID tài nguyên .

  5. Sao mỗi ID sao chép vào một danh sách trong các items bảng bao gồm Enum.InfoType.GamePass như một tham chiếu thứ hai cho 1> addItemAsync1> để chỉ ra rằng các mục là passes.

    Script - Thêm Thẻ

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    4343758, -- Áo giáp ColdFyre
    28521575, -- Khiên Slime
    }
    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

Sản phẩm của nhà phát triển

Thêm sản phẩm nhà phát triển yêu cầu ID sản phẩm có thể được tìm thấy trong Bảng điều khiển của người phát triển .

  1. Tạo một Script trong ServerScriptService và dán vào mã sau đây.

    Script - Thêm sản phẩm của nhà phát triển

    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. Navigate to the Bảng điều khiển của Creator and select the experience.

  3. Trong cột bên trái, dưới Monetization , chọn Sản phẩm của nhà phát triển .

  4. Nhấp vào nút cho một sản phẩm và chọn sao chép ID tài nguyên .

  5. Sao mỗi ID sao chép vào một danh sách trong các items bảng bao gồm Enum.InfoType.Product như một tham chiếu thứ hai cho 1> addItemAsync1> để cho thấy các mục là sản phẩ

    Script - Thêm sản phẩm của nhà phát triển

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    1236602053, -- Bổ sung Mana
    1257880672, -- Thuốc chữa lành
    }
    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

Nút Catalog Tùy Chỉnh

Mặc định, một nút cửa hàng bên phải cho phép người chơi mở gian hàng bất cứ lúc nào.

Trong một số trường hợp, có thể hữu ích để xóa nút này và kết nối với sở hữubạn:

  1. Tạo một nút mới như được mô tả trong Buttons .

  2. Tạo một LocalScript như con của đối tượng nút.

  3. Sao chép mã sau đây vào một tập tin mới.

    LocalScript - nút Catalog tùy chỉnh

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    -- Loại bỏ nút catalog mặc định
    MerchBooth.toggleCatalogButton(false)
    -- Kết nối nút tùy chỉnh
    script.Parent.Activated:Connect(function()
    MerchBooth.openMerchBooth()
    end)

Vùng có thể mua

Một cách hữu ích để thúc đẩy doanh số trong trải nghiệm của bạn là tự động hiển thị gian hàng hàng hóa khi một người chơi vào khu vực.

Để tạo một khu vực có thể mua:

  1. Tạo một khối Anchored có chứa khu vực phát hiện. Đảm bảo khối đủ cao để va chạm với khu vực PrimaryPart của mô hình nhân vật ( HumanoidRootPart bằng mặc định).

    Chặn để phát hiện khi người chơi đến trước mặt bếp cửa hàng
  2. Bằng cách sử dụng các thẻ trong các thuộc tính của block, hoặc Studio's Editor Thẻ, áp dụng thẻ ShopRegion cho block để đảm bảo 1> Class.CollectionService1> phát hiện nó.

  3. Đặt Transparency của phần tối đa để giấu nó khỏi người chơi trong trải nghiệm. Vô hiệu hóa các CanCollideCanQuery属性 để người đ

  4. Lập một LocalScript mới dưới StarterPlayerScripts .

  5. Trong kịch bản mới, hãy vẽ mã sau đây mà sử dụng các sự kiện TouchedTouchEnded để phát hiện khi nào nhân vật vào/rời khu vực và gọi mởC

    Script địa phương

    local Players = game:GetService("Players")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    -- Loại bỏ nút catalog mặc định
    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
    -- Lặp lại qua các khu vực cửa hàng đã có nhãn
    for _, region in CollectionService:GetTagged("ShopRegion") do
    setupRegion(region)
    end
    -- Ngăn chặn khi các khu vực shop không phải là hàng loạt bị xâm nhập
    CollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)

Yêu cầu gần

Như một lựa chọn cho 2D view catalogue, bạn có thể thêm yêu cầu gần cận over in-experience objects. This encourage players to discover items in the 3D môi trường, preview them on their own avatar, mua chúng, and instantly equip them. See addProximityButton for details.

Đổi Effect Trang Bị

Mặc định, gian hàng trưng bày thời trang hiển thị một hiệu ứng lấp lánh chung khi một người chơi trang bị một món đồ từ nó. Để thay đổi hiệu ứng, hãy thiết lập particleEmitterTemplate cho người tham gia của bạn trong một cuộc gọi ParticleEmitter

LocalScript - Tùy chỉnh gian hàng

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
})

Hiển thị GUI

Mặc định, gian hàng thương mại ẩn tất cả ScreenGuisCoreGuis khi nó xuất hiện, bao gồm trang chat, bảng xếp hạng và những người khác bị bao g

LocalScript - Tùy chỉnh gian hàng

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

Di chuyển nhân vật

Nó có thể là một lợi thế để ngăn chặn một nhân vật di chuyển khi họ đang ở gian hàng. Điều này có thể được thực hiện bằng cách thiết lập disableCharacterMovement để true trong một cuộc gọi 配置.

LocalScript - Tùy chỉnh gian hàng

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

Tham khảo API

Các loại

mục

Các mặt hàng trong gian hàng thương mại được diễn tả bằng một từ điển với các cặp giá trị chìa khóa sau đây. Các mặt hàng có thể được thu thập thông qua chức năng nhận mặt hàng hoặc sự kiện mặt hàng đã thêm.

Chìa khóaKiểuMô tả
assetIdcon sốID Catalog của vật phẩm, như đã được truyền cho addItemAsync .
titlechuỗiTiêu đề mục như nó xuất hiện trong các katalog.
pricecon sốGiá vật phẩm ở Robux.
descriptionchuỗiMô tả món đồ như nó xuất hiện trong các katalog.
assetTypechuỗiChuỗi đại diện cho đánh máyphụ kiện của vật phẩm.
isOwnedbooleanCó phải người chơi hiện tại sở hữu món vật phẩm.
creatorNamechuỗiNgười tạo mục đã được hiển thị trong các katalog.
creatorTypeEnum.CreatorTypeLoại người sáng tạo cho vật phẩm.

Số

MerchBooth.Controls

Sử dụng cùng với setControlKeyCodes để tùy chỉnh các nút và gamepad để tương tác với gian hàng.

TênTổng kết
ProximityPromptsNút khóa và/hoặc nút gamepad để mở màn hình mục khi yêu cầu sự gần gũi được cấu hình.
OpenMerchBoothNút khóa và/hoặc nút gamepad để mở gian hàng.
CloseMerchBoothNút khóa và/hoặc nút gamepad để đóng gian hàng.
FilterNút chính và/hoặc gamepad để sử dụng màn hình trượt xuống mặc định Lọc ở khu vực trên cùng bên trái của các kết quả.
ViewItemNút chính hoặc gamepad để mở một món đồ quánh phòng trưng bày.
Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {
keyboard = Enum.KeyCode.Q,
gamepad = Enum.KeyCode.ButtonL1
})

Hàm

điều chỉnh

điều chỉnh(config: table )

Làm mất các tùy chọn cài đặt mặt client qua các chìa khóa / giá trị dưới đây trong bảng config . Chức năng này chỉ có thể được gọi từ một LocalScript .

Chìa khóaMô tảMặc định
backgroundColorMàu chủ động cơ sản phẩm ( Color3 )[0, 0, 0]
cornerRadiusVùng góc cho cửa sổ chính ( UDim ).(0, 16)
cornerRadiusSmallVùng góc cho các thành phần bên trong cửa sổ ( UDim ).(0, 8)
textFontFont chính của "văn bản chính" như giá, mô tả và thông tin khác ( Enum.Font ).Gotham
textSizeKích cỡ của văn bản chính.14
textColorMàu của văn bản chính ( Color3 ).[255, 255, 255]
secondaryTextColorMàu được sử dụng cho một số biến thể của văn bản chính ( Color3 ).[153, 153, 158]
headerFontFont của văn bản đầu tiêu được sử dụng cho tiêu đề cửa sổ ( Enum.Font ).GothamMedium
headerTextSizeKích cỡ của văn bản đầu tiên được sử dụng cho tiêu đề cửa sổ.18
titleFontFont của văn bản tiêu đề được sử dụng cho tên mục trên trang chi tiết mục ( Enum.Font ).GothamBold
titleTextSizeKích thước của văn bản tiêu đề được sử dụng cho tên mục trên trang chi tiết mục.28
buttonColorMàu nền cho các nút lớn hơn trong một trạng thái có thể nhấp chuột, chẳng hạn như nút mua chính trong trang xem ( Color3 ).[255, 255, 255]
buttonTextColorMàu chữ cho các nút lớn hơn trong một trạng thái có thể nhấp vào, chẳng hạn như nút mua chính trong trang xem ( Color3 ).[0, 0, 0]
secondaryButtonColorMàu nền cho các nút nhỏ hơn, chẳng hạn như nút giá trị trong trang xem cá cược hoặc nút Thử vận may ( Color3 ).[34, 34, 34]
secondaryButtonTextColorMàu chữ cho các nút nhỏ hơn, ví dụ như các nút giá trị trong cử chỉ xem hoặc nút Thử vận dụng ( Color3 ).[255, 255, 255]
inactiveButtonColorMàu nền cho tất cả các nút trong trạng thái không thể nhấp chuột ( Color3 ).[153, 153, 158]
inactiveButtonTextColorMàu chữ cho tất cả các nút trong trạng thái không thể nhấp chuột ( Color3 ).[255, 255, 255]
particleEmitterTemplateCấu hình tùy chỉnh ParticleEmitter mà hiện lên và chơi trên trang bị.
Script địa phương

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,
})

Thêm vào Queue

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

Asynchronously adds an item to the merch booth so that it's eligible for purchase in the experience. assetId is the vật phẩm's asset ID, productType is the vật phẩm's Enum.InfoType枚, and 1> hideFromCatalog1> can be used to hide the item in the catalog view.

Xem Thêm vật phẩm để biết thêm chi tiết, vì sử dụng có thể dao động nhẹ đối với tài nguyên so với game passes hoặc 1>sản phẩm nhà sản xuất1> .

Script - Thêm tài nguyên avatar

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Mũ bóng chày Roblox
4819740796, -- Robux
1374269, -- Tai Mèo
11884330, -- Kính Nerd
10476359, -- Nón giấy
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Thêm Thẻ

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Áo giáp ColdFyre
28521575, -- Khiên Slime
}
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
Script - Thêm sản phẩm của nhà phát triển

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Bổ sung Mana
1257880672, -- Thuốc chữa lành
}
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

nhận mục

nhậnItems() table

Trả lại một từ điển đại diện cho tất cả các mục đã đăng ký. Mỗi chìa khóa là một ID tài nguyên của một vật phẩmnhư một chuỗi, và giá trị của mỗi chìa khóa là một mục. Đây chỉ có thể được gọi từ một Script .

Tập lệnh

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

xóa mục

xóa mục (itemId: number )

Không đăng ký một mục đã được thêm trước đó với addItemAsync, bỏ gạch của nó trong các kết quả trong danh mục và bất kỳ gợi ý khả năng được gán cho nó. Chức năng này chỉ có thể được gọi từ một Script .

Tập lệnh

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Sau một thời gian, xóa vật phẩm
task.wait(5)
MerchBooth.removeItem(4819740796)
end

addNút gần

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

Thêm một 提示 gần về các gợi ý đã được cho ở adornee đó sẽ kích hoạt hiển thị của một món vật phẩm, được cung cấp ID của nó. Điều này có thể được sử dụng như một alternatif cho các gợi ý của 2D catalog view, khuyến khích ngườ

Lưu ý rằng một mục phải được thêm thông qua addItemAsync trước khi một nút gần có thể được gán cho nó. Xem thêm removeProximityButton để loại bỏ cảnh báo gần từ một đối tượng.

Tập lệnh

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

loại bỏ nút gần

xóaNút gần(adornee: BasePart | Model | Attachment )

Loại bỏ một thông báo khả năng gần gũi được tạo thông qua thêm nút khả năng gần gũi . Đây chỉ có thể được gọi từ một Script .

Tập lệnh

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
-- Sau một thời gian, xóa thông báo
task.wait(5)
MerchBooth.removeProximityButton(item)
end

setHệ số nhập

setCatalogSort(sortFunction: function>: boolean

Đặt chức năng sắp xếp sortFunction để được sử dụng trong các tài liệu. Chức năng sắp xếp được cung cấp sử dụng trên cơ sở Item thông tin như price hoặc 1> title1> . Đây chỉ có thể được g

Đây là một số ví dụ cho việc sắp xếp các mục trong các danh mục:

Giá thấp đến cao

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Giá Cao tới Thấp

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Giá thấp đến cao & theo chữ cái

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

setControlKeyCodes(控制: MerchBooth.Controls , keyCodes: table )

Tùy chỉnh giá trị chìa khóa và nút cho các tương tác với gian hàng. Giá trị đầu tiên phải là một MerchBooth.Controls열 và giá trị thứ hai là một bảng chứa các chìa khóa keyboard và/hoặc gamepad với tươ

Danh sách ( control )Mặc định keyCodes Keys/Values
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
Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {
keyboard = Enum.KeyCode.Q,
gamepad = Enum.KeyCode.ButtonL1,
})

mởCửaHàng

mởCửaHàngCủaBạn()

Mở cửa sổ gian hàng (nếu đóng cửa) và navigate to the catalog view. This function can only be called from a LocalScript .

Script địa phương

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

mởTrình phát

mởIitemView(itemId: number)

Chuyển tới màn hình một mục itemId được cho, mở cửa sổ gian hàng nếu nó hiện đang đóng cửa. Chức năng này chỉ có thể được gọi từ một LocalScript .

Script địa phương

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

Bật/Tắt Catalog

ToggleCatalogButton(được bật: boolean )

Bật/tắt nút catalog ở phía bên trái của màn hình. Điều này hữu ích khi thực hiện một nút tùy chỉnh hoặc giới hạn sự xuất hiện của gian hàng thương mại đến khu vực hoặc yêu cầu khu vực . Chỉ có thể

Script địa phương

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

isMerchBoothMở

isMerchBoothOpen() Tuple

Trả lại true nếu cả thư mục hoặc tấm ảnh đều được mở. Nếu thư mục được mở, ID tài sản của vật phẩmđược trả lại như giá trị thứ hai. Chức năng này chỉ có thể được gọi từ một LocalScript .

Script địa phương

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

đóngGian hàng

đóngGian hàng thương mại()

Đóng cửa sổ gian hàng. Chức năng này chỉ có thể được gọi từ một LocalScript .

Script địa phương

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

isMerchBoothĐã bật

isMerchBoothEnabled() boolean

Hành động này có thể được sử dụng cùng với setEnabled để kiểm tra có phải LocalScript hay không. Chỉ có thể được gọi từ một Class.LocalScript .

đã bật

setEnabled(đã bật: boolean )

Đặt whether the entire merch booth is enabled or not. When disabled, this function removes the entire UI, including hình ảnh gần gũi prompts , and disconnects all sự kiện . This function can only be called from a LocalScript .

Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local isEnabled = MerchBooth.isMerchBoothEnabled()
if isEnabled then
MerchBooth.setEnabled(false)
end

Sự kiện

đã thêm

Lửa khi một mục được thêm thông qua addItemAsync . Sự kiện này chỉ có thể được kết nối trong một Script .

Các biến
assetId: numberID tài sản.
itemInfo: tableLàm cho Item thông tin như price hoặc title .
Tập lệnh

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)

đã xóa

Lửa khi một mục được xóa bằng cách sử dụng xóa mục từ Item. Sự kiện này chỉ có thể được kết nối trong một Script .

Các biến
assetId: numberID tài sản.
Tập lệnh

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)

gian hàng mở

Lửa khi một trong những mục chi tiết của mục hoặc được mở.

Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)

gian hàng đóng cửa

Lửa khi các chi tiết hoặc trang mục đã đóng cửa.

Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)

catalogXem mở

Lửa khi xem trang các khoản được mở.

Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)

catalogViewĐóng

Lửa khi xem trang các khoản đã đóng cửa.

Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)

itemViewĐã mở

Lửa khi màn hình chi tiết mục được mở.

Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)

itemViewĐóng

Lửa khi đóng các chi tiết xem.

Script địa phương

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)