TicaretStandı geliştirici modülü, deneyiminiz içinde doğrudan avatar varlıklarını, geçişleri ve geliştirici ürünlerini satmanızı sağlar. Oyuncular öğeleri gözden geçirebilir, varlıkları kendi avatarlarında önizleyebilir, öğeleri satın alabilir ve bunları anında kullanabilir veya kuşanabilir — hepsi deneyiminizden çıkmadan. Bu, deneyiminizi para kazanmak ve diğer yaratıcıların ürünlerini satmanın ilişkilendirilmiş %40 komisyon ücreti aracılığıyla gelir elde etmenize yardımcı olabilir.
Modül kullanımı
Kurulum
Deneyiminizde TicaretStandı modülünü kullanmak için:
Studio'nun Pencere menüsünden veya Ana Sayfa sekme araç çubuğundan Araç Kutusunu açın ve Yaratıcı Mağaza sekmesini seçin.

Modeller sıralamasının seçili olduğundan emin olun, ardından Kategoriler için Tümünü Gör butonuna tıklayın.

Paketler karosunu bulun ve tıklayın.
Ticaret Standı modülünü bulun ve üzerine tıklayın veya 3D görünümüne sürükleyip bırakın.

Explorer penceresinde, tüm TicaretStandı modelini ReplicatedStorage içine taşıyın. Deneyimi çalıştırdığınızda modül ç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 yapılandır işlevi aracılığıyla kolayca özelleştirilebilir. Örneğin, daha açık bir tema oluşturmak ve katalog görünümünün sol üst bölümündeki varsayılan Filtre butonunu devre dışı bırakmak için:
StarterPlayerScripts içinde yeni bir LocalScript oluşturun ve adını TicaretStandıYapılandır olarak değiştirin.

Yeni betiğe aşağıdaki kodu yapıştırın.
LocalScript - TicaretStandıYapılandırlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)TicaretStandı.yapılandır({backgroundColor = Color3.fromRGB(220, 210, 200),textSize = 17,textFont = Enum.Font.Fondamento,textColor = Color3.fromRGB(20, 20, 20),useFilters = false})
Öğeler ekleyin
Bir ticaret standı olmadan ne olur? Aşağıdaki bölümler, ticaret standınıza avatar varlıkları, geçişler ve geliştirici ürünleri eklemenin yollarını anlatmaktadır.
Avatar varlıkları
Giysi ve aksesuarlar gibi öğeler, öğenin ayrıntı sayfasında bulunan varlık ID'sini kullanarak eklenmelidir. Avatar Mağazası.
ServerScriptService içinde bir Script oluşturun ve aşağıdaki kodu yapıştırın.
Script - Avatar Varlıklarını Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()TicaretStandı.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendHer bir öğenin varlık ID'sini Avatar Mağazası web sitesindeki URL'den kopyalayın. Örneğin, Roblox Beyzbol Şapkası'nın ID'si 607702162'dir.

Her kopyalanan ID'yi items tablosunda virgülle ayrılmış bir liste halinde yapıştırın. Varsayılan olarak, öğeler katalog görünümünde alfabetik sıraya göre görünür, ancak setCatalogSort işlevini kullanarak sıralamayı özelleştirebilirsiniz.
Script - Avatar Varlıklarını Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)local items = {607702162, -- Roblox Beyzbol Şapkası4819740796, -- Robox1374269, -- Kedi Kulakları11884330, -- Zeki Gözlükler10476359, -- Kağıt Şapka}for _, assetId in items dolocal success, errorMessage = pcall(function()TicaretStandı.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endend
Geçişler
Geçişlerin eklenmesi, Yaratıcı Kontrol Paneli'nde bulunan geçiş ID'lerini gerektirir.
ServerScriptService içinde bir Script oluşturun ve aşağıdaki kodu yapıştırın.
Script - Geçişleri Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()TicaretStandı.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendYaratıcı Kontrol Paneli'ne gidin ve deneyiminizi seçin.
Sol sütunda, Para Kazanma altında Geçişler'i seçin.
Bir geçişin küçük resminin üzerine gelin, ⋯ butonuna tıklayın ve açılan menüden Varlık ID'sini Kopyala'yı seçin.

Her kopyalanan ID'yi items tablosunda virgülle ayrılmış bir liste halinde yapıştırın ve öğelerin geçiş olduğunu belirtmek için addItemAsync işlevinin ikinci parametresi olarak Enum.InfoType.GamePass'i ekleyin. Varsayılan olarak, öğeler katalog görünümünde alfabetik sıraya göre görünür, ancak sıralama setCatalogSort işlevi ile özelleştirilebilir.
Script - Geçişleri Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)local items = {4343758, -- ColdFyre Zırhı28521575, -- Sümük Kalkanı}for _, assetId in items dolocal success, errorMessage = pcall(function()TicaretStandı.addItemAsync(assetId, Enum.InfoType.GamePass)end)if not success thenwarn(errorMessage)endend
Geliştirici Ürünleri
Geliştirici ürünlerinin eklenmesi, Yaratıcı Kontrol Paneli'nde bulunan ürün ID'lerini gerektirir.
ServerScriptService içinde bir Script oluşturun ve aşağıdaki kodu yapıştırın.
Script - Geliştirici Ürünleri Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)local items = {}for _, assetId in items dolocal success, errorMessage = pcall(function()TicaretStandı.addItemAsync(assetId)end)if not success thenwarn(errorMessage)endendYaratıcı Kontrol Paneli'ne gidin ve deneyiminizi seçin.
Sol sütunda, Para Kazanma altında Geliştirici Ürünleri'ni seçin.
Bir ürünün küçük resminin üzerine gelin, ⋯ butonuna tıklayın ve açılan menüden Varlık ID'sini Kopyala'yı seçin.

Her kopyalanan ID'yi items tablosunda virgülle ayrılmış bir liste halinde yapıştırın ve öğelerin geliştirici ürünleri olduğunu belirtmek için addItemAsync işlevinin ikinci parametresi olarak Enum.InfoType.Product'ı ekleyin. Varsayılan olarak, öğeler katalog görünümünde alfabetik sıraya göre görünür, ancak sıralama setCatalogSort işlevi ile özelleştirilebilir.
Script - Geliştirici Ürünleri Eklelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)local items = {1236602053, -- Mana Yenileme1257880672, -- İyileştirici İksir}for _, assetId in items dolocal success, errorMessage = pcall(function()TicaretStandı.addItemAsync(assetId, Enum.InfoType.Product)end)if not success thenwarn(errorMessage)endend
Alışveriş Yapılabilen Buton
Varsayılan olarak, sağ tarafta bir alışveriş yapabilme butonu oyuncuların standı her zaman açmasını sağlar.

Bazı durumlarda, bu butonu kaldırmak ve kendi butonunuzu bağlamak faydalı olabilir:
Butonlar belgesinde açıklandığı gibi yeni bir buton oluşturun.
Buton nesnesinin çocuğu olarak bir LocalScript oluşturun.

Yeni betiğe aşağıdaki kodu yapıştırın.
LocalScript - Özel Alışveriş Yapılabilen Butonlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)-- Varsayılan alışveriş yapabilme butonunu kaldırTicaretStandı.toggleCatalogButton(false)-- Özel butonu bağlascript.Parent.Activated:Connect(function()TicaretStandı.openMerchBooth()end)
Alışveriş Yapılabilir Alanlar
Deneyiminizde satışları artırmak için, bir oyuncunun bir alana girdiğinde otomatik olarak ticaret standını göstermek iyi bir yöntemdir.
Bir alışveriş yapabilir alan oluşturmak için:
Tespit alanını kapsayan Anchored bloğu oluşturun. Bloğun, karakter modellerinin PrimaryPart'i ile çarpışacak kadar yüksek olduğundan emin olun (HumanoidRootPart varsayılan olarak).

Oyuncuların dükkan tezgahının önüne yaklaşırken tespit edilmesi için blok Bloğun özelliklerinin Etiketler bölümünü kullanarak, ShopRegion etiketini bloğa uygulayın, böylece CollectionService bunu tespit edebilir.
Parçanın Transparency değerini maksimuma ayarlayın, böylece deneyimde oyunculardan gizli kalır. Ayrıca onun CanCollide ve CanQuery özelliklerini devre dışı bırakın, böylece nesnelerle fiziksel olarak çarpışmaz ve ışın izleme (raycasting) tarafından tespit edilmez.


StarterPlayerScripts altında yeni bir LocalScript ekleyin.

Yeni betikte, karakterlerin alanı terk edip etmediğini algılamak için Touched ve TouchEnded olaylarını kullanarak ve openMerchBooth ve closeMerchBooth işlevlerini çağırarak alanı açıp kapatacak şekilde aşağıdaki kodu yapıştırın.
LocalScriptlocal Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)-- Varsayılan alışveriş yapabilme butonunu kaldırTicaretStandı.toggleCatalogButton(false)local function setupRegion(region: BasePart)region.Touched:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenTicaretStandı.openMerchBooth()endend)region.TouchEnded:Connect(function(otherPart)local character = Players.LocalPlayer.Characterif character and otherPart == character.PrimaryPart thenTicaretStandı.closeMerchBooth()endend)end-- Mevcut etiketli alışveriş bölgeleri üzerinden dönfor _, region in CollectionService:GetTagged("ShopRegion") dosetupRegion(region)end-- Akışa alma yapılmayan alışveriş bölgeleri tanımlandığında tespit etCollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)
Yakınlık İpuçları
2D katalog görünümüne alternatif olarak, deneyim içindeki nesnelerin üzerine yakınlık ipuçları ekleyebilirsiniz. Bu, oyuncuların 3D ortamda öğeleri keşfetmelerini, önizlemelerini, satın almalarını ve anında kuşanmalarını teşvik eder. Ayrıntılar için addProximityButton belgesine bakın.
Eşya Donatma Efektini Değiştir
Varsayılan olarak, ticaret standı bir oyuncu bir öğe donattığında genel bir parıltı efekti gösterir. Etkiyi değiştirmek için, particleEmitterTemplate'i bir ParticleEmitter örneğinize ayarlayın yapılandır çağrısında.
LocalScript - TicaretStandıYapılandırlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)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)TicaretStandı.yapılandır({particleEmitterTemplate = myParticleEmitter})
GUI Görünürlüğü
Varsayılan olarak, ticaret standı UI'sı açıldığında tüm ScreenGuis ve CoreGuis'yi gizler, bunlar arasında sohbet, lider tablosu ve Roblox'un dahil ettiği diğerleri de bulunur. Bu davranışı devre dışı bırakmak isterseniz, yapılandır çağrısında hideOtherUis'yi false olarak ayarlayın.
LocalScript - TicaretStandıYapılandırlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)TicaretStandı.yapılandır({hideOtherUis = false})
Karakter Hareketi
Bir karakterin ticaret standında iken hareket etmesini engellemek faydalı olabilir. Bu, yapılandır çağrısında disableCharacterMovement'i true olarak ayarlayarak yapılabilir.
LocalScript - TicaretStandıYapılandırlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)TicaretStandı.yapılandır({disableCharacterMovement = true})
API Referansı
Türler
Eşya
Ticaret standındaki ürünler, aşağıdaki anahtar-değer çiftleriyle bir sözlük olarak temsil edilir. Öğeler, getItems işlevi veya itemAdded olayı aracılığıyla toplanabilir.
| Anahtar | Tür | Açıklama |
|---|---|---|
| assetId | sayı | Öğenin katalog ID'si, addItemAsync ile geçen. |
| title | dize | Öğenin katalogda göründüğü başlık. |
| price | sayı | Öğenin Robux cinsinden fiyatı. |
| description | dize | Öğenin katalogda görünen açıklaması. |
| assetType | dize | Öğenin aksesuar türünü temsil eden dize. |
| isOwned | bool | Mevcut oyuncunun ürünü sahip olup olmadığını belirtir. |
| creatorName | dize | Öğenin katalogda görünen yaratıcı adı. |
| creatorType | Enum.CreatorType | Ürün için yaratıcının türü. |
Enum'lar
TicaretStandı. Kontroller
Ticaret standıyla etkileşimde bulunmak için tuşları ve gamepad butonlarını özelleştirmek için setControlKeyCodes ile birlikte kullanılır.
| Ad | Özet |
|---|---|
| ProximityPrompts | Öğelerin görünümünü açmak için ayarlanan yakınlık ipuçları için anahtar ve/veya gamepad butonu. |
| OpenMerchBooth | Ticaret standını açmak için anahtar ve/veya gamepad butonu. |
| CloseMerchBooth | Ticaret standını kapatmak için anahtar ve/veya gamepad butonu. |
| Filter | Katalog görünümünün sol üst kısmında gösterilen varsayılan Filtre açılırını kullanmak için anahtar ve/veya gamepad butonu. |
| ViewItem | Belirli bir ticaret standı öğesinin görünümünü açmak için anahtar ve/veya gamepad butonu. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)TicaretStandı.setControlKeyCodes(TicaretStandı.Kontroller.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1})
İşlevler
yapılandır
yapılandır(config: table)
config tablosundaki aşağıdaki anahtar/değerler aracılığıyla varsayılan istemci tarafı yapılandırma seçeneklerini geçersiz kılmaktadır. Bu işlev yalnızca bir LocalScript içinde çağrılabilir.
| Anahtar | Açıklama | Varsayılan |
|---|---|---|
| backgroundColor | Pencerenin ana arka plan rengi (Color3). | [0, 0, 0] |
| cornerRadius | Ana pencerenin 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" için yazı tipi (Enum.Font). | Gotham |
| textSize | Ana metin boyutu. | 14 |
| textColor | Ana metin rengi (Color3). | [255, 255, 255] |
| secondaryTextColor | Ana metin değişkenlerinin bazıları için kullanılan renk (Color3). | [153, 153, 158] |
| headerFont | Pencere başlığı için kullanılan başlık metni yazı tipi (Enum.Font). | GothamMedium |
| headerTextSize | Pencere başlığı için kullanılan başlık metni boyutu. | 18 |
| titleFont | Öğenin ayrıntı sayfasındaki öğe adları için kullanılan başlık metni yazı biçimi (Enum.Font). | GothamBold |
| titleTextSize | Öğenin ayrıntı sayfasındaki öğe adları için kullanılan başlık metni boyutu. | 28 |
| buttonColor | Öğenin görünümündeki ana satın alma butonu gibi tıklanabilir durumda olan büyük butonların arka plan rengi (Color3). | [255, 255, 255] |
| buttonTextColor | Öğenin görünümündeki ana satın alma butonu gibi tıklanabilir durumda olan büyük butonların metin rengi (Color3). | [0, 0, 0] |
| secondaryButtonColor | Katalog görünümündeki fiyat butonları veya Deneme butonu gibi daha küçük butonlar için arka plan rengi (Color3). | [34, 34, 34] |
| secondaryButtonTextColor | Katalog görünümündeki fiyat butonları veya Deneme butonu gibi daha küçük butonlar için metin rengi (Color3). | [255, 255, 255] |
| inactiveButtonColor | Bir tıklama durumunda olmayan durumda olan tüm butonların arka plan rengi (Color3). | [153, 153, 158] |
| inactiveButtonTextColor | Bir tıklama durumunda olmayan durumda olan tüm butonların metin rengi (Color3). | [255, 255, 255] |
| particleEmitterTemplate | Donatıldığında görünen ve oynatılan isteğe bağlı özel ParticleEmitter örneği. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)TicaretStandı.yapılandır({backgroundColor = Color3.fromRGB(255, 255, 255),textSize = 16,textFont = Enum.Font.Roboto,textColor = Color3.fromRGB(20, 20, 20),hideOtherUis = false,})
addItemAsync
addItemAsync(assetId: number, productType: Enum.InfoType, hideFromCatalog: boolean)
Bir öğeyi ticaret standına ekleyerek deneyimde satın alınabilir hale getirir. assetId, ürünün varlık ID'sidir, productType, ürünün Enum.InfoType enumudur ve hideFromCatalog, ürünün katalog görünümünde gizlenmesi için kullanılabilir.
Detaylar için Öğelerin Eklenmesi sayfasına bakın, çünkü kullanım varlıklar ile oyun geçişleri veya geliştirici ürünleri arasında biraz farklıdır.
Script - Avatar Varlıklarını Ekle
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local items = {
607702162, -- Roblox Beyzbol Şapkası
4819740796, -- Robox
1374269, -- Kedi Kulakları
11884330, -- Zeki Gözlükler
10476359, -- Kağıt Şapka
}
for _, assetId in items do
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
end
Script - Geçişleri Ekle
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local items = {
4343758, -- ColdFyre Zırhı
28521575, -- Sümük Kalkanı
}
for _, assetId in items do
local success, errorMessage = pcall(function()
TicaretStandı.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 TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local items = {
1236602053, -- Mana Yenileme
1257880672, -- İyileştirici İksir
}
for _, assetId in items do
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(assetId, Enum.InfoType.Product)
end)
if not success then
warn(errorMessage)
end
end
getItems
getItems(): table
Şu anda kaydedilmiş tüm öğeleri temsil eden bir sözlük döner. Her anahtar bir öğenin varlık ID'si olarak bir dize ve her anahtarın değeri bir Eşyadır. Bu işlev yalnızca bir Script içinde çağrılabilir.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(4819740796)
end)
if success then
local items = TicaretStandı.getItems()
print(items)
end
removeItem
removeItem(assetId: number)
Daha önce addItemAsync ile eklenen bir öğeyi kayıttan çıkarır, katalog görünümündeki tilesını ve ona atanan tüm yakınlık ipuçlarını kaldırır. Bu işlev yalnızca bir Script içinde çağrılabilir.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(4819740796)
end)
if success then
-- Bazı zaman sonra öğeyi kaldır
task.wait(5)
TicaretStandı.removeItem(4819740796)
end
addProximityButton
addProximityButton(adornee: BasePart|Model|Attachment, assetId: number)
Verilen adornee'ye, onun varlık ID'sini belirterek bir yakınlık ipucu ekler. Bu, 3D ortamda ürünlerin keşfedilmesini teşvik eder.
Not: Bir öğe, bir yakınlık butonuna atanmadan önce addItemAsync ile eklenmiş olmalıdır. Ayrıca, bir nesneden yakınlık ipucunu kaldırmak için removeProximityButton ile bakın.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(4819740796)
end)
if success then
local item = Workspace:FindFirstChild("Robox")
if item then
TicaretStandı.addProximityButton(item, 4819740796)
end
end
removeProximityButton
removeProximityButton(adornee: BasePart|Model|Attachment)
addProximityButton ile oluşturulan bir yakınlık ipucu kaldırır. Bu işlev yalnızca bir Script içinde çağrılabilir.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(4819740796)
end)
if success then
local item = Workspace:FindFirstChild("Robox")
if item then
TicaretStandı.addProximityButton(item, 4819740796)
end
-- Bir süre sonra ipucunu kaldır
task.wait(5)
TicaretStandı.removeProximityButton(item)
end
setCatalogSort
setCatalogSort(sortFunction: function): boolean
Katalog görünümünde kullanılacak sıralama işlevini sortFunction olarak ayarlar. Sağlanan sıralama işlevi, price veya title gibi Eşya bilgilerine dayalı mantık kullanabilir. Bu işlev yalnızca bir LocalScript içinde çağrılabilir.
Katalogu sıralamak için birkaç örnek:
Fiyat Düşükten Yükseğe
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.setCatalogSort(function(a, b)
return a.price < b.price
end)
Fiyat Yüksekten Düşüğe
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.setCatalogSort(function(a, b)
return a.price > b.price
end)
Fiyat Düşükten Yükseğe & Alfabetik
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.setCatalogSort(function(a, b)
return if a.price == b.price then a.title < b.title else a.price < b.price
end)
setControlKeyCodes
setControlKeyCodes(control: TicaretStandı.Kontroller, keyCodes: table)
Ticaret standı ile etkileşimler için tuş ve buton değerlerini yapılandırır. İlk parametre bir TicaretStandı.Kontroller enum'u, ikinci parametre ise keyboard ve/veya gamepad anahtarlarını içeren bir tablodur.
| Enum (control) | Varsayılan keyCodes Anahtarları/Değerleri |
|---|---|
| TicaretStandı.Kontroller.ProximityPrompts | keyboard = Enum.KeyCode.E gamepad = Enum.KeyCode.ButtonY |
| TicaretStandı.Kontroller.OpenMerchBooth | gamepad = Enum.KeyCode.ButtonY |
| TicaretStandı.Kontroller.CloseMerchBooth | gamepad = Enum.KeyCode.ButtonB |
| TicaretStandı.Kontroller.Filter | gamepad = Enum.KeyCode.ButtonX |
| TicaretStandı.Kontroller.ViewItem | gamepad = Enum.KeyCode.ButtonA |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)TicaretStandı.setControlKeyCodes(TicaretStandı.Kontroller.ProximityPrompts, {keyboard = Enum.KeyCode.Q,gamepad = Enum.KeyCode.ButtonL1,})
openMerchBooth
openMerchBooth()
Ticaret standı penceresini (kapatılmışsa) açar ve katalog görünümüne yönlendirir. Bu işlev yalnızca bir LocalScript içinde çağrılabilir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(assetId)
end)
if not success then
warn(errorMessage)
end
TicaretStandı.openMerchBooth()
openItemView
openItemView(itemId: number)
Verilen itemId için tek bir öğe görünümüne yönlendirir, ticaret standı penceresini eğer şu anda kapalıysa açar. Bu işlev yalnızca bir LocalScript içinde çağrılabilir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(4819740796)
end)
if success then
TicaretStandı.openItemView(4819740796)
end
toggleCatalogButton
toggleCatalogButton(enabled: boolean)
Ekranın sağ tarafındaki katalog butonunu açıp kapatır. Bu, özel buton uygular veya ticaret standının görünümünü bölgeler veya yakınlık ipuçlarıa sınırlamak için faydalıdır. Ancak bir LocalScript içinde çağrılabilir.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)TicaretStandı.toggleCatalogButton(false)
isMerchBoothOpen
isMerchBoothOpen(): Tuple
Katalog veya öğe görünümü açıldığında true döner. Eğer öğe görünümü açıksa, öğenin varlık ID'si ikinci değer olarak döner. Bu işlev yalnızca bir LocalScript içinde çağrılabilir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
local success, errorMessage = pcall(function()
TicaretStandı.addItemAsync(4819740796)
end)
if success then
TicaretStandı.openItemView(4819740796)
local isOpen, itemId = TicaretStandı.isMerchBoothOpen()
print(isOpen, itemId)
end
closeMerchBooth
closeMerchBooth()
Ticaret standı penceresini kapatır. Bu işlev yalnızca bir LocalScript içinde çağrılabilir.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)TicaretStandı.closeMerchBooth()
isMerchBoothEnabled
isMerchBoothEnabled(): boolean
Bu işlev, ticaret standının şu anda etkin olup olmadığını kontrol etmek amacıyla setEnabled ile birlikte kullanılabilir. Bir LocalScript içinde çağrılmalıdır.
setEnabled
setEnabled(enabled: boolean)
Ticaret standının etkin olup olmadığını ayarlar. Devre dışı bırakıldığında, bu işlev tüm UI'yi, yakınlık ipuçları da dahil olmak üzere kaldırır ve tüm olayları bağlantılarını keser. Bu işlev yalnızca bir LocalScript içinde çağrılabilir.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local TicaretStandı = require(ReplicatedStorage.TicaretStandı)local isEnabled = TicaretStandı.isMerchBoothEnabled()if isEnabled thenTicaretStandı.setEnabled(false)end
Olaylar
itemAdded
Bir öğe addItemAsync aracıyla eklendiğinde tetiklenir. Bu olay yalnızca bir Script içinde bağlanabilir.
| Parametreler | |
|---|---|
| assetId: number | Öğe varlık ID'si. |
| itemInfo: table | Fiyat veya başlık gibi öğe bilgilerini içeren sözlük. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.itemAdded:Connect(function(assetId, itemInfo)
print("Varlık ID'si ile öğe eklendi", assetId)
print(itemInfo)
end)
itemRemoved
Bir öğe removeItem aracılığıyla kaldırıldığında tetiklenir. Bu olay yalnızca bir Script içinde bağlanabilir.
| Parametreler | |
|---|---|
| assetId: number | Öğe varlık ID'si. |
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.itemRemoved:Connect(function(assetId)
print("Varlık ID'si ile öğe kaldırıldı", assetId)
end)
merchBoothOpened
Katalog veya öğe ayrıntı görünümü açıldığında tetiklenir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.merchBoothOpened:Connect(function()
print("Stant görünümü açıldı")
end)
merchBoothClosed
Katalog veya öğe ayrıntı görünümü kapandığında tetiklenir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.merchBoothClosed:Connect(function()
print("Stant görünümü kapandı")
end)
catalogViewOpened
Katalog görünümü açıldığında tetiklenir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.catalogViewOpened:Connect(function()
print("Katalog görünümü açıldı")
end)
catalogViewClosed
Katalog görünümü kapandığında tetiklenir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.catalogViewClosed:Connect(function()
print("Katalog görünümü kapandı")
end)
itemViewOpened
Öğe ayrıntı görünümü açıldığında tetiklenir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.itemViewOpened:Connect(function()
print("Öğe görünümü açıldı")
end)
itemViewClosed
Öğe ayrıntı görünümü kapandığında tetiklenir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TicaretStandı = require(ReplicatedStorage.TicaretStandı)
TicaretStandı.itemViewClosed:Connect(function()
print("Öğe görünümü kapandı")
end)