The MerchBooth modul pengembang memungkinkan Anda menawarkan aset avatar , pas , dan produk pengembang untuk dijual langsung dalam pengalaman Anda.Pemain dapat menelusuri item, melihat pratinjau aset di avatar mereka sendiri, membeli item, dan langsung menggunakannya atau melengkapinya - semua tanpa meninggalkan pengalaman mereka.Ini dapat membantu Anda monetarisasi pengalaman Anda dan mendapatkan pendapatan melalui biaya afiliasi 40% yang terkait dengan menjual item pencipta lain.
Penggunaan modul
Instalasi
Untuk menggunakan modul MerchBooth dalam pengalaman:
Pastikan pengurutan Model dipilih, lalu klik tombol Lihat Semua untuk Kategori .
Temukan dan klik ubin Modul Pengembang .
Temukan modul Stand Merch dan klik, atau seret dan lepaskan ke dalam tampilan 3D.
Di jendela Explorer, pindahkan seluruh model MerchBooth ke ServerScriptService .Setelah menjalankan pengalaman, modul akan didistribusikan ke berbagai layanan dan mulai berjalan.
Konfigurasi
Modul sudah diatur sebelumnya untuk bekerja untuk sebagian besar kasus penggunaan, tetapi dapat dengan mudah disesuaikan melalui fungsi konfigurasi.Sebagai contoh, untuk membuat tema yang lebih ringan dan menonaktifkan tombol default Filter di bagian atas kiri area tampilan katalog:
Di StarterPlayerScripts , buat yang baru LocalScript dan ganti namanya menjadi KonfigurasiMerchBooth .
Tempelkan kode berikut ke skrip baru.
Skrip Lokal - KonfigurasiBooth 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})
Tambahkan item
Apa itu stan dagang tanpa merch? Bagian berikut menjelaskan cara menambahkan aset avatar , pas , dan produk pengembang ke stan dagang Anda.
Aset avatar
Item seperti pakaian dan aksesori harus ditambahkan melalui ID aset mereka yang terletak di halaman rincian item di Toko Avatar.
Buat Script di dalam ServerScriptService dan tempelkan kode berikut.
Skrip - Tambahkan Aset 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)endendSalin ID aset item dari URL situs web Toko Avatar mereka. Misalnya, ID dari Topi Bisbol Roblox adalah 607702162 .
Tempelkan setiap ID yang disalin ke dalam daftar terpisah dengan koma di dalam tabel items.Secara default, item muncul dalam tampilan katalog dalam urutan alfabetis, tetapi Anda dapat menyesuaikan pengurutan menggunakan setCatalogSort .
Skrip - Tambahkan Aset Avatarlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Topi Bisbol Roblox Dasar4819740796, -- Robox1374269, -- Telinga Kucing11884330, -- Kacamata Nerd10476359, -- Topi Kertas}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Kepas
Menambahkan pas memerlukan ID pas yang dapat ditemukan di Dashboard Pencipta.
Buat Script di dalam ServerScriptService dan tempelkan kode berikut.
Skrip - Tambahkan Paslocal 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)endendNavigasikan ke Dashboard Pencipta dan pilih pengalaman.
Di kolom kiri, di bawah Monetarisasi , pilih Pas .
Pasang mouse di atas thumbnail pas, klik tombol ⋯ dan pilih Copy Asset ID dari menu konteks.
Tempelkan setiap ID yang disalin ke daftar terpisah dengan koma dalam tabel items dan dan termasuk Enum.InfoType.GamePass sebagai parameter kedua untuk addItemAsync untuk menunjukkan bahwa item disampaikan.Secara default, item akan muncul di tampilan katalog dalam urutan alfabetis, tetapi pengurutan dapat disesuaikan melalui setCatalogSort .
Skrip - Tambahkan Paslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- Armor ColdFyre28521575, -- Pelindung 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 membutuhkan ID produk yang dapat ditemukan di Dashboard Pencipta.
Buat Script di dalam ServerScriptService dan tempelkan kode berikut.
Skrip - Tambahkan Produk Pengembanglocal 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)endendNavigasikan ke Dashboard Pencipta dan pilih pengalaman.
Di kolom kiri, di bawah Monetarisasi , pilih Produk Pengembang .
Pasang mouse di atas thumbnail produk, klik tombol ⋯ dan pilih Copy Asset ID dari menu konteks.
Tempelkan setiap ID yang disalin ke daftar terpisah dengan koma dalam tabel dan termasuk dan sebagai parameter kedua untuk addItemAsync untuk menunjukkan bahwa item adalah produk pengembang.Secara default, item muncul di tampilan katalog dalam urutan alfabetik, tetapi Anda dapat menyesuaikan pengurutan menggunakan setCatalogSort .
Skrip - Tambahkan Produk Pengembanglocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Isi Ulang 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 khusus
Secara default, tombol katalog sisi kanan membiarkan pemain membuka stan kapan saja.

Dalam beberapa kasus, mungkin berguna untuk menghapus tombol ini dan menghubungkan milik Anda memiliki:
Buat tombol baru seperti yang dijelaskan di Tombol.
Buat LocalScript sebagai anak dari objek tombol.
Tempelkan kode berikut ke skrip baru.
Skrip Lokal - Tombol Katalog Kustomlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Hapus tombol katalog defaultMerchBooth.toggleCatalogButton(false)-- Hubungkan tombol khususscript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Wilayah yang dapat dibeli
Cara berguna untuk mendorong pembelian dalam pengalaman Anda adalah dengan secara otomatis menampilkan stan pedagang saat pemain memasuki area.
Untuk membuat wilayah belanja:
Buat blok Anchored yang mencakup wilayah deteksi.Pastikan blok cukup tinggi untuk bertabrakan dengan PrimaryPart model karakter ( HumanoidRootPart secara default).
Blok untuk mendeteksi ketika pemain mendekati depan konter toko Menggunakan bagian Tag dari properti blok, atau Editor Tag Studio, terapkan tag ShopRegion ke blok sehingga CollectionService mendeteksi.
Atur bagian Transparency ke maksimum untuk menyembunyikannya dari pemain dalam pengalaman.Juga nonaktifkan properti CanCollide dan CanQuery-nya sehingga objek tidak secara fisik bertabrakan dengannya dan raycast tidak mendeteksi hal itu.
Sisipkan baru LocalScript di bawah StarterPlayerScripts .
Dalam skrip baru, tempel kode berikut yang menggunakan Touched dan TouchEnded peristiwa untuk mendeteksi kapan karakter memasuki/meninggalkan wilayah dan memanggil openMerchBooth dan closeMerchBooth untuk membuka/tutup GUI booth.
Skrip Lokallocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("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-- Berulang melalui wilayah toko ber标签 yang adafor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Deteksi ketika wilayah toko non-streaming mengalir masukCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Peringatan jarak dekat
Sebagai alternatif dari pandangan katalog 2D, Anda dapat menambahkan prompt jarak dekat di objek dalam pengalaman.Ini mendorong pemain untuk menemukan item di lingkungan 3D, mempratinjau mereka di avatar mereka sendiri, membelinya, dan langsung melengkapinya.Lihat tambahProximityButton untuk rincian.
Ubah efek perlengkapan
Secara default, stan pedagang menunjukkan efek kilauan umum saat pemain memperlengkapi item dari itu.Untuk mengubah efek, atur particleEmitterTemplate ke instansi Anda sendiri dari ParticleEmitter dalam panggilan konfigurasi.
Skrip Lokal - KonfigurasiBooth 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})
Keterlihatan GUI
Secara default, stan dagang menyembunyikan semua ScreenGuis dan CoreGuis ketika UI muncul, termasuk obrolan, papan peringkat, dan lainnya yang dimasukkan oleh Roblox.Jika Anda ingin menonaktifkan perilaku ini, atur hideOtherUis ke false dalam panggilan konfigurasi.
Skrip Lokal - KonfigurasiBooth Merch
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Gerakan karakter
Bisa menjadi menguntungkan untuk mencegah karakter bergerak saat mereka berada di stan barang dagangan.Ini dapat dilakukan dengan menetapkan disableCharacterMovement ke true dalam panggilan konfigurasi.
Skrip Lokal - KonfigurasiBooth Merch
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
Referensi API
Jenis
Barang
Item di stan dagang diwakili oleh kamus dengan pas kunci-nilai berikut.Item dapat dikumpulkan melalui fungsi mendapatkan item atau acara item ditambahkan.
Kunci | Jenis | Deskripsi |
---|---|---|
assetId | angka | ID Katalog dari item, seperti yang dikirim ke addItemAsync. |
title | string | Judul item seperti yang muncul di katalog. |
price | angka | Harga item dalam Robux. |
description | string | Deskripsi item seperti yang muncul di katalog. |
assetType | string | String yang mewakili ketikaksesori item. |
isOwned | bool | Apakah pemain saat ini memiliki item. |
creatorName | string | Pembuat item seperti yang ditunjukkan dalam katalog. |
creatorType | Enum.CreatorType | Jenis pencipta untuk item. |
Enums
MerchBooth.Controls
Digunakan bersama dengan setControlKeyCodes untuk menyesuaikan tombol kunci dan gamepad untuk berinteraksi dengan stan barang dagangan.
Nama | Singkatan |
---|---|
ProximityPrompts | Tombol kunci dan/atau gamepad untuk membuka tampilan item saat peringatan jarak jauh dikonfigurasi. |
OpenMerchBooth | Tombol kunci dan/atau gamepad untuk membuka stan dagang. |
CloseMerchBooth | Tombol kunci dan/atau gamepad untuk menutup stan dagang. |
Filter | Tombol kunci dan/atau gamepad untuk menggunakan default Filter pulldown di bagian atas kiri area tampilan katalog. |
ViewItem | Tombol kunci dan/atau gamepad untuk membuka tampilan item stan barang khusus. |
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Fungsi
mengonfigurasi
mengonfigurasi(config: table )
Menggantikan opsi konfigurasi sisi klien default melalui kunci/nilai berikut di tabel config.Fungsi ini hanya dapat dipanggil dari LocalScript .
Kunci | Deskripsi | Standar |
---|---|---|
backgroundColor | Warna latar belakang utama dari 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 "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 teks kepala yang digunakan untuk judul jendela ( Enum.Font ). | GothamMedium |
headerTextSize | Ukuran teks kepala yang digunakan untuk judul jendela. | 18 |
titleFont | Font teks judul yang digunakan untuk nama item di halaman rincian item ( Enum.Font ). | GothamBold |
titleTextSize | Ukuran teks judul yang digunakan untuk nama item di halaman rincian 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 klikable, 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 Pada ( Color3 ). | [34, 34, 34] |
secondaryButtonTextColor | Warna teks untuk tombol yang lebih kecil seperti tombol harga di tampilan katalog atau tombol Coba pada ( 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 | opsional kustom ParticleEmitter instansi yang muncul dan dimainkan di equip. |
Skrip Lokal
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,})
tambahkanItemAsync
addItemAsync(assetId: number , jenis produk: Enum.InfoType , hideFromCatalog: boolean )
Secara asinkron menambahkan item ke stan barang sehingga memenuhi syarat untuk dibeli dalam pengalaman. assetId adalah ID aset item, productType adalah enumerasi item Enum.InfoType , dan hideFromCatalog dapat digunakan untuk menyembunyikan item di tampilan katalog.
Lihat Menambahkan Item untuk rincian, karena penggunaan berbeda sedikit untuk aset versus pas permainan atau produk pengembang .
Skrip - Tambahkan Aset Avatar
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Topi Bisbol Roblox Dasar
4819740796, -- Robox
1374269, -- Telinga Kucing
11884330, -- Kacamata Nerd
10476359, -- Topi Kertas
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Skrip - Tambahkan Pas
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Armor ColdFyre
28521575, -- Pelindung 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
Skrip - Tambahkan Produk Pengembang
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Isi Ulang 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
end
dapatkanItem
mendapatkan item:: table
Kembalikan kamus yang mewakili semua item yang terdaftar saat ini.Setiap kunci adalah ID aset item sebagai string, dan nilai setiap unitadalah Item.Fungsi ini hanya dapat dipanggil dari Script .
Skrip
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
menghapusItem
menghapusItem(asetId: number )
Menghapus item yang sebelumnya ditambahkan dengan addItemAsync, menghapus ubinnya di pandangan katalog dan setiap prompt kedekatan yang ditugaskan kepadanya.Fungsi ini hanya dapat dipanggil dari Script.
Skrip
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Setelah beberapa waktu, hapus item
task.wait(5)
MerchBooth.removeItem(4819740796)
end
tambahkanTombol Kedekatan
tambahProximityButton(adornee: BasePart | Model | Attachment , assetId: number )
Menambahkan peringatan proximity di atas yang diberikan adornee yang akan memicu tampilan pandangan pembelian item, mengingat ID asetnya.Ini dapat digunakan sebagai alternatif untuk pandangan katalog 2D, mendorong pemain untuk menemukan item di lingkungan 3D.
Perhatikan bahwa item harus ditambahkan melalui addItemAsync sebelum tombol proximity dapat ditugaskan kepadanya.Lihat juga removeProximityButton untuk menghapus prompt kedekatan dari objek.
Skrip
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
hapusTombol Kedekatan
menghapusTombol Kedekatan(adornee: BasePart | Model | Attachment )
Menghapus peringatan proximity yang dihasilkan melalui addProximityButton. Fungsi ini hanya dapat dipanggil dari Script .
Skrip
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
-- Setelah beberapa saat, hapus perintah
task.wait(5)
MerchBooth.removeProximityButton(item)
end
aturKatalogSortir
setCatalogSort(sortFunction: function ): boolean
Mengatur fungsi penyortiran sortFunction untuk digunakan dalam tampilan katalog.Fungsi penyortiran yang disediakan dapat menggunakan logika berdasarkan Item informasi seperti price atau title .Fungsi ini hanya dapat dipanggil dari LocalScript .
Berikut adalah beberapa contoh untuk mengurutkan katalog:
Harga Rendah ke Tinggi
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Harga Tinggi ke Rendah
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Harga Rendah ke Tinggi & Alfabetik
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
setControlKeyCommands(kontrol: MerchBooth.Controls , kode kunci: table )
Konfigurasi nilai kunci dan tombol untuk interaksi dengan stan pedagang.Parameter pertama harus menjadi enum MerchBooth.Controls dan parameter kedua adalah tabel yang berisi kunci keyboard dan/atau gamepad dengan enum yang sesuai Enum.KeyCode.
Enum ( control ) | Kunci/Nilai Dasar keyCodes default |
---|---|
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 |
Skrip Lokal
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()
Membuka jendela stan dagang (jika ditutup) dan menavigasi ke tampilan katalog. Fungsi ini hanya dapat dipanggil dari LocalScript.
Skrip Lokal
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()
bukaItemView
openItemView(itemId: number )
Navigasi ke tampilan item tunggal dari itemId yang diberikan, membuka jendela stan barang jika saat ini ditutup.Fungsi ini hanya dapat dipanggil dari LocalScript .
Skrip Lokal
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
tombol katalog beralih
aktifkanTombol Katalog(enabled: boolean )
Beralih pada/mati tombol katalog di sisi kanan layar.Ini berguna saat menerapkan tombol khusus atau membatasi penampilan stan pedagang ke wilayah atau peringatan jarak jauh .Hanya dapat dipanggil dari LocalScript .
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
adalahMerchBoothOpen
isMerchBoothOpen(): Tuple
Kembalikan true jika katalog atau tampilan item terbuka.Jika pandangan item terbuka, ID aset item dikembalikan sebagai nilai kedua.Fungsi ini hanya dapat dipanggil dari LocalScript .
Skrip Lokal
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
tutupMerchBooth
tutupMerchBooth()
Tutup jendela stan dagang. Fungsi ini hanya dapat dipanggil dari LocalScript.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
adalahMerchBoothEnabled
isMerchBoothEnabled(): boolean
Fungsi ini dapat digunakan bersama dengan setEnabled untuk memeriksa apakah stan pedagang saat ini diaktifkan atau tidak.Hanya dapat dipanggil dari LocalScript .
aturEnabled
setEnabled(enabled: boolean )
Mengatur apakah seluruh stan dagang diaktifkan atau tidak.Saat dinonaktifkan, fungsi ini menghapus seluruh UI, termasuk prompt jarak dekat , dan memutus semua peristiwa .Fungsi ini hanya dapat dipanggil dari LocalScript.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Peristiwa
ditambahkan item
Memicu ketika item ditambahkan melalui addItemAsync. Acara ini hanya dapat terhubung di Script .
Parameter | |
---|---|
asetId: number | ID aset barang. |
itemInfo: table | Kamus dari Item informasi seperti price atau title . |
Skrip
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)
itemDihapus
Memicu ketika item dihapus melalui removeItem. Acara ini hanya dapat terhubung di Script .
Parameter | |
---|---|
asetId: number | ID aset barang. |
Skrip
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)
merchBoothOpened
Melepaskan api ketika terbuka detail tampilan katalog atau .
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
merchBoothClosed
Melepaskan api ketika katalog atau rincian item ditutup.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
katalogViewDibuka
Melepaskan api saat pandangan katalog dibuka.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
katalogViewClosed
Melepaskan api saat pandangan katalog ditutup.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
itemViewTerbuka
Memicu ketika terbuka tampilan rincian item.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewTutup
Memicu ketika tampilan rincian item ditutup.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)