Basically i tried to change this script so that it would give player points instead of gold and health but it doesnt do that (This script is in workspace)
local MarketplaceService = game:GetService("PointsService") local HealthID, GoldID = 20215653 , 20215669 local PurchaseHistory = game:GetService("DataStoreService"):GetDataStore("PurchaseHistory") MarketplaceService.ProcessReceipt = function(receiptInfo) local playerProductKey = receiptInfo.PlayerId .. ":" .. receiptInfo.PurchaseId if PurchaseHistory:GetAsync(playerProductKey) then return Enum.ProductPurchaseDecision.PurchaseGranted --We already granted it. end -- find the player based on the PlayerId in receiptInfo for i, player in ipairs(game.Players:GetPlayers()) do if player.userId == receiptInfo.PlayerId then -- check which product was purchased (required, otherwise you'll award the wrong items if you're using more than one developer product) if receiptInfo.ProductId == HealthID then -- handle purchase. In this case we are healing the player. game:GetService("PointsService")AwardPoints(player.userId,200) elseif receiptInfo.ProductId == GoldID then game:GetService("PointsService")AwardPoints(player.userId,400) end end end -- record the transaction in a Data Store PurchaseHistory:SetAsync(playerProductKey, true) -- tell ROBLOX that we have successfully handled the transaction (required) return Enum.ProductPurchaseDecision.PurchaseGranted end
This one is in the actual GUI button (Local Script)
--Local script id = 20215712 sp = script.Parent p = game.Players.LocalPlayer sp.MouseButton1Down:connect(function() game:GetService("MarketplaceService"):PromptProductPurchase(p, id) end)