What do you want to achieve? I want to achieve a working skip stage that brings you to the next stage.
What is the issue? The issue is that I stumbled upon some problems. The buying box comes out but it says it’s off-sale. robloxapp-20220312-2000373.wmv (693.0 KB)
The developer product is on-sale, look:
What solutions have you tried so far? I’ve checked out on the DevForum.
I used this script:
MPS = game:GetService("MarketplaceService")
id = 1247673078 --my devproduct id
local player = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
MPS:PromptPurchase(player, id)
end)
local MPS = game:GetService("MarketplaceService")
MPS.ProcessReceipt = function(receiptInfo)
if receiptInfo.ProductId == 1247673078 then
local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
player.leaderstats.Stage.Value = player.leaderstats.Stage.Value + 1
player.Character.HumanoidRootPart.CFrame = "stage block name"
end
end
You need to use :PromptProductPurchase. You also aren’t ever returning Enum.ProductPurchaseDecision.PurchaseGranted in your ProcessReceipt function so you’ll run into people getting duplicate skip stages and lost robux.
MPS = game:GetService("MarketplaceService")
id = 1247673078
local player = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
MPS:PromptProductPurchase(player, id)
end)
local MPS = game:GetService("MarketplaceService")
MPS.ProcessReceipt = function(receiptInfo)
if receiptInfo.ProductId == 1247673078 then
local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
player.leaderstats.Stage.Value = player.leaderstats.Stage.Value + 1
player.Character.HumanoidRootPart.CFrame = "stage block name"
end
end