I have made a script that somebody helped me out with on this website, I edited it so it would give the person "Lifts" (basically money) and in studio it works but when I test the actual game it doesn't, help please?
01 | local Player = game.Players.LocalPlayer |
02 | local passOwners = { } --add to this table if they buy it in game, so they don't have to rejoin |
03 | game.Players.PlayerAdded:Connect( function (plr) |
04 | passOwners [ plr.Name ] = game:GetService( "MarketplaceService" ):UserOwnsGamePassAsync(plr.UserId, 4643667 ) |
05 | plr.CharacterAdded:Connect( function (char) |
06 | if passOwners [ plr.Name ] then |
07 | Player:WaitForChild( "leaderstats" ).Value = 1000000 |
08 | Player:WaitForChild( "Lifts" ).Value = 1000000 |
09 | end |
10 | end ) |
11 | end ) |
You're checking the gamepass from a LocalScript, which is not going to work I think. You must do this thing in a ServerScript. Here's the code
01 | local Player = game.Players.LocalPlayer |
02 | local passOwners = { } --add to this table if they buy it in game, so they don't have to rejoin |
03 |
04 | game.Players.PlayerAdded:Connect( function (plr) |
05 | passOwners [ plr.Name ] = game:GetService( "MarketplaceService" ):UserOwnsGamePassAsync(plr.UserId, 4643667 ) |
06 | plr.CharacterAdded:Connect( function (char) |
07 | if passOwners [ plr.Name ] then |
08 | Player:WaitForChild( "leaderstats" ).Value = 1000000 |
09 | Player:WaitForChild( "Lifts" ).Value = 1000000 |
10 | end |
11 | end ) |
12 | end ) |