The MerchBooth geliştirici modülü , avatar varlıklarını , geçişleri ve geliştirici ürünlerini doğrudan deneyiminizde satmaya izin verir.Oyuncular eşyaları gezebilir, kendi avatarlarındaki varlıkları önizleyebilir, eşyalar satın alabilir ve anında kullanabilir veya donatabilir - tüm bunlar deneyiminizden ayrılmadan.Bu, deneyiminizi monetize etmenize ve diğer yaratıcıların eşyalarını satarak ilişkili %40 afiliasyon ücretiyle gelir kazanmanıza yardımcı olabilir.
Modül kullanımı
Yükleme
Bir deneyimde MerchBooth modülünü kullanmak için:
Modellerin sıralanması seçildiğinden emin olun, ardından Tümünü Görüntüle düğmesine tıklayın Kategoriler için >.
Yerini ve tıklayın Geliştirici Modülleri düğmesi.
Satış Kabini modülünü bulun ve tıklayın veya 3B görüntüye sürükleyin ve bırakın.
Araştırıcı penceresinde, tüm MerchBooth modelini ServerScriptService ye taşıyın.Deneyimi çalıştırdıktan sonra, modül kendini çeşitli hizmetlere dağıtacak ve çalışmaya başlayacaktır.
Yapılandırma
Modül çoğu kullanım durumu için önceden yapılandırılmıştır, ancak configure işlevi aracılığıyla kolayca özelleştirilebilir.Örneğin, daha hafif bir tema oluşturmak ve katalog görüntüsünün üst sol bölümündeki varsayılan Filtre düğmesini devre dışı bırakmak için:
In Başlangıç OyuncuScriptleri , yeni bir LocalScript oluştur ve onu MerchBooth Yapılandırma olarak yeniden adlandır.
Yeni senaryoya aşağıdaki kodu yapıştırın.
YerelScript - ConfigureMerchBoothlocal 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})
Eşyalar ekle
Perk yokluğunda perk nedir? Aşağıdaki bölümler, perk standınıza avatar varlıkları, geçişler ve geliştirici ürünleri eklemek için nasıl yapılacağını açıklar.
Avatar öğeleri
Giysi ve aksesuarlar gibi öğelerin varlık kimliği Avatar Dükkanı'ndaki öğenin ayrıntı sayfasında yer almalıdır.
Create a Script within ServerScriptService ve aşağıdaki kodu yapıştırın.
Script - Avatar Varlıkları Eklelocal 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)endendEşya kimliklerini Avatar Dükkanı web sitesi URL'sinden kopyalayın. Örneğin, Roblox Beyzbol Şapkası kimliği 607702162 dir.
Her kopyalanmış kimliği items tablosunun içinde virgülle ayrılmış bir listeden yapıştırın.Varsayılan olarak, öğeler alfabetik sırayla katalog görünümünde görünür, ancak setCatalogSort kullanarak sıralamayı özelleştirebilirsiniz.
Script - Avatar Varlıkları Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Roblox Beyzbol Şapka4819740796, -- Robox'un1374269, -- Kedi Kulakları11884330, -- Nerd Gözlükleri10476359, -- Kağıt Şapka}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Geçerler
geçitleri eklemek, Yaratıcı Panosu 'da bulunabilecek kimlikler gerektirir.
Create a Script within ServerScriptService ve aşağıdaki kodu yapıştırın.
Script - Paslar Eklelocal 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)endendNavigate to the Yaratıcı Panosuna ve deneyimi seçin.
Sol sütunda, Para kazancı altında, Geçişleri seçin.
Bir geçişin küçük resminin üzerine gelin, ⋯ düğmesine tıklayın ve konteks menüsünden Varlık Kimliğini Kopyala seçin.
Her kopyalanmış kimliği items tablosu ve içinde virgülle ayrılmış bir listeden yapıştırın ve Enum.InfoType.GamePass ikinci parametre olarak addItemAsync ekleyin, böylece öğelerin geçtiğini belirtin.Varsayılan olarak, öğeler alfabetik sırayla katalog görüntüsünde görünecek, ancak sıralama setCatalogSort aracılığıyla özelleştirilebilir.
Script - Paslar Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- ColdFyre Zırhı28521575, -- Slime Kalkanı}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Geliştirici Ürünler
geliştirici ürünleri eklemek gerektirir ürün kimliklerini, Yaratıcı Panosu 'nda bulunabilir.
Create a Script within ServerScriptService ve aşağıdaki kodu yapıştırın.
Script - Geliştirici Ürünleri Eklelocal 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)endendNavigate to the Yaratıcı Panosuna ve deneyimi seçin.
Sol sütunda, Paraşütleme altında, Geliştirici Ürünleri seçin.
Bir ürünün küçük resminin üzerine gelin, ⋯ düğmesine tıklayın ve konteks menüsünden Varlık Kimliğini Kopyala seçin.
Her kopyalanmış kimliği items tablosu ve içinde virgülle ayrılmış bir listeden yapıştırın ve Enum.InfoType.Product ikinci parametre olarak addItemAsync ekleyin, böylece öğelerin geliştirici ürünler olduğunu belirtin.Varsayılan olarak, öğeler alfabetik sırayla katalog görünümünde görünür, ancak setCatalogSort kullanarak sıralamayı özelleştirebilirsiniz.
Script - Geliştirici Ürünleri Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Enerji Doldurma1257880672, -- İyileştirme İksiri}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Özel katalog düğmesi
Varsayılan olarak, sağ taraftaki katalog düğmesi oyuncuların standı herhangi bir zamanda açmasına izin verir.

Bazı durumlarda, bu düğmeyi kaldırmak ve kendi düğmenizi bağlamak yararlı olabilir:
Butonlar'da açıklandığı gibi yeni bir düğme oluşturun Butonlar.
Buton nesnesinin bir çocu olarak LocalScript oluşturun.
Yeni senaryoya aşağıdaki kodu yapıştırın.
YerelScript - Özel Katalog Düğmesilocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Varsayılan katalog düğmesini kaldırMerchBooth.toggleCatalogButton(false)-- Özel düğmeyi bağlascript.Parent.Activated:Connect(function()MerchBooth.openMerchBooth()end)
Alışveriş edilebilir bölgeler
Deneyiminizde satın alımları yönlendirmenin yararlı bir yolu, bir oyuncu bir alana girdiğinde otomatik olarak mağaza stantını göstermektir.
Satın alınabilir bir bölge oluşturmak için:
Tespit bölgesini kapsayan bir Anchored blok oluşturun.Blokun karakter modellerinin PrimaryPart ile çarpışacak kadar yüksek olduğundan emin olun (varsayılan olarak HumanoidRootPart ).
Oyuncuların mağaza tezgahının önüne geldiğini tespit etmek için blok Blokun özelliklerinin Etiketler bölümünü veya Studio'nun Etiket Editörü kullanarak, etiketi ShopRegion bloka uygulayın, böylece CollectionService onu tespit edebilir.
Parçanın Transparency'sini deneyimdeki oyunculardan gizlemek için maksimuma ayarlayın.Ayrıca nesnelerin onunla fiziksel olarak çarpışmadığı ve ışınların onu algılamadığı için CanCollide ve CanQuery özelliklerini de devre dışı bırakın.
Yeni bir LocalScript Başlangıç OyuncuScriptleri altına yeni bir ekleyin.
Yeni senaryoda, Touched ve TouchEnded etkinliklerini kullanan aşağıdaki kodu yapıştırın, karakterlerin bölgeye girdiğini veya çıktığını tespit etmek için openMerchBooth ve closeMerchBooth açın/kapatın GUI'yi aç/kapatın.
YerelScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))-- Varsayılan katalog düğmesini kaldırMerchBooth.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-- Mevcut etiketli mağaza bölgeleri arasında dolaşınfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Yayınlanmayan dükkan bölgelerinin yayınlandığını tespit etCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Yakınlık uyarıları
2B katalog görüntüsünün alternatifi olarak, deneyim içi nesnelerin üzerine yakınlık uyarıları ekleyebilirsiniz.Bu, oyuncuların 3B çevrede eşyaları keşfetmesini, kendi avatarlarında önizlemesini, satın almasını ve anında donatmasını teşvik eder.Ayrıntılar için addProximityButton bakın.
Donatılma etkisini değiştir
Varsayılan olarak, tüccar standı bir oyuncu bir öğeyi ondan donattığında genel bir parıltı etkisi gösterir.Etkiyi değiştirmek için, bir particleEmitterTemplate bir ParticleEmitter bir configure çağrısında ayarlayın.
YerelScript - ConfigureMerchBooth
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})
UI görünürlüğü
Varsayılan olarak, satıcı standı UI'si göründüğünde tüm ScreenGuis ve CoreGuis ı gizler, dahil olmak üzere Roblox tarafından dahil edilen sohbet, liderlik tablosuve diğerleri.Bu davranışı devre dışı bırakmak istiyorsanız, bir configure çağrısında ile ayarlayın.
YerelScript - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Karakter hareketi
Bir karakterin stantta olduğu sırada hareket etmesini engellemek avantajlı olabilir.Bunun yapılması, 'yi 'a bir yapılandırma çağrısında ayarlayarak mümkündür.
YerelScript - ConfigureMerchBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
API referansı
Türler
Eşya
Mağaza standındaki eşyalar aşağıdaki anahtar-değer çiftleriyle bir sözlük tarafından temsil edilir.Öğeler getItems işlevi veya itemadded etkinliği aracılığıyla toplanabilir.
Anahtar | Tür | Açıklama |
---|---|---|
assetId | sayı | öğekataloğu ID'si, addItemAsync 'a geçirildiği gibi. |
title | dizi | Kataloğa gösterildiği gibi öğe başlığı. |
price | sayı | Robux'ta öğe fiyatı. |
description | dizi | Kataloğda göründüğü gibi öğe açıklaması. |
assetType | dizi | öğeaksesuar yaztemsil eden dize. |
isOwned | bool i̇çindekiler nasıl yapılır bool i̇çindekiler nasıl yapılır | Mevcut oyuncunun öğesahip olup olmadığı. |
creatorName | dizi | Kataloğa gösterildiği gibi öğe yaratıcısı. |
creatorType | Enum.CreatorType | öğeiçin yaratıcı türü. |
Enleri
MerchBooth.Controls
setControlKeyCodes ile birlikte kullanılarak, ürün stantıyla etkileşim kurmak için anahtarları ve oyun kolu düğmelerini özelleştirmek.
Adı | Özet |
---|---|
ProximityPrompts | Yakınlık uyarıları yapılandırıldığında öğe görünümünü açmak için anahtar ve/veya oyun kolu düğmesi. |
OpenMerchBooth | Ürün standını açmak için anahtar ve/veya oyun kolu düğmesi. |
CloseMerchBooth | Ürün standını kapatmak için anahtar ve/veya oyun kolu düğmesi. |
Filter | Kataloğun sol üst bölümünde varsayılan Filtre yukarı çekmeyi kullanmak için anahtar ve/veya oyun kolu düğmesi. |
ViewItem | Belirli bir perakende stant öğesi görüntüsü açmak için anahtar ve/veya oyun kolu düğmesi. |
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
Fonksiyonlar
yapılandır
yapılandır(config: table )
Varsayılan istemci tarafı yapılandırma seçeneklerini aşağıdaki anahtarlar/değerler aracılığıyla geçersiz kılar: config tablosunda.Bu işlev yalnızca bir LocalScript 'dan çağrılabilir.
Anahtar | Açıklama | Varsayılan |
---|---|---|
backgroundColor | Pencerenin ana arka planı rengi ( Color3 ). | [0, 0, 0] |
cornerRadius | Ana pencere için köşe yarıçapı ( UDim ). | (0, 16) |
cornerRadiusSmall | Pencere içindeki elemanların köşe yarıçapı ( UDim ). | (0, 8) |
textFont | Fiyatlar, açıklamalar ve diğer genel bilgiler gibi "ana metin" kaynağı ( Enum.Font ). | Gotham |
textSize | Ana metinin boyutu. | 14 |
textColor | Ana metin rengi ( Color3 ). | [255, 255, 255] |
secondaryTextColor | Ana metinin bazı değişiklikleri için kullanılan renk ( Color3 ). | [153, 153, 158] |
headerFont | Pencere başlığı için kullanılan başlık metninin yazı tipi ( Enum.Font ). | GothamMedium |
headerTextSize | Pencere başlığı için kullanılan başlık metninin boyutu. | 18 |
titleFont | Öğe ayrıntı sayfasındaki öğe isimleri için kullanılan başlık metni fontu ( Enum.Font ). | GothamBold |
titleTextSize | Öğe ayrıntı sayfasında öğe isimleri için kullanılan başlık metninin boyutu. | 28 |
buttonColor | Tıklanabilir durumdaki daha büyük düğmeler için arka plan rengi, örneğin öğe görüntüsündeki ana satın alma düğmesi ( Color3 ). | [255, 255, 255] |
buttonTextColor | Tıklanabilir durumdaki daha büyük düğmeler için metin rengi, örneğin öğe görüntüsündeki ana satın alma düğmesi ( Color3 ). | [0, 0, 0] |
secondaryButtonColor | Katalog görünümündeki fiyat düğmeleri veya Deneyin düğmesi ( ) gibi daha küçük düğmelerin arka plan rengi. | [34, 34, 34] |
secondaryButtonTextColor | Katalog görünümündeki fiyat düğmeleri veya Deneyin düğmesi ( Color3 ) gibi daha küçük düğmelerin metin rengi | [255, 255, 255] |
inactiveButtonColor | Tıklanabilir olmayan bir durumdaki tüm düğmeler için arka plan rengi (Color3). | [153, 153, 158] |
inactiveButtonTextColor | Tıklanabilir olmayan bir durumdaki tüm düğmeler için metin rengi ( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | Seçeneğe bağlı özel ParticleEmitter örnek, donanıma görünür ve oynar. |
YerelScript
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,})
addItemAsync İçindekiler İçindekiler Öznitelikler Öznitelikler
addItemAsync(assetId: number , ürünTipi: Enum.InfoType , kataloğdan gizle: boolean )
Deneyimde satın alınabilir olması için deneyim standına asenkron olarak bir öğe ekler.assetId öğenin varlık kimliğidir, productType öğenin Enum.InfoType enumerasyonudur ve hideFromCatalog kataloğun görüntüsünde öğeyi gizlemek için kullanılabilir.
Detaylar için Eşyalar Ekleme bakın, kullanım varlıklar ile oyun geçişleri veya geliştirici ürünleri karşılaştırıldığında biraz değişir.
Script - Avatar Varlıkları Ekle
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Roblox Beyzbol Şapka
4819740796, -- Robox'un
1374269, -- Kedi Kulakları
11884330, -- Nerd Gözlükleri
10476359, -- Kağıt Şapka
}
for _, assetId in items do
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Paslar Ekle
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- ColdFyre Zırhı
28521575, -- Slime Kalkanı
}
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 - Geliştirici Ürünleri Ekle
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Enerji Doldurma
1257880672, -- İyileştirme İksiri
}
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
getItems Yorumlar Türkçe:getItems
getItems(): table
Mevcut olarak kaydedilmiş tüm öğeleri temsil eden bir dizidöndürür.Her anahtar bir öğenin varlık kimliğini bir dize olarak temsil eder ve her anahtarın değeri bir Eşya dır.Bu işlev yalnızca bir Script 'dan çağrılabilir.
Komut Dosyası
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
öğeyi kaldır
removeItem(assetId: number )
addItemAsync ile daha önce eklenmiş bir öğeyi kaydettirmez, kataloğun görüntüsündeki kafasını kaldırır ve ona atanan herhangi bir yakınlık hatırlatması.Bu işlev yalnızca bir Script 'den çağrılabilir.
Komut Dosyası
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local success, errorMessage = pcall(function()
MerchBooth.addItemAsync(4819740796)
end)
if success then
-- Bir süre sonra, öğeyi kaldır
task.wait(5)
MerchBooth.removeItem(4819740796)
end
proximityButton ekleyin
addProximityButton(adornee: BasePart | Model | Attachment , assetId: number )
Verilen yakınlık uyarısı üzerine bir adornee tetikleyecek, varlık kimliğine göre verilen bir öğeyi satın alma görüşü.Bu, 2B katalog görüntüsünün alternatifi olarak kullanılabilir ve oyuncuların 3B çevredeki öğeleri keşfetmelerini teşvik eder.
Bir öğe, yakınlık düğmesine atanabilmesi için addItemAsync aracılığıyla eklenmelidir, bir yakınlık düğmesine atanabilmesi için.Ayrıca bakın uzaklık düğmesini kaldır bir nesneyi uzaklık uyarısından kaldırmak için.
Komut Dosyası
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
proximityButton'u kaldır
uzaklıkButonuKaldır(adornee: BasePart | Model | Attachment )
yakınlık uyarısıaddProximityButton aracılığıyla üretilerek kaldırılır. Bu işlev yalnızca bir Script 'dan çağrılabilir.
Komut Dosyası
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
-- Bir süre sonra, istemi kaldır
task.wait(5)
MerchBooth.removeProximityButton(item)
end
katalog sıralamasını ayarla setCatalogSort
setCatalogSort(sortFunction: function ): boolean
Kataloğun görüntülenmesinde kullanılacak sıralama işlevini sortFunction ayarlar.Verilen sıralama işlevi, Eşya bilgilerine dayalı mantık kullanabilir, örneğin price veya title.Bu işlev yalnızca bir LocalScript 'dan çağrılabilir.
Kataloğu sıralamak için bazı örnekler:
Fiyat Düşükten yükseğe
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price < b.price
end)
Fiyat Yüksekten Düşüğe
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.setCatalogSort(function(a, b)
return a.price > b.price
end)
Fiyat Düşük-Yüksek & 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 kodlarını ayarla
setControlKeyCodes(kontrol: MerchBooth.Controls , anahtar kodları: table )
Tüccar standıyla etkileşim için anahtar ve düğme değerlerini yapılandırır.İlk parametre bir MerchBooth.Controls dizi olmalı ve ikinci parametre anahtarları içeren bir tablo ve/veya eşdeğer ve/veya enümleri içeren bir tablo.
Enum ( control ) | Varsayılan keyCodes Anahtar/Değerler |
---|---|
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 |
YerelScript
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()
Mağaza standı penceresini açar (eğer kapalıysa) ve kataloğa yönlendirir. Bu işlev yalnızca bir LocalScript 'dan çağrılabilir.
YerelScript
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()
openItemView'yi aç
openItemView(itemId: number )
Verilen itemId 'in tek öğe görüntüsüne yönlendirir, mevcut olarak kapalıysa satış standı penceresini açar.Bu işlev yalnızca bir LocalScript 'dan çağrılabilir.
YerelScript
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
katalogButonu geçiştir
toggleCatalogButton(aktifleştirildi: boolean )
Ekranın sağ tarafındaki katalog düğmesini aç/kapatır.Bir özel düğme uygularken veya mağaza standının görünümünü bölgelere veya yakınlık uyarılarına sınırlandırırken yararlıdır.Sadece bir LocalScript 'dan çağrılabilir.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
isMerchBoothOpen Açık
isMerchBoothOpen(): Tuple
Kataloğun veya öğe görünümünün açık olması durumunda true döndürür.Eşya görüntüsü açıksa, eşyanın varlık kimliği ikinci değer olarak geri döndürülür.Bu işlev yalnızca bir LocalScript 'dan çağrılabilir.
YerelScript
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
closeMerchBooth YakınlaştırmaKabini kapat
YakınMerchBooth()
Ticaret standı penceresini kapatır. Bu işlev yalnızca bir LocalScript 'dan çağrılabilir.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
isMerchBoothEnabled Yorumlar Yorumlar
isMerchBoothEnabled(): boolean
Bu işlev, mağaza standının şu anda etkinleştirilip etkinleştirilmediğini kontrol etmek için setEnabled ile birlikte kullanılabilir.Sadece bir LocalScript 'dan çağrılabilir.
setEnabled Yorumlar Yorumlar Yorumlar setEnabled
setEnabled(enabled: boolean )
Tüm mağaza stantının etkinleştirilip etkinleştirilmediğini ayarlar.Devre dışı bırakıldığında, bu işlev tüm UI'yi, yakınlık uyarıları dahil, kaldırır ve tüm etkinlikleri bağlar.Bu işlev yalnızca bir LocalScript 'den çağrılabilir.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local isEnabled = MerchBooth.isMerchBoothEnabled()if isEnabled thenMerchBooth.setEnabled(false)end
Etkinlikler
eklenen öğe
Bir öğe addItemAsync aracılığıyla eklenirken ateş eder. Bu olay yalnızca bir Script 'de bağlanabilir.
Değerler | |
---|---|
assetId: number | Eşya varlık kimliği. |
öğe bilgisi: table | Dizin Eşya bilgileri gibi price veya title gibi bilgiler. |
Komut Dosyası
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)
öğeKaldırıldı
Bir öğe removeItem aracılığıyla kaldırıldığında ateş eder. Bu olay yalnızca bir Script 'de bağlanabilir.
Değerler | |
---|---|
assetId: number | Eşya varlık kimliği. |
Komut Dosyası
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 Açıldı
Katalog veya öğe ayrıntı görüntüsü açıldığında ateş eder.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
merchBoothClosed kapalı
Katalog veya öğe ayrıntı görüntüsü kapatıldığında ateş eder.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
katalogViewOpened Açıldı
Katalog görünümü açıldığında ateş eder.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
katalogViewClosed kapalı
Katalog görünümü kapatıldığında ateş eder.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
öğeViewAçıldı
Öğe ayrıntı görünümü açıldığında ateş eder.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewKapatıldı
Eşya ayrıntı görünümü kapatıldığında ateş eder.
YerelScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)