local BadgeService = game:GetService("BadgeService") local badgeID = 1342463637681401 -- REPLACE THIS with your Badge ID local part = script.Parent local function onTouch(otherPart) -- Look for a "Humanoid" to confirm a player touched it local character = otherPart.Parent local player = game.Players:GetPlayerFromCharacter(character) if player then -- Check if the player already has the badge to avoid errors local success, hasBadge = pcall(function() return BadgeService:UserHasBadgeAsync(player.UserId, badgeID) end) -- If they don't have it, award it! if success and not hasBadge then local awardSuccess, result = pcall(function() return BadgeService:AwardBadge(player.UserId, badgeID) end) if awardSuccess then print("Badge awarded to: " .. player.Name) end end end end part.Touched:Connect(onTouch)
local BadgeService = game:GetService("BadgeService") local Players = game:GetService("Players") local RESET_BADGE = 58964453061393 -- Badge for Resetting local DEATH_BADGE = 2956506189396814 -- Badge for regular dying local function award(player, id) pcall(function() if not BadgeService:UserHasBadgeAsync(player.UserId, id) then BadgeService:AwardBadge(player.UserId, id) end end) end Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function(char) local hum = char:WaitForChild("Humanoid") hum.Died:Connect(function() -- If health was high, they likely reset. If low, they died by damage. if hum.MaxHealth - hum.Health < 1 then award(player, RESET_BADGE) else award(player, DEATH_BADGE) end end) end) end)