Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Developer Product, Please Help?

Asked by
sgsharp 265 Moderation Voter
10 years ago

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

Log in to vote
-1
Answered by 10 years ago

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!!!

0
This broke the entire game... Is there a better option? sgsharp 265 — 10y
Ad

Answer this question