-- language: Lua, target: Roblox FORTLINE, executor any
-- apathy | FORTLINE โ clean ESP + auto-attack (ghost-fixed)
local okRay, Rayfield = pcall(function()
return loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
end)
if not okRay or not Rayfield then
warn("[apathy] Rayfield failed")
return
end
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local VirtualInputManager = game:GetService("VirtualInputManager")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
local Mouse = LocalPlayer:GetMouse()
local LocalUserId = LocalPlayer.UserId
local Settings = {
SilentAim = false,
SilentFOV = 220,
SilentPart = "Head",
TeamCheck = false,
WallCheck = false,
CameraAim = false,
Smooth = 0.18,
AutoAttack = false,
AutoAttackCPS = 12,
HitboxExpand = false,
HitboxSize = Vector3.new(12, 12, 12),
Magnet = false,
MagnetDistance = 6,
MagnetHeight = 0,
Spin = false,
SpinSpeed = 25,
ESP = true,
ESPCorners = true,
ESPName = true,
ESPHealth = true,
ESPDistance = true,
ESPTracer = false,
ESPMaxDist = 2500,
ESPColor = Color3.fromRGB(170, 85, 255),
Fly = false,
FlySpeed = 80,
Noclip = false,
Speed = false,
WalkSpeed = 28,
InfiniteJump = false,
}
local currentTarget = nil
local lastClick = 0
local function getChar() return LocalPlayer.Character end
local function getHum()
local c = getChar()
return c and c:FindFirstChildOfClass("Humanoid")
end
local function getRoot()
local c = getChar()
return c and c:FindFirstChild("HumanoidRootPart")
end
local function isAlive(plr)
local c = plr.Character
if not c then return false end
if c == LocalPlayer.Character then return false end
local h = c:FindFirstChildOfClass("Humanoid")
local r = c:FindFirstChild("HumanoidRootPart")
return h and r and h.Health > 0
end
local function isEnemy(plr)
if not plr then return false end
if plr == LocalPlayer then return false end
if plr.UserId == LocalUserId then return false end
if not isAlive(plr) then return false end
if Settings.TeamCheck and LocalPlayer.Team and plr.Team and LocalPlayer.Team == plr.Team then
return false
end
return true
end
local function hasLOS(fromPos, part)
if not Settings.WallCheck then return true end
local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Exclude
params.FilterDescendantsInstances = {getChar(), part.Parent}
local res = Workspace:Raycast(fromPos, part.Position - fromPos, params)
return res == nil or res.Instance:IsDescendantOf(part.Parent)
end
local function getTarget()
local best, bestDist = nil, Settings.SilentFOV
local center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
local camPos = Camera.CFrame.Position
for _, plr in ipairs(Players:GetPlayers()) do
if isEnemy(plr) then
local part = plr.Character:FindFirstChild(Settings.SilentPart)
or plr.Character:FindFirstChild("Head")
or plr.Character:FindFirstChild("HumanoidRootPart")
if part then
local sp, on = Camera:WorldToViewportPoint(part.Position)
if on and sp.Z > 0 then
local d = (Vector2.new(sp.X, sp.Y) - center).Magnitude
if d = interval then
lastClick = now
doClick()
end
end
end)
-- ========== SPIN ==========
local spinBAV = nil
local function stopSpin()
if spinBAV then spinBAV:Destroy() spinBAV = nil end
local root = getRoot()
if root then root.AssemblyAngularVelocity = Vector3.zero end
end
local function startSpin()
stopSpin()
local root = getRoot()
if not root then return end
spinBAV = Instance.new("BodyAngularVelocity")
spinBAV.Name = "ApathySpin"
spinBAV.MaxTorque = Vector3.new(0, math.huge, 0)
spinBAV.AngularVelocity = Vector3.new(0, Settings.SpinSpeed, 0)
spinBAV.Parent = root
end
RunService.Heartbeat:Connect(function()
if not Settings.Spin then
if spinBAV then stopSpin() end
return
end
local root = getRoot()
if not root then return end
if not spinBAV or spinBAV.Parent ~= root then
startSpin()
else
spinBAV.AngularVelocity = Vector3.new(0, Settings.SpinSpeed, 0)
end
end)
-- ========== HITBOX ENEMIES ONLY ==========
local BODY_NAMES = {
Head = true, HumanoidRootPart = true, UpperTorso = true, LowerTorso = true, Torso = true
}
local originalSizes = {}
local function isLocalPart(part)
local char = LocalPlayer.Character
if not char or not part then return true end
return part:IsDescendantOf(char)
end
local function restorePart(part)
local size = originalSizes[part]
if size and part and part.Parent then
pcall(function() part.Size = size end)
end
originalSizes[part] = nil
end
local function restoreAllHitboxes()
for part in pairs(originalSizes) do restorePart(part) end
table.clear(originalSizes)
end
local function purgeLocalFromHitboxes()
for part in pairs(originalSizes) do
if isLocalPart(part) then restorePart(part) end
end
end
local function expandEnemyHitboxes()
purgeLocalFromHitboxes()
if not Settings.HitboxExpand then
restoreAllHitboxes()
return
end
local seen = {}
for _, plr in ipairs(Players:GetPlayers()) do
if isEnemy(plr) then
local char = plr.Character
if char and char ~= LocalPlayer.Character then
for _, part in ipairs(char:GetChildren()) do
if part:IsA("BasePart") and BODY_NAMES[part.Name] and not isLocalPart(part) then
seen[part] = true
if not originalSizes[part] then originalSizes[part] = part.Size end
pcall(function()
part.Size = Settings.HitboxSize
part.Massless = true
part.CanCollide = false
end)
end
end
end
end
end
for part in pairs(originalSizes) do
if not seen[part] or not part.Parent or isLocalPart(part) then
restorePart(part)
end
end
end
RunService.Heartbeat:Connect(expandEnemyHitboxes)
-- ========== MAGNET ==========
local function magnetStep()
if not Settings.Magnet then return end
local root = getRoot()
if not root then return end
local cf = root.CFrame
local targetCF = CFrame.new(cf.Position + cf.LookVector * Settings.MagnetDistance + Vector3.new(0, Settings.MagnetHeight, 0))
for _, plr in ipairs(Players:GetPlayers()) do
if isEnemy(plr) then
local eroot = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
if eroot and not isLocalPart(eroot) then
pcall(function()
eroot.AssemblyLinearVelocity = Vector3.zero
eroot.AssemblyAngularVelocity = Vector3.zero
eroot.CFrame = targetCF
end)
end
end
end
end
RunService.Heartbeat:Connect(magnetStep)
-- ========== SILENT HOOKS ==========
local function redirectArgsToTarget(args)
if not currentTarget or not currentTarget.Parent then return args end
local pos, cf = currentTarget.Position, currentTarget.CFrame
for i, v in ipairs(args) do
local t = typeof(v)
if t == "Vector3" then args[i] = pos
elseif t == "CFrame" then args[i] = cf
elseif t == "table" then
if v.Hit then v.Hit = cf end
if v.hit then v.hit = cf end
if v.Target then v.Target = currentTarget end
if v.target then v.target = currentTarget end
if v.Position then v.Position = pos end
if v.position then v.position = pos end
if v.Origin and v.Direction then v.Direction = pos - v.Origin end
if v.origin and v.direction then v.direction = pos - v.origin end
if v.End then v.End = pos end
if v.Point then v.Point = pos end
end
end
return args
end
pcall(function()
if not hookmetamethod or not getnamecallmethod or not newcclosure then error("no") end
local old
old = hookmetamethod(game, "__namecall", newcclosure(function(self, ...)
local method = getnamecallmethod()
local args = {...}
if Settings.SilentAim and currentTarget and currentTarget.Parent then
if method == "FireServer" or method == "fireServer" then
return old(self, unpack(redirectArgsToTarget(args)))
end
if method == "Raycast" and self == Workspace then
local origin = args[1]
if typeof(origin) == "Vector3" then
local dir = currentTarget.Position - origin
args[2] = dir.Unit * math.max(dir.Magnitude, 1000)
return old(self, unpack(args))
end
end
end
return old(self, ...)
end))
end)
pcall(function()
local mt = getrawmetatable(game)
local oldIndex = mt.__index
setreadonly(mt, false)
mt.__index = newcclosure(function(self, key)
if Settings.SilentAim and currentTarget and currentTarget.Parent and self == Mouse then
if key == "Hit" or key == "hit" then return currentTarget.CFrame end
if key == "Target" or key == "target" then return currentTarget end
end
return oldIndex(self, key)
end)
setreadonly(mt, true)
end)
-- ========== ESP โ NO GHOSTS, NEVER SELF ==========
local ESP = {}
local function destroyDrawings(t)
if not t then return end
if t.corners then
for i = 1, 8 do
if t.corners[i] then
pcall(function()
t.corners[i].Visible = false
t.corners[i]:Remove()
end)
t.corners[i] = nil
end
end
end
local elements = {"name", "dist", "hpBack", "hpBar", "tracer"}
for _, key in ipairs(elements) do
if t[key] then
pcall(function()
t[key].Visible = false
t[key]:Remove()
end)
t[key] = nil
end
end
end
local function removeESP(plr)
local t = ESP[plr]
if t then
destroyDrawings(t)
ESP[plr] = nil
end
end
local function clearAllESP()
for plr, t in pairs(ESP) do
destroyDrawings(t)
end
table.clear(ESP)
end
local function hideESP(t)
if not t then return end
if t.name then t.name.Visible = false end
if t.dist then t.dist.Visible = false end
if t.hpBack then t.hpBack.Visible = false end
if t.hpBar then t.hpBar.Visible = false end
if t.tracer then t.tracer.Visible = false end
if t.corners then
for i = 1, 8 do
if t.corners[i] then t.corners[i].Visible = false end
end
end
end
local function makeESP()
local corners = {}
for i = 1, 8 do
local l = Drawing.new("Line")
l.Thickness = 2
l.Visible = false
corners[i] = l
end
local name = Drawing.new("Text")
name.Size = 15
name.Center = true
name.Outline = true
name.OutlineColor = Color3.new(0, 0, 0)
name.Visible = false
local dist = Drawing.new("Text")
dist.Size = 13
dist.Center = true
dist.Outline = true
dist.Visible = false
local hpBack = Drawing.new("Square")
hpBack.Filled = true
hpBack.Color = Color3.fromRGB(30, 30, 30)
hpBack.Visible = false
local hpBar = Drawing.new("Square")
hpBar.Filled = true
hpBar.Visible = false
local tracer = Drawing.new("Line")
tracer.Thickness = 1
tracer.Visible = false
return {corners = corners, name = name, dist = dist, hpBack = hpBack, hpBar = hpBar, tracer = tracer}
end
local function drawCorners(t, x, y, w, h, color)
local len = math.clamp(math.min(w, h) * 0.25, 4, 12)
local L = t.corners
L[1].From = Vector2.new(x, y); L[1].To = Vector2.new(x + len, y)
L[2].From = Vector2.new(x, y); L[2].To = Vector2.new(x, y + len)
L[3].From = Vector2.new(x + w, y); L[3].To = Vector2.new(x + w - len, y)
L[4].From = Vector2.new(x + w, y); L[4].To = Vector2.new(x + w, y + len)
L[5].From = Vector2.new(x, y + h); L[5].To = Vector2.new(x + len, y + h)
L[6].From = Vector2.new(x, y + h); L[6].To = Vector2.new(x, y + h - len)
L[7].From = Vector2.new(x + w, y + h); L[7].To = Vector2.new(x + w - len, y + h)
L[8].From = Vector2.new(x + w, y + h); L[8].To = Vector2.new(x + w, y + h - len)
for i = 1, 8 do
L[i].Color = color
L[i].Visible = true
end
end
RunService.RenderStepped:Connect(function()
if not Settings.ESP then
clearAllESP()
return
end
local myChar = LocalPlayer.Character
local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
local myPos = myRoot and myRoot.Position or Camera.CFrame.Position
local color = Settings.ESPColor
local valid = {}
for _, plr in ipairs(Players:GetPlayers()) do
local shouldRemove = false
if plr == LocalPlayer or plr.UserId == LocalUserId then
shouldRemove = true
else
local char = plr.Character
if not char or not char.Parent then
shouldRemove = true
else
local root = char:FindFirstChild("HumanoidRootPart")
local head = char:FindFirstChild("Head")
local hum = char:FindFirstChildOfClass("Humanoid")
if not root or not head or not hum or hum.Health Settings.ESPMaxDist then
shouldRemove = true
else
local t = ESP[plr]
if not t then
t = makeESP()
ESP[plr] = t
end
local top = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.9, 0))
local bottom = Camera:WorldToViewportPoint(root.Position - Vector3.new(0, 3, 0))
if top.Z <= 0 or bottom.Z <= 0 then
hideESP(t)
else
local height = math.abs(top.Y - bottom.Y)
local width = height * 0.55
local x, y = top.X - width / 2, top.Y
local vs = Camera.ViewportSize
if x + width vs.X or y + height vs.Y then
hideESP(t)
else
if Settings.ESPCorners then
drawCorners(t, x, y, width, height, color)
else
for i = 1, 8 do t.corners[i].Visible = false end
end
if Settings.ESPName then
t.name.Text = (plr.DisplayName ~= plr.Name) and (plr.DisplayName .. " (@" .. plr.Name .. ")") or plr.Name
t.name.Position = Vector2.new(top.X, y - 18)
t.name.Color = color
t.name.Visible = true
else
t.name.Visible = false
end
if Settings.ESPDistance then
t.dist.Text = string.format("%dm", math.floor(distance))
t.dist.Position = Vector2.new(top.X, bottom.Y + 4)
t.dist.Color = Color3.fromRGB(220, 220, 220)
t.dist.Visible = true
else
t.dist.Visible = false
end
if Settings.ESPHealth then
local hp = math.clamp(hum.Health / math.max(hum.MaxHealth, 1), 0, 1)
local barH, barW, barX = height, 3, x - 6
t.hpBack.Size = Vector2.new(barW, barH)
t.hpBack.Position = Vector2.new(barX, y)
t.hpBack.Visible = true
t.hpBar.Size = Vector2.new(barW, barH * hp)
t.hpBar.Position = Vector2.new(barX, y + barH * (1 - hp))
t.hpBar.Color = Color3.fromRGB(255 * (1 - hp), 255 * hp, 40)
t.hpBar.Visible = true
else
t.hpBack.Visible = false
t.hpBar.Visible = false
end
if Settings.ESPTracer then
t.tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
t.tracer.To = Vector2.new(bottom.X, bottom.Y)
t.tracer.Color = color
t.tracer.Visible = true
else
t.tracer.Visible = false
end
end
end
end
end
end
end
end
if shouldRemove then
removeESP(plr)
end
end
for existingPlr, t in pairs(ESP) do
if not valid[existingPlr] then
removeESP(existingPlr)
end
end
end)
Players.PlayerRemoving:Connect(function(plr)
removeESP(plr)
end)
local function hookCharacterRemoving(plr)
plr.CharacterRemoving:Connect(function()
removeESP(plr)
end)
end
Players.PlayerAdded:Connect(hookCharacterRemoving)
for _, plr in ipairs(Players:GetPlayers()) do
hookCharacterRemoving(plr)
end
-- ========== MOVEMENT ==========
local flyBV, flyBG, flyConn
local function stopFly()
if flyConn then flyConn:Disconnect() flyConn = nil end
if flyBV then flyBV:Destroy() flyBV = nil end
if flyBG then flyBG:Destroy() flyBG = nil end
end
local function startFly()
stopFly()
local root, hum = getRoot(), getHum()
if not root or not hum then return end
flyBV = Instance.new("BodyVelocity")
flyBV.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
flyBV.Velocity = Vector3.zero
flyBV.Parent = root
flyBG = Instance.new("BodyGyro")
flyBG.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
flyBG.P = 9e4
flyBG.Parent = root
hum.PlatformStand = true
flyConn = RunService.RenderStepped:Connect(function()
if not Settings.Fly then
stopFly()
if hum then hum.PlatformStand = false end
return
end
local cam = Camera.CFrame
flyBG.CFrame = cam
local move = Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then move = move + cam.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then move = move - cam.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then move = move - cam.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then move = move + cam.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then move = move + Vector3.new(0, 1, 0) end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then move = move - Vector3.new(0, 1, 0) end
flyBV.Velocity = move.Magnitude > 0 and move.Unit * Settings.FlySpeed or Vector3.zero
end)
end
local noclipConn
local function setNoclip(on)
if noclipConn then noclipConn:Disconnect() noclipConn = nil end
if not on then return end
noclipConn = RunService.Stepped:Connect(function()
local char = getChar()
if not char then return end
for _, p in ipairs(char:GetDescendants()) do
if p:IsA("BasePart") then p.CanCollide = false end
end
end)
end
local speedConn
local function setSpeed(on)
if speedConn then speedConn:Disconnect() speedConn = nil end
if on then
speedConn = RunService.Heartbeat:Connect(function()
local h = getHum()
if h and Settings.Speed then h.WalkSpeed = Settings.WalkSpeed end
end)
else
local h = getHum()
if h then h.WalkSpeed = 16 end
end
end
UserInputService.JumpRequest:Connect(function()
if Settings.InfiniteJump then
local h = getHum()
if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end
end
end)
local function disableAllCombatHelpers()
Settings.Magnet = false
Settings.HitboxExpand = false
Settings.Spin = false
Settings.SilentAim = false
Settings.CameraAim = false
Settings.AutoAttack = false
restoreAllHitboxes()
stopSpin()
clearAllESP()
end
LocalPlayer.CharacterAdded:Connect(function()
task.wait(0.4)
purgeLocalFromHitboxes()
stopSpin()
clearAllESP()
if Settings.Fly then startFly() end
if Settings.Noclip then setNoclip(true) end
if Settings.Speed then setSpeed(true) end
if Settings.Spin then startSpin() end
end)
LocalPlayer.CharacterRemoving:Connect(function()
stopFly()
stopSpin()
purgeLocalFromHitboxes()
clearAllESP()
end)
-- ========== UI ==========
local Window = Rayfield:CreateWindow({
Name = "apathy โ FORTLINE",
LoadingTitle = "apathy",
LoadingSubtitle = "clean ESP ยท auto-attack",
Theme = "Amethyst",
ConfigurationSaving = {
Enabled = true,
FolderName = "apathy",
FileName = "fortline_aa"
},
KeySystem = false
})
local Combat = Window:CreateTab("Combat", 4483362458)
Combat:CreateSection("Aim / Attack")
Combat:CreateToggle({ Name = "Silent Aim", CurrentValue = false, Flag = "Silent", Callback = function(v) Settings.SilentAim = v end })
Combat:CreateToggle({ Name = "Camera Aim (RMB / E)", CurrentValue = false, Flag = "CamAim", Callback = function(v) Settings.CameraAim = v end })
Combat:CreateToggle({ Name = "Auto Attack", CurrentValue = false, Flag = "AA", Callback = function(v) Settings.AutoAttack = v end })
Combat:CreateSlider({ Name = "Auto Attack CPS", Range = {1, 20}, Increment = 1, CurrentValue = 12, Flag = "CPS", Callback = function(v) Settings.AutoAttackCPS = v end })
Combat:CreateSlider({ Name = "FOV", Range = {50, 500}, Increment = 5, CurrentValue = 220, Flag = "FOV", Callback = function(v) Settings.SilentFOV = v end })
Combat:CreateDropdown({ Name = "Aim Part", Options = {"Head", "HumanoidRootPart", "UpperTorso"}, CurrentOption = {"Head"}, Flag = "AimPart", Callback = function(o) Settings.SilentPart = type(o) == "table" and o[1] or o end })
Combat:CreateToggle({ Name = "Team Check", CurrentValue = false, Flag = "Team", Callback = function(v) Settings.TeamCheck = v end })
Combat:CreateSection("Hitbox (enemies ONLY)")
Combat:CreateToggle({ Name = "Expand enemy body parts", CurrentValue = false, Flag = "Hitbox", Callback = function(v) Settings.HitboxExpand = v if not v then restoreAllHitboxes() end end })
Combat:CreateSlider({ Name = "Hitbox Size", Range = {4, 30}, Increment = 1, CurrentValue = 12, Flag = "HBSize", Callback = function(v) Settings.HitboxSize = Vector3.new(v, v, v) end })
Combat:CreateSection("Magnet")
Combat:CreateToggle({ Name = "Magnet enemies", CurrentValue = false, Flag = "Magnet", Callback = function(v) Settings.Magnet = v end })
Combat:CreateSlider({ Name = "Magnet distance", Range = {2, 20}, Increment = 1, CurrentValue = 6, Flag = "MagDist", Callback = function(v) Settings.MagnetDistance = v end })
Combat:CreateSection("Spin")
Combat:CreateToggle({ Name = "Spin", CurrentValue = false, Flag = "Spin", Callback = function(v) Settings.Spin = v if v then startSpin() else stopSpin() end end })
Combat:CreateSlider({ Name = "Spin speed", Range = {5, 80}, Increment = 1, CurrentValue = 25, Flag = "SpinSpd", Callback = function(v) Settings.SpinSpeed = v end })
Combat:CreateSection("Kill switch")
Combat:CreateButton({ Name = "DISABLE all combat helpers", Callback = function() disableAllCombatHelpers() Rayfield:Notify({ Title = "apathy", Content = "All combat helpers OFF", Duration = 3 }) end })
local Visuals = Window:CreateTab("ESP", 4483362458)
Visuals:CreateToggle({ Name = "ESP", CurrentValue = true, Flag = "ESP", Callback = function(v) Settings.ESP = v if not v then clearAllESP() end end })
Visuals:CreateToggle({ Name = "Corner Box", CurrentValue = true, Flag = "Corners", Callback = function(v) Settings.ESPCorners = v end })
Visuals:CreateToggle({ Name = "Name", CurrentValue = true, Flag = "Name", Callback = function(v) Settings.ESPName = v end })
Visuals:CreateToggle({ Name = "Health Bar", CurrentValue = true, Flag = "HP", Callback = function(v) Settings.ESPHealth = v end })
Visuals:CreateToggle({ Name = "Distance", CurrentValue = true, Flag = "Dist", Callback = function(v) Settings.ESPDistance = v end })
Visuals:CreateToggle({ Name = "Tracer", CurrentValue = false, Flag = "Tracer", Callback = function(v) Settings.ESPTracer = v end })
Visuals:CreateSlider({ Name = "Max Distance", Range = {200, 5000}, Increment = 50, CurrentValue = 2500, Flag = "MaxD", Callback = function(v) Settings.ESPMaxDist = v end })
Visuals:CreateButton({ Name = "Force clear ESP ghosts", Callback = function() clearAllESP() Rayfield:Notify({ Title = "apathy", Content = "ESP cleared", Duration = 2 }) end })
local Move = Window:CreateTab("Movement", 4483362458)
Move:CreateToggle({ Name = "Fly", CurrentValue = false, Flag = "Fly", Callback = function(v) Settings.Fly = v if v then startFly() else stopFly() local h = getHum() if h then h.PlatformStand = false end end end })
Move:CreateSlider({ Name = "Fly Speed", Range = {20, 250}, Increment = 5, CurrentValue = 80, Flag = "FSpeed", Callback = function(v) Settings.FlySpeed = v end })
Move:CreateToggle({ Name = "Noclip", CurrentValue = false, Flag = "Noclip", Callback = function(v) Settings.Noclip = v setNoclip(v) end })
Move:CreateToggle({ Name = "Speed", CurrentValue = false, Flag = "Speed", Callback = function(v) Settings.Speed = v setSpeed(v) end })
Move:CreateSlider({ Name = "WalkSpeed", Range = {16, 100}, Increment = 1, CurrentValue = 28, Flag = "WSpeed", Callback = function(v) Settings.WalkSpeed = v end })
Move:CreateToggle({ Name = "Infinite Jump", CurrentValue = false, Flag = "InfJump", Callback = function(v) Settings.InfiniteJump = v end })
Rayfield:Notify({ Title = "apathy", Content = "Clean ESP + Auto Attack ready", Duration = 5 })
Rayfield:LoadConfiguration()