This script doesn't work in game..?
I get this error : attempt to locate 'localplayer' (a nil value) on line 2
this script needs to stay as a regular script, so how can I fix this?
local player = script.Parent.Parent.Parent.Parent.Parent.Parent
local cash = game.Players.LocalPlayer.leaderstats
enable = true
function CompletePurchase()
if enable == true then
enable = false
end
cash.Cash.Value = cash.Cash.Value + 10
end
local MarketplaceService = game:GetService("MarketplaceService")
local ds = game:GetService("DataStoreService"):GetDataStore("PurchaseHistory")
local productId = 23429504
enable = true
MarketplaceService.ProcessReceipt = function(receiptInfo)
for i, player in ipairs(game.Players:GetChildren()) do
if player.userId == receiptInfo.PlayerId then
if receiptInfo.ProductId == productId then
CompletePurchase()
end
end
end
local playerProductKey = "plr_" .. receiptInfo.PlayerId .. "_pur_" .. receiptInfo.PurchaseId
ds:IncrementAsync(playerProductKey, 1)
return Enum.ProductPurchaseDecision.PurchaseGranted
end

2 comments
I now get this error : leaderstat is not a valid member of playergui
Then the "player" variable is also inaccurate, as "PlayerGui" was returned from line 1. Just add another parent, and that'll work.