ServerScriptService
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0000000000
local function awardBadge(player, badgeId)
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
if badgeInfo.IsEnabled then
local awardSuccess, result = pcall(function()
return BadgeService:AwardBadge(player.UserId, badgeId)
end)
end
else
warn("Error while fetching badge info: " .. badgeInfo)
end
end
Players.PlayerAdded:Connect(function(player)
awardBadge(player, BADGE_ID)
end)
Part (Touch)
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0000000000
local function awardBadge(player, badgeId)
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
if badgeInfo.IsEnabled then
local awardSuccess, result = pcall(function()
return BadgeService:AwardBadge(player.UserId, badgeId)
end)
end
else
warn("Error while fetching badge info: " .. badgeInfo)
end
end
script.Parent.Touched:Connect(function(otherPart)
local player = Players:GetPlayerFromCharacter(otherPart.Parent)
if player then
awardBadge(player, BADGE_ID)
end
end)
Check Badge (Click)
local BadgeService = game:GetService("BadgeService")
local click = script.Parent.ClickDetector
local teleportPart = game.Workspace.InsideCastle.Position + Vector3.new(0,3,0)
local BADGE_ID = 0000000000
local function checkBadge(player, badgeId)
local success, badge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
return badge
end
click.MouseClick:Connect(function(player)
local hasBadge = checkBadge(player, BADGE_ID)
if hasBadge then
player.Character.HumanoidRootPart.CFrame = CFrame.new(teleportPart)
end
end)