Hello, everyone. I am currently trying to convert this script so it will only work if you're outside. It also will kill you instantly. Also, by killing you instantly, I mean when your air is out. And my game wont have water. Also, when you're outside, it plays a sound. I'll upload the sound eventually, just put in a breathing sound ID.

local player = script.Parent.Parent.Parent.Parent
repeat wait() until player.Character

local lastHealth = 100
local lastHealth2 = 100
local maxWidth = 0.96

local humanoid = script.Air

function UpdateGUI(health)
	tray = script.Parent
	local width = (health / humanoid.MaxValue) * maxWidth
	local height = 0.83
	local lastX = tray.bar.Position.X.Scale
	local x = 0.019 + (maxWidth - width)
	local y = 0.1
	
	tray.bar.Position = UDim2.new(x,0,y, 0) 
	tray.bar.Size = UDim2.new(width, 0, height, 0)
	-- If more than 1/4 health, bar = green.  Else, bar = red.
	if( (health / humanoid.MaxValue) > 0.25 ) then
		tray.barRed.Size = UDim2.new(0, 0, 0, 0)
	else
		tray.barRed.Position = tray.bar.Position
		tray.barRed.Size = tray.bar.Size
		tray.bar.Size = UDim2.new(0, 0, 0, 0)
	end
	
	if ( (lastHealth - health) > (humanoid.MaxValue / 10) ) then
		lastHealth = health

		if humanoid.Value ~= humanoid.MaxValue then
			delay(0,function()
				AnimateBars(x, y, lastX, height)
			end)
		end
	else
		lastHealth = health
	end
end


function HealthChanged()
	health = humanoid.Value
	UpdateGUI(health)
	if ( (lastHealth2 - health) > (humanoid.MaxValue / 10) ) then
		lastHealth2 = health
	else
		lastHealth2 = health
	end
end

function AnimateBars(x, y, lastX, height)
	tray = script.Parent
	local width = math.abs(x - lastX)
	if( x > lastX ) then
		x = lastX
	end
	tray.bar2.Position = UDim2.new(x,0, y, 0)
	tray.bar2.Size = UDim2.new(width, 0, height, 0)
	tray.bar2.BackgroundTransparency = 0
	local GBchannels = 1
	local j = 0.2

	local i_total = 30
	for i=1,i_total do
		-- Increment Values
		if (GBchannels < 0.2) then
			j = -j
		end
		GBchannels = GBchannels + j
		if (i > (i_total - 10)) then
			tray.bar2.BackgroundTransparency = tray.bar2.BackgroundTransparency + 0.1
		end
		tray.bar2.BackgroundColor3 = Color3.new(1, GBchannels, GBchannels)
		wait(0.02)
	end
end

humanoid.Changed:connect(HealthChanged)

while wait() do
	local headLoc = game.Workspace.Terrain:WorldToCell(player.Character.Head.Position)
--	print(headLoc)
	local hasAnyWater = game.Workspace.Terrain:GetWaterCell(headLoc.x, headLoc.y, headLoc.z)
--	print(hasAnyWater)
	if player.Character.Humanoid.Health ~= 0 then
		if hasAnyWater then
			if humanoid.Value > humanoid.MinValue then
				script.Parent.Visible = true
				humanoid.Value = humanoid.Value-0.1
			elseif humanoid.Value <= humanoid.MinValue then
				player.Character.Humanoid:TakeDamage(0.2)
			end
		else
			if humanoid.Value < humanoid.MaxValue then
				humanoid.Value = humanoid.Value+5
			else
				script.Parent.Visible = false
			end
		end
	end
end