Ticaret standı

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

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:

  1. Görüntü sekmesinden açın Araç çantası ve Yaratıcı mağazası sekmesini seçin.

    Toolbox toggle button in Studio
  2. 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 >.

  3. Yerini ve tıklayın Geliştirici Modülleri düğmesi.

  4. Satış Kabini modülünü bulun ve tıklayın veya 3B görüntüye sürükleyin ve bırakın.

  5. 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:

  1. In Başlangıç ​​OyuncuScriptleri , yeni bir LocalScript oluştur ve onu MerchBooth Yapılandırma olarak yeniden adlandır.

  2. Yeni senaryoya aşağıdaki kodu yapıştırın.

    YerelScript - ConfigureMerchBooth

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

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.

  1. Create a Script within ServerScriptService ve aşağıdaki kodu yapıştırın.

    Script - Avatar Varlıkları Ekle

    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. Eşya kimliklerini Avatar Dükkanı web sitesi URL'sinden kopyalayın. Örneğin, Roblox Beyzbol Şapkası kimliği 607702162 dir.

  3. 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ı 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

Geçerler

geçitleri eklemek, Yaratıcı Panosu 'da bulunabilecek kimlikler gerektirir.

  1. Create a Script within ServerScriptService ve aşağıdaki kodu yapıştırın.

    Script - Paslar Ekle

    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 Yaratıcı Panosuna ve deneyimi seçin.

  3. Sol sütunda, Para kazancı altında, Geçişleri seçin.

  4. 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.

  5. 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 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

Geliştirici Ürünler

geliştirici ürünleri eklemek gerektirir ürün kimliklerini, Yaratıcı Panosu 'nda bulunabilir.

  1. Create a Script within ServerScriptService ve aşağıdaki kodu yapıştırın.

    Script - Geliştirici Ürünleri Ekle

    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 Yaratıcı Panosuna ve deneyimi seçin.

  3. Sol sütunda, Paraşütleme altında, Geliştirici Ürünleri seçin.

  4. 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.

  5. 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 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

Ö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:

  1. Butonlar'da açıklandığı gibi yeni bir düğme oluşturun Butonlar.

  2. Buton nesnesinin bir çocu olarak LocalScript oluşturun.

  3. Yeni senaryoya aşağıdaki kodu yapıştırın.

    YerelScript - Özel Katalog Düğmesi

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))
    -- Varsayılan katalog düğmesini kaldır
    MerchBooth.toggleCatalogButton(false)
    -- Özel düğmeyi bağla
    script.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:

  1. 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
  2. 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.

  3. 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.

  4. Yeni bir LocalScript Başlangıç ​​OyuncuScriptleri altına yeni bir ekleyin.

  5. 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.

    YerelScript

    local 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ır
    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
    -- Mevcut etiketli mağaza bölgeleri arasında dolaşın
    for _, region in CollectionService:GetTagged("ShopRegion") do
    setupRegion(region)
    end
    -- Yayınlanmayan dükkan bölgelerinin yayınlandığını tespit et
    CollectionService: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.Sphere
myParticleEmitter.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.

AnahtarTürAçıklama
assetIdsayıöğekataloğu ID'si, addItemAsync 'a geçirildiği gibi.
titlediziKataloğa gösterildiği gibi öğe başlığı.
pricesayıRobux'ta öğe fiyatı.
descriptiondiziKataloğda göründüğü gibi öğe açıklaması.
assetTypediziöğ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ığı.
creatorNamediziKataloğa gösterildiği gibi öğe yaratıcısı.
creatorTypeEnum.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
ProximityPromptsYakı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.
FilterKataloğun sol üst bölümünde varsayılan Filtre yukarı çekmeyi kullanmak için anahtar ve/veya oyun kolu düğmesi.
ViewItemBelirli 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.

AnahtarAçıklamaVarsayılan
backgroundColorPencerenin ana arka planı rengi ( Color3 ).[0, 0, 0]
cornerRadiusAna pencere için köşe yarıçapı ( UDim ).(0, 16)
cornerRadiusSmallPencere içindeki elemanların köşe yarıçapı ( UDim ).(0, 8)
textFontFiyatlar, açıklamalar ve diğer genel bilgiler gibi "ana metin" kaynağı ( Enum.Font ).Gotham
textSizeAna metinin boyutu.14
textColorAna metin rengi ( Color3 ).[255, 255, 255]
secondaryTextColorAna metinin bazı değişiklikleri için kullanılan renk ( Color3 ).[153, 153, 158]
headerFontPencere başlığı için kullanılan başlık metninin yazı tipi ( Enum.Font ).GothamMedium
headerTextSizePencere 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
buttonColorTı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]
buttonTextColorTı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]
secondaryButtonColorKatalog görünümündeki fiyat düğmeleri veya Deneyin düğmesi ( ) gibi daha küçük düğmelerin arka plan rengi.[34, 34, 34]
secondaryButtonTextColorKatalog görünümündeki fiyat düğmeleri veya Deneyin düğmesi ( Color3 ) gibi daha küçük düğmelerin metin rengi[255, 255, 255]
inactiveButtonColorTıklanabilir olmayan bir durumdaki tüm düğmeler için arka plan rengi (Color3).[153, 153, 158]
inactiveButtonTextColorTıklanabilir olmayan bir durumdaki tüm düğmeler için metin rengi ( Color3 ).[255, 255, 255]
particleEmitterTemplateSeç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.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
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 then
MerchBooth.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: numberEşya varlık kimliği.
öğe bilgisi: tableDizin 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: numberEş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)