function onCharacterAdded(Character) local Humanoid = Character:WaitForChild("Humanoid") end function onPlayerAdded(Player) Player.CharacterAdded:Connect(onCharacterAdded) end game:GetService("Players").PlayerAdded:Connect(onPlayerAdded)
You can also do
game:GetService("Players").PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) local Humanoid = Character:WaitForChild("Humanoid") end) end)
In both examples what we're doing is that we have an event in which every time its fired we get the Player in the parameters in the PlayerAdded event. Afterwards we use the CharacterAdded event with the Player which fires and we get the Character which is in the parameters in the event. We then make a variable which waits for the humanoid to load in and then changes said variable's value into the humanoid.
if you are looking to get a player from the character after the player has touched something then you do
local player = game.Players:GetPlayerFromCharacter(from the place you have character in here)