FORTLINE Keyless Script | Apathy
FORTLINE Keyless
FORTLINE Keyless Script | Apathy
๐Ÿ‘ค alexriderr ๐Ÿ‘ 5 views โค๏ธ 0 likes โฑ Nov 6, 2026
This **open-source script** is developed by **Apathy** and includes useful features such as **Silent Aim, Auto Attack, Camera Aim**, and other combat-related functions. Since the code is open source, you can also review and modify it. It is reported to support **Xeno**, although compatibility may vary depending on the executor version.
โœจ Features
Silent Aim Camera Aim Auto Attack Auto Attack CPS FOV Aim Part Team Check Expand Enemy Body Parts Hitbox Size Magnet Enemies Magnet Distance Spin Spin Speed Corner Box Health Bar Trace Distance Max Distance Force Clear ESP Ghost Fly Fly Speed Noclip
๐Ÿ“‹ Script Code
-- 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()
๐ŸŽฎ Similar Scripts
๐Ÿ’ฌ Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game FORTLINE
TypeKeyless
Authoralexriderr
Views5
Likes0
PublishedNov 6, 2026
๐ŸŽฎ Play Game on Roblox
๐Ÿ• Recent Scripts
Viper Speed Hacks
Viper Speed Hacks
roblox. โ€ข ๐Ÿ‘ 1
Keyless
Anime Adventure Auto Farm v2.4
Anime Adventure Auto Farm v2.4
Anime Adventures โ€ข ๐Ÿ‘ 3
Keyless
Fake an Egg script by School Hub | Auto Farm, Auto Feed
Fake an Egg script by School Hub | Auto Farm, Auto Feed
Fake an Egg โ€ข ๐Ÿ‘ 2
Keyless
Virus Border Roleplay
Virus Border Roleplay
Virus Border Roleplay โ€ข ๐Ÿ‘ 4
Keyless
Anime Adventures Auto Farm + Dupe
Anime Adventures Auto Farm + Dupe
Anime Adventures โ€ข ๐Ÿ‘ 3
Keyless