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

Why is this skip level script skipping more than one level?

Asked by
Nogalo 148
7 years ago
Edited 7 years ago

So i've made a dev product that let's you skip a level for robux and it worked perfectly at first but now if i try to use it a few times in a row it starts skipping at first 2 levels at a time then 3 and so on but i have no clue why it's doing that. It's suppose to add +1 to stage number at the leaderboard and teleport the player to the next checkpoint, also after i die once i can't press the button anymore it doesn't respond with no errors in the output,i'd appreciate any input

Thanks for your time

local MarketplaceService = game:GetService("MarketplaceService")
local ds = game:GetService("DataStoreService"):GetDataStore("PurchaseHistory")
local productId = 50041340

MarketplaceService.ProcessReceipt = function(receiptInfo) 

    for i, player in ipairs(game.Players:GetChildren()) do
        if player.userId == receiptInfo.PlayerId then

            if receiptInfo.ProductId == productId then
                print 'y'

                local stats = player:WaitForChild("leaderstats")
                player.leaderstats.Stage.Value = player.leaderstats.Stage.Value + 1
                local stage = game.Workspace:WaitForChild(stats.Stage.Value)                
                wait(1)
                print '2'
                player.Character.Humanoid.Torso.CFrame = stage.CFrame + Vector3.new(0,3,0)
                print '3'
            end
        end
    end 

    local playerProductKey = "player_" .. receiptInfo.PlayerId .. "_purchase_" .. receiptInfo.ProductId
    ds:IncrementAsync(playerProductKey, 1)  

    return Enum.ProductPurchaseDecision.PurchaseGranted     
end

Answer this question