Sezon Geçişleri özelliği paketi, oyuncuların yalnızca önceden tanımlanmış bir süre boyunca mevcut olan ödülleri kazanmak için görev hedeflerini tamamlayabilecekleri sınırlı süreli, görev tabanlı ilerleme sistemleri oluşturmak için kutudan dışarı çıkan işlevsellik sunar.Paketin özelleştirme seçeneklerini kullanarak, sezon kartlarını yeni içerikler sunmak, oyuncu tutma oranını teşvik etmek ve gelir elde etmek için kişiselleştirebilirsiniz.

Paket alın
Yaratıcı Dükkanı Roblox ve Roblox topluluğu tarafından yapılan tüm varlıkları bulmak için kullanabileceğiniz Araç Çubuğu'nun bir sekmesidir, model, görüntü, mesh, ses, eklenti, video ve font varlıkları dahil olmak üzere projelerinizde kullanılan tüm varlıkları bulmak için.Özellik paketleri de dahil olmak üzere açık bir deneyime bir veya daha fazla varlık doğrudan eklemek için Yaratıcı Dükkanı kullanabilirsiniz!
Her özellik paketi doğru çalışması için Çekirdek özellik paketine ihtiyaç duyar ve Sezon Biletleri paketi bir sezonun görevlerini tanımlamak için Görevler özellik paketine ihtiyaç duyar.Üç paket kaynağı tümü envanterinizde olduğunda, platformdaki herhangi bir projede yeniden kullanabilirsiniz.
Paketleri envanterinden deneyiminize almak için:
Studio içindeki envanterinize Çekirdek , Görevler ve Sezon Biletleri paketlerini eklemek için aşağıdaki bileşenlerden Envantere Ekle bağlantısına tıklayın.
Araç çubuğunda, Görüntüle sekmesini seçin.
Araç çantasına tıklayın . Araç çantası penceresi görüntülenir.
Araç kutusu penceresinde, Envanter sekmesine tıklayın. Modellerim sıralaması görüntülenir.
Özellik Paketi Çekirdeği tuşuna tıklayın, Görev Özellik Paketi tuşuna tıklayın, sonra Sezon Biletleri Özellik Paketi tuşuna tıklayın.Üç paket klasörü hepsi Gezgini penceresinde görüntülenir.
Paket klasörlerini Yeniden Yansıtılan Depoya sürükle.
Veri depolama çağrılarını paketlerle oyuncu satın alımlarını izlemeye izin verin.
- Araç çubuğunun Ana Sayfa sekmesinde, Oyun Ayarları seçin.
- Navigate to the Güvenlik sekmesine gidin, ardından Studio Erişimini API Hizmetlerine Etkinleştir etkinleştirin.
Görev bağımlılıklarını yapılandırma
Sezonların düzgün çalışması için, Sezon Biletleri özelliği paketinin oyuncu ilerlemesini izleyebilmesi ve UI bileşenlerini güncelleyebilmesi için mantık eklemelisiniz.Basitlik için, aşağıdaki örnek Görevler özelliği paketini kullanır ve oyuncular görevleri tamamladıktan sonra SeasonPasses.addProgressToSeason() arar, ancak istediğiniz şekilde oyuncu ilerlemesini izleyebilirsiniz.Görevleri tanımlayıp tanımlamadığınızla birlikte, Sezon Biletleri kodunun işlevini yerine getirmesi için deneyime Görevler özelliği paketi eklemelisiniz.
Her bir görevin, görevi tamamlamak, yapılandırma seçenekleri ve opcional görüntü verilerini göstermek için bitirilmesi gereken bir dizi görevleri vardır.Görevlerin ve görevlerin görevlerinin nasıl yapılandırılacağına dair derin bir rehber için, Görevleri tanımla bakın.
Sezonlara görevlerden XP ekleyin
Bu örnek, oyuncuların deneyim (XP) kazanmak ve sezon boyunca ilerlemek için tamamlayabilecekleri görevleri tanımlamak için Görevler özellik paketini kullanır.Belirlenmiş bir görevi tamamladığında oyunculara XP ödülü vermek için, ReplicatedStorage.Missions.Server.Examples.MissionsExample sunucu koduna mantık eklemelisiniz, böylece sezon geçişi verilerini ithal edebilir ve oyuncuları ilerlemelerine göre ödüllendirebilir.
local SeasonPasses = require(ReplicatedStorage.SeasonPasses.Server.SeasonPasses)
local function completeHandler(player: Player, missionId: Types.MissionId)
print(`{player} completed mission {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 kademesi ödül simgeleri ekleyin
Oyunculara görevleri tamamladıklarında XP vermenin yanı sıra, Sezon Biletleri özellik paketi, bir sezon içinde benzersiz ödül kademeleri tanımlamak için Görevler özellik paketini kullanır.Oyuncular yeterli XP kazanırsa alabilecekleri bir kademe ödülü için ekran üzeri bir simge eklemek istiyorsanız, her sezon kademe ödülü için bir varlıkID ekleyin Missions .
Tier3Mission = {categoryId = "General",metadata = {displayName = "Tier 3 Mission",description = "Jump 10 times",visibleAfterComplete = true,visibleBeforeUnlocked = true,rewards = {{icon = 16826775737,displayName = "Item",},{icon = 106912146245070,displayName = "Season XP",},},},}
Sezonları yapılandır
Sezon içine dahil etmek istediğiniz her görevi ayarladıktan sonra, sezon kartının kendisini yapılandırma zamanı geldi.In ReplicatedStorage.SeasonPasses.Configs.Season , referansınız için bir sezon yapılandırması örneği vardır ve aşağıdaki kod örnekleri bu dosyadan gelir.
Geçişleri tanımla
Geçişler bir sezon biletgörevlerine ve potansiyel ödüllerine erişmek için oyunculara tek seferlik bir Robux ücreti talep etmenize izin verir.Eşsiz bir varlık kimliği ile bir geçiş oluşturduktan sonra, sezonunuzdaki premiumTrack alanındaki geçişin detaylarını ayarlayabilirsiniz.Örneğin, aşağıdaki kod örneği, bir sezon bilettemsil etmek için bir örnek assetID'si olan bir geçiş tanımlar, ardından sezon kartına "Premium Track" adlı bir iz adı verir.
premiumTrack = {pricing = {gamePassId = 928192647,},trackMetadata = {trackName = "Premium Track",},},
Kademeleri ve ödülleri yapılandır
Sezon kademeleri, oyuncuların bir sezon boyunca ödül kazanmak için karşılaşması gereken kilometre taşlarını temsil eder.Kademeleri tırmanmak için, oyuncular XP kazanmak için görevleri tamamlar ve yeterli XP kazandıklarında bir sonraki kademeye geçer ve az önce bitirdikleri kademe için ödüller alır.Katmanların upperBoundXP bir özelliği vardır, bir kategorinin ödüllerini almak için gerekli olan XP sınırını ayarlar.Her kademe iki tür ödül sunabilir:
- Ücretsiz - Oyuncuların sezon biletini satın almadan kazanabileceği bir ödül
- Premium - Oyuncuların sezon biletini satın alarak kazanabileceği bir ödül.
Göstermek için, ücretsiz bir buz mızrak ödülü ve premium bir patlama kalkanı ödülü kazanmak için bir sezon için bir kademe gerektiren aşağıdaki kod örneğini inceleyin.The icon is the assetID of the UI image to display for a reward, ve the displayName ödül için bir isim görüntüler.Not that the displayName UI'de görüntülenir, ancak rewardId oyuncudan gizlenir ve çoğunlukla veri depolama amaçları için kullanılır.
tiers = {[1] = {upperBoundXP = 100,freeReward = {icon = 128181721602852,displayName = "Ice Lance",rewardId = "iceLance",},premiumReward = {icon = 95882371958115,displayName = "Blast Shield",rewardId = "blastShield",},},}
Bu senaryo, bir seferde bir kademeyi nasıl yapılandıracağınızı göstermek için olduğu sürece, çoğu sezon birden fazla kademe içerir.Bir sezon için çok sayıda kademe ve ödül tanımladığınızda, her rewardId 'in sayısal ve artış düzeninde olduğundan emin olun, böylece kademeleriniz seviye listesinde tanımladığınız düzende görüntülenir.
Sezon detaylarını tanımla
Seviyeler ve ödüllerle bir sezon kartına sahip olduğunuza göre, sezonun detaylarını belirleme zamanı geldi:
- title - Sezonunuzun adı.
- description - Sezonunuzun açıklaması.
- startUtc - Koordineli evrensel zamanla sezonun başlangıcı.
- endUtc - Koordineli evrensel zamanla sezonun sonu.
- seasonId - Verilen sezon boyunca bir oyuncunun kazandığı XP'yi izlemenizi sağlar.
Paket, sezonun geri sayımını görüntülemek 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 = "Season 1",description = "Into Space City",seasonId = "season1",
Sunucu mantığını entegre et
Sunucunuzun ReplicatedStorage.SeasonPasses.Server.Examples.SeasonPassesExample ile nasıl etkileşime gireceğini gösteren Sezon Biletleri Özellik Paketi 'ye bir göz atın.Aşağıdaki kısım o senaryodan geliyor.
Ana olarak, oyuncularınıza iddia edilen ödülleri vermek için bir işletici işlevi oluşturmanız gerekir.Örneğin, aşağıdaki kod örneği, oyuncuların bir sonraki kademeye ilerlediğinde izleyen bir rewardClaimedHandlerFunction() fonksiyonu oluşturur ve ardından onlara ücretsiz ödülü veya sezon biletsatın aldıklarında hem ücretsiz hem de premium ödülleri ödüllendirir.
Amaçlarınız için, task.wait() çağrısını sezon boyunca aldıkları ödülleri almalarına izin veren mantıkla değiştirin.Bu işlev geri dönmelidir bir boolean: ödülü verdiğinde true, vermediğinde 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
Konstantları yapılandır
Çekirdek özelliği paketi için sabitler iki noktada yaşıyor:
- Paylaşılan sabitler ReplicatedStorage.FeaturePackagesCore.Configs.SharedConstants 'de yaşar.
- Paket spesifik konstanlar, bu durumda Sezon Biletleri özelliği paketi, canlı olarak ReplicatedStorage.SeasonPasses.Configs.Constants 'de yaşıyor.Deneyiminizin tasarım gereksinimlerini karşılamak için ayarlamak istediğiniz ana şeyler:
- Ses öğeleri ID'leri
- Satın alma efekti süresi ve parça renkleri Ayrıca, bir konuma ayrılmış çeviri için dize bulabilirsiniz: ReplicatedStorage.FeaturePackagesCore.Configs.TranslationStrings .
UI bileşenlerini özelleştirin
Renkler, yazı tipi ve transparans gibi paket nesnelerini değiştirerek, sezon geçişi uyarılarının görsel sunumunu ayarlayabilirsiniz.Ancak, hiyerarşik olarak herhangi bir nesneyi hareket ettirirseniz, kodun onları bulamayacağını ve kodunuzu ayarlamak zorunda kalacağınızı unutmayın.
Bir sezon, Görev Özelliği Paketi UI bileşenlerine programatik olarak eklenen aşağıdaki yüksek seviye bileşenlerden oluşur:
- SeasonBottomFrame – Her bir izin hakkında bilgi içeren çerçeve, kademeler için kaydırılabilir bir ödül çerçevesi ve kademe verileri.
- SeasonDescriptionFrame - Sezon başlığını, açıklamasını ve geri sayımını gösteren başlıktaki çerçeve
- TierRewardFrame - Bir kademe için belirli bir ödül gösteren çerçeve.
- TierProgressFrame - Oyuncunun şu anda üzerinde çalıştığı kademeye yönelik yaptığı ilerlemeyi gösteren çerçeve.
- PurchaseFrame - Oyuncuyu bir premium biletsatın almaya teşvik eden çerçeve.
- SeasonProgressFrame - Tüm sezon boyunca oyuncunun ilerleme çubuğunu gösteren çerçeve.
- RewardsButtonFrame - Sezonun bilgilerinin gösterilmesine izin veren bir düğme ekleyen çerçeve SeasonBottomFrame .