Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local MarketplaceService = game:GetService("MarketplaceService")
- local DataStoreService = game:GetService("DataStoreService")
- --local currencyName = "Coins"
- local PreviousPurchases = DataStoreService:GetDataStore("PreviousPurchases")
- local Coinsbutton1 = 1160428657 -- 150
- local Coinsbutton2 = 1160428799 -- 390
- local Coinsbutton3 = 1160428919 -- 1000
- local Coinsbutton4 = 1160428982 -- 2600
- local Coinsbutton5 = 1160429022 -- 6700
- local Coinsbutton6 = 1160429074 -- 18000
- local Coinsbutton7 = 1160429137 -- 46000
- MarketplaceService.ProcessReceipt = function(receiptInfo)
- -- Receipt has PurchaseId, PlayerId, Product Id, CurrencySpentValue, CurrencyType, PlaceIdWherePurchased
- local ID = receiptInfo.PlayerId.."-"..receiptInfo.PurchaseId
- local success = nil
- pcall(function()
- success = PreviousPurchases:GetAsync(ID)
- end)
- if success then -- Has it already been bought ?
- -- Purchase has already been done
- return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
- --local Coins = player.leaderstats.Coins.Value
- if not player then
- -- Left, disconnected
- return Enum.ProductPurchaseDecision.NotProcessedYet -- We re going to give their reward next time they join / next time fired
- else
- if receiptInfo.ProductId == Coinsbutton1 then
- -- They ve bought 150 Coins
- local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
- player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 150
- return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- if receiptInfo.ProductId == Coinsbutton2 then
- -- They ve bought 390 Coins
- local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
- player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 390
- return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- if receiptInfo.ProductId == Coinsbutton3 then
- -- They ve bought 1000 Coins
- local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
- player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 1000
- return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- if receiptInfo.ProductId == Coinsbutton4 then
- -- They ve bought 2600 Coins
- local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
- player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 2600
- return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- if receiptInfo.ProductId == Coinsbutton5 then
- -- They ve bought 6700 Coins
- local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
- player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 6700
- return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- if receiptInfo.ProductId == Coinsbutton6 then
- -- They ve bought 18000 Coins
- local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
- player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 18000
- return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- if receiptInfo.ProductId == Coinsbutton7 then
- -- They ve bought 46000 Coins
- local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
- player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 46000
- return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- pcall(function()
- PreviousPurchases:SetAsync(ID,true)
- end)
- --return Enum.ProductPurchaseDecision.PurchaseGranted
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement