The MerchBooth geliştirici modülü size avatar varlıklarını , 1> kartları1> ve 4> geliştirici ürünlerini4> satmak için doğrudan deneyiminizde
Modül Kullanımı
Kurulum
Bir deneyimde MerchBooth modülünü kullanmak:
从 Görüntü sayfasından aç Araç Kutusu ve seç Yaratıcı Dükkanı sayfasını.
Modelleri Sırala seçimi seçildiğinden emin olun, sonra Tümünü Gör düğmesine tıklayın, Kategoriler için.
Yerleştir ve Dev Modülleri mozülünü tıkla.
Modülü bul Ürün Standı ve tıkla, yoksa 3D görüntüsüne kaydır-kaydır.
In the Explorer window, move the entire MerchBooth model into ServerScriptService . On running the experience, the module will distribute itself to various services and begin running.
Yapılandırma
Modül, çoğu kullanım durumu için çalışmak üzere ö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 kısmındaki varsayılan Filtre düğmesini devre dışı bırakmak için:
In StarterPlayerScripts , yeni bir LocalScript oluştur ve onu ConfigureMerchBooth olarak adlandır.
Aşağıdaki kodu yeni script'e yapıştırın.
Yerel Kod - Satış Standını Yapılandırlocal 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 Ekleme
Tasarım olmadan bir sergi standı nedir? Aşağıdaki bölümler, avatar varlıklarını eklemek için, geçişleri ve geliştirici ürünlerini merkezinize eklemek için nasıl açıklıyor.
Avatar Varlıkları
Giysi ve aksesuarlar gibi öğelerin eklenmesi öğenin ayrıntı sayfasındaki varlık kimliği aracılığıyla yapılmalıdır.
ServerScriptService içinde Script oluştur ve aşağıdaki kodu yapıştır.
Kript - Avatar Parçaları Eklemelocal 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)endendOnların Avatar Dükkanı web sitesinden öğe varlık kayıtlarını kopyalayın. Örneğin, Roblox Beşik Mũ'in kaydı 607702162 'dir.
Her kopyalanan ID'yi items tablosunun içindeki bir koma-bölümlü listeye yapıştırın.Varsayılan olarak, öğeler alfabetik sırayla katalog görüntüsünde görünür, ancak setCatalogSort kullanarak sıralamayı özelleştirebilirsiniz.
Kript - Avatar Parçaları Eklemelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {607702162, -- Roblox Bejsbol Kapağı4819740796, -- Roblox1374269, -- Kedi Kulakları11884330, -- İnek Camları10476359, -- Kağıt Şapka}for _, assetId in items dolocal success, errorMessage = pcall(function()MerchBooth.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Paslar
geçişler eklemek ile bir kullanıcı dashboard'ında bulunabilen bir geçiş ID'si gerektirir.
ServerScriptService içinde Script oluştur ve aşağıdaki kodu yapıştır.
Kript - Geçişleri 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ı Dashboard and select the experience.
Sol sütun, Monetizasyon altında, Biletler seçin.
Bir kart için ⋯ düğmesine tıklayın ve Kaynak Kodunu Kopyala seçin.
Her kopyalanan ID'yi items tablosunun içindeki koma-ayırlandırılmış bir listeye yapıştırın ve ardından ень�.InfoType.GamePass ile ikinci bir öğe olarak görünmesini sağlayan Enum.InfoType.GamePass kullanın.Vars
Kript - Geçişleri Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {4343758, -- ColdFyre Zırhı28521575, -- Balçık 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ünleri
geliştirici ürünleri eklemek, Yaratıcı Dashboard 'de bulunabilen ürün kimlikleri gerektirir.
ServerScriptService içinde Script oluştur ve aşağıdaki kodu yapıştır.
Kript - Geliştirici Ürünlerini 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ı Dashboard and select the experience.
Sol sütun altındaki Para Kazanma altında Geliştirici Ürünleri seçin.
Bir ürün için ⋯ düğmesine tıklayın ve Kaynak Asset ID'sini Kopyala seçin.
Her kopyalanan ID'yi items tablosunun içindeki koma-ayırlandırılmış bir listeye yapıştırın ve ardından Enu
Kript - Geliştirici Ürünlerini Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))local items = {1236602053, -- Enerji Yeniden 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ı herhangi bir anda kabini açmak için izin verir.
Bazı durumlarda, bu düğmeyi kaldırmak yararlı olabilir ve kendi sahip olbağlayabilirsiniz:
Butonlar bölümünde açıklanan gibi yeni bir buton oluşturun.
Button'un bir çocuğu olarak LocalScript oluştur.
Aşağıdaki kodu yeni script'e yapıştırın.
Yerel Kod - Özel Kataloğu 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)
Satın Alınabilir Bölgeler
Tecrübenizde satın alma işlemlerini otomatik olarak göstermek, bir oyuncu bir alanı girdiğinde satıcı stantı göstermektir.
Bir satılabilir bölge oluşturmak için:
Tespit bölgesini kapsayan bir Anchored blok oluşturun. Blok, karakter modeli PrimaryPart ile çarpışabilmelidir ( HumanoidRootPart varsayılan olarak).
Oyuncuların mağaza sayısının önündeki oyuncuları tespit etmek için blok etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi bloğ etmeyi
Blokun özelliklerinin Etiketler bölümünde, Studio'nun Etiket Editor kullanıyor, etiketi ShopRegion blokuna uygulayın, böylece 2> Class.CollectionService2> onu tespit eder.
Parçanın Transparency ını deneyimdeki oyunculardan gizlemek için maksimuma ayarlayın. Ayrıca onun CanCollide ve CanQuery özelliklerini devre dışı bırakın, böylece nesneler f
Yeni bir LocalScript StarterPlayerScripts altında girin.
Yeni senaryoda, Touched ve TouchEnded etkinliklerini kullanarak bölgeye giren/gitmesi durumunda karakterleri tespit etmek için openMerchBooth ve 1>closeMerchBooth1> GUI'lerini aç/susur.
Yerel Kodlocal 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 dükkan bölgeleri arasında iterefor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Non-streamed dükkan bölgelerinin akışlandığında tespit etCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Yakınlık Girişleri
2D katalog görüntüsünün bir alternatifi olarak, yakınlık öğeleri ekleyebilirsiniz in-experience nesneleri üzerinde. Bu oyuncuları 3D çevreöğeleri keşfetmeye teşvik eder, onları kendi avatarında önizleyin, satın alın ve anında onları donatın. Ayrıntılar için addProximityButton bakın.
Ekipman Efektini Değiştirme
Varsayılan olarak, oyuncu bir öğeden birini takarken, ürün standı genel bir parıltı efekti gösterir. Efekti değiştirmek için, particleEmitterTemplate 'i kendi bir ParticleEmitter 'ine ayarla.
Yerel Kod - Satış Standını Yapılandır
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})
GUI Görünürlüğü
Varsayılan olarak, eşya stantı, ScreenGuis ve CoreGuis UI'sini gösterdiğinde tüm hideOtherUis ve 2> Class.CoreGui|CoreGuis2> gizlenir, chat, liderlik tablosuve diğerleri dah
Yerel Kod - Satış Standını Yapılandır
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({hideOtherUis = false})
Karakter Hareketi
Bir karakterin üzerinde bulunduğu sırada hareket etmesini önlemek avantajlı olabilir. Bunu disableCharacterMovement ile true ile bir 配置 çağırılırken yapabilirsiniz.
Yerel Kod - Satış Standını Yapılandır
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.configure({disableCharacterMovement = true})
API İşaretçisi
Türler
Eşya
Ürün standındaki öğeler, aşağıdaki anahtar değer çiftleriyle temsil edilmiş 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ı | öğeverilen Katalog ID'si, addItemAsync 'e geçer. |
title | dizi | Kataloğa göründüğünde öğenin adı. |
price | sayı | Robux'ta öğenin fiyatı. |
description | dizi | Kataloğa göründüğü gibi öğe açıklaması. |
assetType | dizi | öğeaksesuar yaztemsil eden bir yol. |
isOwned | boolean | Mevcut oyuncunun öğeyi sahip olup olmadığı. |
creatorName | dizi | Kataloğa gösterildiği gibi öğe oluşturucu. |
creatorType | Enum.CreatorType | öğeiçin yaratıcı türü. |
Enümler
MerchBooth.Controls
Etkileşimli olarak setControlKeyCodes ile birlikte kullanılır setControlKeyCodes tuşları ve oyun konsolu butonlarını özelleştirmek için.
İsim | Özet |
---|---|
ProximityPrompts | Yakınlık talep ettiğinde öğe görüntüsünü açmak için anahtar ve/veya oyun başında bulunan düğme. |
OpenMerchBooth | Ürün standını açmak için anahtar ve / veya oyun konsolu düğmesine basın. |
CloseMerchBooth | Ürün standını kapatmak için anahtar ve / veya oyun konsolu düğmesine basın. |
Filter | Katma ve/veya oyun aracı düğmesi, kataloğun görüntüsündeki üst kalan alanındaki varsayılan Filtre düşürmesini kullanmak için anahtar ve/veya oyun aracı düğmesidir. |
ViewItem | Belirli bir pazarlama standı öğesi görüntüsünü açmak için anahtar ve / veya oyun konsolu düğmesine basın. |
Yerel Kod
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
class.local script tabelasındaki önbelleğe alanlar/değerler aracılığıyla varsayılan client-side yapılandırma seçeneklerini geçersiz kılar. Bu işlev sadece LocalScript ile ç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 çevresi (UDim). | (0, 16) |
cornerRadiusSmall | Pencerede bulunan elemanlar için köşe çevresi (UDim). | (0, 8) |
textFont | Fiyatlar, açıklamalar ve diğer genel bilgiler gibi "ana metin" fontu ( Enum.Font ). | Gotham |
textSize | Ana metnin boyutu. | 14 |
textColor | Ana metni rengi ( Color3 ). | [255, 255, 255] |
secondaryTextColor | Ana metnin bazı çeşitleri için kullanılan renk ( Color3 ). | [153, 153, 158] |
headerFont | Pencere başlığı için kullanılan başlık kutusunun fontu (Enum.Font). | GothamMedium |
headerTextSize | Pencere başlığı için kullanılan başlık metni boyutu. | 18 |
titleFont | Öğe adlarında kullanılan öğe ayrıntı sayfasındaki öğe isimlerinin yazıtipi (Enum.Font). | GothamBold |
titleTextSize | Öğe detay sayfasındaki öğe isimleri için kullanılan öğe metni boyutu. | 28 |
buttonColor | Etkileşimli bir devletteki daha büyük düğmelere arka plan rengi, öğe görüntüsündeki ana satın alma düğmesi gibi ( Color3 ). | [255, 255, 255] |
buttonTextColor | Eşzamanlı satın alma düğmesi gibi, öğe görüntüsündeki ana satın alma düğmesi için bir tıklanabilir devlet için metin rengi ( Color3 ). | [0, 0, 0] |
secondaryButtonColor | Kataloğun görünümündeki fiyat düğmesi gibi daha küçük düğmelere arka plan rengi ayarlar ( Datatype.Color3 ). | [34, 34, 34] |
secondaryButtonTextColor | Kataloğun görünümündeki fiyat düğmesi gibi daha küçük butonlar için metin rengi ( Datatype.Color3 ). | [255, 255, 255] |
inactiveButtonColor | Tıklanabilir olmayan bir devletin tüm düğmeleri için arka plan rengi ( Color3 ). | [153, 153, 158] |
inactiveButtonTextColor | Tüm düğmelere bir tıklanabilir olmayan devletdeki yazı rengi ( Color3 ). | [255, 255, 255] |
particleEmitterTemplate | Takılırken oynayan veya takılmayan özel ParticleEmitter instansı. |
Yerel Kod
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,})
eşyayı gecikme
Asynchronously adds an item to the merch booth so that it's eligible for purchase in the experience. assetId is the öğe's asset ID, productType is the öğe's Enum.InfoType枚, and 1> hideFromCatalog1> can be used to hide the item in the catalog view.
Ayrıntılar için Eşyalar Ekleme bakın, kullanım varsayılan ile çok artı ile değişir.
Kript - Avatar Parçaları Ekleme
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
607702162, -- Roblox Bejsbol Kapağı
4819740796, -- Roblox
1374269, -- Kedi Kulakları
11884330, -- İnek Camları
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
Kript - Geçişleri Ekle
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
4343758, -- ColdFyre Zırhı
28521575, -- Balçık 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
Kript - Geliştirici Ürünlerini Ekle
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
local items = {
1236602053, -- Enerji Yeniden 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
Tüm kayıtlı öğelerin dictionarını içerir. Her anahtar bir öğenin varlığını temsil eden bir dictionardır ve her anahtarın değeri bir öğe dir. Bu işlev sadece Script dan çağrılabilir.
Kod
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
RemoveItem
Eskiden addItemAsync ile eklenmiş bir öğeyi yakınlık ekranını ve herhangi bir Script yakınlık promptlarını kaldırır. Bu işlev sadece 1> Class.Script1> から çağrılabilir.
Kod
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
Yakınlık Düğmesi Ekle
Ekranda bir öğenin satın alma görüntüsünün gösterilmesini sağan yakınlık isteği ekler, verilen adornee üzerinde, kaynak kimliği verilen öğenin görüntüsünü gösteren. Bu, oyuncuların 3D çevreöğeleri keşfetmesini teşvik etmek için 2D kataloğu görüntüsünden bir alternatif olarak kullan
Bir yakınlık düğmesine atanmadan önce bir öğe eklenmesi gerektiğini addItemAsync ile belirtin. Ayrıca bir nesneden yakınlık istemcisini kaldırmak için RemoveProximityButton bakın.
Kod
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
Yakınlık Düğmesini Kaldır
Yakınlık alanı isteğini ekleProximityButton ile oluşturdu. Bu işlev sadece bir Class.Script ile çağrılabilir.
Kod
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
-- Bir süre sonra, mesajı kaldır
task.wait(5)
MerchBooth.removeProximityButton(item)
end
kataloğu sırala
Kataloğun görüntüsünde kullanılacak sıralama işlevi sortFunction i ayarlar. Sağlanan sıralama işlevi price veya 1> 0> title0> gibi bilgilere dayanır. Bu işlev sadece 4> 7>Class.LocalScript7> dan çağrılabilir.
Kataloğu sıralamak için bazı örnekler:
Fiyat Düşük-Yüksek
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 & Alfabeta
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
Merch booth'la etkileşimler için anahtar ve düğme değerlerini yapılandırır. İlk parametre bir MerchBooth.Controls열idir ve ikinci parametre, anahtarın keyboard ve/veya gamepad ile ilgili karşılık gelen bir 2> En.KeyCode2>열idir.
Liste ( control ) | Varsayılan keyCodes Anahtarlar/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 |
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.setControlKeyCodes(MerchBooth.Controls.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
Open Merch Booth
Ürün stantı penceresini açar (susulsa) ve kataloğa görüntülenir. Bu işlev sadece bir LocalScript dan çağrılabilir.
Yerel Kod
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
Verilen itemId ın tek öğe görüntüsüne gidilir, aksi takdirde mevcut kapalıysa eşya stantı penceresi açılır. Bu işlev sadece LocalScript ından çağrılabilir.
Yerel Kod
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
Kataloğu Düzenleme Düğmesi
Kat目lığının sağ tarafındaki katalog düğmesini aç/kapa. Bu, bir özel düğmeyi veya pazarlama stantının görünümünü bölgeler veya yakınlık taleplerini sınırlamak için uygularken yararlıdır. Sadece 2>Class.LocalScript2> dan çağırılabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.toggleCatalogButton(false)
isMerchBoothAçık
Kataloğa veya öğe görüntüsü açık ise true döndürür. Eğer öğe görüntüsü açık ise, öğenin varlık kimliği ikinci değer olarak döndürülür. Bu işlev sadece bir LocalScript dan çağrılabilir.
Yerel Kod
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
Yakın Satış Standı
Mallar stantı penceresini kapar. Bu işlev sadece bir LocalScript dan çağrılabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))MerchBooth.closeMerchBooth()
isMerchBoothEtkin
Bu işlev, setEnabled ile birlikte kullanılabilir, böylece pazarlama stantının şu anda etkinleştirilmiş olup olmadığını kontrol etmek için. Sadece LocalScript ile çağrılabilir.
setEnabled
Tüm pazarlama stantının etkinleştirilip etkinleştirilmediğini ayarlar. Deaktif edildiğinde, bu işlev yakınlık hatırlatıcıları dahil tüm UI'yi kaldırır ve tüm etkinlikleri bağırır. Bu işlev sadece LocalScript'den çağrılabilir.
Yerel Kod
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 eşyayı güncelle kullanarak eklenirse olay bu sadece bir Script içinde bağlanabilir.
Parametreler | |
---|---|
assetId: number | Öğe varlık kayıdı. |
itemInfo: table | Öğe bilgisi gibi price veya title gibi. |
Kod
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)
öğe kaldırıldı
Bir öğe öğe kaldırma ile kaldırıldığında ateşlenir. Bu olay sadece bir Script ile bağlanabilir.
Parametreler | |
---|---|
assetId: number | Öğe varlık kayıdı. |
Kod
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)
takasStandıAçıldı
Katalog veya öğe ayrıntı görüntüsü açıldığında ateş eder.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothOpened:Connect(function()
print("Booth view opened")
end)
takasStandı kapalı
Kataloğun veya öğe ayrıntı görüntüsü kapandığında ateş eder.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.merchBoothClosed:Connect(function()
print("Booth view closed")
end)
katalogAçık
Kataloğu görüntülemeyi açtığında ateş eder.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewOpened:Connect(function()
print("Catalog view opened")
end)
katalogYakın
Kataloğun görüntüsü kapandığında ateş eder.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.catalogViewClosed:Connect(function()
print("Catalog view closed")
end)
eşyayı açık
Öğe ayrıntı görüntüsü açıldığında ateş eder.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewOpened:Connect(function()
print("Item view opened")
end)
itemViewKapalı
Öğe ayrıntı görüntüsü kapandığında ateşlenir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
MerchBooth.itemViewClosed:Connect(function()
print("Item view closed")
end)