Stand Merch

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

The MerchBooth 模块开发者 memungkinkan Anda menawarkan asi avatar , 1>tiket1> , dan 4>produk pengembang4> untuk dijual langsung di dalam pengalaman Anda. Pemain dapat

Penggunaan Modul

Pemasangan

Untuk menggunakan modul MerchBooth dalam pengalaman:

  1. Dari tab Lihat, buka tab Kotak Alat dan pilih tab Toko Pencipta .

    Toolbox toggle button in Studio
  2. Pastikan Model penyortiran dipilih, lalu klik tombol Lihat Semua untuk Kategori .

  3. Temukan dan klik Modul Dev ubin.

  4. Temukan modul Merch Booth dan klik, atau seret ke dalam pandangan 3D.

  5. Di jendela Explorer, pindahkan seluruh model MerchBooth ke ServerScriptService . Setelah mengeksekusi pengalaman, modul akan di distribusikan ke berbagai layanan dan mulai berjalan.

Konfigurasi

Modul ini telah dikonfigurasi untuk bekerja untuk kebanyakan kasus pengguna, tetapi dapat dengan mudah disesuaikan melalui fungsi konfigurasikan. Misalnya, untuk membuat tema yang lebih ringan dan menonaktifkan tombol Filter default di area atas kiri katalog:

  1. Dalam StarterPlayerScripts , buat LocalScript baru dan ganti nama menjadi ConfigureMerchBooth .

  2. Tempaste kode berikut ke dalam naskah baru.

    Skrip Lokal - Konfigurasi MerchBooth

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

Menambahkan Item

Apa itu stan dagang tanpa merch? Bagian berikut menjelaskan cara menambahkan asi avatar, kartu kredit, dan produk pengembang ke stan dagang Anda.

Aset Avatar

Item seperti pakaian dan aksesori harus ditambahkan melalui ID aset mereka yang berlokasi di halaman rincian item di Toko Avatar.

  1. Buat Script di dalam ServerScriptService dan tempastekan kode berikut.

    Skrip - Tambahkan Aset 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. Salinan ID aset item dari situs web mereka Toko Avatar mereka . Misalnya, ID Topi Baseball Roblox adalah 607702162 .

  3. Tempaste setiap ID yang disalin ke dalam daftar dalam tabel items dengan tanda baca. Secara default, item muncul dalam tampilan katalog dalam urutan alfabetik, tetapi Anda dapat menyesuaikan sorting menggunakan setCatalogSort .

    Skrip - Tambahkan Aset Avatar

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    607702162, -- Topi Baseball Roblox
    4819740796, -- Robot
    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

Melewati

Menambahkan kartu keluar memerlukan ID kartu yang dapat ditemukan di Dashboard Pembuat.

  1. Buat Script di dalam ServerScriptService dan tempastekan kode berikut.

    Skrip - Tambahkan Pass

    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 Dashboard Pencipta and select the experience.

  3. Di kolom kiri, di bawah Monetization , pilih Passes .

  4. Klik tombol untuk mendapatkan kartu dan pilih Copy Asset ID .

  5. Tempaste setiap ID yang disalin ke dalam daftar dalam tabel items dan termasuk Enum.InfoType.GamePass sebagai parameter kedua untuk 2> tambahkanItemAsync2> untuk menunjukkan bahwa item adalah pas. Secara default, item akan muncul dalam tampilan katalog dalam urutan

    Skrip - Tambahkan Pass

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    4343758, -- Zirah 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
    end

Produk Pengembang

Menambahkan produk pengembang mengharuskan ID produk yang dapat ditemukan di Dashboard Pembuat .

  1. Buat Script di dalam ServerScriptService dan tempastekan kode berikut.

    Skrip - Tambahkan Produk Pengembang

    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 Dashboard Pencipta and select the experience.

  3. Di kolom kiri, di bawah Monetization , pilih Produk Pengembang .

  4. Klik tombol untuk produk dan pilih Salinan ID Aset .

  5. Tempaste setiap ID yang disalin ke dalam daftar koma-delimited dalam tabel items dan включаетEnum.InfoType.Product sebagai parameter kedua untuk 2> addItemAsync2> untuk menunjukkan bahwa item adalah produk pengembang. Secara default, item muncul dalam tampilan k

    Skrip - Tambahkan Produk Pengembang

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    local items = {
    1236602053, -- Mana Pengisian Ulang
    1257880672, -- Ramuan Penyembuh
    }
    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

Tombol Katalog Kustom

Secara default, tombol katalog pihak kanan memungkinkan pemain untuk membuka stan kapan saja.

Dalam beberapa kasus, mungkin berguna untuk menghapus tombol ini dan menghubungkan yang Anda memiliki:

  1. Buat tombol baru seperti yang dijelaskan dalam Tombol .

  2. Buat LocalScript sebagai anak objek tombol.

  3. Tempaste kode berikut ke dalam naskah baru.

    Script Lokal - Tombol Katalog Kustom

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    -- Hapus tombol katalog default
    MerchBooth.toggleCatalogButton(false)
    -- Koneksikan tombol khusus
    script.Parent.Activated:Connect(function()
    MerchBooth.openMerchBooth()
    end)

Wilayah yang Dapat Dibeli

Cara yang membantu untuk menyetir pembelian dalam pengalaman Anda adalah dengan menunjukkan secara otomatis stan pakaian saat seorang pemain memasuki area.

Untuk membuat wilayah yang dapat dibeli:

  1. Buat blok Anchored yang mencakup wilayah deteksi. Pastikan blok tinggi cukup untuk bertabrakan dengan PrimaryPart karakter model ( HumanoidRootPart secara default).

    Blokir untuk mendeteksi ketika pemain mendekati depan counter toko
  2. Menggunakan bagian Tags dari propinsi blok, atau Studio's Editor Tag, tetapkan tag ShopRegion ke blok sehingga 1> Class.CollectionService1> mendeteksi itu.

  3. Tetapkan Transparency bagiannya sepenuhnya untuk menyembunyikannya dari pemain dalam pengalaman. Juga nonaktifkan prop CanCollide dan CanQuery-nya sehingga objek tidak bertabrakan fisik dengan itu dan raycasts tid

  4. Sisipkan LocalScript baru di bawah StarterPlayerScripts .

  5. Dalam naskah baru, pastikan kode berikut yang menggunakan acara Touched dan TouchEnded untuk mendeteksi ketika karakter memasuki/meninggalkan wilayah dan memanggil openMerchBooth dan 1> closeMerchBooth1> untuk membu

    Skrip Lokal

    local Players = game:GetService("Players")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    -- Hapus tombol katalog default
    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
    -- Iterate melalui wilayah toko yang sudah ada
    for _, region in CollectionService:GetTagged("ShopRegion") do
    setupRegion(region)
    end
    -- Deteksi saat wilayah toko non-streamed ber流入
    CollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)

Mendekati Prompt

Sebagai alternatif untuk pandangan katalog 2D, Anda dapat menambahkan tombol kedekatan di objek-objek pengalaman. Ini mengundang pemain untuk menemukan item di lingkungan 3D, mempratinjau mereka di avatar mereka sendiri, membelinya, dan segera mengequipnya. Lihat tambahkanTombolKedekatan untuk detail.

Mengubah Efek Equip

Secara default, stan pakaian menunjukkan efek cahaya generik saat seorang pemain menggunakan item darinya. Untuk mengubah efeknya, set particleEmitterTemplate ke instans Anda sendiri dari ParticleEmitter dalam panggilan konfigurasikan.

Skrip Lokal - Konfigurasi MerchBooth

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

Kesadaran GUI

Secara default, stan dagang menyembunyikan semua ScreenGuis dan CoreGuis saat UI-nya muncul, termasuk chat, papan peringkat, dan yang lainnya yang ditambahkan oleh Roblox. Jika Anda ingin menonaktifkan perilaku ini, set hideOther

Skrip Lokal - Konfigurasi MerchBooth

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

Gerakan Karakter

Dapat menguntungkan untuk mencegah seorang karakter bergerak saat mereka berada di stan dagang. Ini dapat dilakukan dengan menetapkan disableCharacterMovement ke true dalam panggilan configure.

Skrip Lokal - Konfigurasi MerchBooth

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 kombinasi nilai kunci berikut. Item dapat diumpulkan melalui fungsi getItems atau acara itemAdded.

KunciJenisDeskripsi
assetIdnomorID Katalog item, seperti yang diteruskan ke addItemAsync .
titlestringJudul item seperti yang muncul dalam katalog.
pricenomorHarga item dalam Robux.
deskripsistringDeskripsi item seperti yang muncul dalam katalog.
assetTypestringString mewakili ketikaksesori item.
isOwnedbooleanApakah pemain saat ini memiliki item.
creatorNamestringPembuat item seperti yang ditunjukkan dalam katalog.
creatorTypeEnum.CreatorTypeJenis pencipta untuk item.

Umum

Panel Merch.

Digunakan bersama dengan setControlKeyCodes untuk menyesuaikan tombol dan gamepad untuk berinteraksi dengan stan dagang.

NamaSintesis
ProximityPromptsTombol kunci dan / atau gamepad untuk membuka tampilan item saat proximity prompts di konfigurasi.
OpenMerchBoothTombol kunci dan / atau gamepad untuk membuka stan.
CloseMerchBoothTombol kunci dan / atau gamepad untuk menutup stan.
FilterTombol kunci dan / atau gamepad untuk menggunakan pulldown default Filter di area atas kiri katalog.
ViewItemTombol kunci dan / atau gamepad untuk membuka tampilan item booth 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 )

Menggeser opsi konfigurasi pihak klien default melalui tombol/值 berikut di tabel config . Fungsi ini hanya dapat dipanggil dari LocalScript .

KunciDeskripsiStandar
backgroundColorWarna latar belakang utama dari jendela ( Color3 ).[0, 0, 0]
cornerRadiusRadius sudut untuk jendela utama ( UDim ).(0, 16)
cornerRadiusSmallRadius sudut untuk elemen di dalam jendela ( UDim ).(0, 8)
textFontFont "teks utama" seperti harga, deskripsi, dan informasi umum lainnya (Enum.Font).Gotham
textSizeUkuran teks utama.14
textColorWarna teks utama ( Color3 ).[255, 255, 255]
secondaryTextColorWarna yang digunakan untuk beberapa variasi teks utama ( Color3 ).[153, 153, 158]
headerFontFont dari teks judul jendela ( Enum.Font ) digunakan.GothamMedium
headerTextSizeUkuran teks header yang digunakan untuk judul jendela.18
titleFontFont teks judul yang digunakan untuk nama item di halaman item terperinci ( Enum.Font ).GothamBold
titleTextSizeUkuran teks judul yang digunakan untuk nama item di halaman item rincian.28
buttonColorWarna latar belakang untuk tombol yang lebih besar dalam keadaan dapat diklik, seperti tombol pembelian utama dalam tampilan item (Color3 ).[255, 255, 255]
buttonTextColorWarna teks untuk tombol besar dalam kondisi yang dapat diklik, seperti tombol pembelian utama dalam tampilan item (Color3).[0, 0, 0]
secondaryButtonColorWarna latar belakang untuk tombol yang lebih kecil seperti tombol harga dalam pandangan katalog atau tombol Coba pakai ( Color3 ).[34, 34, 34]
secondaryButtonTextColorWarna teks untuk tombol yang lebih kecil seperti tombol harga dalam pandangan katalog atau tombol Coba pakai ( Color3 ).[255, 255, 255]
inactiveButtonColorWarna latar belakang untuk semua tombol dalam keadaan tidak dapat diklik ( Color3 ).[153, 153, 158]
inactiveButtonTextColorWarna teks untuk semua tombol dalam kondisi tidak dapat diklik ( Color3 ).[255, 255, 255]
particleEmitterTemplateInstansi ParticleEmitter khusus yang muncul dan bermain 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 , productType: Enum.InfoType , hideFromCatalog: boolean )

Secara asinkron menambahkan item ke stan dagang sehingga itu layak untuk dibeli dalam pengalaman. assetId adalah ID aset item, productType adalah item as Enum.InfoType dan 1> hideFromCatalog1> dapat digunakan untuk menyembunyikan item di view katalog.

Lihat Menambahkan Item untuk rincian, karena penggunaan bervariasi sedikit untuk asi versus game passes atau 1>produk pengembang1> .

Skrip - Tambahkan Aset Avatar

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Topi Baseball Roblox
4819740796, -- Robot
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 Pass

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- Zirah 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
end
Skrip - Tambahkan Produk Pengembang

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Mana Pengisian Ulang
1257880672, -- Ramuan Penyembuh
}
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

mendapatkan item

mendapatkan item: table

Mengembalikan definisi menggambarkan 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

hapusItem

menghapusItem(assetId: number )

Menghapus item sebelumnya yang ditambahkan dengan tambahkanItemAsync, menghapus ubinnya dalam pandangan katalog dan setiap 提示 kedekatan yang ditetapkan untuk itu. Fungsi ini hanya dapat dipanggil dari Class.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

tambahkanTombolKesesuaian

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

Menambahkan prompt kedekatan di atas adornee yang diberikan yang akan mengaktifkan tampilan item pembelian, diberikan IDnya. Ini dapat digunakan sebagai alternatif untuk tampilan katalog 2D, mendorong pemain untuk menemukan item di lingkungan 3D.

Catat bahwa item harus ditambahkan melalui tambahkanItemAsync sebelum tombol kedekatan dapat ditetapkan untuknya. Lihat juga menghapus tombolKedekatan untuk menghapus prompt kedekatan dari objek.

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 item = workspace:FindFirstChild("Robox")
if item then
MerchBooth.addProximityButton(item, 4819740796)
end
end

hapusTombolKesetaraan

menghapusTombolKesetaraan(adornee: BasePart | Model | Attachment )

Menghapus sebuah prompt kedekatan yang dihasilkan melalui tambahkanProximityButton . Fungsi ini hanya dapat dipanggil dari sebuah 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 item = workspace:FindFirstChild("Robox")
if item then
MerchBooth.addProximityButton(item, 4819740796)
end
-- Setelah beberapa waktu, hapus prompt
task.wait(5)
MerchBooth.removeProximityButton(item)
end

setKatalogSort

setCatalogSort(sortFunction: function>: boolean

Mengatur fungsi sortiran sortFunction untuk digunakan dalam tampilan katalog. Fungsi sortiran yang disediakan dapat menggunakan logika berdasarkan Item info seperti price atau 1> title1>. Fungsi ini hanya dapat dipanggil dari 4> Class.LocalScript4> .

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 & Alphabetical

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)

setKodeKontrol

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

Mengkonfigurasi nilai tombol dan kunci untuk interaksi dengan stan dagang. Parameter pertama harus menjadi MerchBooth.Controls enum dan parameter kedua menjadi tabel yang berisi kunci keyboard dan/atau gamepad dengan nilai 1> Container.KeyCode1> yang sesuai.

enum ( control )Standar keyCodes Kunci/Nilai
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
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,
})

Buka stan

bukaStandPenjualan()

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

Buka Pandangan

bukaItemView(itemId: number )

Navigates to the single item view of the given itemId, opening the merch booth window if it is currently closed. This function can only be called from a 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

ToggleKatalog

toggleCatalogButton(ditraktifkan: boolean )

Mengubah tombol katalog di sisi kanan layar. Ini berguna ketika menerapkan tombol tombol khusus atau membatasi penampilan stan dagang ke regio atau proximity prompts. Hanya dapat dipanggil dari 2>Class.LocalScript2> .

Skrip Lokal

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

Apakah MerchBoothTerbuka

isMerchBoothOpen() : Tuple

Mengembalikan true jika katalog atau tampilan item terbuka. Jika tampilan 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

tutupMarkas

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

isMerchBoothAktif

isMerchBoothEnabled() boolean

Fungsi ini dapat digunakan bersama dengan setEnabled untuk memeriksa apakah stan dagang saat ini diaktifkan atau tidak. Hanya dapat dipanggil dari LocalScript .

setAktif

setEnabled(enabled: boolean )

Tetapkan apakah seluruh stan mahkota diaktifkan atau tidak. Saat dinonaktifkan, fungsi ini menghapus seluruh UI, termasuk prompt kedekatan dan menghubungkan kembali 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 then
MerchBooth.setEnabled(false)
end

Acara

item ditambahkan

Fire saat item ditambahkan melalui addItemAsync . Acara ini hanya dapat dihubungkan dalam sebuah Script .

Parameter
assetId: numberID aset item.
itemInfo: tableDaftar kata-kata seperti price atau price .
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)

item diHapus

Berapi-api saat item dihapus melalui menghapus item. Acara ini hanya dapat dihubungkan dalam sebuah Script .

Parameter
assetId: numberID aset item.
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)

merchBoothTerbuka

Dibakar saat salah satu item atau tampilan detail katalog dibuka.

Skrip Lokal

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

tenda penjualan tertutup

Berapi-api saat salah satu item atau deskripsi item ditutup.

Skrip Lokal

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

atalogTerbuka

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

atalogTutup

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

itemViewDibuka

Dibakar saat tampilan rincian item dibuka.

Skrip Lokal

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

itemViewTutup

Dibakar saat 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)