So, the problem is here that when you get 1000 kills it awards you with a badge. The script some how is not functioning and doesn't give it to you. It has no errors in the output. This is the script and it's child is an "IntValue" which is the badge giver ID.
local numberofkillsforbadge = 1000 function onHumanoidDied(humanoid, player) local stats = player:findFirstChild("leaderstats") if stats ~= nil then local killer = getKillerOfHumanoidIfStillInGame(humanoid) handleKillCount(humanoid, player) end end function onPlayerRespawn(property, player) if property == "Character" and player.Character ~= nil then local humanoid = player.Character.Humanoid local p = player local h = humanoid humanoid.Died:connect(function() onHumanoidDied(h, p) end ) end end function getKillerOfHumanoidIfStillInGame(humanoid) local tag = humanoid:findFirstChild("creator") if tag ~= nil then local killer = tag.Value if killer.Parent ~= nil then return killer end end return nil end function handleKillCount(humanoid, player) local killer = getKillerOfHumanoidIfStillInGame(humanoid) if killer ~= nil then local stats = killer:findFirstChild("leaderstats") if stats ~= nil then local kills = stats:findFirstChild("Kills") if killer ~= player then kills.Value = kills.Value + 1 if kills > numberofkillsforbadge-1 then print("Awarding BadgeID: " ..script.Parent.BadgeID.Value .. " to UserID: " .. player.userId) local b = game:GetService("BadgeService") b:AwardBadge(player.userId, script.BadgeID.Value) end else kills.Value = kills.Value - 1 end end end end