Im using the third gamepass to make money gain more visible, so far it works, but if i rejoin multiple times, i keep earning that money. How can I make the gamepass one time? This is the leaderstats script.
local datastore = game:GetService("DataStoreService")
local ds1 = datastore:GetDataStore("officialpointfortlolSaveSystem")
local ds2 = datastore:GetDataStore("changetheimagecoinsSaveSystem")
local ds3 = datastore:GetDataStore("ctirebirthsSaveSystem")
local gamepass_id1 = 18287787
local gamepass_id2 = 18287797
local gamepass_id3 = 18309443
local stat = "Changes"
local gamepass_stat1 = 100
local gamepass_stat2 = 1000
local gamepass_stat3 = 10000
game.Players.PlayerAdded:connect(function(plr)
local folder = Instance.new("Folder", plr)
folder.Name = "leaderstats"
local gems = Instance.new("IntValue", folder)
gems.Name = "Changes"
local coins = Instance.new("IntValue", folder)
coins.Name = "Coins"
local rebirths = Instance.new("IntValue", folder)
rebirths.Name = "Rebirths"
gems.Value = ds1:GetAsync(plr.UserId) or 0
ds1:SetAsync(plr.UserId, gems.Value)
gems.Changed:connect(function()
ds1:SetAsync(plr.UserId, gems.Value)
coins.Value = ds2:GetAsync(plr.UserId) or 0
ds2:SetAsync(plr.UserId, coins.Value)
coins.Changed:connect(function()
ds2:SetAsync(plr.UserId, coins.Value)
rebirths.Value = ds3:GetAsync(plr.UserId) or 0
ds3:SetAsync(plr.UserId, rebirths.Value)
rebirths.Changed:connect(function()
ds3:SetAsync(plr.UserId, rebirths.Value)
local award3 = Instance.new("BoolValue", plr)
award3.Name = "Award3"
if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(plr.UserId, gamepass_id3) and plr.Award3.Value == false then
plr.Award3.Value = true
gems.Value = gems.Value + gamepass_stat3
end
end)
end)
while wait(3) do
for i, v in pairs(game.Players:GetChildren()) do
if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(v.UserId, gamepass_id3) and v:WaitForChild("Award3").Value == false then
v.Award3.Value = true
v.leaderstats:FindFirstChild(stat).Value = v.leaderstats:FindFirstChild(stat).Value + gamepass_stat3
end
end
end
game.ReplicatedStorage.re.OnServerEvent:Connect(
function(player)
player.leaderstats.Changes.Value += 1
end)
end)
end)
