Hi. I'm trying to detect when a player's health goes down. When it does, a bar appears with the size of their old health/100. it then tweens away to transparent. This works, but for some reason the tween is not behaving properly. The bar disappears very quickly, even with the extreme values I put in the tweeninfo that tell it to take 6 seconds to disappear.
local player = game.Players.LocalPlayer local healthgui = script.Parent.Parent.Parent local bar = script.Parent local bg = bar.Parent.Background local tweenservice = game:GetService("TweenService") local tweeninfo = TweenInfo.new(4, Enum.EasingStyle.Cubic, Enum.EasingDirection.In, 0, false, 2) local tween = tweenservice:Create(bg, tweeninfo, {Transparency = 1}) player.CharacterAdded:Connect(function(char) local hum = char:WaitForChild("Humanoid") bar.Size = UDim2.new(1,0,1,0) local lasthealth = 100 --reset hum.HealthChanged:connect(function(health) if health == 100 or health == 0 then healthgui.Enabled = false else bg.Size = UDim2.new((lasthealth/100), 0, 1, 0) --resize to old health if health < lasthealth then tween:Cancel() --update background bg.BackgroundTransparency = 0.8 tween:Play() print(lasthealth, health, tween.PlaybackState) lasthealth = health end healthgui.Enabled = true bar.Size = UDim2.new(math.clamp(health/100, 0, 1),0,1,0) bar.BackgroundColor3 = Color3.fromHSV((math.clamp(health/100,0,1))/3,1,1) end end) end)
On line 07, I believe you meant to put {BackgroundTransparency = 1}, instead of {Transparency = 1}. This could solve your problem.