Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Why does this Dev Product script not give value when purchased?

Hey, there!

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!

Script:


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

1 comment

0

Either the "plr" folder or the "strength" value is missing. Also, try this for getting the player "local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)."

1 answer

This discussion is preserved as it was. New answers, comments, and votes are closed.