Why is my event not firing?

The first parameter of RemoteEvent.OnServerEvent is always the player instance.
In your case, you are looking for the HumanoidRootPart inside of the player with WaitForChild which is causing it to yield and not run.

hold.OnServerEvent:Connect(function(player, Character)

Alternately, you can change it to

hold.OnServerEvent:Connect(function(player)
 local Character = player.Character
-- rest of the code
1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.