Lua Scripting Tutorial - 9

Roblox Lua Scripting Tutorial - Episode 9: Creating Game Passes and In-Game Purchases

by ReauofinveFb

Author Avatar

Roblox Lua Scripting Tutorial - Episode 9: Creating Game Passes and In-Game Purchases

Welcome to the ninth episode of our Roblox Lua scripting tutorial series! In this episode, we'll explore how to create game passes and in-game purchases, allowing you to monetize your Roblox game.


Before we begin, make sure you've completed the previous episodes and have a solid understanding of scripting in Roblox Lua.

Understanding Game Passes

Game passes are in-game items that players can purchase to gain access to special features, items, or abilities within your game. Let's create a game pass that grants players a special "VIP" badge.

Creating a Game Pass

  1. In Roblox Studio, open the "View" tab and ensure "Explorer" and "Properties" are checked.
  2. In the "Explorer" panel, right-click on "GamePassService" and select "Insert Object," then choose "Game Pass."
  3. Rename the new Game Pass to "VIPPass."
  4. Customize the properties of the Game Pass, such as the name, description, and price.

Scripting the Game Pass

Now, let's write a script to give players who own the VIPPass a badge:

local gamePassService = game:GetService("GamePassService")
local badgeService = game:GetService("BadgeService")

local VIPPassId = 1234567 -- Replace with your actual Game Pass ID

gamePassService.PromptPurchaseFinished:Connect(function(player, assetId, isPurchased)
    if assetId == VIPPassId and isPurchased then
        -- Give the player a badge
        local success, errorMsg = pcall(function()
            badgeService:AwardBadge(player.UserId, VIPBadgeId)

        if success then
            print(player.Name .. " now has the VIP badge!")
            warn("Error awarding badge: " .. errorMsg)

In this script, we listen for the PromptPurchaseFinished event, which fires when a player purchases a Game Pass. If the purchased Game Pass matches our VIPPass, we award the player a VIP badge.

Testing In-Game Purchases

To test the Game Pass and badge:

  1. Publish your game to the Roblox platform.
  2. Go to your game's page on the Roblox website.
  3. In the "Create" tab, click on "Store," then "Game Passes."
  4. Purchase the VIPPass (you may need to set a price for testing).
  5. After purchasing, check your in-game badge inventory to verify that you have the VIP badge.

In-Game Purchases

Besides Game Passes, you can also create in-game purchases for virtual items like skins, pets, or currency. Here's an overview:

Creating Virtual Items

  1. In Roblox Studio, create the virtual items you want to sell as models or parts.
  2. Set their properties, such as names, descriptions, and prices.

Scripting In-Game Purchases

Here's an example script for handling in-game purchases:

local marketplaceService = game:GetService("MarketplaceService")
local player = game.Players.LocalPlayer

local item1Id = 1234567 -- Replace with the actual asset ID
local item2Id = 9876543 -- Replace with another asset ID

local function onPurchaseSuccess(purchasedItem)
    if purchasedItem == item1Id then
        print("Player purchased Item 1")
        -- Give the player the purchased item (e.g., a skin)
    elseif purchasedItem == item2Id then
        print("Player purchased Item 2")
        -- Give the player the purchased item (e.g., a pet)

marketplaceService.PromptPurchaseFinished:Connect(function(player, assetId, isPurchased)
    if isPurchased then

In this script, we listen for the PromptPurchaseFinished event and check which item the player purchased. You can then grant the purchased virtual item to the player's character.


In this episode, you've learned how to create Game Passes, award badges to players who purchase them, and handle in-game purchases for virtual items. These monetization strategies can help you generate revenue from your Roblox game while providing players with special content and experiences.

Stay tuned for future episodes, where we'll continue to explore advanced scripting techniques and game development strategies. Happy scripting and game development!

Tutorial created by ReauofinveFb

View in-game to comment, award, and more!