Pacchetto pass stagione

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Il pacchetto di funzionalità Pass Stagione offre funzionalità pronte all'uso per creare sistemi di progressione basati su missioni a tempo limitato in cui i giocatori possono completare obiettivi di missione per guadagnare ricompense disponibili solo durante un periodo di tempo predefinito. Utilizzando le opzioni di personalizzazione del pacchetto, puoi personalizzare tutti i pass stagione per fornire nuovi contenuti al tuo pubblico, promuovere la fidelizzazione dei giocatori e generare entrate.

Ottieni il pacchetto

Il Creator Store è una scheda del Toolbox che puoi utilizzare per trovare tutte le risorse create da Roblox e dalla comunità Roblox da utilizzare all'interno dei tuoi progetti, incluse risorse come modelli, immagini, mesh, audio, plugin, video e caratteri. Puoi utilizzare il Creator Store per aggiungere una o più risorse direttamente in un'esperienza aperta, inclusi i pacchetti funzionalità!

Ogni pacchetto funzionalità richiede il pacchetto funzionalità Core per funzionare correttamente, e il pacchetto Pass Stagione richiede il pacchetto funzionalità Missions per definire le missioni di una stagione. Una volta che tutti e tre i pacchetti risorse sono nel tuo inventario, puoi riutilizzarli in qualsiasi progetto sulla piattaforma.

Per ottenere i pacchetti dal tuo inventario nella tua esperienza:

  1. Dal menu Finestra di Studio o dalla barra degli strumenti della scheda Home, apri il Toolbox.

  2. Nella finestra Toolbox, fai clic sulla scheda Inventario. La visualizzazione I miei modelli viene visualizzata.

    Finestra del Toolbox di Studio con la scheda Inventario evidenziata.
  3. Fai clic sul riquadro Pacchetto Funzionalità Core, sul riquadro Pacchetto Funzionalità Missions, quindi sul riquadro Pacchetto Funzionalità Pass Stagione. Tutte e tre le cartelle del pacchetto vengono visualizzate nella finestra Explorer.

  4. Trascina le cartelle del pacchetto in ReplicatedStorage.

  5. Consenti alle chiamate all'archiviazione dati di tracciare gli acquisti dei giocatori con i pacchetti.

    1. Apri la finestra FileImpostazioni esperienza di Studio.
    2. Naviga nella scheda Sicurezza, quindi abilita Consenti accesso Studio ai servizi API.

Configura le dipendenze delle missioni

Affinché le stagioni funzionino correttamente, devi aggiungere la logica affinché il pacchetto funzionalità Pass Stagione possa tracciare i progressi dei giocatori e aggiornare i suoi componenti UI. Per semplicità, l'esempio qui sotto utilizza il pacchetto funzionalità Missions e chiama SeasonPasses.addProgressToSeason() dopo che i giocatori completano le missioni, ma puoi tracciare i progressi dei giocatori come preferisci. Tuttavia, che tu definisca missioni o meno, devi comunque aggiungere il pacchetto funzionalità Missions alla tua esperienza affinché il codice del Pass Stagione funzioni.

Le missioni hanno ciascuna un insieme di compiti che devono essere completati per completare la missione, opzioni di configurazione e metadati di visualizzazione opzionali. Per una guida approfondita su come configurare missioni e i loro compiti, consulta Definisci missioni.

Aggiungi XP dalle missioni alle stagioni

Questo esempio utilizza il pacchetto funzionalità Missions per definire missioni che i giocatori possono completare per guadagnare esperienza (XP) e progredire attraverso la stagione. Per premiare i giocatori con XP quando completano una missione definita, devi aggiungere logica allo script del server ReplicatedStorage.Missions.Server.Examples.MissionsExample affinché possa importare i dati del pass stagione e premiare i giocatori in base ai loro progressi.


local SeasonPasses = require(ReplicatedStorage.SeasonPasses.Server.SeasonPasses)
local function completeHandler(player: Player, missionId: Types.MissionId)
print(`{player} ha completato la missione {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

Aggiungi icone di ricompensa di livello stagione

Oltre a concedere XP ai giocatori quando completano le missioni, il pacchetto funzionalità Pass Stagione utilizza il pacchetto funzionalità Missions per definire livelli di ricompensa unici all'interno di una stagione. Se desideri aggiungere un'icona a schermo per una ricompensa di livello che i giocatori possono guadagnare se ottengono abbastanza XP, aggiungi un ID risorsa nella configurazione di Missions per ogni ricompensa di livello stagione.


Tier3Mission = {
categoryId = "Generale",
metadata = {
displayName = "Missione di Livello 3",
description = "Salta 10 volte",
visibleAfterComplete = true,
visibleBeforeUnlocked = true,
rewards = {
{
icon = 16826775737,
displayName = "Oggetto",
},
{
icon = 106912146245070,
displayName = "XP Stagione",
},
},
},
}

Configura le stagioni

Dopo aver configurato ogni missione che desideri includere in una stagione, è tempo di configurare il pass stagione stesso. In ReplicatedStorage.SeasonPasses.Configs.Season, c'è un esempio di configurazione di una stagione per riferimento, e i seguenti campioni di codice provengono da quel file.

Definisci i pass

I pass consentono di addebitare ai giocatori una tariffa unica in Robux per accedere alle missioni e alle potenziali ricompense di un pass stagione. Dopo aver creato un pass con un ID risorsa unico, puoi impostare i dettagli del pass nel campo premiumTrack della tua stagione. Ad esempio, il seguente campione di codice definisce un pass con un ID risorsa di esempio di 928192647 per rappresentare un pass stagione, quindi attribuisce al pass stagione un nome di tracciamento di "Tracciamento Premium".


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

Configura livelli e ricompense

I livelli della stagione rappresentano i traguardi che i giocatori devono raggiungere per guadagnare ricompense durante una stagione. Per salire di livello, i giocatori completano missioni per guadagnare XP, e quando guadagnano abbastanza XP, passano al livello successivo e ricevono ricompense per il livello appena completato. I livelli hanno una proprietà upperBoundXP che imposta la soglia di XP necessaria per rivendicare le ricompense per un livello. Ogni livello può offrire due tipi di ricompense:

  • Gratuito - Una ricompensa che i giocatori possono guadagnare senza acquistare il pass stagione.
  • Premium - Una ricompensa che i giocatori possono guadagnare solo acquistando il pass stagione.

Per dimostrare, consulta il seguente campione di codice per una stagione con un livello che richiede 100 XP per guadagnare una ricompensa di lancia di ghiaccio gratuita e una ricompensa di scudo esplosivo premium. L'icon è l'ID risorsa dell'immagine UI da visualizzare per una ricompensa, e il displayName mostra un nome per la ricompensa. Nota che il displayName viene visualizzato nell'UI, ma il rewardId è nascosto dal giocatore ed è principalmente utilizzato per scopi di archiviazione dati.


tiers = {
[1] = {
upperBoundXP = 100,
freeReward = {
icon = 128181721602852,
displayName = "Lancia di Ghiaccio",
rewardId = "iceLance",
},
premiumReward = {
icon = 95882371958115,
displayName = "Scudo Esplosivo",
rewardId = "blastShield",
},
},
}

Mentre questo script è a scopo illustrativo su come configurare un livello alla volta, la maggior parte delle stagioni include più di un livello. Man mano che definisci più livelli e ricompense per una stagione, assicurati che ogni rewardId sia numerico e in ordine crescente in modo che i tuoi livelli vengano visualizzati nell'ordine in cui li definisci nell'elenco dei livelli.

Definisci i dettagli della stagione

Ora che hai un pass stagione con livelli e ricompense, è tempo di definire i dettagli della tua stagione:

  • title - Il nome della tua stagione.
  • description - La descrizione della tua stagione.
  • startUtc - L'inizio della stagione in tempo universale coordinato.
  • endUtc - La fine della stagione in tempo universale coordinato.
  • seasonId - Ti consente di tracciare gli XP guadagnati da un giocatore durante la stagione data.

Il pacchetto utilizza startUtc e endUtc per visualizzare il conto alla rovescia della stagione.


startUtc = DateTime.fromUniversalTime(2024, 10, 01, 17, 0, 0),
endUtc = DateTime.fromUniversalTime(2025, 2, 28, 17, 0, 0),
title = "Stagione 1",
description = "Nella Città Spaziale",
seasonId = "season1",

Integra la logica del server

Dai un'occhiata a ReplicatedStorage.SeasonPasses.Server.Examples.SeasonPassesExample, che mostra come il tuo server interagirà con il Pacchetto Funzionalità Pass Stagione. Il frammento qui sotto proviene da quel script.

Devi principalmente creare una funzione di gestore per assegnare le ricompense rivendicate ai tuoi giocatori. Ad esempio, il seguente campione di codice crea una funzione rewardClaimedHandlerFunction() che traccia quando i giocatori progrediscono al livello successivo, quindi li premia con solo la ricompensa gratuita, o entrambe le ricompense gratuita e premium se hanno acquistato il pass stagione.

Per i tuoi scopi, sostituisci la chiamata task.wait() con logica che consenta ai giocatori di ottenere le ricompense che hanno rivendicato nella stagione. Questa funzione deve restituire un booleano: true se il server ha concesso la ricompensa, false se non lo ha fatto.


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

Configura costanti

Le costanti per il pacchetto funzionalità Core vivono in due posizioni:

  • Le costanti condivise vivono in ReplicatedStorage.FeaturePackagesCore.Configs.SharedConstants.
  • Le costanti specifiche del pacchetto, in questo caso il pacchetto funzionalità Pass Stagione, vivono in ReplicatedStorage.SeasonPasses.Configs.Constants. Le principali cose che potresti voler regolare per soddisfare i requisiti di design della tua esperienza:
  • ID risorse audio
  • Durata dell'effetto d'acquisto e colori delle particelle Inoltre, puoi trovare stringhe per la traduzione suddivise in un'unica posizione: ReplicatedStorage.FeaturePackagesCore.Configs.TranslationStrings.

Personalizza i componenti dell'interfaccia utente

Modificando gli oggetti del pacchetto, come colori, carattere e trasparenza, puoi regolare la presentazione visiva dei tuoi avvisi del pass stagione. Tuttavia, tieni presente che se sposti uno qualsiasi degli oggetti gerarchicamente, il codice non sarà in grado di trovarli e dovrai apportare aggiustamenti al tuo codice.

Una stagione è composta dai seguenti componenti di alto livello che vengono aggiunti programmaticamente ai componenti UI del Pacchetto Funzionalità Missions:

  • SeasonBottomFrame – Il riquadro che include informazioni su ciascun tracciato, un riquadro scorrevole delle ricompense per i livelli e i dati di livello.
  • SeasonDescriptionFrame - Il riquadro nell'intestazione che visualizza il titolo della stagione, la descrizione e il conto alla rovescia.
  • TierRewardFrame - Il riquadro che visualizza una specifica ricompensa per un livello.
  • TierProgressFrame - Il riquadro che mostra il progresso che il giocatore ha fatto verso il livello attuale su cui sta lavorando.
  • PurchaseFrame - Il riquadro che invita il giocatore ad acquistare un pass premium.
  • SeasonProgressFrame - Il riquadro che mostra la barra di progresso del giocatore per tutta la stagione.
  • RewardsButtonFrame - Il riquadro che aggiunge un pulsante che consente di visualizzare le informazioni della stagione tramite il SeasonBottomFrame.
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.