Sezon geçişleri paketi

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

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 tamamlayabilecekleri sınırlı süreli, görev tabanlı ilerleme sistemleri oluşturmak için kutudan çıktığı gibi işlevsellik sunar. Paketin özelleştirme seçeneklerini kullanarak, tüm sezon geçişlerini kişiselleştirebilir, izleyici 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'yı, açık bir oyuna bir veya daha fazla varlık eklemek için kullanabilirsiniz; bu, özellik paketlerini de içerir!

Her özellik paketi, düzgün çalışması için Çekirdek özellik paketini gerektirir ve Sezon Geçişleri paketi, bir sezonun görevlerini tanımlamak için Görevler özellik paketini gerektirir. Üç paket varlığı envanterinizde olduğunda, bunları platformdaki herhangi bir projede yeniden kullanabilirsiniz.

Envanterinizdeki paketleri oyununuzda kullanmak için:

  1. Studio'nun Pencere menüsünden veya Ana Sayfa sekmesi araç çubuğundan Araç Kutusu penceresini açın.

  2. Araç Kutusu penceresinde, Envanter sekmesine tıklayın. Modellerim sıralaması görüntülenir.

    Studio'nun Araç Kutusu penceresi, Envanter sekmesi vurgulanmış.
  3. Özellik Paketi Çekirdek karosuna, Görevler Özellik Paketi karosuna, ardından Sezon Geçişleri Özellik Paketi karosuna tıklayın. Üç paket klasörü de Keşfedin penceresinde görüntülenir.

  4. Paket klasörlerini ReplicatedStorage içine sürükleyin.

  5. Paketlerle oyuncu satın alımlarını izlemek için veri deposu çağrılarına izin verin.

    1. Studio'nun DosyaDeneyim Ayarları penceresini açın.
    2. Güvenlik sekmesine gidin, ardından API Hizmetlerine Studio Erişimini Etkinleştir seçeneğini etkinleştirin.

Görev bağımlılıklarını yapılandırın

Sezonların düzgün çalışabilmesi için, Sezon Geçişleri özellik paketinin oyuncu ilerlemesini izleyebilmesi ve UI bileşenlerini güncelleyebilmesi için mantık eklemeniz gerekir. Basitlik açısından, aşağıdaki örnek Görevler özellik paketini kullanır ve oyuncular görevleri tamamladıktan sonra SeasonPasses.addProgressToSeason() çağrısını yapar, ancak oyuncu ilerlemesini istediğiniz gibi izleyebilirsiniz. Görevleri tanımlayıp tanımlamamanız önemli değil, yine de Sezon Geçişleri kodunun çalışabilmesi için oyununuzda Görevler özellik paketini eklemeniz gerekir.

Görevlerin her biri, görevi tamamlamak için bitirilmesi gereken bir dizi göreve, yapılandırma seçeneklerine ve isteğe bağlı görüntüleme meta verilerine sahiptir. Görevleri ve görevlerinizi nasıl yapılandıracağınız hakkında derinlemesine bir kılavuz için Görevleri Tanımlayın sayfasına bakın.

Görevlerden sezonlara XP ekleyin

Bu örnek, oyuncuların tamamlayabileceği görevleri tanımlamak için Görevler özellik paketini kullanır ve sezon boyunca ilerlemelerini sağlamak için XP kazanmalarını sağlar. Tanımlı bir görevi tamamladıklarında oyunculara 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örev {missionId} tamamladı`)
if missionId == "Yürüyüş" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Yürüyüş2" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Yürüyüş3" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Mevcudiyet" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Manuel" then
SeasonPasses.addProgressToSeason(player, 100)
end
if missionId == "Dakikada" then
SeasonPasses.addProgressToSeason(player, 100)
end
end

Sezon katman ödül simgelerini ekleyin

Oyunculara görevleri tamamladıklarında 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. Eğer yeterli XP kazandıklarında oyuncuların kazanabileceği bir katman ödülü için ekranda bir simge eklemek istiyorsanız, her sezon katman ödülü için Görevler yapılandırmasına 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ırın

Bir sezona dahil etmek istediğiniz her görevi ayarladıktan sonra, sezon geçişini yapılandırma zamanı geldi. ReplicatedStorage.SeasonPasses.Configs.Season içinde, referansınız için bir sezon yapılandırma örneği bulunmaktadır ve aşağıdaki kod örnekleri o dosyadan alınmıştır.

Geçişleri tanımlayın

Geçişler oyunculara bir sezon geçişinin görevlerine ve potansiyel ödüllerine erişim sağlamak için bir kez Robux ücreti talep etmenizi sağlar. Benzersiz bir varlık kimliği ile 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, bir sezon geçişini temsil etmek için 928192647 örnek varlık kimliğine sahip bir geçiş tanımlar ve ardından sezon geçişine "Premium Track" adında bir iz adı verir.

premiumTrack = {
pricing = {
gamePassId = 928192647,
},
trackMetadata = {
trackName = "Premium Track",
},
},

Katmanları ve ödülleri yapılandırın

Sezon katmanları, oyuncuların bir sezon boyunca ödüller kazanmak için karşılaması gereken kilometre taşlarını temsil eder. Katmanları aşmak için oyuncular, XP kazanmak için görevleri tamamlar ve yeterli XP kazandıklarında bir sonraki katmana geçerler ve tamamladıkları katman için ödüller alırlar. Katmanların, bir katmanın ödüllerini talep etmek için gerekli XP eşiğini belirleyen bir upperBoundXP özelliği vardır. 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östermek için, 100 XP gerektiren bir katmana sahip bir sezon için aşağıdaki kod örneğine göz atın; bu, ücretsiz bir buz mızrağı ödülü ve premium bir patlama kalkanı ödülü kazandırır. icon, bir ödül için görüntülenecek UI resminin varlık kimliğidir ve displayName, ödül için bir ad görüntüler. displayName UI'da görüntülenirken, rewardId oyuncudan gizlidir ve esasen veri deposu amaçları için kullanılır.

tiers = {
[1] = {
upperBoundXP = 100,
freeReward = {
icon = 128181721602852,
displayName = "Buz Mızrağı",
rewardId = "iceLance",
},
premiumReward = {
icon = 95882371958115,
displayName = "Patlama Kalkanı",
rewardId = "blastShield",
},
},
}

Bu betik, bir seferde bir katmanı nasıl yapılandıracağınızı göstermek için örnekleme amaçlıdır; ç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 ve artan sırada olduğundan emin olun, böylece katmanlarınızı tanımladığınız sırada görüntülenir.

Sezon ayrıntılarını tanımlayın

Artık katmanlar ve ödüllerle 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 başlangıcı, evrensel koordinat zamanında.
  • endUtc - Sezonun sonu, evrensel koordinat zamanında.
  • seasonId - Bir oyuncunun belirli bir sezon boyunca kazandığı XP'yi takip etmenizi sağlar.

Paket, sezonun geri sayımını görüntülemek için startUtc ve endUtc'yi kullanır.

startUtc = DateTime.fromUniversalTime(2024, 10, 01, 17, 0, 0),
endUtc = DateTime.fromUniversalTime(2025, 2, 28, 17, 0, 0),
title = "Sezon 1",
description = "Uzay Şehrine Doğru",
seasonId = "season1",

Sunucu mantığını entegre edin

ReplicatedStorage.SeasonPasses.Server.Examples.SeasonPassesExample dosyasına göz atın; bu, sunucunuzun Sezon Geçişleri Özellik Paketi ile nasıl etkileşime gireceğini gösterir. Aşağıdaki kesit, o betikten alınmıştır.

Özellikle, oyuncularınıza talep edilen ödülleri vermek için bir işleyici fonksiyonu oluşturmanız gerekir. Örneğin, aşağıdaki kod örneği, oyuncuların bir sonraki katmana geçtiklerinde izleyen rewardClaimedHandlerFunction() fonksiyonunu oluşturur ve ardından onlara ya yalnızca ücretsiz ödülü ya da sezon geçişini satın almışlarsa hem ücretsiz hem de premium ödülleri verir.

Kendi amacınız için, task.wait() çağrısını, oyuncuların sezon içinde talep ettikleri ödülleri almasını sağlayacak mantıkla değiştirin. Bu fonksiyon mutlaka bir boolean döndürmelidir: sunucunun ödülü verip vermediğini belirtmek için true, vermediyse 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ırın

Çekirdek özellik paketi için sabitler iki yerde bulunur:

  • Paylaşılan sabitler ReplicatedStorage.FeaturePackagesCore.Configs.SharedConstants içinde bulunur.
  • Paket özel sabitleri, bu durumda Sezon Geçişleri özellik paketi, ReplicatedStorage.SeasonPasses.Configs.Constants içinde bulunur. Oyun tasarım gereksinimlerinizi karşılamak için ayarlamak isteyebileceğiniz ana şeyler:
  • Ses varlık kimlikleri
  • Satın alma etkisi süresi ve parçacık renkleri Ayrıca, çeviri için ayrılmış dizeleri bulabileceğiniz tek bir konum vardır: ReplicatedStorage.FeaturePackagesCore.Configs.TranslationStrings.

UI bileşenlerini özelleştirin

Paket nesnelerini, renkler, yazı tipi ve saydamlık gibi değiştirerek, sezon geçişi istemlerinizi görsel olarak ayarlayabilirsiniz. Ancak, herhangi bir nesneyi hiyerarşik olarak taşımayı unutmayın; bu durumda kod onları bulamayacak ve kodunuzda ayarlamalar yapmanız gerekecektir.

Bir sezon, Görevler Özellik Paketi UI bileşenlerine programatik olarak eklenen aşağıdaki yüksek düzey bileşenlerden oluşur:

  • SeasonBottomFrame – Her iz hakkında bilgi içeren çerçeve, katmanlar için ödüllerin kaydırmalı çerçevesi ve katman verileri.
  • SeasonDescriptionFrame - Sezon başlığını, açıklamasını ve geri sayımını görüntüleyen üst çerçeve.
  • TierRewardFrame - Bir katman için belirli bir ödülü görüntüleyen çerçeve.
  • TierProgressFrame - Oyuncunun üzerinde çalıştığı mevcut katmana yönelik yaptığı ilerlemeyi görüntüleyen çerçeve.
  • PurchaseFrame - Oyuncunun premium geçiş satın alması için bir istemde bulunan çerçeve.
  • SeasonProgressFrame - Oyuncunun sezon boyunca ilerleme çubuğunu görüntüleyen çerçeve.
  • RewardsButtonFrame - Sezonun bilgilerini SeasonBottomFrame aracılığıyla göstermek için bir düğme ekleyen çerçeve.
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.