Ürün 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ü 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:

  1. Görüntü sayfasından aç Araç Kutusu ve seç Yaratıcı Dükkanı sayfasını.

    Toolbox toggle button in Studio
  2. Modelleri Sırala seçimi seçildiğinden emin olun, sonra Tümünü Gör düğmesine tıklayın, Kategoriler için.

  3. Yerleştir ve Dev Modülleri mozülünü tıkla.

  4. Modülü bul Ürün Standı ve tıkla, yoksa 3D görüntüsüne kaydır-kaydır.

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

  1. In StarterPlayerScripts , yeni bir LocalScript oluştur ve onu ConfigureMerchBooth olarak adlandır.

  2. Aşağıdaki kodu yeni script'e yapıştırın.

    Yerel Kod - Satış Standını Yapılandır

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

  1. ServerScriptService içinde Script oluştur ve aşağıdaki kodu yapıştır.

    Kript - Avatar Parçaları Ekleme

    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. Onların Avatar Dükkanı web sitesinden öğe varlık kayıtlarını kopyalayın. Örneğin, Roblox Beşik Mũ'in kaydı 607702162 'dir.

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

Paslar

geçişler eklemek ile bir kullanıcı dashboard'ında bulunabilen bir geçiş ID'si gerektirir.

  1. ServerScriptService içinde Script oluştur ve aşağıdaki kodu yapıştır.

    Kript - Geçişleri 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ı Dashboard and select the experience.

  3. Sol sütun, Monetizasyon altında, Biletler seçin.

  4. Bir kart için düğmesine tıklayın ve Kaynak Kodunu Kopyala seçin.

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

Geliştirici Ürünleri

geliştirici ürünleri eklemek, Yaratıcı Dashboard 'de bulunabilen ürün kimlikleri gerektirir.

  1. ServerScriptService içinde Script oluştur ve aşağıdaki kodu yapıştır.

    Kript - Geliştirici Ürünlerini 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ı Dashboard and select the experience.

  3. Sol sütun altındaki Para Kazanma altında Geliştirici Ürünleri seçin.

  4. Bir ürün için düğmesine tıklayın ve Kaynak Asset ID'sini Kopyala seçin.

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

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

  1. Butonlar bölümünde açıklanan gibi yeni bir buton oluşturun.

  2. Button'un bir çocuğu olarak LocalScript oluştur.

  3. Aşağıdaki kodu yeni script'e yapıştırın.

    Yerel Kod - Özel Kataloğu 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)

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:

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

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

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

  4. Yeni bir LocalScript StarterPlayerScripts altında girin.

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

    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 dükkan bölgeleri arasında itere
    for _, region in CollectionService:GetTagged("ShopRegion") do
    setupRegion(region)
    end
    -- Non-streamed dükkan bölgelerinin akışlandığında tespit et
    CollectionService: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.Sphere
myParticleEmitter.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.

AnahtarTürAçıklama
assetIdsayıöğeverilen Katalog ID'si, addItemAsync 'e geçer.
titlediziKataloğa göründüğünde öğenin adı.
pricesayıRobux'ta öğenin fiyatı.
descriptiondiziKataloğa göründüğü gibi öğe açıklaması.
assetTypediziöğeaksesuar yaztemsil eden bir yol.
isOwnedbooleanMevcut oyuncunun öğeyi sahip olup olmadığı.
creatorNamediziKataloğa gösterildiği gibi öğe oluşturucu.
creatorTypeEnum.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
ProximityPromptsYakı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.
FilterKatma 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.
ViewItemBelirli 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

yapılandır(Config: table )

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.

AnahtarAçıklamaVarsayılan
backgroundColorPencerenin ana arka plan rengi ( Color3 ).[0, 0, 0]
cornerRadiusAna pencere için köşe çevresi (UDim).(0, 16)
cornerRadiusSmallPencerede bulunan elemanlar için köşe çevresi (UDim).(0, 8)
textFontFiyatlar, açıklamalar ve diğer genel bilgiler gibi "ana metin" fontu ( Enum.Font ).Gotham
textSizeAna metnin boyutu.14
textColorAna metni rengi ( Color3 ).[255, 255, 255]
secondaryTextColorAna metnin bazı çeşitleri için kullanılan renk ( Color3 ).[153, 153, 158]
headerFontPencere başlığı için kullanılan başlık kutusunun fontu (Enum.Font).GothamMedium
headerTextSizePencere 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
buttonColorEtkileş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]
buttonTextColorEş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]
secondaryButtonColorKataloğun görünümündeki fiyat düğmesi gibi daha küçük düğmelere arka plan rengi ayarlar ( Datatype.Color3 ).[34, 34, 34]
secondaryButtonTextColorKataloğun görünümündeki fiyat düğmesi gibi daha küçük butonlar için metin rengi ( Datatype.Color3 ).[255, 255, 255]
inactiveButtonColorTıklanabilir olmayan bir devletin tüm düğmeleri için arka plan rengi ( Color3 ).[153, 153, 158]
inactiveButtonTextColorTüm düğmelere bir tıklanabilir olmayan devletdeki yazı rengi ( Color3 ).[255, 255, 255]
particleEmitterTemplateTakı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

addItemAsync(assetId: number , productType: Enum.InfoType , hideFromCatalog: boolean )

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

getItems() : table

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

Item(assetId: number) kaldır

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

yakınlıkButonu ekYakınlıkButton(adornee: BasePart | Model | Attachment , assetId: 1> number1>)

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 düğmesini kaldır (adornee: BasePart | Model | Attachment )

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

setCatalogSort(sortFunction: function): boolean

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

setControlKeyCodes(控制: MerchBooth.Controls , anahtarKodları: table )

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

openMerchBooth()

Ü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

openItemView(itemId: number )

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

toggleCatalogButton( boolean )

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

isMerchBoothOpen() : Tuple

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ı

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

isMerchBoothEnabled() boolean

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

setEnabled(enabled: button )

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 then
MerchBooth.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)