So I tried to see anyways too do it, and they are all outdated so I need some help. See I'll do this code but what would I do to make it for a one badge?
local BadgeService = game:GetService("BadgeService") local function awardBadge(player, badgeId) -- check badge can be awarded if BadgeService:IsLegal(badgeId) and not BadgeService:IsDisabled(badgeId) then -- award badge BadgeService:AwardBadge(player.UserId, badgeId) end end
They aren't outdated, you didn't make a touch event for the badge also make sure that your Badge Id is correct.
local badgeId = -- Your badge Id script.Parent.Touched:Connect(function(hit) if hit.Parent:FindFirstChild("Humanoid") local BadgeService = game:GetService("BadgeService") local function awardBadge(player, badgeId) -- check badge can be awarded if BadgeService:IsLegal(badgeId) and not BadgeService:IsDisabled(badgeId) then -- award badge BadgeService:AwardBadge(player.UserId, badgeId) end end end end)
use the humanoid.touched or the part touched and then add a script to give you a badge here is a script to give a badge
local BadgeService = game:GetService("BadgeService") local function awardBadge(player, badgeId) -- check badge can be awarded if BadgeService:IsLegal(badgeId) and not BadgeService:IsDisabled(badgeId) then -- award badge BadgeService:AwardBadge(player.UserId, badgeId) end end
Here is a met the owner badge
local BadgeService = game:GetService("BadgeService") local Players = game:GetService("Players") -- change these local OWNER_ID = 212423 -- can use game.CreatorId for published places local BADGE_ID = 1 local ownerInGame = false local function playerAdded(newPlayer) if newPlayer.UserId == OWNER_ID then -- if new player is the owner, set ownerInGame to true and give everyone the badge ownerInGame = true for _, player in pairs(Players:GetPlayers()) do -- don't award the owner if player ~= newPlayer then BadgeService:AwardBadge(player.UserId, BADGE_ID) end end elseif ownerInGame then -- if the owner is in the game, award the badge BadgeService:AwardBadge(newPlayer.UserId, BADGE_ID) end end local function playerRemoving(oldPlayer) if oldPlayer.UserId == OWNER_ID then -- set ownerInGame to false ownerInGame = false end end -- listen for players joining and leaving Players.PlayerAdded:Connect(playerAdded) Players.PlayerRemoving:Connect(playerRemoving) -- fire playerAdded for existing players for _, player in pairs(Players:GetPlayers()) do playerAdded(player) end