Thank you for wasting your time out of your day and clicking onto this to maybe help me with this script.
What I'm trying to make is a Dev Product that will give the user (when purchased the product) some leaderstat "strength". My stats handler is located in ServerScriptService, and then there is a folder "plr" with all the intValues in it, such as Strength, etc.
The problem is though, that I cannot get the script below to work.
I also do have another script which connects this with a TextButton in order to prompt the purchase to the user. (Which works as it prompts the user, just doesn't give the user 5 Strength when the user purchases the Dev Product).
Would anyone know why it doesn't give the user 5 Strength in their stats when purchased the Dev Product?
Thank you so much for reading and I will appreciate any help anyone is willing to give!
local MarketplaceService = game:GetService("MarketplaceService") local ds = game:GetService("DataStoreService"):GetDataStore("PurchaseHistory") CASHID = 1135295617 MarketplaceService.ProcessReceipt = function(receiptInfo) local playerProductKey = "player_" .. receiptInfo.PlayerId .. "_product_" .. receiptInfo.ProductId local numberBought = ds:IncrementAsync(playerProductKey, 1) for i,v in pairs (game.Players:GetChildren()) do if v.userId == receiptInfo.PlayerId then if receiptInfo.ProductId == CASHID then lds = v:FindFirstChild("plr") if lds ~= nil then cs = lds:FindFirstChild("Strength") if cs ~= nil then cs.Value = cs.Value + 5 end end end end end return Enum.ProductPurchaseDecision.PurchaseGranted end
The script you have given is quite unorganized and needs polishing.