
KeylessUniversal

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local SoundService = game:GetService("SoundService")
local Debris = game:GetService("Debris")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
print("⚫ HealthUI + GRAYSCALE + VOLUME + BLINK + SUPPRESSION - LOADED!")
-- Remove old GUI
local oldGui = playerGui:FindFirstChild("HealthUI")
if oldGui then oldGui:Destroy() end
-- Screen GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "HealthUI"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
-- Health frame
local healthFrame = Instance.new("Frame")
healthFrame.Name = "HealthFrame"
healthFrame.Size = UDim2.new(0, 240, 0, 36)
healthFrame.Position = UDim2.new(0, 16, 1, -50)
healthFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
healthFrame.BackgroundTransparency = 0.15
healthFrame.BorderSizePixel = 0
healthFrame.ClipsDescendants = true
healthFrame.Parent = screenGui
local healthCorner = Instance.new("UICorner")
healthCorner.CornerRadius = UDim.new(0, 16)
healthCorner.Parent = healthFrame
-- Health bar background
local healthBarBg = Instance.new("Frame")
healthBarBg.Name = "HealthBarBg"
healthBarBg.AnchorPoint = Vector2.new(0, 0.5)
healthBarBg.Position = UDim2.new(0, 8, 0.5, 0)
healthBarBg.Size = UDim2.new(0, 200, 0, 22)
healthBarBg.BackgroundColor3 = Color3.fromRGB(40, 0, 0)
healthBarBg.BorderSizePixel = 0
healthBarBg.Parent = healthFrame
local bgCorner = Instance.new("UICorner")
bgCorner.CornerRadius = UDim.new(0, 11)
bgCorner.Parent = healthBarBg
-- Health bar
local healthBar = Instance.new("Frame")
healthBar.Name = "HealthBar"
healthBar.AnchorPoint = Vector2.new(0, 0.5)
healthBar.Position = UDim2.new(0, 0, 0.5, 0)
healthBar.Size = UDim2.new(1, 0, 1, 0)
healthBar.BackgroundColor3 = Color3.fromHSV(1/3, 1, 1)
healthBar.BorderSizePixel = 0
healthBar.Parent = healthBarBg
local healthBarCorner = Instance.new("UICorner")
healthBarCorner.CornerRadius = UDim.new(0, 11)
healthBarCorner.Parent = healthBar
-- Health text
local healthText = Instance.new("TextLabel")
healthText.Name = "HealthText"
healthText.Size = UDim2.new(0, 110, 1, 0)
healthText.Position = UDim2.new(1, -118, 0, 0)
healthText.BackgroundTransparency = 1
healthText.Text = "100/100"
healthText.TextColor3 = Color3.fromRGB(255, 255, 255)
healthText.TextStrokeTransparency = 0
healthText.TextStrokeColor3 = Color3.fromRGB(0,0,0)
healthText.Font = Enum.Font.GothamBold
healthText.TextScaled = true
healthText.TextXAlignment = Enum.TextXAlignment.Right
healthText.Parent = healthFrame
-- Death screen
local deathScreen = Instance.new("Frame")
deathScreen.Name = "DeathScreen"
deathScreen.Size = UDim2.new(1,0,1,0)
deathScreen.BackgroundColor3 = Color3.new(0,0,0)
deathScreen.BackgroundTransparency = 1
deathScreen.ZIndex = 100
deathScreen.Parent = screenGui
-- ColorCorrection and Blur
local cce = Lighting:FindFirstChild("HealthDesat")
if cce then cce:Destroy() end
cce = Instance.new("ColorCorrectionEffect")
cce.Name = "HealthDesat"
cce.Saturation = 0
cce.Contrast = 0
cce.Parent = Lighting
local blur = Lighting:FindFirstChild("HealthBlur")
if blur then blur:Destroy() end
blur = Instance.new("BlurEffect")
blur.Name = "HealthBlur"
blur.Size = 0
blur.Parent = Lighting
-- Sound group for dynamic volume
local healthSoundGroup = Instance.new("SoundGroup")
healthSoundGroup.Name = "HealthVolumeGroup"
healthSoundGroup.Volume = 1
healthSoundGroup.Parent = SoundService
-- Assign all sounds to group
local function assignToGroup(parent)
for _, obj in ipairs(parent:GetDescendants()) do
if obj:IsA("Sound") and not obj:IsDescendantOf(playerGui) then
obj.SoundGroup = healthSoundGroup
end
end
end
assignToGroup(workspace)
assignToGroup(game.Players)
workspace.DescendantAdded:Connect(function(desc)
if desc:IsA("Sound") then
desc.SoundGroup = healthSoundGroup
end
end)
-- Health & effects update
local connections = {}
local suppressionAmount = 0
local suppressionDecay = 1.5
local function applySuppression(intensity)
suppressionAmount = math.clamp(suppressionAmount + intensity, 0, 1)
end
local function updateHealth(hp, maxHp)
local percent = hp / maxHp
local hue = percent / 3
-- Health bar
TweenService:Create(healthBar, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
Size = UDim2.new(percent,0,1,0),
BackgroundColor3 = Color3.fromHSV(hue,1,1)
}):Play()
healthText.Text = math.floor(hp).."/"..maxHp
-- Desaturation
local desatAmount = -math.min((1 - percent)*1.2,1)
TweenService:Create(cce,TweenInfo.new(0.5, Enum.EasingStyle.Quart),{Saturation=desatAmount}):Play()
-- Optional contrast for low health
TweenService:Create(cce,TweenInfo.new(0.5),{Contrast=(percent<0.2 and 0.1 or 0)}):Play()
-- Blur
local blurAmount = math.clamp((0.2 - percent)*50,0,8)
TweenService:Create(blur,TweenInfo.new(0.5),{Size=blurAmount}):Play()
-- Volume fade
local minVol = 0.2
local targetVol = minVol + (1 - minVol)*percent
TweenService:Create(healthSoundGroup,TweenInfo.new(0.6,Enum.EasingStyle.Quart),{Volume=targetVol}):Play()
end
-- Death
local function onDied()
healthSoundGroup.Volume = 0
TweenService:Create(cce, TweenInfo.new(1), {Saturation=-1}):Play()
TweenService:Create(blur, TweenInfo.new(1), {Size=8}):Play()
task.delay(1,function()
TweenService:Create(deathScreen,TweenInfo.new(0.6),{BackgroundTransparency=0}):Play()
end)
end
-- Setup character
local function setupCharacter(char)
-- Reset visuals
TweenService:Create(deathScreen,TweenInfo.new(0.5),{BackgroundTransparency=1}):Play()
blur.Size = 0
cce.Saturation = 0
cce.Contrast = 0
healthSoundGroup.Volume = 1
for _, conn in pairs(connections) do conn:Disconnect() end
connections = {}
local hum = char:WaitForChild("Humanoid",10)
if not hum then return end
assignToGroup(char)
task.wait(0.5)
updateHealth(hum.Health, hum.MaxHealth)
local lastHp = hum.Health
-- Sprint system (fixed)
local baseSpeed = hum.WalkSpeed
local sprintBlurCurrent = 0
connections[#connections+1] = RunService.RenderStepped:Connect(function(dt)
if not hum or not hum.Parent then return end
local speed = hum.WalkSpeed
local sprinting = speed > baseSpeed + 1
local target = sprinting and 4 or 0
-- Smooth interpolation
sprintBlurCurrent = sprintBlurCurrent + (target - sprintBlurCurrent) * math.clamp(dt * 8, 0, 1)
-- Combine with suppression blur
local suppressionBlur = math.clamp(8 * suppressionAmount, 0, 8)
blur.Size = suppressionBlur + sprintBlurCurrent
end)
connections[#connections+1] = hum.HealthChanged:Connect(function(hp)
updateHealth(hp, hum.MaxHealth)
if hp < lastHp then
-- Red flash
local flash = Instance.new("Frame")
flash.Size = UDim2.new(1,0,1,0)
flash.BackgroundColor3 = Color3.fromRGB(255,0,0)
flash.BackgroundTransparency = 0.7
flash.ZIndex = 200
flash.Parent = screenGui
TweenService:Create(flash,TweenInfo.new(0.3),{BackgroundTransparency=1}):Play()
Debris:AddItem(flash,0.35)
-- Apply suppression on damage
applySuppression(0.5)
end
lastHp = hp
end)
connections[#connections+1] = hum.Died:Connect(onDied)
-- Suppression effect loop
RunService.RenderStepped:Connect(function(dt)
if suppressionAmount > 0 then
local blurAmount = math.clamp(8*suppressionAmount,0,8)
local volMul = 1 - 0.3*suppressionAmount
blur.Size = blurAmount
healthSoundGroup.Volume = volMul
suppressionAmount = math.clamp(suppressionAmount - suppressionDecay*dt,0,1)
end
end)
end
player.CharacterAdded:Connect(setupCharacter)
if player.Character then
setupCharacter(player.Character)
end
-- Blink
local blinkTimer = 0
local blinkInterval = 5 + math.random()*5
RunService.RenderStepped:Connect(function(dt)
blinkTimer += dt
if blinkTimer >= blinkInterval then
local blinkOverlay = Instance.new("Frame")
blinkOverlay.Size = UDim2.new(1,0,1,0)
blinkOverlay.BackgroundColor3 = Color3.new(0,0,0)
blinkOverlay.BackgroundTransparency = 1
blinkOverlay.ZIndex = 1000
blinkOverlay.Parent = screenGui
local tweenInfo = TweenInfo.new(0.1,Enum.EasingStyle.Quad)
TweenService:Create(blinkOverlay,tweenInfo,{BackgroundTransparency=0}):Play()
task.delay(0.1,function()
TweenService:Create(blinkOverlay,tweenInfo,{BackgroundTransparency=1}):Play()
Debris:AddItem(blinkOverlay,0.2)
end)
blinkTimer = 0
blinkInterval = 5 + math.random()*5
end
end)
print("✅ Health/grayscale/blur/suppression/volume/blink system ACTIVE!")No comments yet for this script.



