Heres an example script from my game.
local PointsService = Game:GetService("PointsService")
-- Bind function to player added event
game.Players.PlayerAdded:connect(function(player)
-- Get total number of points the game has available
local pointsToAward = PointsService:GetAwardablePoints()
-- Get total number of points this game has already awarded to the player
local universeBalance = PointsService:GetGamePointBalance(player.userId)
-- Check if the game has points to award and if the player hasn't gotten any points yet.
-- If both are true, then give the player a point.
if ( pointsToAward > 0 and universeBalance == 0) then
-- pcall here, as AwardPoints *will throw an error* if another server has awarded the
-- points that were available between us checking how many were available and
-- us actually awarding the points. There is currently no way to avoid this pcall,
-- whenever you AwardPoints you should always wrap it in a pcall.
pcall(function()
PointsService:AwardPoints(player.userId, 1)
end)
end
end)
-- Bind function to when points are successfully awarded
PointsService.PointsAwarded:connect(function(userId, userBalanceinUni, userBalance)
-- Show message indicating that a player has gotten points
local message = Instance.new('Message', game.Workspace)
message.Text = "Point awarded to " .. userId .. ". This player now has " .. userBalance .. " points total!"
wait(5)
message:Destroy()
end) |