Sezon Geçişleri özellik paketi, oyuncuların önceden tanımlanmış bir süre boyunca yalnızca mevcut olan ödülleri kazanmak için görev hedeflerini tamamlayabileceği sınırlı süreli, görev tabanlı ilerleme sistemleri oluşturmak için çıkarına hazır işlevsellik sunar. Paketin özelleştirme seçeneklerini kullanarak, tüm sezon geçişlerinizi kişiselleştirerek hedef kitlenize yeni içerikler sunabilir, oyuncu bağlılığını artırabilir ve gelir elde edebilirsiniz.

Paketi alın
Yaratıcı Mağaza, projelerinizde kullanılmak üzere Roblox ve Roblox topluluğu tarafından oluşturulan tüm varlıkları bulmak için kullanabileceğiniz Araç Kutusu'nun bir sekmesidir; model, resim, ağ, ses, eklenti, video ve yazı tipi varlıklarını içerir. Yaratıcı Mağaza'da, özelliğe sahip paketler de dahil olmak üzere, açık bir deneyime bir veya daha fazla varlık ekleyebilirsiniz!
Her özellik paketi, düzgün çalışabilmesi için Temel özellik paketini gerektirir ve Sezon Geçişleri paketi de bir sezonun görevlerini tanımlamak için Görevler özellik paketini gerektirir. Bu üç paket varlığı envanterinizde olduğunda, bunları platformdaki herhangi bir projede yeniden kullanabilirsiniz.
Envanterdeki paketleri deneyiminize almak için:
Temel, Görevler ve Sezon Geçişleri paketlerini, aşağıdaki bileşenler setinde Envantere Ekle bağlantısına tıklayarak Stüdyo içinde envanterinize ekleyin.
Stüdyo'nun Pencere menüsünden veya Ana Sayfa sekmesi araç çubuğundan Araç Kutusu'nu açın.
Araç Kutusu penceresinde, Envanter sekmesine tıklayın. Modellerim sıralaması görüntülenir.

Özellik Paketi Temel kutucuğuna, Görevler Özellik Paketi kutucuğuna ve ardından Sezon Geçişleri Özellik Paketi kutucuğuna tıklayın. Üç paket klasörü de Gezgin penceresinde görüntülenir.
Paket klasörlerini ReplicatedStorage içine sürükleyin.
Paketlerle oyuncu satın alımlarını izlemek için veri depolama çağrılarına izin verin.
- Stüdyo'nun Dosya ⟩ Deneyim Ayarları penceresini açın.
- Güvenlik sekmesine gidin, ardından API Servislerine Stüdyo Erişimini Etkinleştir seçeneğini etkinleştirin.
Görev bağımlılıklarını yapılandırma
Sezonların düzgün çalışabilmesi için, Sezon Geçişleri özellik paketinin oyuncu ilerlemesini takip edip UI bileşenlerini güncelleyebilmesi için mantık eklemeniz gerekir. Basitlik açısından, aşağıdaki örnek Görevler özellik paketini kullanmakta ve oyuncular görevleri tamamladıktan sonra SeasonPasses.addProgressToSeason() çağrısını yapmaktadır; ancak oyuncu ilerlemesini istediğiniz gibi takip edebilirsiniz. Görevleri tanımlayıp tanımlamadığınıza bakılmaksızın, Sezon Geçişleri kodunun çalışabilmesi için deneyiminize Görevler özellik paketini eklemeniz gerekir.
Görevlerin her biri, görevi tamamlamak için bitirilmesi gereken bir dizi görev, yapılandırma seçenekleri ve isteğe bağlı görüntüleme meta verileri içerir. Görevleri ve görevlerini yapılandırma hakkında kapsamlı bir rehber için Görevleri Tanımlama bölümüne bakın.
Görevlerden sezonlara XP ekleme
Bu örnek, oyuncuların deneyim kazanabileceği ve sezonda ilerleyebileceği görevleri tanımlamak için Görevler özellik paketini kullanmaktadır. Oyuncular bir tanımlı görevi tamamladıklarında onlara XP vermek için, ReplicatedStorage.Missions.Server.Examples.MissionsExample sunucu betiğine mantık eklemeniz gerekir, böylece sezon geçişi verilerini içe aktarabilir ve oyuncuları ilerlemelerine göre ödüllendirebilir.
local SeasonPasses = require(ReplicatedStorage.SeasonPasses.Server.SeasonPasses)
local function completeHandler(player: Player, missionId: Types.MissionId)
print(`{player} görevi tamamladı: {missionId}`)
if missionId == "Walking" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Walking2" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Walking3" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Availability" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Manual" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Minutely" then
SeasonPasses.addProgressToSeason(player, 100)
end
end
Sezon katman ödül simge ekleme
Oyuncular görevleri tamamladıklarında onlara XP vermenin yanı sıra, Sezon Geçişleri özellik paketi, bir sezondaki benzersiz ödül katmanlarını tanımlamak için Görevler özellik paketini kullanır. Oyuncuların yeterli XP aldıklarında kazanabilecekleri bir katman ödülünün ekran simgesini eklemek istiyorsanız, her sezon katman ödülü için Missions yapılandırmasında bir varlık kimliği ekleyin.
Tier3Mission = {categoryId = "Genel",metadata = {displayName = "Katman 3 Görevi",description = "10 kez zıpla",visibleAfterComplete = true,visibleBeforeUnlocked = true,rewards = {{icon = 16826775737,displayName = "Öğe",},{icon = 106912146245070,displayName = "Sezon XP",},},},}
Sezonları yapılandırma
Bir sezona dahil etmek istediğiniz her görevi ayarladıktan sonra, sezon geçişini yapılandırma zamanı gelmiştir. ReplicatedStorage.SeasonPasses.Configs.Season içinde, referansınız için bir sezon yapılandırması örneği bulunmaktadır ve aşağıdaki kod örnekleri bu dosyadan alınmıştır.
Geçişleri tanımlama
Geçişler, bir sezon geçişinin görevlerini ve potansiyel ödüllerini erişmek için oyunculardan tek seferlik bir Robux ücreti almanızı sağlar. Benzersiz bir varlık kimliğiyle bir geçiş oluşturduktan sonra, geçişin ayrıntılarını sezonunuzun premiumTrack alanında ayarlayabilirsiniz. Örneğin, aşağıdaki kod örneği 928192647 örnek varlık kimliğine sahip bir geçiş tanımlar, ardından sezon geçişine "Premium Geçiş" adlı bir iz adı verir.
premiumTrack = {pricing = {gamePassId = 928192647,},trackMetadata = {trackName = "Premium Geçiş",},},
Katmanları ve ödülleri yapılandırma
Sezon katmanları, oyuncuların bir sezon boyunca ödüller kazanmak için karşılamaları gereken kilometre taşlarını temsil eder. Katmanlarda ilerlemek için oyuncular görevleri tamamlayarak XP kazanırlar ve yeterli XP kazandıklarında bir sonraki katmana terfi ederler ve yalnızca tamamladıkları katman için ödüller alırlar. Katmanlar, bir katman için ödülleri talep etmek için gerekli olan XP eşiğini belirleyen bir upperBoundXP özelliğine sahiptir. Her katman iki tür ödül sunabilir:
- Ücretsiz - Oyuncuların sezon geçişini satın almadan kazanabileceği bir ödül.
- Premium - Oyuncuların yalnızca sezon geçişini satın alarak kazanabileceği bir ödül.
Gösterim için, ücretsiz bir buz mızrağı ödülü ve bir premium patlayıcı kalkan ödülü elde etmek için 100 XP gerektiren bir katmana sahip bir sezon için aşağıdaki kod örneğini gözden geçirin. icon, bir ödül için görüntülenmesi gereken UI resmi için varlık kimliğidir ve displayName, ödül için bir ad gösterir. Not alın ki displayName, UI'de görüntülenir, ancak rewardId, oyuncudan gizlidir ve esasen veri depolama amaçları için kullanılır.
tiers = {[1] = {upperBoundXP = 100,freeReward = {icon = 128181721602852,displayName = "Buz Mızrağı",rewardId = "iceLance",},premiumReward = {icon = 95882371958115,displayName = "Patlayıcı Kalkan",rewardId = "blastShield",},},}
Bu betik, bir seferde bir katmanı yapılandırmanın nasıl göründüğünü göstermek için tasarlanmışken, çoğu sezon birden fazla katman içerir. Bir sezon için birden fazla katman ve ödül tanımlarken, her rewardId'nin sayısal olduğundan ve artan bir düzen içinde bulunduğundan emin olun; böylece katmanlar, tanımladığınız sırayla görüntülenir.
Sezon ayrıntılarını tanımlama
Artık katmanları ve ödülleri olan bir sezon geçişine sahip olduğunuza göre, sezonunuzun ayrıntılarını tanımlama zamanı:
- title - Sezonunuzun adı.
- description - Sezonunuzun açıklaması.
- startUtc - Sezonun evrensel zaman diliminde başlangıcı.
- endUtc - Sezonun evrensel zaman diliminde sonu.
- seasonId - Bir oyuncunun ilgili sezon boyunca kazandığı XP'yi takip etmenizi sağlar.
Paket, sezonun geri sayımını göstermek için startUtc ve endUtc kullanır.
startUtc = DateTime.fromUniversalTime(2024, 10, 01, 17, 0, 0),endUtc = DateTime.fromUniversalTime(2025, 2, 28, 17, 0, 0),title = "Sezon 1",description = "Uzaya Şehir",seasonId = "season1",
Sunucu mantığını entegre etme
Sezon Geçişleri Özellik Paketi ile sunucunuzun nasıl etkileşime geçeceğine bir göz atın; ReplicatedStorage.SeasonPasses.Server.Examples.SeasonPassesExample dosyasında bulunmaktadır. Aşağıdaki kod parçası o betikten alınmıştır.
Oyuncularınıza talep edilen ödülleri vermek için bir işleyici işlevi oluşturmanız gerekir. Örneğin, aşağıdaki kod örneği, oyuncuların bir sonraki katmana geçtiklerinde izleyen bir rewardClaimedHandlerFunction() işlevi oluşturur; ardından onlara ya sadece ücretsiz ödülü ya da sezon geçişini satın almışlarsa her iki ödülü de verir.
İhtiyacınıza göre, task.wait() çağrısını, oyuncuların sezon boyunca talep ettikleri ödülleri almalarını sağlayacak mantıkla değiştirin. Bu işlev kesinlikle bir boolean döndürmelidir: sunucu ödülü verirse true, vermezse false.
local function rewardClaimedHandlerFunction(_player: Player, _rewardId: Types.RewardId): boolean
task.wait(2)
return true
end
local function initializeRewardClaimedHandlers()
for tierId, tier in pairs(Season.tiers) do
if tier then
if tier.freeReward then
SeasonPasses.setRewardClaimedHandler(tier.freeReward.rewardId, rewardClaimedHandlerFunction)
end
if tier.premiumReward then
SeasonPasses.setRewardClaimedHandler(tier.premiumReward.rewardId, rewardClaimedHandlerFunction)
end
end
end
end
Sabitleri yapılandırma
Temel özellik paketi için sabitler iki yerde bulunur:
- Paylaşılan sabitler ReplicatedStorage.FeaturePackagesCore.Configs.SharedConstants içinde yer alır.
- Paket-özel sabitler, bu durumda Sezon Geçişleri özellik paketi, ReplicatedStorage.SeasonPasses.Configs.Constants içinde yer alır. Deneyiminizin tasarım gereksinimlerini karşılamak için ayarlamak isteyebileceğiniz ana şeyler:
- Ses varlık kimlikleri
- Satın alma efektinin süresi ve parçacık renkleri Ayrıca, çeviri için ayrılmış string'leri tek bir yerde bulabilirsiniz: ReplicatedStorage.FeaturePackagesCore.Configs.TranslationStrings.
UI bileşenlerini özelleştirme
Paketteki nesneleri, renkler, yazı tipi ve saydamlık gibi değiştirerek, sezon geçişi istemlerinizi görsel olarak ayarlayabilirsiniz. Ancak, herhangi bir nesneyi hiyerarşide hareket ettirirseniz, kod onları bulamayacak ve kodunuzda ayarlama yapmanız gerekecek.
Bir sezon, Görevler Özellik Paketi UI bileşenlerine programatik olarak eklenen aşağıdaki yüksek seviyeli bileşenlerden oluşur:
- SeasonBottomFrame – Her iz hakkında bilgi, ödüllerin kaydırıldığı bir çerçeve ve katman verileri içeren çerçeve.
- SeasonDescriptionFrame - Sezon başlığını, açıklamasını ve geri sayımını görüntüleyen başlık çerçevesi.
- TierRewardFrame - Bir katman için belirli bir ödülü gösteren çerçeve.
- TierProgressFrame - Oyuncunun üzerinde çalıştığı mevcut katman için ilerleme ölçüsünü gösteren çerçeve.
- PurchaseFrame - Oyuncuyu bir premium geçiş satın almaya yönlendiren çerçeve.
- SeasonProgressFrame - Oyuncunun tüm sezon boyunca ilerleme çubuğunu gösteren çerçeve.
- RewardsButtonFrame - Sezonun bilgilerini SeasonBottomFrame üzerinden göstermek için bir düğme ekleyen çerçeve.