Các mô-đun MerchBooth nhà phát triển cho phép bạn cung cấp tài sản avatar , vé truy cập và sản phẩm nhà phát triển để bán trực tiếp trong trải nghiệm của bạn.Người chơi có thể duyệt qua các mục, xem trước tài sản trên avatar của riêng họ, mua các mục và sử dụng hoặc trang bị chúng ngay lập tức - tất cả mà không rời khỏi trải nghiệm của bạn.Điều này có thể giúp bạn hóa tiền kinh nghiệm của bạn và kiếm được doanh thu thông qua phí liên kết 40% liên quan đến việc bán các vật phẩm của các nhà sáng tạo khác.
Sử dụng module
Cài đặt
Để sử dụng mô-đun MerchBooth trong một trải nghiệm:
Hãy chắc chắn rằng kiểu sắp xếp Mô hình được chọn, sau đó nhấp vào nút Xem tất cả đối với Danh mục .
Tìm và nhấp vào ô Dev Modules .
Tìm mô-đun Gian hàng thương mại và nhấp vào nó, hoặc kéo và thả nó vào cửa sổ 3D.
Trong cửa sổ Explorer, di chuyển toàn bộ mô hình MerchBooth vào ServerScriptService .Sau khi chạy trải nghiệm, mô-đun sẽ phân phối bản thân cho các dịch vụ khác nhau và bắt đầu chạy.
Cài đặt
Mô-đun được cài đặt sẵn để hoạt động cho hầu hết các trường hợp sử dụng, nhưng nó có thể dễ dàng được tùy chỉnh thông qua chức năng configure.Ví dụ, để tạo một chủ đề nhẹ hơn và vô hiệu hóa nút lọc mặc định Filter trong khu vực bên trái trên cùng của xem danh mục:
Trong StarterPlayerScripts , tạo một mới LocalScript và đổi tên thành Cài đặt Quầy Thương mại .
Sao chép mã sau vào kịch bản mới.
LocalScript - Cài đặt gian hàng Merchlocal 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
Quầy trưng bày là gì mà không có hàng hóa? Các phần sau đây mô tả cách thêm tài sản avatar , vé và sản phẩm phát triển vào quầy trưng bày của bạn.
Tài sản Avatar
Các mặt hàng như quần áo và phụ kiện phải được thêm vào thông qua ID tài sản của họ nằm trên trang chi tiết của mặt vật phẩmtrong Cửa hàng Avatar.
Tạo một Script bên trong ServerScriptService và dán mã sau.
Script - Thêm tài sản Avatarlocal 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)endendSao chép ID tài sản mục từ URL trang web Cửa hàng Avatar của họ. Ví dụ, ID của Mũ bóng chày Roblox là 607702162 .
Sao chép mỗi ID được sao chép vào một danh sách có dấu phân cách trong bảng items.Mặc định, các mục xuất hiện trong cửa sổ danh mục theo thứ tự bảng chữ cái, 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 sản Avatarlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Mũ bóng chày Roblox4819740796, -- Robox1374269, -- Tai Mèo11884330, -- Kính Nerd10476359, -- Mũ giấy}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Vượt qua
Thêm vé yêu cầu ID vé có thể được tìm thấy trong Bảng điều khiển Nhà sáng tạo.
Tạo một Script bên trong ServerScriptService và dán mã sau.
Script - Thêm các thẻ truy cậplocal 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)endendDi chuyển đến Bảng điều khiển Nhà sáng tạo và chọn trải nghiệm.
Trong cột bên trái, dưới Monetization , hãy chọn Passes .
Vượt qua nút hình nhỏ, nhấp vào nút ⋯ và chọn Sao chép ID tài sản từ menu ngữ cảnh.
Sao chép mỗi ID vào một danh sách có dấu phân cách trong bảng và bao gồm như tham số thứ hai cho addItemAsync để chỉ ra rằng các mục được truyền.Mặc định, các mục sẽ xuất hiện trong cửa sổ danh mục theo thứ tự bảng chữ cái, nhưng việc sắp xếp có thể được tùy chỉnh thông qua setCatalogSort .
Script - Thêm các thẻ truy cậplocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- Áo giáp ColdFyre28521575, -- Khiên Chất Bôi}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
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 Nhà sáng tạo.
Tạo một Script bên trong ServerScriptService và dán mã sau.
Script - Thêm sản phẩm nhà phát triểnlocal 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)endendDi chuyển đến Bảng điều khiển Nhà sáng tạo và chọn trải nghiệm.
Trong cột bên trái, dưới Monetization , hãy chọn Sản phẩm Nhà phát triển .
Vượt qua hình ảnh hình nhỏcủa một sản phẩm, nhấp vào nút ⋯ và chọn Sao chép ID tài sản từ menu ngữ cảnh.
Sao chép mỗi ID vào một danh sách có dấu phân cách trong bảng và bao gồm như tham số thứ hai cho addItemAsync để chỉ ra rằng các mục là sản phẩm của nhà phát triển.Mặc định, các mục xuất hiện trong cửa sổ danh mục theo thứ tự bảng chữ cái, 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 sản phẩm nhà phát triểnlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Nạp Năng Lượng1257880672, -- Thuốc hồi máu}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Nút danh mục tùy chỉnh
Mặc định, một nút catalogue bên phải cho phép người chơi mở quầy bất cứ lúc nào .

Trong một số trường hợp, có thể hữu ích khi xóa nút này và kết nối của sở hữubạn:
Tạo một nút mới như được mô tả trong Nút.
Tạo một LocalScript như con của đối tượng nút.
Sao chép mã sau vào kịch bản mới.
LocalScript - Nút Catalog tùy chỉnhlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Loại bỏ nút danh mục mặc địnhMerchBooth.toggleCatalogButton(false)-- Kết nối nút tùy chỉnhscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Khu vực có thể mua sắm
Một cách hữu ích để kích hoạt việc mua hàng trong trải nghiệm của bạn là tự động hiển thị gian hàng thương mại khi một người chơi bước vào khu vực.
Để tạo một khu vực có thể mua sắm:
Tạo một khối Anchored bao gồm khu vực phát hiện.Hãy chắc chắn rằng khối cao đủ để va chạm với PrimaryPart của mô hình nhân vật ( HumanoidRootPart theo mặc định).
Khối để phát hiện khi người chơi tiếp cận phía trước quầy cửa hàng Sử dụng phần Thẻ của các thuộc tính của khối, hoặc Trình soạn thảo Thẻ của Studio, áp dụng thẻ cho khối để được phát hiện.
Đặt phần của Transparency ở mức tối đa để che nó khỏi người chơi trong trải nghiệm.Cũng vô hiệu hóa các thuộc tính CanCollide và CanQuery của nó để các đối tượng không va chạm vật lý với nó và phát bắn không phát hiện nó.
Thêm một cái mới LocalScript dưới StarterPlayerScripts .
Trong kịch bản mới, sao chép mã sau đây sử dụng các sự kiện Touched và TouchEnded để phát hiện khi các nhân vật vào/rời khu vực và gọi openMerchBooth và closeMerchBooth để mở/đóng gian hàng GUI.
Tập lệnh địa phươnglocal 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 danh mục mặc địnhMerchBooth.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-- Lặp qua các khu vực cửa hàng được gắn thẻ hiện cófor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Phát hiện khi khu vực cửa hàng không phát sóng chảy vàoCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Thông báo cảm biến gần
Là một lựa chọn thay thế cho cái nhìn catalogue 2D, bạn có thể thêm thông báo cảm biến vào các đối tượng trong kinh nghiệm.Điều này khuyến khích người chơi khám phá các vật phẩm trong môi trường 3D, xem trước chúng trên avatar của riêng họ, mua chúng và trang bị chúng ngay lập tức.Xem thêm nút gần để có chi tiết.
Thay đổi hiệu ứng trang bị
Mặc định, quầy thương mại hiển thị một hiệu ứng lấp lánh chung khi một người chơi trang bị một vật phẩm từ nó.Để thay đổi hiệu ứng, hãy đặt particleEmitterTemplate đến instance riêng của bạn của một ParticleEmitter trong một cuộc gọi tùy chỉnh.
LocalScript - Cài đặt gian hàng Merch
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})
Tầm nhìn GUI
Mặc định, gian hàng thương mại che tất cả ScreenGuis và CoreGuis khi UI xuất hiện, bao gồm cả trò chuyện, bảng xếp hạng và những thứ khác bởi Roblox bao gồm.Nếu bạn muốn vô hiệu hóa hành vi này, hãy đặt hideOtherUis đến false trong một cuộc gọi cấu hình.
LocalScript - Cài đặt gian hàng Merch
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à lợi thế để ngăn chặn một nhân vật di chuyển trong khi họ ở trong gian hàng bán hàng.Điều này có thể được thực hiện bằng cách đặt disableCharacterMovement đến true trong một cuộc gọi tùy chỉnh.
LocalScript - Cài đặt gian hàng Merch
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
Tham chiếu API
Loại
Vật phẩm
Các mặt hàng trong gian hàng bán lẻ được đại diện bởi một từ điển với các cặp chìa khóa-giá trị sau.Các mục có thể được thu thập thông qua chức năng getItems hoặc sự kiện itemadded.
Nhân vật chính | Loại | Mô tả |
---|---|---|
assetId | số | ID Catalog của vật phẩm, như được chuyển đến addItemAsync. |
title | chuỗi | Tiêu đề mục như xuất hiện trong danh mục. |
price | số | Giá vật phẩm trong Robux. |
description | chuỗi | Mô tả vật phẩm như xuất hiện trong danh mục. |
assetType | chuỗi | Chuỗi đại diện cho đánh máyphụ kiện của vật phẩm. |
isOwned | bool | Liệu người chơi hiện tại có sở hữu vật phẩm hay không. |
creatorName | chuỗi | Người tạo mục như được hiển thị trong danh mục. |
creatorType | Enum.CreatorType | Loại tạo cho vật phẩm. |
Danh sách
Booth Merch.Điều khiển
Sử dụng cùng với setControlKeyCodes để tùy chỉnh các phím và nút gamepad để tương tác với gian hàng bán hàng.
Tên | Tổng quát |
---|---|
ProximityPrompts | Nút chính và/hoặc gamepad để mở xem mục khi thông báo cảm biến gần được cấu hình. |
OpenMerchBooth | Nút chính và/hoặc gamepad để mở gian hàng thương mại. |
CloseMerchBooth | Nút chính và/hoặc gamepad để đóng gian hàng thương mại. |
Filter | Nút chìa khóa và/hoặc gamepad để sử dụng mặc định Bộ lọc kéo xuống ở phía trên bên trái của khu vực xem danh mục. |
ViewItem | Nút chính và/hoặc gamepad để mở một cái nhìn cụ thể về vật phẩm gian hàng thương mại. |
Tập lệnh đị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})
Chức năng
điều chỉnh
điều chỉnh(config: table )
Thay thế các tùy chọn cấu hình mặc định bên khách thông qua các chìa khóa/giá trị sau trong bảng config .Chức năng này chỉ có thể được gọi từ một LocalScript .
Nhân vật chính | Mô tả | Mặc định |
---|---|---|
backgroundColor | Màu nền chính của cửa sổ ( Color3 ). | [0, 0, 0] |
cornerRadius | Bán kính góc cho cửa sổ chính ( UDim ). | (0, 16) |
cornerRadiusSmall | Bán kính góc cho các thành phần bên trong cửa sổ ( UDim ). | (0, 8) |
textFont | Phông chữ của "văn bản chính" như giá, mô tả và thông tin chung khác ( Enum.Font ). | Gotham |
textSize | Kích thước của văn bản chính. | 14 |
textColor | Màu của văn bản chính ( Color3 ). | [255, 255, 255] |
secondaryTextColor | Màu được sử dụng cho một số biến thể của văn bản chính ( Color3 ). | [153, 153, 158] |
headerFont | Phông chữ của văn bản tiêu đề được sử dụng cho tiêu đề của cửa sổ ( Enum.Font ). | GothamMedium |
headerTextSize | Kích thước của văn bản tiêu đề được sử dụng cho tiêu đề của cửa sổ. | 18 |
titleFont | Phông chữ của văn bản tiêu đề được sử dụng cho tên của mục trên trang chi tiết của mục ( Enum.Font ). | GothamBold |
titleTextSize | Kích thước của văn bản tiêu đề được sử dụng cho tên của vật phẩm trên trang chi tiết vật phẩm. | 28 |
buttonColor | Màu nền cho nút lớn hơn trong trạng thái có thể nhấp vào, chẳng hạn như nút mua chính trong xem mục ( Color3 ). | [255, 255, 255] |
buttonTextColor | Màu văn bản cho nút lớn hơn trong trạng thái có thể nhấp vào, chẳng hạn như nút mua chính trong xem mục ( Color3 ). | [0, 0, 0] |
secondaryButtonColor | Màu nền cho các nút nhỏ hơn như nút giá trong cửa sổ xem danh mục hoặc nút Thử trên ( Color3 ). | [34, 34, 34] |
secondaryButtonTextColor | Màu văn bản cho các nút nhỏ hơn như nút giá trong cửa sổ danh mục hoặc nút Thử trên ( Color3 ). | [255, 255, 255] |
inactiveButtonColor | Màu nền cho tất cả các nút trong trạng thái không thể nhấp ( Color3 ). | [153, 153, 158] |
inactiveButtonTextColor | Màu văn bản cho tất cả các nút trong trạng thái không thể nhấp ( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | Tùy chọn tùy chỉnh ParticleEmitter ví dụ xuất hiện và chơi trên equip. |
Tập lệnh đị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 mục Async
addItemAsync(assetId: number , productType: Enum.InfoType , hideFromCatalog: boolean )
Thêm một vật phẩm vào gian hàng một cách không đồng bộ để nó có thể được mua trong trải nghiệm.assetId là ID tài sản của mục, productType là menu Enum.InfoType của mục, và hideFromCatalog có thể được sử dụng để ẩn mục trong cái nhìn catalogue.
Xem Thêm vật phẩm để có chi tiết, vì cách sử dụng khác nhau cho tài sản so với thẻ trò chơi hoặc sản phẩm nhà phát triển .
Script - Thêm tài sản Avatar
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Mũ bóng chày Roblox
4819740796, -- Robox
1374269, -- Tai Mèo
11884330, -- Kính Nerd
10476359, -- Mũ 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 các thẻ truy cập
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Áo giáp ColdFyre
28521575, -- Khiên Chất Bôi
}
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 nhà phát triển
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Nạp Năng Lượng
1257880672, -- Thuốc hồi máu
}
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 các mục
nhận vật phẩm(): table
Trả về một từ điển đại diện cho tất cả các mục đã đăng ký hiện tại.Mỗi chìa khóa là ID tài sản của một vật phẩmdưới dạng chuỗi, và giá trị của mỗi chìa khóa là một Vật phẩm.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
local items = MerchBooth.getItems()
print(items)
end
xóa mục
xóa mục(assetId: number)
Xóa một vật phẩm đã được thêm trước đó với addItemAsync, xóa gạch men của nó trong cái nhìn danh mục và bất kỳ lời nhắc cảm biến gần đượ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
thêmProximityButton
thêmProximityButton(adornee: BasePart | Model | Attachment , assetId: number )
Thêm một thông báo cảm biến trên đường truyền được cho adornee sẽ kích hoạt hiển thị quan điểm mua hàng của một vật phẩm, dựa trên ID tài sản của nó.Nó có thể được sử dụng như một lựa chọn thay thế cho cái nhìn catalogue 2D, khuyến khích người chơi khám phá các vật phẩm trong môi trường 3D.
Lưu ý rằng một mục phải được thêm qua addItemAsync trước khi một nút gần có thể được gán cho nó.Xem thêm removeProximityButton để xóa lời nhắc cảm biến từ một đối tượng.
Tập lệnh
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
Loại bỏ nút cảm biến gần
xóaProximityButton(adornee: BasePart | Model | Attachment)
Loại bỏ một thông báo cảm biến gần được tạo ra thông qua thêm nút cảm biến gầ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 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
-- Sau một thời gian, xóa lời nhắc
task.wait(5)
MerchBooth.removeProximityButton(item)
end
thiết lậpCatalogSort
setCatalogSort(sortFunction: function ): boolean
Đặt chức năng sắp xếp sortFunction để được sử dụng trong cái nhìn danh mục.Chức năng sắp xếp được cung cấp có thể sử dụng logic dựa trên thông tin Vật phẩm như price hoặc title .Chức năng này chỉ có thể được gọi từ một LocalScript .
Dưới đây là một số ví dụ để sắp xếp 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á từ cao đến 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 Đặt mã điều khiển
setControlKeyCommands(control: MerchBooth.Controls , keyCommands: table )
Cài đặt các giá trị phím và nút cho các tương tác với gian hàng thương mại.Tham số đầu tiên phải là một enum MerchBooth.Controls và tham số thứ hai là một bảng chứa các chìa khóa keyboard và/hoặc gamepad với các nút enumerate tương ứng Enum.KeyCode.
Enum ( control ) | Mặc định keyCodes Chìa khóa/Giá trị |
---|---|
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 |
Tập lệnh đị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,})
openMerchBooth
openMerchBooth()
Mở cửa sổ quầy hàng thương mại (nếu đã đóng) và điều hướng đến cái nhìn catalogue. Chức năng này chỉ có thể được gọi từ một LocalScript .
Tập lệnh đị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ởItemView
openItemView(itemId: number )
Chuyển hướng đến cái nhìn đơn lẻ của vật phẩm được cho itemId , mở cửa sổ gian hàng thương mại nếu nó hiện đang đóng.Chức năng này chỉ có thể được gọi từ một LocalScript .
Tập lệnh đị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
toggleCatalogButton
切换目录按钮(启用: boolean )
Bật/tắt nút danh mục ở bên phải màn hình.Điều này hữu ích khi triển khai 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 ở khu vực hoặc lời nhắc cảm biến .Chỉ có thể được gọi từ một LocalScript .
Tập lệnh địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
isMerchBoothOpen là
isMerchBoothOpen(): Tuple
Trả về true nếu cả danh mục hoặc xem mục được mở.Nếu xem mục được mở, ID tài sản của vật phẩmđược trả lại là giá trị thứ hai.Chức năng này chỉ có thể được gọi từ một LocalScript .
Tập lệnh đị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
đóng gian hàng MerchBooth
đóng gian hàng()
Đóng cửa sổ gian hàng thương mại. Chức năng này chỉ có thể được gọi từ một LocalScript .
Tập lệnh địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
được bật isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Chức năng này có thể được sử dụng song song với setEnabled để kiểm tra xem quầy bán hàng hiện đang được bật hay không.Chỉ có thể được gọi từ một LocalScript .
bột được kích hoạt
setEnabled(enabled: boolean )
Xác định xem toàn bộ gian hàng thương mại có được bật khởi hay không.Khi bị vô hiệu hóa, chức năng này xóa toàn bộ giao diện người dùng, bao gồm lời nhắc cảm biến và tách tất cả các sự kiện ra khỏi.Chức năng này chỉ có thể được gọi từ một LocalScript .
Tập lệnh địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Sự kiện
đã thêm mục
Bắt lửa khi một mục được thêm qua addItemAsync. Sự kiện này chỉ có thể được kết nối trong một Script .
Tham số | |
---|---|
assetId: number | ID tài sản mục. |
thông tin vật phẩm: table | Từ điển của Thông tin vật phẩm 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)
mục đã bị xóa
Nổ khi một vật phẩm bị xóa thông qua removeItem. Sự kiện này chỉ có thể được kết nối trong một Script .
Tham số | |
---|---|
assetId: number | ID tài sản mục. |
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ở
Bắt lửa khi cả hồ sơ hoặc chi tiết chi tiết được mở.
Tập lệnh đị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
Bắt lửa khi cả hồ sơ hoặc chi tiết chi tiết bị đóng.
Tập lệnh địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
catalogViewOpened đã mở
Bắt lửa khi xem danh mục được mở.
Tập lệnh địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
catalogViewClosed đã đóng
Bắt lửa khi xem danh mục được đóng.
Tập lệnh địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
itemViewMở
Bắt lửa khi mở chi tiết vật phẩm.
Tập lệnh đị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
Bắt lửa khi chi tiết về mục được đóng.
Tập lệnh địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)