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

Developer Product, Please Help?

In my game, I have made a currency called "RoCash." This currency will be used to purchase things in the game.

The Value of "RoCash" is inserted into the player each time they enter the game. A Data Persistence script automatically saves the state of the value each time it has changed. (I am not using DataStore for a reason...)

Okay, I have a Shop GUI, and in the GUI, there's a button that is supposed to add 5 RoCash to the player's RoCash value each time it's purchased...

The Product works just fine. However, adding the RoCash does not. As you can see below, I want the player to receive 5 RoCash. When the product is purchased, it gives the player 20 RoCash... Why? How can I fix this?

Server-Side

local Player = script.Parent.Parent.Parent.Parent.Parent.Parent

local MarketplaceService = Game:GetService("MarketplaceService")
 
MarketplaceService.ProcessReceipt = function(receiptInfo)
	
	Player.RoCash.Value = Player.RoCash.Value +5
	wait()
	Player.PlayerGui.Purchases.RoCash.Visible = true
	wait(5)
	Player.PlayerGui.Purchases.RoCash.Visible = false
	
	return Enum.ProductPurchaseDecision.PurchaseGranted		
end

Client-Side

local buyButton = script.Parent
local productId = 19192652
local Player = script.Parent.Parent.Parent.Parent.Parent.Parent

Type = 0

if Player.Name == "Bolohuc" then Type = 2 else Type = 0 end

buyButton.MouseButton1Click:connect(function()
	Game:GetService("MarketplaceService"):PromptProductPurchase(game.Players.LocalPlayer, productId, false,  Type)
end)

PLEASE ANSWER AS SOON AS POSSIBLE!

NOTE: I don't want you to change the script unless it's causing the problem... It works fine other than the adding RoCash. Please help me... Provide details with your answer please.

1 answer

Here:

while true do
	local buyButton = --THE GUI PATH HERE
buyButton.MouseButton1Click:connect(function()
	local productId = 19192652--PRODUCT ID HERE
	Game:GetService("MarketplaceService"):PromptProductPurchase(game.Players.LocalPlayer, productId)
	game.Players.LocalPlayer.leaderstats.RoCash.Value = game.Players.LocalPlayer.leaderboard.RoCash.Value + 10 -- VALUE HERE
end)
end

-- I put this in an infinite loop since it would only allow you to buy it once without the loop.

leaderboard or leaderstats? You should know, since you made the stats.

PUT THIS IN A LocalScript IN THE STARTERPACK!!!

1 comment

0

This broke the entire game... Is there a better option?

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