
KeylessUniversal

-- [
-- bunny hook script source
-- ]
-- game.Players.LocalPlayer.Character.Humanoid.Health = 0 -- dont uncomment me
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local Stats = game:GetService("Stats")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local Camera = Workspace.CurrentCamera
-- ==================== COLOR PALETTE (PINK PASTEL) ====================
local Colors = {
Background = Color3.fromRGB(255, 250, 252), -- Soft pink white
Primary = Color3.fromRGB(255, 182, 193), -- Light pink
Secondary = Color3.fromRGB(255, 218, 224), -- Lighter pink
Accent = Color3.fromRGB(255, 105, 180), -- Hot pink
White = Color3.fromRGB(255, 255, 255),
Text = Color3.fromRGB(80, 60, 70),
TextLight = Color3.fromRGB(150, 120, 140),
Border = Color3.fromRGB(255, 220, 230),
Toggle_On = Color3.fromRGB(255, 182, 193),
Toggle_Off = Color3.fromRGB(220, 200, 210)
}
-- ==================== CONFIG ====================
local Config = {
Aimlock = {
Enabled = false,
Keybind = Enum.KeyCode.Q,
Smooth = 1,
FOV = 200,
Prediction = 0
},
AutoShoot = false,
SilentAim = {
Enabled = false,
Supported = true,
Prediction = 0
},
AutoPrediction = false,
Walkspeed = {
Enabled = false,
Speed = 50,
Keybind = Enum.KeyCode.T
},
Noclip = {
Enabled = false,
Keybind = Enum.KeyCode.N
},
OutlineTarget = false
}
-- ==================== STATE ====================
local CurrentTarget = nil
local CurrentOutline = nil
local LastHealth = {}
local Connections = {}
local silentTarget = nil
-- ==================== UTILITY FUNCTIONS ====================
local function IsMobile()
return UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled
end
local function isAlive(plr)
if not plr or not plr.Character then return false end
local hum = plr.Character:FindFirstChildOfClass("Humanoid")
if not hum or hum.Health <= 0 then return false end
local be = plr.Character:FindFirstChild("BodyEffects")
if be then
local ko = be:FindFirstChild("K.O")
local grabbed = be:FindFirstChild("GRABBING_CONSTRAINT")
if (ko and ko.Value) or (grabbed and grabbed.Value) then
return false
end
end
return true
end
local function isVisible(pos, player)
local params = RaycastParams.new()
params.FilterDescendantsInstances = {LocalPlayer.Character, Camera}
params.FilterType = Enum.RaycastFilterType.Exclude
params.IgnoreWater = true
local direction = pos - Camera.CFrame.Position
local distance = direction.Magnitude
local result = Workspace:Raycast(Camera.CFrame.Position, direction.Unit * distance, params)
if not result or result.Instance:IsDescendantOf(player.Character) then
return true
end
return false
end
local function GetClosestPlayerToCursor()
local closestPlayer = nil
local shortestDistance = Config.Aimlock.FOV
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and isAlive(player) and player.Character then
local character = player.Character
local rootPart = character:FindFirstChild("HumanoidRootPart")
if rootPart then
local screenPos, onScreen = Camera:WorldToViewportPoint(rootPart.Position)
if onScreen and isVisible(rootPart.Position, player) then
local mousePos = IsMobile() and Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) or Vector2.new(Mouse.X, Mouse.Y)
local distance = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closestPlayer = player
end
end
end
end
end
return closestPlayer
end
local function GetPartToAim(target)
if not target or not target.Character then return nil end
local character = target.Character
return character:FindFirstChild("Head") or character:FindFirstChild("HumanoidRootPart")
end
-- ==================== NOTIFICATION SYSTEM ====================
local function Notify(message, duration, color)
duration = duration or 3
color = color or Colors.Primary
local notifGui = Instance.new("ScreenGui")
notifGui.Name = "bunnyNotif"
notifGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
notifGui.Parent = game:GetService("CoreGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 320, 0, 70)
frame.Position = UDim2.new(1, 10, 0.9, 0)
frame.AnchorPoint = Vector2.new(0, 0.5)
frame.BackgroundColor3 = Colors.White
frame.BorderSizePixel = 0
frame.Parent = notifGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 14)
corner.Parent = frame
local stroke = Instance.new("UIStroke")
stroke.Color = color
stroke.Thickness = 2.5
stroke.Parent = frame
local icon = Instance.new("TextLabel")
icon.Size = UDim2.new(0, 50, 0, 50)
icon.Position = UDim2.new(0, 10, 0.5, -25)
icon.BackgroundTransparency = 1
icon.Text = "🐰"
icon.Font = Enum.Font.GothamBold
icon.TextSize = 32
icon.Parent = frame
local text = Instance.new("TextLabel")
text.Size = UDim2.new(1, -75, 1, 0)
text.Position = UDim2.new(0, 65, 0, 0)
text.BackgroundTransparency = 1
text.Text = message
text.Font = Enum.Font.GothamMedium
text.TextSize = 14
text.TextColor3 = Colors.Text
text.TextXAlignment = Enum.TextXAlignment.Left
text.TextWrapped = true
text.Parent = frame
TweenService:Create(frame, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Position = UDim2.new(1, -330, 0.9, 0)
}):Play()
wait(duration)
TweenService:Create(frame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
Position = UDim2.new(1, 10, 0.9, 0)
}):Play()
wait(0.3)
notifGui:Destroy()
end
-- ==================== TARGET MESSAGES ====================
local TargetLeftMessages = {
"🚪 Detected enemy rage quit!",
"👋 Target said 'Alt+F4 time!'",
"💨 Enemy vanished into thin air!",
"🏃 Target escaped like a coward!",
"😂 They couldn't handle the heat!",
"🎪 Target left the circus!",
"🌙 Enemy went to touch grass!",
"⚡ Target teleported to another dimension!"
}
local TargetDiedMessages = {
"💀 Target eliminated successfully!",
"✨ Enemy sent to respawn!",
"🎯 Perfect shot! Target down!",
"👑 You're too good for them!",
"🔥 Target got destroyed!",
"⚰️ Another one bites the dust!",
"🎊 Victory royale! Enemy eliminated!",
"💫 Target couldn't compete!"
}
local function GetRandomMessage(messages)
return messages[math.random(1, #messages)]
end
-- ==================== OUTLINE SYSTEM ====================
local function CreateOutline(character)
if CurrentOutline then
CurrentOutline:Destroy()
CurrentOutline = nil
end
if not Config.OutlineTarget then return end
local highlight = Instance.new("Highlight")
highlight.Name = "bunnyOutline"
highlight.Adornee = character
highlight.FillColor = Colors.Accent
highlight.FillTransparency = 1
highlight.OutlineColor = Colors.Primary
highlight.OutlineTransparency = 0
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = character
CurrentOutline = highlight
return highlight
end
local function UpdateOutlineColor(color, duration)
if CurrentOutline then
TweenService:Create(CurrentOutline, TweenInfo.new(duration or 0.1), {
OutlineColor = color
}):Play()
end
end
-- ==================== TARGET MANAGEMENT ====================
local function SetTarget(player)
-- Clear old target
if CurrentTarget then
if CurrentOutline then
CurrentOutline:Destroy()
CurrentOutline = nil
end
end
CurrentTarget = player
if player and player.Character then
CreateOutline(player.Character)
Notify("Target locked: " .. player.DisplayName, 2, Colors.Primary)
-- Track health changes
local humanoid = player.Character:FindFirstChild("Humanoid")
if humanoid then
LastHealth[player] = humanoid.Health
-- Monitor health
table.insert(Connections, humanoid.HealthChanged:Connect(function(health)
if LastHealth[player] and health < LastHealth[player] then
-- Target took damage
UpdateOutlineColor(Color3.fromRGB(255, 50, 50), 0.1)
wait(1)
if CurrentTarget == player then
UpdateOutlineColor(Colors.Primary, 0.5)
end
end
LastHealth[player] = health
end))
-- Monitor death
table.insert(Connections, humanoid.Died:Connect(function()
if CurrentTarget == player then
Notify(GetRandomMessage(TargetDiedMessages), 3, Color3.fromRGB(100, 255, 100))
end
end))
end
-- Monitor character removal (left/reset)
table.insert(Connections, player.CharacterRemoving:Connect(function()
if CurrentTarget == player then
Notify(GetRandomMessage(TargetLeftMessages), 3, Color3.fromRGB(255, 200, 100))
SetTarget(nil)
end
end))
else
Notify("🔓 Target unlocked", 1.5, Colors.TextLight)
end
end
-- ==================== AIMLOCK ====================
local AimlockConnection = nil
local function StartAimlock()
if AimlockConnection then AimlockConnection:Disconnect() end
AimlockConnection = RunService.RenderStepped:Connect(function()
if not Config.Aimlock.Enabled or not CurrentTarget then return end
if not isAlive(CurrentTarget) then return end
local targetPart = GetPartToAim(CurrentTarget)
if not targetPart then return end
local root = CurrentTarget.Character:FindFirstChild("HumanoidRootPart")
if not root then return end
local pred = Config.Aimlock.Prediction
local targetPos = targetPart.Position + root.Velocity * pred
if not isVisible(targetPos, CurrentTarget) then return end
local currentCFrame = Camera.CFrame
local targetCFrame = CFrame.new(Camera.CFrame.Position, targetPos)
-- Smooth aimlock
local smooth = Config.Aimlock.Smooth
Camera.CFrame = currentCFrame:Lerp(targetCFrame, smooth)
end)
end
-- ==================== AUTO SHOOT ====================
local function AutoShoot()
local shootTarget = nil
if Config.Aimlock.Enabled and CurrentTarget then
shootTarget = CurrentTarget
elseif Config.SilentAim.Enabled and silentTarget then
shootTarget = silentTarget
end
if not Config.AutoShoot or not shootTarget then return end
if not isAlive(shootTarget) then return end
local targetPart = GetPartToAim(shootTarget)
if not targetPart then return end
local root = shootTarget.Character:FindFirstChild("HumanoidRootPart")
if not root then return end
local pred = Config.SilentAim.Prediction -- Use silent pred for consistency
local targetPos = targetPart.Position + root.Velocity * pred
if not isVisible(targetPos, shootTarget) then return end
local character = LocalPlayer.Character
if not character then return end
local tool = character:FindFirstChildOfClass("Tool")
if not tool then return end
-- Check if tool has Ammo
local ammo = tool:FindFirstChild("Ammo")
if ammo and ammo:IsA("IntValue") and ammo.Value > 0 then
-- Activate tool
tool:Activate()
else
-- Click mouse
mouse1press()
wait()
mouse1release()
end
end
table.insert(Connections, RunService.Heartbeat:Connect(AutoShoot))
-- ==================== SILENT AIM ====================
local SilentAimSupported = pcall(function()
local mt = getrawmetatable(game)
setreadonly(mt, false)
local oldIndex = mt.__index
mt.__index = newcclosure(function(self, idx)
if Config.SilentAim.Enabled and self == Mouse and (idx == "Hit" or idx == "Target") then
local target = silentTarget
if not target or not target.Character then
return oldIndex(self, idx)
end
local char = target.Character
local root = char:FindFirstChild("HumanoidRootPart")
local partName = "Head"
local part = char:FindFirstChild(partName)
if not root or not part or not isAlive(target) then
return oldIndex(self, idx)
end
local pred = Config.SilentAim.Prediction
local predicted = part.Position + root.Velocity * pred
if not isVisible(predicted, target) then
return oldIndex(self, idx)
end
if idx == "Hit" then
return CFrame.new(predicted)
elseif idx == "Target" then
return part
end
end
return oldIndex(self, idx)
end)
setreadonly(mt, true)
end)
if not SilentAimSupported then
Config.SilentAim.Supported = false
end
table.insert(Connections, RunService.RenderStepped:Connect(function()
if Config.SilentAim.Enabled then
silentTarget = GetClosestPlayerToCursor()
if Config.OutlineTarget and silentTarget and silentTarget.Character and not CurrentTarget then
CreateOutline(silentTarget.Character)
elseif not silentTarget and CurrentOutline then
CurrentOutline:Destroy()
CurrentOutline = nil
end
else
silentTarget = nil
if CurrentOutline and not CurrentTarget then
CurrentOutline:Destroy()
CurrentOutline = nil
end
end
end))
-- ==================== AUTO PREDICTION ====================
local function getAutoPred()
local ping = Stats.Network.ServerStatsItem["Data Ping"]:GetValue()
local pred
if ping < 20 then pred = 0.13
elseif ping < 30 then pred = 0.135
elseif ping < 40 then pred = 0.14
elseif ping < 50 then pred = 0.145
elseif ping < 60 then pred = 0.15
elseif ping < 70 then pred = 0.155
elseif ping < 80 then pred = 0.157
elseif ping < 90 then pred = 0.16
elseif ping < 100 then pred = 0.165
else pred = 0.17
end
return pred
end
table.insert(Connections, RunService.Heartbeat:Connect(function()
if Config.AutoPrediction then
local pred = getAutoPred()
Config.Aimlock.Prediction = pred
Config.SilentAim.Prediction = pred
updateSliderVisual(aimPredSlider, pred)
updateSliderVisual(silentPredSlider, pred)
end
end))
-- ==================== WALKSPEED ====================
local function UpdateWalkspeed()
local character = LocalPlayer.Character
if character then
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
if Config.Walkspeed.Enabled then
humanoid.WalkSpeed = Config.Walkspeed.Speed
else
humanoid.WalkSpeed = 16
end
end
end
end
table.insert(Connections, RunService.Heartbeat:Connect(UpdateWalkspeed))
-- ==================== NOCLIP ====================
local function UpdateNoclip()
local character = LocalPlayer.Character
if character and Config.Noclip.Enabled then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end
table.insert(Connections, RunService.Stepped:Connect(UpdateNoclip))
-- ==================== CREATE GUI ====================
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "bunnyAimlock"
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = game:GetService("CoreGui")
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 340, 0, 50)
MainFrame.Position = UDim2.new(0.5, -170, 0, 20)
MainFrame.BackgroundColor3 = Colors.Background
MainFrame.BorderSizePixel = 0
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui
local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 14)
MainCorner.Parent = MainFrame
local MainBorder = Instance.new("UIStroke")
MainBorder.Color = Colors.Border
MainBorder.Thickness = 2
MainBorder.Transparency = 0.3
MainBorder.Parent = MainFrame
-- Topbar
local Topbar = Instance.new("Frame")
Topbar.Name = "Topbar"
Topbar.Size = UDim2.new(1, 0, 0, 50)
Topbar.BackgroundColor3 = Colors.White
Topbar.BorderSizePixel = 0
Topbar.Parent = MainFrame
local TopbarCorner = Instance.new("UICorner")
TopbarCorner.CornerRadius = UDim.new(0, 14)
TopbarCorner.Parent = Topbar
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -90, 1, 0)
Title.Position = UDim2.new(0, 15, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "🐰 bunny Aimlock"
Title.Font = Enum.Font.GothamBold
Title.TextSize = 17
Title.TextColor3 = Colors.Primary
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Topbar
local ArrowButton = Instance.new("TextButton")
ArrowButton.Size = UDim2.new(0, 40, 0, 40)
ArrowButton.Position = UDim2.new(1, -45, 0.5, -20)
ArrowButton.BackgroundColor3 = Colors.Primary
ArrowButton.BorderSizePixel = 0
ArrowButton.Text = "▼"
ArrowButton.Font = Enum.Font.GothamBold
ArrowButton.TextSize = 18
ArrowButton.TextColor3 = Colors.White
ArrowButton.AutoButtonColor = false
ArrowButton.Parent = Topbar
local ArrowCorner = Instance.new("UICorner")
ArrowCorner.CornerRadius = UDim.new(0, 10)
ArrowCorner.Parent = ArrowButton
-- Content
local Content = Instance.new("Frame")
Content.Name = "Content"
Content.Size = UDim2.new(1, -20, 0, 0)
Content.Position = UDim2.new(0, 10, 0, 60)
Content.BackgroundTransparency = 1
Content.Parent = MainFrame
local ContentLayout = Instance.new("UIListLayout")
ContentLayout.Padding = UDim.new(0, 10)
ContentLayout.SortOrder = Enum.SortOrder.LayoutOrder
ContentLayout.Parent = Content
-- ==================== UI CREATION FUNCTIONS ====================
local function CreateToggle(name, text, default, callback)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, 0, 0, 35)
frame.BackgroundColor3 = Colors.White
frame.BorderSizePixel = 0
frame.Parent = Content
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = frame
local stroke = Instance.new("UIStroke")
stroke.Color = Colors.Border
stroke.Thickness = 1
stroke.Transparency = 0.5
stroke.Parent = frame
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, -60, 1, 0)
label.Position = UDim2.new(0, 10, 0, 0)
label.BackgroundTransparency = 1
label.Text = text
label.Font = Enum.Font.Gotham
label.TextSize = 13
label.TextColor3 = Colors.Text
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = frame
local button = Instance.new("TextButton")
button.Size = UDim2.new(0, 45, 0, 22)
button.Position = UDim2.new(1, -52, 0.5, -11)
button.BackgroundColor3 = default and Colors.Toggle_On or Colors.Toggle_Off
button.BorderSizePixel = 0
button.Text = ""
button.AutoButtonColor = false
button.Parent = frame
local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(1, 0)
buttonCorner.Parent = button
local knob = Instance.new("Frame")
knob.Size = UDim2.new(0, 18, 0, 18)
knob.Position = default and UDim2.new(1, -20, 0.5, -9) or UDim2.new(0, 2, 0.5, -9)
knob.BackgroundColor3 = Colors.White
knob.BorderSizePixel = 0
knob.Parent = button
local knobCorner = Instance.new("UICorner")
knobCorner.CornerRadius = UDim.new(1, 0)
knobCorner.Parent = knob
local enabled = default
button.MouseButton1Click:Connect(function()
enabled = not enabled
TweenService:Create(button, TweenInfo.new(0.2), {
BackgroundColor3 = enabled and Colors.Toggle_On or Colors.Toggle_Off
}):Play()
TweenService:Create(knob, TweenInfo.new(0.2, Enum.EasingStyle.Quad), {
Position = enabled and UDim2.new(1, -20, 0.5, -9) or UDim2.new(0, 2, 0.5, -9)
}):Play()
if callback then callback(enabled) end
end)
return {Frame = frame}
end
local function CreateSlider(text, min, max, default, rounding, callback)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, 0, 0, 45)
frame.BackgroundColor3 = Colors.White
frame.BorderSizePixel = 0
frame.Parent = Content
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = frame
local stroke = Instance.new("UIStroke")
stroke.Color = Colors.Border
stroke.Thickness = 1
stroke.Transparency = 0.5
stroke.Parent = frame
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, -60, 0, 20)
label.Position = UDim2.new(0, 10, 0, 5)
label.BackgroundTransparency = 1
label.Text = text
label.Font = Enum.Font.Gotham
label.TextSize = 12
label.TextColor3 = Colors.Text
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = frame
local valueLabel = Instance.new("TextLabel")
valueLabel.Size = UDim2.new(0, 50, 0, 20)
valueLabel.Position = UDim2.new(1, -55, 0, 5)
valueLabel.BackgroundTransparency = 1
valueLabel.Text = tostring(default)
valueLabel.Font = Enum.Font.GothamBold
valueLabel.TextSize = 12
valueLabel.TextColor3 = Colors.Accent
valueLabel.TextXAlignment = Enum.TextXAlignment.Right
valueLabel.Parent = frame
local track = Instance.new("Frame")
track.Size = UDim2.new(1, -20, 0, 4)
track.Position = UDim2.new(0, 10, 1, -12)
track.BackgroundColor3 = Colors.Border
track.BorderSizePixel = 0
track.Parent = frame
local trackCorner = Instance.new("UICorner")
trackCorner.CornerRadius = UDim.new(1, 0)
trackCorner.Parent = track
local fill = Instance.new("Frame")
fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0)
fill.BackgroundColor3 = Colors.Primary
fill.BorderSizePixel = 0
fill.Parent = track
local fillCorner = Instance.new("UICorner")
fillCorner.CornerRadius = UDim.new(1, 0)
fillCorner.Parent = fill
local knob = Instance.new("Frame")
knob.Size = UDim2.new(0, 14, 0, 14)
knob.Position = UDim2.new((default - min) / (max - min), -7, 0.5, -7)
knob.BackgroundColor3 = Colors.Accent
knob.BorderSizePixel = 0
knob.Parent = track
local knobCorner = Instance.new("UICorner")
knobCorner.CornerRadius = UDim.new(1, 0)
knobCorner.Parent = knob
local knobStroke = Instance.new("UIStroke")
knobStroke.Color = Colors.White
knobStroke.Thickness = 2
knobStroke.Parent = knob
local dragging = false
local value = default
local function updateSlider(input)
local trackSize = track.AbsoluteSize.X
local mousePos = input.Position.X - track.AbsolutePosition.X
local percent = math.clamp(mousePos / trackSize, 0, 1)
value = min + (max - min) * percent
if rounding then
value = math.floor(value / rounding + 0.5) * rounding
end
valueLabel.Text = tostring(value)
TweenService:Create(fill, TweenInfo.new(0.1), {
Size = UDim2.new(percent, 0, 1, 0)
}):Play()
TweenService:Create(knob, TweenInfo.new(0.1), {
Position = UDim2.new(percent, -7, 0.5, -7)
}):Play()
if callback then callback(value) end
end
track.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
updateSlider(input)
end
end)
track.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
updateSlider(input)
end
end)
return {Frame = frame, ValueLabel = valueLabel, Fill = fill, Knob = knob, Min = min, Max = max}
end
function updateSliderVisual(slider, val)
val = math.clamp(val, slider.Min, slider.Max)
local percent = (val - slider.Min) / (slider.Max - slider.Min)
slider.ValueLabel.Text = string.format("%.3f", val)
slider.Fill.Size = UDim2.new(percent, 0, 1, 0)
slider.Knob.Position = UDim2.new(percent, -7, 0.5, -7)
end
-- ==================== CREATE CONTROLS ====================
CreateToggle("AimlockToggle", "Aimlock(Q)", false, function(val)
Config.Aimlock.Enabled = val
if val then
StartAimlock()
else
if AimlockConnection then
AimlockConnection:Disconnect()
end
SetTarget(nil)
end
end)
local aimSmoothSlider = CreateSlider("Aimlock Smooth (0 = instant)", 0, 1, 1, 0.01, function(val)
Config.Aimlock.Smooth = val == 0 and 0.01 or val
end)
local aimPredSlider = CreateSlider("Aimlock Prediction", 0, 1, 0, 0.001, function(val)
Config.Aimlock.Prediction = val
end)
CreateToggle("AutoShootToggle", "Auto Shoot ", false, function(val)
Config.AutoShoot = val
end)
if Config.SilentAim.Supported then
CreateToggle("SilentAimToggle", "Silent Aim", false, function(val)
Config.SilentAim.Enabled = val
end)
else
local silentFrame = Instance.new("Frame")
silentFrame.Size = UDim2.new(1, 0, 0, 35)
silentFrame.BackgroundColor3 = Color3.fromRGB(255, 200, 200)
silentFrame.BorderSizePixel = 0
silentFrame.Parent = Content
local silentCorner = Instance.new("UICorner")
silentCorner.CornerRadius = UDim.new(0, 8)
silentCorner.Parent = silentFrame
local silentLabel = Instance.new("TextLabel")
silentLabel.Size = UDim2.new(1, -20, 1, 0)
silentLabel.Position = UDim2.new(0, 10, 0, 0)
silentLabel.BackgroundTransparency = 1
silentLabel.Text = "⚠️ Your executor doesn't support Silent Aim"
silentLabel.Font = Enum.Font.GothamMedium
silentLabel.TextSize = 11
silentLabel.TextColor3 = Color3.fromRGB(180, 50, 50)
silentLabel.TextXAlignment = Enum.TextXAlignment.Left
silentLabel.TextWrapped = true
silentLabel.Parent = silentFrame
end
local silentPredSlider = CreateSlider("Silent Aim Prediction", 0, 1, 0, 0.001, function(val)
Config.SilentAim.Prediction = val
end)
CreateToggle("AutoPredictionToggle", "Auto Prediction", false, function(val)
Config.AutoPrediction = val
end)
CreateToggle("OutlineToggle", "Outline Target", false, function(val)
Config.OutlineTarget = val
if not val and CurrentOutline then
CurrentOutline:Destroy()
CurrentOutline = nil
elseif val and CurrentTarget and CurrentTarget.Character then
CreateOutline(CurrentTarget.Character)
elseif val and silentTarget and silentTarget.Character and Config.SilentAim.Enabled then
CreateOutline(silentTarget.Character)
end
end)
CreateToggle("WalkspeedToggle", "Walkspeed(T)", false, function(val)
Config.Walkspeed.Enabled = val
end)
CreateSlider("Walkspeed Value", 1, 300, 50, 1, function(val)
Config.Walkspeed.Speed = val
end)
CreateToggle("NoclipToggle", "Noclip(N)", false, function(val)
Config.Noclip.Enabled = val
end)
-- ==================== MOBILE BUTTONS ====================
if IsMobile() then
-- Aimlock Mobile Button
local AimlockMobileBtn = Instance.new("TextButton")
AimlockMobileBtn.Name = "AimlockMobile"
AimlockMobileBtn.Size = UDim2.new(0, 60, 0, 60)
AimlockMobileBtn.Position = UDim2.new(0, 20, 0.5, -30)
AimlockMobileBtn.BackgroundColor3 = Colors.Primary
AimlockMobileBtn.BorderSizePixel = 0
AimlockMobileBtn.Text = "🎯"
AimlockMobileBtn.Font = Enum.Font.GothamBold
AimlockMobileBtn.TextSize = 28
AimlockMobileBtn.TextColor3 = Colors.White
AimlockMobileBtn.AutoButtonColor = false
AimlockMobileBtn.Parent = ScreenGui
local aimlockCorner = Instance.new("UICorner")
aimlockCorner.CornerRadius = UDim.new(1, 0)
aimlockCorner.Parent = AimlockMobileBtn
local aimlockStroke = Instance.new("UIStroke")
aimlockStroke.Color = Colors.Accent
aimlockStroke.Thickness = 3
aimlockStroke.Parent = AimlockMobileBtn
AimlockMobileBtn.MouseButton1Click:Connect(function()
if CurrentTarget then
SetTarget(nil)
AimlockMobileBtn.Text = "🎯"
else
local target = GetClosestPlayerToCursor()
SetTarget(target)
AimlockMobileBtn.Text = "🔓"
end
end)
-- Dragging for mobile button
local dragging = false
local dragInput, dragStart, startPos
AimlockMobileBtn.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = AimlockMobileBtn.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
AimlockMobileBtn.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input == dragInput and input.UserInputType == Enum.UserInputType.Touch then
local delta = input.Position - dragStart
TweenService:Create(AimlockMobileBtn, TweenInfo.new(0.1), {
Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
}):Play()
end
end)
-- Walkspeed Mobile Button
local WalkspeedMobileBtn = Instance.new("TextButton")
WalkspeedMobileBtn.Name = "WalkspeedMobile"
WalkspeedMobileBtn.Size = UDim2.new(0, 60, 0, 60)
WalkspeedMobileBtn.Position = UDim2.new(0, 20, 0.5, 50)
WalkspeedMobileBtn.BackgroundColor3 = Colors.Primary
WalkspeedMobileBtn.BorderSizePixel = 0
WalkspeedMobileBtn.Text = "⚡"
WalkspeedMobileBtn.Font = Enum.Font.GothamBold
WalkspeedMobileBtn.TextSize = 28
WalkspeedMobileBtn.TextColor3 = Colors.White
WalkspeedMobileBtn.AutoButtonColor = false
WalkspeedMobileBtn.Parent = ScreenGui
local walkCorner = Instance.new("UICorner")
walkCorner.CornerRadius = UDim.new(1, 0)
walkCorner.Parent = WalkspeedMobileBtn
local walkStroke = Instance.new("UIStroke")
walkStroke.Color = Colors.Accent
walkStroke.Thickness = 3
walkStroke.Parent = WalkspeedMobileBtn
WalkspeedMobileBtn.MouseButton1Click:Connect(function()
Config.Walkspeed.Enabled = not Config.Walkspeed.Enabled
WalkspeedMobileBtn.BackgroundColor3 = Config.Walkspeed.Enabled and Colors.Accent or Colors.Primary
end)
-- Dragging for walkspeed button
local dragging2 = false
local dragInput2, dragStart2, startPos2
WalkspeedMobileBtn.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragging2 = true
dragStart2 = input.Position
startPos2 = WalkspeedMobileBtn.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging2 = false
end
end)
end
end)
WalkspeedMobileBtn.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragInput2 = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging2 and input == dragInput2 and input.UserInputType == Enum.UserInputType.Touch then
local delta = input.Position - dragStart2
TweenService:Create(WalkspeedMobileBtn, TweenInfo.new(0.1), {
Position = UDim2.new(startPos2.X.Scale, startPos2.X.Offset + delta.X, startPos2.Y.Scale, startPos2.Y.Offset + delta.Y)
}):Play()
end
end)
end
-- ==================== KEYBINDS ====================
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
-- Aimlock Keybind
if input.KeyCode == Config.Aimlock.Keybind then
if CurrentTarget then
SetTarget(nil)
else
local target = GetClosestPlayerToCursor()
SetTarget(target)
end
end
-- Walkspeed Keybind
if input.KeyCode == Config.Walkspeed.Keybind then
Config.Walkspeed.Enabled = not Config.Walkspeed.Enabled
end
-- Noclip Keybind
if input.KeyCode == Config.Noclip.Keybind then
Config.Noclip.Enabled = not Config.Noclip.Enabled
Notify(Config.Noclip.Enabled and "👻 Noclip Enabled" or "👻 Noclip Disabled", 1.5)
end
end)
-- ==================== EXPAND/COLLAPSE ====================
local IsExpanded = false
local ContentHeight = 0
local function UpdateLayout()
ContentHeight = ContentLayout.AbsoluteContentSize.Y
end
ContentLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(UpdateLayout)
UpdateLayout()
ArrowButton.MouseButton1Click:Connect(function()
IsExpanded = not IsExpanded
local targetHeight = IsExpanded and (60 + ContentHeight + 20) or 50
TweenService:Create(MainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 340, 0, targetHeight)
}):Play()
TweenService:Create(ArrowButton, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Rotation = IsExpanded and 180 or 0
}):Play()
ArrowButton.Text = IsExpanded and "▲" or "▼"
end)
-- ==================== DRAGGING ====================
local dragging = false
local dragInput, dragStart, startPos
Topbar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
Topbar.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input == dragInput then
local delta = input.Position - dragStart
TweenService:Create(MainFrame, TweenInfo.new(0.1), {
Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
}):Play()
end
end)
-- ==================== WELCOME MESSAGES ====================
wait(1)
Notify("script for cute people:3", 3, Colors.Accent)
Notify("Welcome " .. LocalPlayer.DisplayName .. " 💖", 2.5, Colors.Primary)
![Universal | NOVAX Invisible [FE] Mobile + PC UI | No Key](https://scriptblox.com/images/sb/0-1791279609513.jpg)


Like and comment
nahh i aint liking