I have made a tool, and copy pasted a touch part to award a badge, neither works.
script.Parent.RemoteEvent.OnServerEvent:Connect(function(Player)
local BadgeService = game:GetService("BadgeService")
local BadgeId = 5852791807
print(Player)
BadgeService:AwardBadge(Player.UserId, BadgeId)
end)
local badgeID = 5852791807 -- Change this ID YOUR badge ID
local badgeService = game:GetService("BadgeService")
script.Parent.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
badgeService:AwardBadge(plr.UserId, badgeID)
end
end)