I Passaggi di giococonsentono di addebitare una tariffa Robux una tantumper permettere ai giocatori l'accesso a privilegi speciali di un'esperienza, come l'ingresso a un'area riservata, un articolo per l'Avatar durante l'esperienza o un potenziamento permanente.
Creazione di Passaggi di gioco
Quando crei un'immagine da utilizzare per il tuo Passaggio di gioco, presta attenzione ai seguenti requisiti:
- usa un modello 512×512 pixel;
- salva l'immagine nel formato .jpg, .png o nel formato .bmp.
- non includere dettagli importanti al di fuori dei confini circolari, perché il processo di caricamento taglia e ritaglia il Distintivo finale in un'immagine circolare.
Per creare un nuovo Passaggio di gioco:
vai al Pannello di creazione; verranno visualizzate tutte le tue esperienze;
Fai clic sul pulsante CREA UN PASSAGGIO DI GIOCO. Viene visualizzata la pagina Crea un Passaggio di gioco.
Nel menu di navigazione a sinistra, seleziona Articoli Associati. Viene visualizzata la pagina degli Articoli Associatiper quell'esperienza specifica.
Nel menu navigazione orizzontale, seleziona PASSAGGI DI GIOCO. Tutti i Passaggi di gioco relativi a quell'esperienza vengono visualizzati.
fai clic sul pulsante CREA PASSAGGIO DI GIOCO. Il Passaggio di gioco viene visualizzato nella sezione Pass della pagina Articoli Associati page.
Fai clic sul pulsante CARICA IMMAGINE. Viene visualizzato un browser di file.
Selezione l'immagine che vuoi visualizzare come l'Icona, e poi fai click sul pulsanteApri;
Compila i seguenti campi:
- Nome: un titolo per il tuo Passaggio di gioco;
- Descrizione: una descrizione di ciò che il Giocatore si aspetta quando acquista il Passaggio di gioco.
Seleziona Apri in una Nuova Scheda. Viene visualizzata la pagina Configura Passaggio di gioco.
Localizzazione degli ID del Passaggio di gioco
Un ID del Pass è l'identificativo unico di un Passaggio di gioco. Necessiti di questo ID per assegnare il Passaggio di gioco a un privilegio speciale.
Per localizzare un ID del Passaggio di gioco:
Vai alla sezionePassaggi di gioco di un'esperienza della pagina degli Articoli Associati.
Passa il mouse su una miniatura di Pass e fai clic sul pulsante
⋯ . Viene visualizzato un menu contestuale. Seleziona Copia ID risorsa. L'ID del Passaggio di gioco viene copiata nei tuoi appunti.
Monetizzazione dei Passaggi di gioco
Dopo avere creato un Passaggio di gioco, puoi configurare le tue impostazioni per monetizzarlo.
Per monetizzare un Passaggio di gioco:
Vai alla sezionePassaggi di gioco di un'esperienza della pagina degli Articoli Associati.
Passa il mouse su una miniatura di Pass e fai clic sul pulsante
⋯ . Viene visualizzato un menu contestuale. Seleziona Apri in una Nuova Scheda. Viene visualizzata la pagina Configura Passaggio di gioco.
Nel menu di navigazione a sinistra, seleziona Vendite.
Abilita la levetta dell' Articolo in Vendita.
Nel campo Prezzo, inserisci l'importo di Robux che vuoi addebitare ai Giocatori per il Passaggio di gioco. Il prezzo che inserisci influisce sull'importo dei Robux che guadagni per ogni vendita.
Fai clic sul pulsante Salva.
Il Passaggio di gioco è ora disponibile nella scheda Negozio della pagina della tua esperienza.
Assegnazione dei Privilegi del Passaggio di gioco
Una volta acquistato il Passaggio di gioco, il Giocatore si aspetta di ricevere il privilegio speciale associato gioca alla sua esperienza. Questo non avviene in modo automatico, quindi devi selezionare quali giocatori sono in possesso del Passaggio di gioco e assegnare loro il privilegio speciale.
Il seguente Script verifica quando un Giocatore entra nell'esperienza, poi controlla se quel Giocatore possiede un Passaggio di gioco con l'impostazione ID corrispondente nella variabile passID. Inserisci questo codice Scriptall'interno ServerScriptServicein modo che il server possa gestire il privilegio speciale concesso al Giocatore.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local passID = 0000000 -- Change this to your Pass ID
local function onPlayerAdded(player)
local hasPass = false
-- Check if the player already owns the Pass
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player has pass: " .. tostring(message))
return
end
if hasPass then
print(player.Name .. " owns the Pass with ID " .. passID)
-- Assign this player the ability or bonus related to the Pass
end
end
-- Connect "PlayerAdded" events to the function
Players.PlayerAdded:Connect(onPlayerAdded)
Promuovere gli Acquisti In-experience
Sebbene i giocatori possano acquistare direttamente dalla pagina principale della tua esperienza, puoi anche offrire **acquisti in-experience **ai giocatori tramite un negozio o un NPC venditore all'interno dell'esperienza. Fai riferimento all'esempio di script lato server e lato cliente per un modello di base per richiedere ai giocatori di acquistare i Passaggi di gioco.
Esempio di Script lato Server
Inserisci questo codice in un Scriptoggetto all'interno ServerScriptService, in modo che il server possa gestire il privilegio speciale concesso al Giocatore.
local MarketplaceService = game:GetService("MarketplaceService")
local passID = 0000000 -- Change this to your Pass ID
-- Function to handle a completed prompt and purchase
local function onPromptPurchaseFinished(player, purchasedPassID, purchaseSuccess)
if purchaseSuccess and purchasedPassID == passID then
print(player.Name .. " purchased the Pass with ID " .. passID)
-- Assign this player the ability or bonus related to the Pass
end
end
-- Connect "PromptGamePassPurchaseFinished" events to the function
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptPurchaseFinished)
Esempio Script lato Cliente
Il seguente codice implementa unapromptPurchase() funzione che controlla in modo sicuro se un Giocatore possiede un Pass e gli chiede di acquistarlo se non lo possiede. Inserisci questo codice in un LocalScript e richiama promptPurchase() in situazioni come quando il Giocatore fa clic su un pulsante oppure quando il suo personaggio tocca una parte.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local passID = 0000000 -- Change this to your Pass ID
-- Function to prompt purchase of the Pass
local function promptPurchase()
local player = Players.LocalPlayer
local hasPass = false
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
warn("Error while checking if player has pass: " .. tostring(message))
return
end
if hasPass then
-- Player already owns the Pass; tell them somehow
else
-- Player does NOT own the Pass; prompt them to purchase
MarketplaceService:PromptGamePassPurchase(player, passID)
end
end