Passes

Os Passes permitem que você cobre uma taxa única em Robux para que jogadores tenham acesso a privilégios especiais dentro experiência, como entrar em uma área restrita, item de avatar dentro da experiência ou um aumento permanente de poder.

Criando Passes

Ao criar uma imagem para seu passe, considere os seguintes requisitos:

  • Use um modelo de 512×512 pixels.
  • Salve a imagem em um dos seguintes formatos: .jpg, .png ou .bmp .
  • Não inclua detalhes importantes fora dos limites, pois o processo de upload corta o emblema final numa imagem em formato de círculo.
Corte circular adequado
Corte circular inadequado

Para criar um novo Passe:

  1. Navegue até o Painel de Criações.

  2. Clique na experiência para a qual deseja criar passe. A Visão Geral da experiência é exibida.

  3. Do lado esquerdo da tela, selecione itens associados. A página Itens associados é exibida para essa experiência específica.

  4. Na barra de navegação horizontal, selecione PASSES. Todos os passes para a experiência são exibidos.

  5. Clique no botão CRIAR UM PASSE. A página Criar um passe será exibida.

  6. Clique no botão CARREGAR IMAGEM. Será exibido um navegador de arquivos.

  7. Selecione a imagem que deseja exibir como ícone e, em seguida, clique no botão Abrir.

  8. Preencha os seguintes campos:

    • Nome: um título para o passe.
    • Descrição: uma descrição do que o jogador deve esperar ao comprar o passe.
  9. Clique no botão CRIAR PASSE. O passe é exibido na seção Passes da página Itens associados.

Localizando IDs de Passes

Um ID é o identificador único de um passe. É preciso de um ID para atribuir um privilégio especial a um passe.

Para localizar um ID de passe:

  1. Navegue até a seção Passes de uma página de Itens Associados de uma experiência.

  2. Passe o mouse sobre a miniatura de Passe e clique no botão button. Um menu contextual é exibido.

  3. Selecione copiar ID do ativo. O ID do passe é copiado para sua área de transferência.

Monetizando Passes

Após criar um passe, configure-o para monetizá-lo.

Para monetizar um passe:

  1. Navegue até a seção Passes de uma página de Itens Associados de uma experiência.

  2. Passe o mouse sobre a miniatura de Passe e clique no botão button. Um menu contextual é exibido.

  3. Selecione Abrir em uma nova guia. A página Configurar Passe será exibida.

  4. No canto esquerdo da navegação, selecione Vendas.

  5. Ative o botão Item para Venda.

  6. No campo Preço, digite o valor em Robux que será cobrado pelo passe. O preço afeta a quantia de Robux que você ganha por venda.

  7. Clique no botão Salvar.

Agora o passe está disponível na guia Loja da página da sua experiência.

Atribuindo Privilégios do Passe

Quando um jogador compra um passe, ele espera receber um privilégio especial associado quando jogar sua experiência. Isso não acontece automaticamente. Por isso, será necessário conferir quais jogadores têm o passe e atribuir o privilégio especial a eles.

O script a seguir verifica quando jogador entra na experiência e, em seguida, verifica se ele possui algum passe com o ID correspondente definido na variável passID. Coloque este código em um Class. Script dentro de Class. ServerScriptService para que o servidor possa processar o privilégio especial do jogador.


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

Incentivando Compras Dentro da Experiência

Enquanto os jogadores compram passes diretamente da página principal da sua experiência, também é possível oferecer compras dentro da experiência por meio de uma loja ou NPC comerciante dentro da experiência. Confira os exemplos de scripts do lado do servidor e do cliente para um modelo básico de incentivo à compra de passes.

Exemplo de script do lado do servidor

Coloque este código em um objeto Class. Script dentro de Class. ServerScriptService para que o servidor possa processar o privilégio especial do jogador.


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)

Exemplo de script do lado do cliente

O seguinte código implementa uma função promptPurchase() que verifica com segurança se um jogador tem um Passe e solicita que ele compre se ainda não tem. Coloque este código em um Class. LocalScript e chame promptPurchase() quando o jogador clicar em um botão ou quando tocar em algum lugar.


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 " ..