Humanoid

Humanoid Methods & Properties

TakeDamageReduces the humanoid's health by the specified amount.
MoveToCauses the humanoid to walk to the given location or part.
GetStateReturns the current state of the humanoid as an Enum.HumanoidStateType.
ChangeStateForces the humanoid to change to the specified state.
RemoveAccessoriesRemoves all accessories worn by the humanoid's parent model.
ReplaceBodyPartR15Replaces an R15 body part with another part.
SetStateEnabledEnables or disables the specified state for the humanoid.
UnequipToolsUnequips any tools currently equipped by the humanoid.
ApplyDescriptionApplies a HumanoidDescription to the humanoid.
ApplyDescriptionResetApplies a HumanoidDescription to the humanoid and resets any changes.
PlayEmotePlays the specified emote if it is valid.
MoveMakes the humanoid move in the specified direction.
GetMoveVelocityReturns the current move velocity of the humanoid.
EquipToolEquips the specified tool to the humanoid.
HealthRepresents the current health of the humanoid.
MaxHealthRepresents the maximum health the humanoid can have.
WalkSpeedDetermines how fast the humanoid can walk.
JumpPowerControls the power of the humanoid's jumps.
HipHeightThe height of the humanoid's hips above the ground.
AutoRotateDetermines if the humanoid automatically rotates to face its movement direction.
BreakJointsOnDeathControls whether the humanoid’s joints break when it dies.
CameraOffsetThe offset for the camera relative to the humanoid.
FloorMaterialIndicates the material type of the floor the humanoid is standing on.
NameDisplayDistanceThe distance at which the humanoid's name is displayed.
NameOcclusionDetermines how the nameplate is displayed.
SitIndicates whether the humanoid is sitting.
TargetPointThe point the humanoid is moving towards.

Humanoid Health Example

local Players = game:GetService("Players")

local function onPlayerAdded(player)
	-- Wait for the player's character to load
	local character = player.Character or player.CharacterAdded:Wait()
	local humanoid = character:WaitForChild("Humanoid")

	-- Example: Setting Health
	print("Current Health:", humanoid.Health)
	humanoid.Health = 50 -- Set health to 50
	print("New Health:", humanoid.Health)


	-- Example: Adding Health
	print("Current Health:", humanoid.Health)
	local healthToAdd = 20
	humanoid.Health = math.min(humanoid.Health + healthToAdd, humanoid.MaxHealth) 
	print("Health after adding health:", humanoid.Health)

	-- Example: Checking if Humanoid is Dead
	humanoid.Died:Connect(function()
		print("Humanoid has died!")
	end)

	-- Example: Changing MaxHealth
	print("Current MaxHealth:", humanoid.MaxHealth)
	humanoid.MaxHealth = 200 -- Set MaxHealth to 200
	print("New MaxHealth:", humanoid.MaxHealth)

	-- Example: Setting Health to MaxHealth
	humanoid.Health = humanoid.MaxHealth
	print("Health set to MaxHealth:", humanoid.Health)
	
	-- Example: Taking Damage
	print("Current Health:", humanoid.Health)
	humanoid.Health = humanoid.Health - 300 -- Directly reduce health by 300
	print("Health after taking damage:", humanoid.Health)

end

-- Connect the function to the PlayerAdded event
Players.PlayerAdded:Connect(onPlayerAdded)
Image 1
Roblox Studio

Humanoid Animation Example

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

-- Animation setup
local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://131036267483527" -- Replace with your animation asset ID

-- Load the animation onto the humanoid
local animationTrack = humanoid:LoadAnimation(animation)
animationTrack.Looped = false -- Ensure the animation does not loop by default

-- Function to play the animation
local function playAnimation()
	print("playAnimation")
	animationTrack:Play()
end

-- Function to stop the animation
local function stopAnimation()
	print("stopAnimation")
	animationTrack:Stop()
end

-- Function to loop the animation
local function loopAnimation(loopCount)
	animationTrack.Looped = true
	animationTrack:Play()
	print("loopAnimation")

	-- Stop looping after the specified count
	delay(loopCount * animationTrack.Length, function()
		animationTrack.Looped = false
		stopAnimation()
		print("loopAnimation stopped")
	end)
end

-- Detect when "P", "T", or "L" is pressed and trigger the appropriate function
UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
	if input.KeyCode == Enum.KeyCode.P and not gameProcessedEvent then
		print("pressed P")
		playAnimation()
	end
	if input.KeyCode == Enum.KeyCode.T and not gameProcessedEvent then
		print("pressed T")
		stopAnimation()
	end
	if input.KeyCode == Enum.KeyCode.L and not gameProcessedEvent then
		print("pressed L")
		loopAnimation(3)
	end
end)
Image 1
Roblox Studio

Humanoid Movement Example

-- Function to make the humanoid walk to a specific point
local function walkToPoint(point)
    humanoid:MoveTo(point)
end

-- Function to make the humanoid move in a specific direction
local function moveInDirection(direction)
    humanoid:Move(direction)
end

-- Function to stop the humanoid's movement
local function stopMovement()
    humanoid:Move(Vector3.new(0, 0, 0))
end

-- Example usage
local targetPoint = Vector3.new(10, 0, 10) -- Define a target point
walkToPoint(targetPoint) -- Make the humanoid walk to the target point

-- After a delay, make the humanoid move in a specific direction
wait(2)
local direction = Vector3.new(1, 0, 0) -- Define a direction
moveInDirection(direction)

-- After a delay, stop the humanoid's movement
wait(2)
stopMovement()
Image 1
Roblox Studio
  • When using Humanoid:MoveTo, the humanoid automatically plays the appropriate walking or running animations.
  • This method sets the humanoid’s internal state to Walking or Running and changes it back to Idle once the target is reached or if the movement is interrupted.
  • The MoveToFinished event is fired when the humanoid reaches the destination or fails to do so within a specific timeout period.

Humanoid Events Example

local Players = game:GetService("Players")

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

-- Function to handle when the humanoid finishes moving to a point
humanoid.MoveToFinished:Connect(function(reached)
    if reached then
        print("Humanoid reached the destination")
    else
        print("Humanoid did not reach the destination")
    end
end)

-- Example function stubs for each event
local function onDied()
    print("Humanoid died")
end

local function onRunning(speed)
    print("Humanoid is running at speed:", speed)
end

local function onJumping()
    print("Humanoid is jumping")
end

local function onClimbing()
    print("Humanoid is climbing")
end

local function onGettingUp()
    print("Humanoid is getting up")
end

local function onFreeFalling()
    print("Humanoid is in free fall")
end

local function onFallingDown()
    print("Humanoid is falling down")
end

local function onSeated()
    print("Humanoid is seated")
end

local function onPlatformStanding()
    print("Humanoid is platform standing")
end

local function onSwimming()
    print("Humanoid is swimming")
end

-- Connect the functions to the respective humanoid events
humanoid.Died:Connect(onDied)
humanoid.Running:Connect(onRunning)
humanoid.Jumping:Connect(onJumping)
humanoid.Climbing:Connect(onClimbing)
humanoid.GettingUp:Connect(onGettingUp)
humanoid.FreeFalling:Connect(onFreeFalling)
humanoid.FallingDown:Connect(onFallingDown)
humanoid.Seated:Connect(onSeated)
humanoid.PlatformStanding:Connect(onPlatformStanding)
humanoid.Swimming:Connect(onSwimming)
Image 1
Roblox Studio

If you found this tutorial helpful and would like to support my work, please consider buying me a coffee.

Thank you very much for your support!

Buy me a coffee