Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

there is some problem with the skip stage script is not working pls help?

Asked by 3 years ago
Edited 3 years ago

Please encode Lua code in the Lua block code tag (look for the Lua icon in the editor).

``here is the script local MarketplaceService = game:GetService("MarketplaceService") local DataStoreService = game:GetService("DataStoreService") local Players = game:GetService("Players")

-- Data store for tracking purchases that were successfully processed local purchaseHistoryStore = DataStoreService:GetDataStore("PurchaseHistory")

-- Table setup containing product IDs and functions for handling purchases local productFunctions = {} -- ProductId 123123 for a full heal productFunctions[1154418725] = function(receipt, player) game.Players.LocalPlayer.Level.Value = game.Players.LocalPlayer.Level.Value + 1 Players:LoadCharacter()

end -- The core 'ProcessReceipt' callback function local function processReceipt(receiptInfo)

-- Determine if the product was already granted by checking the data store  
local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
local purchased = false
local success, errorMessage = pcall(function()
    purchased = purchaseHistoryStore:GetAsync(playerProductKey)
end)
-- If purchase was recorded, the product was already granted
if success and purchased then
    return Enum.ProductPurchaseDecision.PurchaseGranted
elseif not success then
    error("Data store error:" .. errorMessage)
end

-- Find the player who made the purchase in the server
local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
if not player then
    -- The player probably left the game
    -- If they come back, the callback will be called again
    return Enum.ProductPurchaseDecision.NotProcessedYet
end

-- Look up handler function from 'productFunctions' table above
local handler = productFunctions[receiptInfo.ProductId]

-- Call the handler function and catch any errors
local success, result = pcall(handler, receiptInfo, player)
if not success or not result then
    warn("Error occurred while processing a product purchase")
    print("\nProductId:", receiptInfo.ProductId)
    print("\nPlayer:", player)
    return Enum.ProductPurchaseDecision.NotProcessedYet
end

-- Record transaction in data store so it isn't granted again
local success, errorMessage = pcall(function()
    purchaseHistoryStore:SetAsync(playerProductKey, true)
end)
if not success then
    error("Cannot save purchase data: " .. errorMessage)
end

-- IMPORTANT: Tell Roblox that the game successfully handled the purchase
return Enum.ProductPurchaseDecision.PurchaseGranted

end

-- Set the callback; this can only be done once by one script on the server! MarketplaceService.ProcessReceipt = processReceipt this is my text button gui script(it is working function leftClick() game:GetService("MarketplaceService"):PromptProductPurchase(game.Players.LocalPlayer, 1154418725) end script.Parent.MouseButton1Click:Connect(leftClick) when i buy skip stage it prints error occured while processing a product purchase PLS HELP ME TO FIND THE PROBLEM IN MY CODE

Answer this question