Hi, so I'm struggling on how to give money to players that own the game pass. Recognizing the game pass owners is working fine, it's the intended features that comes with it that not working. The only way to change it's cash, is by going through ServerStorage, PlayerMoney folder, and the number value which is named after the Player, and setting that value. The code inside the ownsGamepass is what I'm stuck on.
local player = game.Players.LocalPlayer
local ownsGamepass = game:GetService("MarketplaceService"):UserOwnsGamePassAsync(player.UserId,9078528)
if ownsGamepass then
game.ServerStorage.PlayerMoney.LocalPlayer.Value = game.ServerStorage.PlayerMoney.LocalPlayer.Value + 100000
end
Leaderstats script
local cash = false
if Settings.LeaderboardSettings.ShowCurrency then
cash = Instance.new("StringValue")
cash.Name = Settings.CurrencyName
cash.Value = 0
end
local PlayerStats = game.ServerStorage.PlayerMoney:FindFirstChild(newPlayer.Name)
if PlayerStats ~= nil then
if cash then
local Short = Settings.LeaderboardSettings.ShowShortCurrency
PlayerStats.Changed:connect(function()
if (Short) then
cash.Value = Settings:ConvertShort(PlayerStats.Value)
else
cash.Value = Settings:ConvertComma(PlayerStats.Value)
end
end)
end
end

3 comments
Could we see your leaderstats script?
I edited the post for the leaderstats script, let me know if you need anything more.
Everything here would work fine, your using the wrong method. Use Developer Products, these can be purchase more than one time, i use them often.