
KeylessUniversal

--========================================================
-- FAKE HACKS V8
-- ROBLOX STUDIO / YOUR OWN GAME
--
-- CENTERED + MOBILE FRIENDLY GUI
-- RAGE AIM + LEGIT AIM + ESP
-- TEAM CHECK + WALL CHECK + TARGET LOCK
-- MASTER ON/OFF
-- DRAGGABLE + SCROLLABLE
-- MINIMIZE TO FLOATING CIRCLE
--
-- SILENT AIM REMOVED
--========================================================
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LP = Players.LocalPlayer
local PlayerGui = LP:WaitForChild("PlayerGui")
--========================================================
-- SETTINGS
--========================================================
local Settings = {
Enabled = true,
Mode = "Legit",
ESP = false,
TeamCheck = true,
WallCheck = true,
TargetLock = true,
FOV = 150,
Smoothness = 35,
MaxDistance = 1000,
RageSpeed = 18,
LegitSpeed = 6,
}
local CurrentTarget = nil
local CurrentPart = nil
local ScanTimer = 0
--========================================================
-- REMOVE OLD
--========================================================
local Old = PlayerGui:FindFirstChild("FakeHacksV8")
if Old then
Old:Destroy()
end
--========================================================
-- GUI
--========================================================
local Gui = Instance.new("ScreenGui")
Gui.Name = "FakeHacksV8"
Gui.ResetOnSpawn = false
Gui.IgnoreGuiInset = true
Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Gui.Parent = PlayerGui
--========================================================
-- MAIN WINDOW
--========================================================
local Main = Instance.new("Frame")
-- IMPORTANT:
-- AnchorPoint keeps the CENTER of the GUI at the
-- center of the screen instead of using a corner.
Main.AnchorPoint = Vector2.new(0.5, 0.5)
Main.Position = UDim2.fromScale(0.5, 0.5)
-- Scale-based size so it works better on phones
Main.Size = UDim2.fromScale(0.88, 0.78)
Main.BackgroundColor3 =
Color3.fromRGB(13, 14, 18)
Main.BorderSizePixel = 0
Main.Active = true
Main.ClipsDescendants = true
Main.Parent = Gui
local MainSizeConstraint =
Instance.new("UISizeConstraint")
MainSizeConstraint.MinSize =
Vector2.new(290, 360)
MainSizeConstraint.MaxSize =
Vector2.new(430, 620)
MainSizeConstraint.Parent = Main
Instance.new("UICorner", Main).CornerRadius =
UDim.new(0, 14)
local MainStroke =
Instance.new("UIStroke")
MainStroke.Color =
Color3.fromRGB(48, 50, 60)
MainStroke.Thickness = 1
MainStroke.Parent = Main
--========================================================
-- TOP BAR
--========================================================
local Top = Instance.new("Frame")
Top.Size =
UDim2.new(1, 0, 0, 60)
Top.BackgroundColor3 =
Color3.fromRGB(18, 19, 24)
Top.BorderSizePixel = 0
Top.Active = true
Top.Parent = Main
Instance.new("UICorner", Top).CornerRadius =
UDim.new(0, 14)
--========================================================
-- ACCENT
--========================================================
local Accent = Instance.new("Frame")
Accent.Size =
UDim2.fromOffset(4, 34)
Accent.Position =
UDim2.fromOffset(12, 13)
Accent.BackgroundColor3 =
Color3.fromRGB(125, 120, 255)
Accent.BorderSizePixel = 0
Accent.Parent = Top
Instance.new("UICorner", Accent).CornerRadius =
UDim.new(1, 0)
--========================================================
-- TITLE
--========================================================
local Title = Instance.new("TextLabel")
Title.Size =
UDim2.new(1, -100, 0, 24)
Title.Position =
UDim2.fromOffset(25, 8)
Title.BackgroundTransparency = 1
Title.Text =
"AIM CONTROL"
Title.Font =
Enum.Font.GothamBold
Title.TextSize = 15
Title.TextColor3 =
Color3.fromRGB(245, 245, 250)
Title.TextXAlignment =
Enum.TextXAlignment.Left
Title.Parent = Top
local Subtitle = Instance.new("TextLabel")
Subtitle.Size =
UDim2.new(1, -100, 0, 17)
Subtitle.Position =
UDim2.fromOffset(25, 31)
Subtitle.BackgroundTransparency = 1
Subtitle.Text =
"V8 • PLAYER TARGETING"
Subtitle.Font =
Enum.Font.Gotham
Subtitle.TextSize = 9
Subtitle.TextColor3 =
Color3.fromRGB(105, 108, 120)
Subtitle.TextXAlignment =
Enum.TextXAlignment.Left
Subtitle.Parent = Top
--========================================================
-- MINIMIZE BUTTON
--========================================================
local MinButton = Instance.new("TextButton")
MinButton.AnchorPoint =
Vector2.new(1, 0.5)
MinButton.Position =
UDim2.new(1, -12, 0.5, 0)
MinButton.Size =
UDim2.fromOffset(34, 34)
MinButton.BackgroundColor3 =
Color3.fromRGB(31, 32, 40)
MinButton.Text =
"−"
MinButton.Font =
Enum.Font.GothamBold
MinButton.TextSize = 18
MinButton.TextColor3 =
Color3.fromRGB(220, 220, 225)
MinButton.AutoButtonColor = false
MinButton.Parent = Top
Instance.new("UICorner", MinButton).CornerRadius =
UDim.new(0, 9)
--========================================================
-- SCROLLING FRAME
--========================================================
local Scroll = Instance.new("ScrollingFrame")
Scroll.Size =
UDim2.new(1, -16, 1, -68)
Scroll.Position =
UDim2.fromOffset(8, 64)
Scroll.BackgroundTransparency = 1
Scroll.BorderSizePixel = 0
Scroll.ScrollBarThickness = 3
Scroll.ScrollBarImageColor3 =
Color3.fromRGB(90, 90, 105)
Scroll.Active = true
Scroll.ScrollingDirection =
Enum.ScrollingDirection.Y
Scroll.CanvasSize =
UDim2.fromOffset(0, 650)
Scroll.Parent = Main
--========================================================
-- SECTION
--========================================================
local function Section(Text, Y)
local Label = Instance.new("TextLabel")
Label.Size =
UDim2.new(1, -25, 0, 20)
Label.Position =
UDim2.fromOffset(13, Y)
Label.BackgroundTransparency = 1
Label.Text = Text
Label.Font =
Enum.Font.GothamBold
Label.TextSize = 9
Label.TextColor3 =
Color3.fromRGB(95, 98, 110)
Label.TextXAlignment =
Enum.TextXAlignment.Left
Label.Parent = Scroll
return Label
end
--========================================================
-- TOGGLE
--========================================================
local function Toggle(Text, Y)
local Button = Instance.new("TextButton")
Button.Size =
UDim2.new(1, -26, 0, 40)
Button.Position =
UDim2.fromOffset(13, Y)
Button.BackgroundColor3 =
Color3.fromRGB(22, 23, 29)
Button.Text = ""
Button.AutoButtonColor = false
Button.Parent = Scroll
Instance.new("UICorner", Button).CornerRadius =
UDim.new(0, 9)
local Label = Instance.new("TextLabel")
Label.Size =
UDim2.new(1, -65, 1, 0)
Label.Position =
UDim2.fromOffset(13, 0)
Label.BackgroundTransparency = 1
Label.Text = Text
Label.Font =
Enum.Font.GothamMedium
Label.TextSize = 11
Label.TextColor3 =
Color3.fromRGB(210, 211, 218)
Label.TextXAlignment =
Enum.TextXAlignment.Left
Label.Parent = Button
local Switch = Instance.new("Frame")
Switch.Size =
UDim2.fromOffset(36, 20)
Switch.Position =
UDim2.new(1, -50, 0.5, -10)
Switch.BackgroundColor3 =
Color3.fromRGB(48, 49, 58)
Switch.Parent = Button
Instance.new("UICorner", Switch).CornerRadius =
UDim.new(1, 0)
local Knob = Instance.new("Frame")
Knob.Size =
UDim2.fromOffset(16, 16)
Knob.Position =
UDim2.fromOffset(2, 2)
Knob.BackgroundColor3 =
Color3.fromRGB(180, 181, 188)
Knob.Parent = Switch
Instance.new("UICorner", Knob).CornerRadius =
UDim.new(1, 0)
return Button, Switch, Knob
end
--========================================================
-- TOGGLE VISUAL
--========================================================
local function SetToggle(Switch, Knob, Enabled)
if Enabled then
Switch.BackgroundColor3 =
Color3.fromRGB(102, 96, 205)
Knob.BackgroundColor3 =
Color3.fromRGB(250, 250, 255)
Knob.Position =
UDim2.fromOffset(18, 2)
else
Switch.BackgroundColor3 =
Color3.fromRGB(48, 49, 58)
Knob.BackgroundColor3 =
Color3.fromRGB(180, 181, 188)
Knob.Position =
UDim2.fromOffset(2, 2)
end
end
--========================================================
-- MASTER
--========================================================
Section("MASTER", 5)
local AimButton, AimSwitch, AimKnob =
Toggle("Aimbot Enabled", 30)
SetToggle(
AimSwitch,
AimKnob,
Settings.Enabled
)
--========================================================
-- AIM MODE
--========================================================
Section("AIM MODE", 82)
local Rage = Instance.new("TextButton")
Rage.Size =
UDim2.new(0.5, -18, 0, 45)
Rage.Position =
UDim2.fromOffset(13, 107)
Rage.BackgroundColor3 =
Color3.fromRGB(27, 28, 35)
Rage.Text =
"RAGE"
Rage.Font =
Enum.Font.GothamBold
Rage.TextSize = 12
Rage.TextColor3 =
Color3.fromRGB(190, 191, 200)
Rage.AutoButtonColor = false
Rage.Parent = Scroll
Instance.new("UICorner", Rage).CornerRadius =
UDim.new(0, 10)
local Legit = Instance.new("TextButton")
Legit.Size =
UDim2.new(0.5, -18, 0, 45)
Legit.Position =
UDim2.new(0.5, 5, 0, 107)
Legit.BackgroundColor3 =
Color3.fromRGB(67, 62, 125)
Legit.Text =
"LEGIT"
Legit.Font =
Enum.Font.GothamBold
Legit.TextSize = 12
Legit.TextColor3 =
Color3.fromRGB(225, 224, 255)
Legit.AutoButtonColor = false
Legit.Parent = Scroll
Instance.new("UICorner", Legit).CornerRadius =
UDim.new(0, 10)
--========================================================
-- TARGETING
--========================================================
Section("TARGETING", 165)
local ESPButton, ESPSwitch, ESPKnob =
Toggle("ESP Boxes", 189)
local TeamButton, TeamSwitch, TeamKnob =
Toggle("Team Check", 232)
local WallButton, WallSwitch, WallKnob =
Toggle("Wall Check", 275)
local LockButton, LockSwitch, LockKnob =
Toggle("Target Lock", 318)
SetToggle(
ESPSwitch,
ESPKnob,
Settings.ESP
)
SetToggle(
TeamSwitch,
TeamKnob,
Settings.TeamCheck
)
SetToggle(
WallSwitch,
WallKnob,
Settings.WallCheck
)
SetToggle(
LockSwitch,
LockKnob,
Settings.TargetLock
)
--========================================================
-- SLIDER
--========================================================
local function Slider(Text, Y, Min, Max, Initial, Callback)
local Label = Instance.new("TextLabel")
Label.Size =
UDim2.new(1, -80, 0, 20)
Label.Position =
UDim2.fromOffset(13, Y)
Label.BackgroundTransparency = 1
Label.Text = Text
Label.Font =
Enum.Font.GothamMedium
Label.TextSize = 10
Label.TextColor3 =
Color3.fromRGB(190, 191, 198)
Label.TextXAlignment =
Enum.TextXAlignment.Left
Label.Parent = Scroll
local Value = Instance.new("TextLabel")
Value.Size =
UDim2.fromOffset(55, 20)
Value.Position =
UDim2.new(1, -70, 0, Y)
Value.BackgroundTransparency = 1
Value.Text =
tostring(Initial)
Value.Font =
Enum.Font.GothamBold
Value.TextSize = 10
Value.TextColor3 =
Color3.fromRGB(150, 145, 255)
Value.TextXAlignment =
Enum.TextXAlignment.Right
Value.Parent = Scroll
local Bar = Instance.new("Frame")
Bar.Size =
UDim2.new(1, -26, 0, 5)
Bar.Position =
UDim2.fromOffset(13, Y + 27)
Bar.BackgroundColor3 =
Color3.fromRGB(40, 41, 49)
Bar.BorderSizePixel = 0
Bar.Active = true
Bar.Parent = Scroll
Instance.new("UICorner", Bar).CornerRadius =
UDim.new(1, 0)
local Fill = Instance.new("Frame")
Fill.BackgroundColor3 =
Color3.fromRGB(125, 119, 235)
Fill.BorderSizePixel = 0
Fill.Parent = Bar
Instance.new("UICorner", Fill).CornerRadius =
UDim.new(1, 0)
local Percent =
(Initial - Min) / (Max - Min)
Fill.Size =
UDim2.new(Percent, 0, 1, 0)
local Dragging = false
local function Update(X)
local P =
math.clamp(
(X - Bar.AbsolutePosition.X)
/ Bar.AbsoluteSize.X,
0,
1
)
local Number =
math.floor(
Min + (Max - Min) * P + 0.5
)
Fill.Size =
UDim2.new(P, 0, 1, 0)
Value.Text =
tostring(Number)
Callback(Number)
end
Bar.InputBegan:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1
or Input.UserInputType ==
Enum.UserInputType.Touch then
Dragging = true
Update(
Input.Position.X
)
end
end)
UserInputService.InputChanged:Connect(function(Input)
if not Dragging then
return
end
if Input.UserInputType ==
Enum.UserInputType.MouseMovement
or Input.UserInputType ==
Enum.UserInputType.Touch then
Update(
Input.Position.X
)
end
end)
UserInputService.InputEnded:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1
or Input.UserInputType ==
Enum.UserInputType.Touch then
Dragging = false
end
end)
end
--========================================================
-- AIM SETTINGS
--========================================================
Section("AIM SETTINGS", 365)
Slider(
"FOV",
390,
50,
300,
Settings.FOV,
function(V)
Settings.FOV = V
end
)
Slider(
"SMOOTHNESS",
442,
5,
100,
Settings.Smoothness,
function(V)
Settings.Smoothness = V
end
)
Slider(
"MAX DISTANCE",
494,
100,
2000,
Settings.MaxDistance,
function(V)
Settings.MaxDistance = V
end
)
--========================================================
-- FOV
--========================================================
local FOVCircle = Instance.new("Frame")
FOVCircle.Name = "FOV"
FOVCircle.AnchorPoint =
Vector2.new(0.5, 0.5)
FOVCircle.Position =
UDim2.fromScale(0.5, 0.5)
FOVCircle.Size =
UDim2.fromOffset(
Settings.FOV * 2,
Settings.FOV * 2
)
FOVCircle.BackgroundTransparency = 1
FOVCircle.Parent = Gui
Instance.new("UICorner", FOVCircle).CornerRadius =
UDim.new(1, 0)
local FOVStroke =
Instance.new("UIStroke")
FOVStroke.Color =
Color3.fromRGB(135, 130, 255)
FOVStroke.Transparency = 0.5
FOVStroke.Thickness = 1
FOVStroke.Parent = FOVCircle
--========================================================
-- STATUS
--========================================================
local Status = Instance.new("TextLabel")
Status.Size =
UDim2.new(1, -26, 0, 25)
Status.Position =
UDim2.fromOffset(13, 550)
Status.BackgroundTransparency = 1
Status.Text =
"TARGET • NONE"
Status.Font =
Enum.Font.GothamBold
Status.TextSize = 9
Status.TextColor3 =
Color3.fromRGB(100, 102, 113)
Status.TextXAlignment =
Enum.TextXAlignment.Left
Status.Parent = Scroll
--========================================================
-- TARGET CHECK
--========================================================
local function ValidTarget(Player)
if Player == LP then
return false
end
if Settings.TeamCheck then
if LP.Team
and Player.Team
and LP.Team == Player.Team then
return false
end
end
local Character =
Player.Character
if not Character then
return false
end
local Humanoid =
Character:FindFirstChildOfClass(
"Humanoid"
)
local Root =
Character:FindFirstChild(
"HumanoidRootPart"
)
local Head =
Character:FindFirstChild(
"Head"
)
if not Humanoid
or Humanoid.Health <= 0
or not Root
or not Head then
return false
end
local MyCharacter =
LP.Character
local MyRoot =
MyCharacter
and MyCharacter:FindFirstChild(
"HumanoidRootPart"
)
if MyRoot then
local Distance =
(
Root.Position
- MyRoot.Position
).Magnitude
if Distance >
Settings.MaxDistance then
return false
end
end
return true
end
--========================================================
-- WALL CHECK
--========================================================
local function Visible(Part)
if not Settings.WallCheck then
return true
end
local Camera =
workspace.CurrentCamera
if not Camera then
return false
end
local Origin =
Camera.CFrame.Position
local Direction =
Part.Position - Origin
local Params =
RaycastParams.new()
Params.FilterType =
Enum.RaycastFilterType.Exclude
Params.FilterDescendantsInstances = {
LP.Character
}
local Result =
workspace:Raycast(
Origin,
Direction,
Params
)
if not Result then
return true
end
return Result.Instance:IsDescendantOf(
Part.Parent
)
end
--========================================================
-- AIM PART
--========================================================
local function GetAimPart(Character)
if Settings.Mode == "Rage" then
return Character:FindFirstChild(
"Head"
)
end
return Character:FindFirstChild(
"UpperTorso"
)
or Character:FindFirstChild(
"Torso"
)
or Character:FindFirstChild(
"Head"
)
end
--========================================================
-- SCREEN DISTANCE
--========================================================
local function ScreenDistance(Part)
local Camera =
workspace.CurrentCamera
if not Camera then
return math.huge
end
local Position, OnScreen =
Camera:WorldToViewportPoint(
Part.Position
)
if not OnScreen
or Position.Z <= 0 then
return math.huge
end
local Center =
Vector2.new(
Camera.ViewportSize.X / 2,
Camera.ViewportSize.Y / 2
)
local Point =
Vector2.new(
Position.X,
Position.Y
)
return (
Point - Center
).Magnitude
end
--========================================================
-- FIND TARGET
--========================================================
local function FindTarget()
local BestPlayer = nil
local BestPart = nil
local BestDistance =
Settings.FOV
for _, Player in ipairs(
Players:GetPlayers()
) do
if ValidTarget(Player) then
local Character =
Player.Character
local Part =
GetAimPart(Character)
if Part and Visible(Part) then
local Distance =
ScreenDistance(Part)
if Distance <
BestDistance then
BestDistance =
Distance
BestPlayer =
Player
BestPart =
Part
end
end
end
end
return BestPlayer, BestPart
end
--========================================================
-- TARGET STILL VALID
--========================================================
local function TargetStillValid()
if not CurrentTarget
or not CurrentPart then
return false
end
if not ValidTarget(CurrentTarget) then
return false
end
local Character =
CurrentTarget.Character
local Part =
GetAimPart(Character)
if not Part then
return false
end
CurrentPart = Part
if not Visible(Part) then
return false
end
return ScreenDistance(Part)
<= Settings.FOV * 1.35
end
--========================================================
-- ESP
--========================================================
local ESPObjects = {}
local function RemoveESP(Player)
if ESPObjects[Player] then
ESPObjects[Player]:Destroy()
ESPObjects[Player] = nil
end
end
local function CreateESP(Player)
if Player == LP then
return
end
if ESPObjects[Player] then
return
end
if not Player.Character then
return
end
local Highlight =
Instance.new("Highlight")
Highlight.Name =
"ESPBox"
Highlight.Adornee =
Player.Character
Highlight.FillTransparency = 1
Highlight.OutlineTransparency =
0.05
Highlight.OutlineColor =
Color3.fromRGB(
235,
235,
255
)
Highlight.DepthMode =
Enum.HighlightDepthMode.AlwaysOnTop
Highlight.Enabled =
Settings.ESP
Highlight.Parent =
Gui
ESPObjects[Player] =
Highlight
end
local function UpdateESP()
for Player, Object in pairs(
ESPObjects
) do
if not Player.Parent then
Object:Destroy()
ESPObjects[Player] = nil
else
Object.Adornee =
Player.Character
Object.Enabled =
Settings.ESP
end
end
if not Settings.ESP then
return
end
for _, Player in ipairs(
Players:GetPlayers()
) do
if Player ~= LP then
CreateESP(Player)
end
end
end
Players.PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(
function()
task.wait(0.1)
if Settings.ESP then
CreateESP(Player)
end
end
)
end)
Players.PlayerRemoving:Connect(function(Player)
RemoveESP(Player)
if CurrentTarget == Player then
CurrentTarget = nil
CurrentPart = nil
end
end)
--========================================================
-- BUTTONS
--========================================================
AimButton.MouseButton1Click:Connect(function()
Settings.Enabled =
not Settings.Enabled
SetToggle(
AimSwitch,
AimKnob,
Settings.Enabled
)
if not Settings.Enabled then
CurrentTarget = nil
CurrentPart = nil
Status.Text =
"AIM • OFF"
else
Status.Text =
"AIM • READY"
end
end)
Rage.MouseButton1Click:Connect(function()
Settings.Mode = "Rage"
Rage.BackgroundColor3 =
Color3.fromRGB(95, 55, 65)
Rage.TextColor3 =
Color3.fromRGB(255, 225, 230)
Legit.BackgroundColor3 =
Color3.fromRGB(27, 28, 35)
Legit.TextColor3 =
Color3.fromRGB(190, 191, 200)
CurrentTarget = nil
CurrentPart = nil
end)
Legit.MouseButton1Click:Connect(function()
Settings.Mode = "Legit"
Legit.BackgroundColor3 =
Color3.fromRGB(67, 62, 125)
Legit.TextColor3 =
Color3.fromRGB(225, 224, 255)
Rage.BackgroundColor3 =
Color3.fromRGB(27, 28, 35)
Rage.TextColor3 =
Color3.fromRGB(190, 191, 200)
CurrentTarget = nil
CurrentPart = nil
end)
ESPButton.MouseButton1Click:Connect(function()
Settings.ESP =
not Settings.ESP
SetToggle(
ESPSwitch,
ESPKnob,
Settings.ESP
)
UpdateESP()
end)
TeamButton.MouseButton1Click:Connect(function()
Settings.TeamCheck =
not Settings.TeamCheck
SetToggle(
TeamSwitch,
TeamKnob,
Settings.TeamCheck
)
CurrentTarget = nil
CurrentPart = nil
end)
WallButton.MouseButton1Click:Connect(function()
Settings.WallCheck =
not Settings.WallCheck
SetToggle(
WallSwitch,
WallKnob,
Settings.WallCheck
)
CurrentTarget = nil
CurrentPart = nil
end)
LockButton.MouseButton1Click:Connect(function()
Settings.TargetLock =
not Settings.TargetLock
SetToggle(
LockSwitch,
LockKnob,
Settings.TargetLock
)
if not Settings.TargetLock then
CurrentTarget = nil
CurrentPart = nil
end
end)
--========================================================
-- AIM LOOP
--========================================================
RunService:BindToRenderStep(
"FakeHacksV8Aim",
Enum.RenderPriority.Camera.Value + 1,
function(DeltaTime)
local Camera =
workspace.CurrentCamera
if not Camera then
return
end
FOVCircle.Size =
UDim2.fromOffset(
Settings.FOV * 2,
Settings.FOV * 2
)
UpdateESP()
if not Settings.Enabled then
CurrentTarget = nil
CurrentPart = nil
Status.Text =
"AIM • OFF"
return
end
ScanTimer += DeltaTime
if ScanTimer >= 0.033 then
ScanTimer = 0
if Settings.TargetLock then
if not TargetStillValid() then
CurrentTarget,
CurrentPart =
FindTarget()
end
else
CurrentTarget,
CurrentPart =
FindTarget()
end
end
if not CurrentTarget
or not CurrentPart then
Status.Text =
"TARGET • NONE"
return
end
if not TargetStillValid() then
CurrentTarget = nil
CurrentPart = nil
Status.Text =
"TARGET • NONE"
return
end
Status.Text =
"TARGET • "
.. CurrentTarget.DisplayName
.. " • "
.. CurrentPart.Name
local Desired =
CFrame.lookAt(
Camera.CFrame.Position,
CurrentPart.Position
)
local Speed
if Settings.Mode == "Rage" then
Speed =
Settings.RageSpeed
else
Speed =
1
+ (
Settings.Smoothness
/ 100
)
* Settings.LegitSpeed
end
local Alpha =
1 - math.exp(
-Speed * DeltaTime
)
Camera.CFrame =
Camera.CFrame:Lerp(
Desired,
Alpha
)
end
)
--========================================================
-- DRAG MAIN WINDOW
--========================================================
local Dragging = false
local DragStart
local StartPosition
Top.InputBegan:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1
or Input.UserInputType ==
Enum.UserInputType.Touch then
Dragging = true
DragStart =
Input.Position
StartPosition =
Main.Position
end
end)
UserInputService.InputChanged:Connect(function(Input)
if not Dragging then
return
end
if Input.UserInputType ==
Enum.UserInputType.MouseMovement
or Input.UserInputType ==
Enum.UserInputType.Touch then
local Delta =
Input.Position
- DragStart
Main.Position =
UDim2.new(
StartPosition.X.Scale,
StartPosition.X.Offset + Delta.X,
StartPosition.Y.Scale,
StartPosition.Y.Offset + Delta.Y
)
end
end)
UserInputService.InputEnded:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1
or Input.UserInputType ==
Enum.UserInputType.Touch then
Dragging = false
end
end)
--========================================================
-- FLOATING BUTTON
--========================================================
local Floating = Instance.new("TextButton")
Floating.AnchorPoint =
Vector2.new(0.5, 0.5)
Floating.Position =
UDim2.fromScale(0.5, 0.5)
Floating.Size =
UDim2.fromOffset(58, 58)
Floating.BackgroundColor3 =
Color3.fromRGB(18, 19, 25)
Floating.Text =
"A"
Floating.Font =
Enum.Font.GothamBlack
Floating.TextSize = 25
Floating.TextColor3 =
Color3.fromRGB(150, 145, 255)
Floating.Visible = false
Floating.Active = true
Floating.AutoButtonColor = false
Floating.Parent = Gui
Instance.new("UICorner", Floating).CornerRadius =
UDim.new(1, 0)
local FloatingStroke =
Instance.new("UIStroke")
FloatingStroke.Color =
Color3.fromRGB(100, 95, 200)
FloatingStroke.Thickness = 2
FloatingStroke.Parent = Floating
--========================================================
-- MINIMIZE / RESTORE
--========================================================
MinButton.MouseButton1Click:Connect(function()
Main.Visible = false
Floating.Visible = true
end)
Floating.MouseButton1Click:Connect(function()
Main.Visible = true
Floating.Visible = false
end)
--========================================================
-- FLOATING BUTTON DRAG
--========================================================
local FloatDragging = false
local FloatStart
local FloatPosition
Floating.InputBegan:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1
or Input.UserInputType ==
Enum.UserInputType.Touch then
FloatDragging = true
FloatStart =
Input.Position
FloatPosition =
Floating.Position
end
end)
UserInputService.InputChanged:Connect(function(Input)
if not FloatDragging then
return
end
if Input.UserInputType ==
Enum.UserInputType.MouseMovement
or Input.UserInputType ==
Enum.UserInputType.Touch then
local Delta =
Input.Position
- FloatStart
Floating.Position =
UDim2.new(
FloatPosition.X.Scale,
FloatPosition.X.Offset + Delta.X,
FloatPosition.Y.Scale,
FloatPosition.Y.Offset + Delta.Y
)
end
end)
UserInputService.InputEnded:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1
or Input.UserInputType ==
Enum.UserInputType.Touch then
FloatDragging = false
end
end)
--========================================================
-- F4
--========================================================
UserInputService.InputBegan:Connect(function(
Input,
Processed
)
if Processed then
return
end
if Input.KeyCode ==
Enum.KeyCode.F4 then
Settings.Enabled =
not Settings.Enabled
SetToggle(
AimSwitch,
AimKnob,
Settings.Enabled
)
if not Settings.Enabled then
CurrentTarget = nil
CurrentPart = nil
Status.Text =
"AIM • OFF"
else
Status.Text =
"AIM • READY"
end
end
end)
--========================================================
-- START
--========================================================
FOVCircle.Visible = true
print("[Fake Hacks V8] Loaded")
print("[Fake Hacks V8] Centered GUI")
print("[Fake Hacks V8] Mobile friendly")
print("[Fake Hacks V8] Master toggle ready")No comments yet for this script.



