Help with healthbar math

I would suggest using some simple math or tween for the bar. Then have the script check if the players health is under 50% then for the circle you can do what Roblox dose for there proximity prompts. What they basically do is have a gradient and then they use math to change the orientation and size of it so it looks like a circular moving bar. (So yeah what you are already doing is good :+1:)

So something like this maby…

local gradient = imageLabel:FindFirstChildOfClass("UIGradient")

-- assume health is from 0 to 100
function updateHealthbar(health)
	local percent = math.clamp(health / 100, 0, 1)

	if percent > 0.5 then
		-- Reveal left-to-right bar
		local t = (percent - 0.5) * 2 -- Remap 0.5–1 to 0–1
		gradient.Rotation = 0
		gradient.Offset = Vector2.new(-1 + t, 0) -- Shift from -1 to 0
	else
		-- Reveal circular part
		local t = percent * 2 -- Remap 0–0.5 to 0–1
		gradient.Rotation = 90 -- or 180 depending on circle layout
		gradient.Offset = Vector2.new(-1 + t, 0) -- Shift again
	end
end