I have a localscript inside a TextLabel, in a frame, inside a Frame, in a ScreenGUI inside the player's playerGUI.
This script is supposed to make the TextLabel's text the players health.
local player = game.Players.LocalPlayer --The local player.
local health = player.Character:WaitForChild("Health") --Yields (makes the script wait) until the apples object becomes available.
script.Parent.Text= "" .. health.Value
health.Changed:connect(function() --Connects a function to an event. Known as an anonymous function (as it has no direct identifier.)
script.Parent.Text = "" .. health.Value --Sets the Text property of the script's parent to "Apples: " then the apples variable's value. The two dots are used for string concatenation (merging of values to form a string.)
end) --Ends the anonymous function.
Thanks, please post the code in your answer.

3 comments
Thanks, however I ran into the problem of the health value becoming 10 decimal digits long, could you round it to an Interger?
Just put humanoid.Health inside the parenthesis (brackets) of math.floor() on both lines 3 and 5. Example: math.floor(humanoid.Health)
Thanks.