Modul MerchBooth pengembang memungkinkan Anda menawarkan aset avatar, pass, dan produk pengembang untuk dijual langsung di dalam permainan Anda. Pemain dapat menjelajahi item, melihat pratinjau aset di avatar mereka sendiri, membeli item, dan langsung menggunakannya atau mengenakannya — semua tanpa meninggalkan permainan Anda. Ini dapat membantu Anda memonetisasi permainan Anda dan mendapatkan pendapatan melalui biaya afiliasi 40% yang terkait dengan penjualan item dari pembuat lain.
Penggunaan modul
Instalasi
Untuk menggunakan modul MerchBooth dalam permainan:
Dari menu Jendela Studio atau toolbar tab Beranda, buka Toolbox dan pilih tab Toko Pembuat.

Pastikan pengurutan Model dipilih, lalu klik tombol Lihat Semua untuk Kategori.

Temukan dan klik ubin Paket.
Temukan modul Kios Merchandise dan klik, atau seret dan lepas ke dalam tampilan 3D.

Di jendela Explorer, pindahkan seluruh model MerchBooth ke ReplicatedStorage. Setelah menjalankan permainan, modul akan mulai berjalan.
Konfigurasi
Modul ini sudah dikonfigurasi untuk bekerja pada sebagian besar kasus penggunaan, tetapi dapat dengan mudah disesuaikan melalui fungsi configure. Misalnya, untuk membuat tema yang lebih ringan dan menonaktifkan tombol Filter default di area kiri atas tampilan katalog:
Di StarterPlayerScripts, buat LocalScript baru dan ganti namanya menjadi ConfigureMerchBooth.

Tempelkan kode berikut ke dalam skrip baru.
LocalScript - ConfigureMerchBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)MerchBooth.configure({backgroundColor = Color3.fromRGB(220, 210, 200),textSize = 17,textFont = Enum.Font.Fondamento,textColor = Color3.fromRGB(20, 20, 20),useFilters = false})
Tambahkan item
Apa itu kios merchandise tanpa merchandise? Bagian berikut menjelaskan cara menambahkan aset avatar, pass, dan produk pengembang ke kios merchandise Anda.
Aset avatar
Item seperti pakaian dan aksesori harus ditambahkan melalui ID aset mereka yang terletak di halaman detail item di Toko Avatar.
Buat Script di dalam ServerScriptService dan tempelkan kode berikut.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendSalin ID aset item dari URL situs web Toko Avatar. Misalnya, ID dari Topi Baseball Roblox adalah 607702162.

Tempelkan setiap ID yang disalin ke dalam daftar yang dipisahkan koma di dalam tabel items. Secara default, item muncul di tampilan katalog dalam urutan alfabetis, tetapi Anda dapat menyesuaikan pengurutan menggunakan setCatalogSort.
Script - Add Avatar Assetslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {607702162, -- Topi Baseball Roblox4819740796, -- Robox1374269, -- Telinga Kucing11884330, -- Kacamata Konyol10476359, -- Topi Kertas}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Pass
Menambahkan pass memerlukan ID pass yang dapat ditemukan di Dasbor Pembuat.
Buat Script di dalam ServerScriptService dan tempelkan kode berikut.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNavigasikan ke Dasbor Pembuat dan pilih permainan.
Di kolom kiri, di bawah Monetisasi, pilih Pass.
Arahkan mouse ke thumbnail pass, klik tombol ⋯ dan pilih Salin ID Aset dari menu konteks.

Tempelkan setiap ID yang disalin ke dalam daftar yang dipisahkan koma di dalam tabel items dan sertakan Enum.InfoType.GamePass sebagai parameter kedua untuk addItemAsync untuk menunjukkan bahwa item tersebut adalah pass. Secara default, item akan muncul di tampilan katalog dalam urutan alfabetis, tetapi pengurutan dapat disesuaikan melalui setCatalogSort.
Script - Add Passeslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {4343758, -- Armor ColdFyre28521575, -- Perisai Slime}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Produk Pengembang
Menambahkan produk pengembang memerlukan ID produk yang dapat ditemukan di Dasbor Pembuat.
Buat Script di dalam ServerScriptService dan tempelkan kode berikut.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendNavigasikan ke Dasbor Pembuat dan pilih permainan.
Di kolom kiri, di bawah Monetisasi, pilih Produk Pengembang.
Arahkan mouse ke thumbnail produk, klik tombol ⋯ dan pilih Salin ID Aset dari menu konteks.

Tempelkan setiap ID yang disalin ke dalam daftar yang dipisahkan koma di dalam tabel items dan sertakan Enum.InfoType.Product sebagai parameter kedua untuk addItemAsync untuk menunjukkan bahwa item tersebut adalah produk pengembang. Secara default, item muncul di tampilan katalog dalam urutan alfabetis, tetapi Anda dapat menyesuaikan pengurutan menggunakan setCatalogSort.
Script - Add Developer Productslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)local items = {1236602053, -- Pengisian Mana1257880672, -- Ramuan Penyembuhan}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Tombol katalog kustom
Secara default, tombol katalog di sisi kanan memungkinkan pemain membuka kios kapan saja.

Dalam beberapa kasus, mungkin berguna untuk menghapus tombol ini dan menghubungkan tombol Anda sendiri:
Buat tombol baru seperti yang dijelaskan dalam Tombol.
Buat LocalScript sebagai anak dari objek tombol.

Tempelkan kode berikut ke dalam skrip baru.
LocalScript - Custom Catalog Buttonlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Hapus tombol katalog defaultMerchBooth.toggleCatalogButton(false)-- Hubungkan tombol kustomscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Wilayah yang dapat dibeli
Cara yang berguna untuk mendorong pembelian dalam permainan Anda adalah dengan secara otomatis menampilkan kios merchandise ketika pemain memasuki area.
Untuk membuat wilayah yang dapat dibeli:
Buat blok Anchored yang mencakup wilayah deteksi. Pastikan blok tersebut cukup tinggi untuk bertabrakan dengan PrimaryPart dari model karakter (HumanoidRootPart secara default).

Blok untuk mendeteksi ketika pemain mendekati depan meja toko Menggunakan bagian Tag dari properti blok, terapkan tag ShopRegion pada blok agar CollectionService mendeteksinya.
Atur Transparency bagian ke maksimum untuk menyembunyikannya dari pemain dalam permainan. Juga nonaktifkan properti CanCollide dan CanQuery sehingga objek tidak bertabrakan secara fisik dengannya dan raycast tidak mendeteksinya.


Sisipkan LocalScript baru di bawah StarterPlayerScripts.

Dalam skrip baru, tempelkan kode berikut yang menggunakan peristiwa Touched dan TouchEnded untuk mendeteksi ketika karakter memasuki/meninggalkan wilayah dan memanggil openMerchBooth dan closeMerchBooth untuk membuka/menutup GUI kios.
LocalScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage.MerchBooth)-- Hapus tombol katalog defaultMerchBooth.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-- Iterasi melalui wilayah toko yang ditandai yang adafor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Deteksi ketika wilayah toko yang tidak disiarkan disiarkanCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Prompt kedekatan
Sebagai alternatif untuk tampilan katalog 2D, Anda dapat menambahkan prompt kedekatan di atas objek dalam permainan. Ini mendorong pemain untuk menemukan item di lingkungan 3D, melihat pratinjau mereka di avatar mereka sendiri, membelinya, dan langsung mengenakannya. Lihat addProximityButton untuk detail.
Ubah efek equip
Secara default, kios merchandise menunjukkan efek kilau umum ketika pemain mengenakan item darinya. Untuk mengubah efek tersebut, atur particleEmitterTemplate ke instansi ParticleEmitter Anda sendiri dalam panggilan configure.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.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
})Visibilitas GUI
Secara default, kios merchandise menyembunyikan semua ScreenGuis dan CoreGuis ketika UI-nya muncul, termasuk obrolan, papan peringkat, dan lainnya yang disertakan oleh Roblox. Jika Anda ingin menonaktifkan perilaku ini, atur hideOtherUis ke false dalam panggilan configure.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.configure({
hideOtherUis = false
})Gerakan karakter
Mencegah karakter bergerak saat mereka berada di kios merchandise bisa menguntungkan. Ini dapat dilakukan dengan mengatur disableCharacterMovement ke true dalam panggilan configure.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.configure({
disableCharacterMovement = true
})Referensi API
Tipe
Item
Item di kios merchandise direpresentasikan oleh sebuah kamus dengan pasangan kunci-nilai berikut. Item dapat dikumpulkan melalui fungsi getItems atau peristiwa itemAdded.
| Kunci | Tipe | Deskripsi |
|---|---|---|
| assetId | number | ID Katalog item, seperti yang diteruskan ke addItemAsync. |
| title | string | Judul item seperti yang muncul di katalog. |
| price | number | Harga item dalam Robux. |
| description | string | Deskripsi item seperti yang muncul di katalog. |
| assetType | string | String yang mewakili jenis aksesori item. |
| isOwned | bool | Apakah pemain saat ini memiliki item tersebut. |
| creatorName | string | Pembuat item seperti yang ditampilkan di katalog. |
| creatorType | Enum.CreatorType | Jenis pembuat untuk item tersebut. |
Enums
MerchBooth.Controls
Digunakan bersama dengan setControlKeyCodes untuk menyesuaikan tombol dan tombol gamepad untuk berinteraksi dengan kios merchandise.
| Nama | Ringkasan |
|---|---|
| ProximityPrompts | Tombol dan/atau tombol gamepad untuk membuka tampilan item ketika prompt kedekatan dikonfigurasi. |
| OpenMerchBooth | Tombol dan/atau tombol gamepad untuk membuka kios merchandise. |
| CloseMerchBooth | Tombol dan/atau tombol gamepad untuk menutup kios merchandise. |
| Filter | Tombol dan/atau tombol gamepad untuk menggunakan dropdown Filter default di area kiri atas tampilan katalog. |
| ViewItem | Tombol dan/atau tombol gamepad untuk membuka tampilan item kios tertentu. |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {
keyboard = Enum.KeyCode.Q,
gamepad = Enum.KeyCode.ButtonL1
})Fungsi
configure
configure(config: table)
Mengganti opsi konfigurasi sisi klien default melalui kunci/nilai berikut dalam tabel config. Fungsi ini hanya dapat dipanggil dari LocalScript.
| Kunci | Deskripsi | Default |
|---|---|---|
| backgroundColor | Warna latar belakang utama jendela (Color3). | [0, 0, 0] |
| cornerRadius | Radius sudut untuk jendela utama (UDim). | (0, 16) |
| cornerRadiusSmall | Radius sudut untuk elemen di dalam jendela (UDim). | (0, 8) |
| textFont | Font dari "teks utama" seperti harga, deskripsi, dan informasi umum lainnya (Enum.Font). | Gotham |
| textSize | Ukuran teks utama. | 14 |
| textColor | Warna teks utama (Color3). | [255, 255, 255] |
| secondaryTextColor | Warna yang digunakan untuk beberapa variasi teks utama (Color3). | [153, 153, 158] |
| headerFont | Font dari teks header yang digunakan untuk judul jendela (Enum.Font). | GothamMedium |
| headerTextSize | Ukuran teks header yang digunakan untuk judul jendela. | 18 |
| titleFont | Font dari teks judul yang digunakan untuk nama item di halaman detail item (Enum.Font). | GothamBold |
| titleTextSize | Ukuran teks judul yang digunakan untuk nama item di halaman detail item. | 28 |
| buttonColor | Warna latar belakang untuk tombol yang lebih besar dalam keadaan dapat diklik, seperti tombol pembelian utama di tampilan item (Color3). | [255, 255, 255] |
| buttonTextColor | Warna teks untuk tombol yang lebih besar dalam keadaan dapat diklik, seperti tombol pembelian utama di tampilan item (Color3). | [0, 0, 0] |
| secondaryButtonColor | Warna latar belakang untuk tombol yang lebih kecil seperti tombol harga di tampilan katalog atau tombol Coba Di Kepala (Color3). | [34, 34, 34] |
| secondaryButtonTextColor | Warna teks untuk tombol yang lebih kecil seperti tombol harga di tampilan katalog atau tombol Coba Di Kepala (Color3). | [255, 255, 255] |
| inactiveButtonColor | Warna latar belakang untuk semua tombol dalam keadaan tidak dapat diklik (Color3). | [153, 153, 158] |
| inactiveButtonTextColor | Warna teks untuk semua tombol dalam keadaan tidak dapat diklik (Color3). | [255, 255, 255] |
| particleEmitterTemplate | Instansi ParticleEmitter kustom opsional yang muncul dan dimainkan saat mengenakan. |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.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)
Menambahkan item ke kios merchandise secara asinkron sehingga item tersebut memenuhi syarat untuk dibeli dalam permainan. assetId adalah ID aset item, productType adalah enum Enum.InfoType item, dan hideFromCatalog dapat digunakan untuk menyembunyikan item di tampilan katalog.
Lihat Menambahkan Item untuk detail, karena penggunaannya sedikit berbeda untuk aset dibandingkan dengan pass atau produk pengembang.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
607702162, -- Topi Baseball Roblox
4819740796, -- Robox
1374269, -- Telinga Kucing
11884330, -- Kacamata Konyol
10476359, -- Topi Kertas
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
endlocal ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
4343758, -- Armor ColdFyre
28521575, -- Perisai 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
endlocal ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local items = {
1236602053, -- Pengisian Mana
1257880672, -- Ramuan Penyembuhan
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)
end)
if not success then
warn(errorMessage)
end
endgetItems
getItems(): table
Mengembalikan sebuah kamus yang mewakili semua item yang terdaftar saat ini. Setiap kunci adalah ID aset item sebagai string, dan setiap nilai kunci adalah Item. Fungsi ini hanya dapat dipanggil dari Script.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
local items = MerchBooth.getItems()
print(items)
endremoveItem
removeItem(assetId: number)
Membatalkan pendaftaran item yang sebelumnya ditambahkan dengan addItemAsync, menghapus ubin di tampilan katalog dan setiap prompt kedekatan yang ditugaskan padanya. Fungsi ini hanya dapat dipanggil dari Script.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Setelah beberapa waktu, hapus item
task.wait(5)
MerchBooth.removeItem(4819740796)
endaddProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
Menambahkan prompt kedekatan di atas adornee yang akan memicu tampilan pembelian item, diberikan ID asetnya. Ini dapat digunakan sebagai alternatif untuk tampilan katalog 2D, mendorong pemain untuk menemukan item di lingkungan 3D.
Perhatikan bahwa item harus ditambahkan melalui addItemAsync sebelum tombol kedekatan dapat ditugaskan padanya. Lihat juga removeProximityButton untuk menghapus prompt kedekatan dari objek.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage.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
endremoveProximityButton
removeProximityButton(adornee: BasePart|Model|Attachment)
Menghapus prompt kedekatan yang dihasilkan melalui addProximityButton. Fungsi ini hanya dapat dipanggil dari Script.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local MerchBooth = require(ReplicatedStorage.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
-- Setelah beberapa waktu, hapus prompt
task.wait(5)
MerchBooth.removeProximityButton(item)
endsetCatalogSort
setCatalogSort(sortFunction: function): boolean
Mengatur fungsi pengurutan sortFunction yang akan digunakan di tampilan katalog. Fungsi pengurutan yang diberikan dapat menggunakan logika berdasarkan informasi Item seperti price atau title. Fungsi ini hanya dapat dipanggil dari LocalScript.
Berikut adalah beberapa contoh untuk mengurutkan katalog:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.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(control: MerchBooth.Controls, keyCodes: table)
Mengonfigurasi nilai tombol dan tombol untuk interaksi dengan kios merchandise. Parameter pertama harus merupakan enum MerchBooth.Controls dan parameter kedua adalah tabel yang berisi kunci keyboard dan/atau gamepad dengan enum Enum.KeyCode yang sesuai.
| Enum (control) | Default keyCodes Kunci/Nilai |
|---|---|
| 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 |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {
keyboard = Enum.KeyCode.Q,
gamepad = Enum.KeyCode.ButtonL1,
})openMerchBooth
openMerchBooth()
Membuka jendela kios merchandise (jika tertutup) dan menavigasi ke tampilan katalog. Fungsi ini hanya dapat dipanggil dari LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
MerchBooth.openMerchBooth()openItemView
openItemView(itemId: number)
Menavigasi ke tampilan item tunggal dari itemId yang diberikan, membuka jendela kios merchandise jika saat ini tertutup. Fungsi ini hanya dapat dipanggil dari LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
endtoggleCatalogButton
toggleCatalogButton(enabled: boolean)
Menyalakan/mematikan tombol katalog di sisi kanan layar. Ini berguna saat menerapkan tombol kustom atau membatasi penampilan kios merchandise ke wilayah atau prompt kedekatan. Hanya dapat dipanggil dari LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.toggleCatalogButton(false)isMerchBoothOpen
isMerchBoothOpen(): Tuple
Mengembalikan true jika baik tampilan katalog atau tampilan item terbuka. Jika tampilan item terbuka, ID aset item dikembalikan sebagai nilai kedua. Fungsi ini hanya dapat dipanggil dari LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
MerchBooth.openItemView(4819740796)
local isOpen, itemId = MerchBooth.isMerchBoothOpen()
print(isOpen, itemId)
endcloseMerchBooth
closeMerchBooth()
Menutup jendela kios merchandise. Fungsi ini hanya dapat dipanggil dari LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.closeMerchBooth()isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Fungsi ini dapat digunakan bersamaan dengan setEnabled untuk memeriksa apakah kios merchandise saat ini diaktifkan atau tidak. Hanya dapat dipanggil dari LocalScript.
setEnabled
setEnabled(enabled: boolean)
Mengatur apakah seluruh kios merchandise diaktifkan atau tidak. Ketika dinonaktifkan, fungsi ini menghapus seluruh UI, termasuk prompt kedekatan, dan memutuskan semua peristiwa. Fungsi ini hanya dapat dipanggil dari LocalScript.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
local isEnabled = MerchBooth.isMerchBoothEnabled()
if isEnabled then
MerchBooth.setEnabled(false)
endPeristiwa
itemAdded
Ditembak ketika item ditambahkan melalui addItemAsync. Peristiwa ini hanya dapat dihubungkan dalam Script.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemAdded:Connect(function(assetId, itemInfo)
print("Item ditambahkan dengan ID aset", assetId)
print(itemInfo)
end)itemRemoved
Ditembak ketika item dihapus melalui removeItem. Peristiwa ini hanya dapat dihubungkan dalam Script.
| Parameter | |
|---|---|
| assetId: number | ID aset item. |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemRemoved:Connect(function(assetId)
print("Item dihapus dengan ID aset", assetId)
end)merchBoothOpened
Ditembak ketika baik tampilan katalog atau tampilan detail item dibuka.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothOpened:Connect(function()
print("Tampilan kios dibuka")
end)merchBoothClosed
Ditembak ketika baik tampilan katalog atau tampilan detail item ditutup.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.merchBoothClosed:Connect(function()
print("Tampilan kios ditutup")
end)catalogViewOpened
Ditembak ketika tampilan katalog dibuka.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewOpened:Connect(function()
print("Tampilan katalog dibuka")
end)catalogViewClosed
Ditembak ketika tampilan katalog ditutup.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.catalogViewClosed:Connect(function()
print("Tampilan katalog ditutup")
end)itemViewOpened
Ditembak ketika tampilan detail item dibuka.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewOpened:Connect(function()
print("Tampilan item dibuka")
end)itemViewClosed
Ditembak ketika tampilan detail item ditutup.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage.MerchBooth)
MerchBooth.itemViewClosed:Connect(function()
print("Tampilan item ditutup")
end)