Open Source  script
Key Required

Open Source script

ForsakenKkk1_Kkk1_ 6.5K views 55 executesUpdated Jul 30, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•787 lines (20483 chars)
local l = loadstring(game:HttpGet("https://raw.githubusercontent.com/tbao143/Library-ui/refs/heads/main/Redzhubui"))()
local sos, speed, grav, gen = nil, 1, 196.2, 3
local disabled = true
local event1, event2, event3, event4, event9, event10, event11
local re=true
local char=game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:Wait()
game.Players.LocalPlayer.CharacterAdded:Connect(function(v)
char=v
end)

local ANIM = {}
for i, v in next, game:GetService("ReplicatedStorage").Assets.Killers:GetChildren() do
for o,b in next, require(v.Config) do
if o=="Animations" then
for p,n in next,b do
if p=="Walk" or p=="Run" then
table.insert(ANIM, n)
end
end
end
end
end

local ANIM = {}
for i, v in next, game:GetService("ReplicatedStorage").Assets.Survivors:GetChildren() do
for o,b in next, require(v.Config) do
if o=="Animations" then
for p,n in next,b do
if p=="Walk" or p=="Run" then
table.insert(ANIM, n)
end
end
end
end
end

function updateToggles() end

local T = {
    players = {},
    tools = {},
    gens = {},
    conns = {},
    flags = {
        survivors = false,
        killers = false,
        tools = false,
        gens = false
    }
}

_G.ForsakenESP = {
    set = function(flagIndex, value)
        if flagIndex == 5 then T.flags.survivors = value
        elseif flagIndex == 6 then T.flags.killers = value
        elseif flagIndex == 7 then T.flags.tools = value
        elseif flagIndex == 8 then T.flags.gens = value end

        if disabled then
            task.spawn(function()
                repeat task.wait() until not disabled
                updateToggles()
            end)
        else
            updateToggles()
        end
    end
}

local Check = false
local lt = 0
local Old
Old = hookmetamethod(game, "__namecall", function(Self, ...)
    local Args = { ... }
    local Method = getnamecallmethod()

    if not checkcaller() and typeof(Self) == "Instance" then
        if Method == "InvokeServer" or Method == "FireServer" then
            if tostring(Self) == "RF" then
                if Args[1] == "enter" then
                    Check = true
                elseif Args[1] == "leave" then
                    Check = false
                end
            elseif tostring(Self) == "RE" then
                lt = os.clock()
            elseif tostring(Self) == "UnreliableRemoteEvent" and Args[1]=="FootstepPlayed" and event11 then
return nil
            end
        end
    end

    return Old(Self, unpack(Args))
end)

game:GetService"RunService".Stepped:Connect(function(EL)
local a = game:GetService("Lighting")
if sos then
a.Brightness=3
a.ClockTime=14
a.Ambient=Color3.new(1,1,1)
a.OutdoorAmbient=Color3.new(1,1,1)
a.FogEnd=1e100
a.GlobalShadows=false
for i,v in next,a:GetChildren() do
if v:IsA"Atmosphere" or v:IsA"BloomEffect" or v:IsA"ColorCorrectionEffect" or v:IsA"BlurEffect" or v:IsA"SunRaysEffect" or v:IsA"DepthOfFieldEffect" then
v:Destroy()
end
end
else
a.Brightness=3
a.FogEnd=100000
a.ClockTime=5.599999904632568
a.Ambient=Color3.new(0.521569, 0.67451, 1)
a.GlobalShadows=true
a.OutdoorAmbient=Color3.new(0.27451, 0.27451, 0.2745)

local args = {
	"GetCurrentLighting"
}
game:GetService("ReplicatedStorage"):WaitForChild("Modules"):WaitForChild("Network"):WaitForChild("RemoteFunction"):InvokeServer(unpack(args))
end

if event1 then
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChild("Humanoid")

if hrp and hum then
	local dir = hum.MoveDirection
	if dir.Magnitude > 0 then
		hrp.CFrame = hrp.CFrame + dir.Unit * speed
	end
for i,v in next,char:GetDescendants() do
if v:IsA"BasePart" then
	v.Velocity = Vector3.zero
	v.RotVelocity = Vector3.zero
	v.AssemblyLinearVelocity = Vector3.zero
end
end
end
end

if event2 then
if char.SpeedMultipliers:FindFirstChild("FallSlowness") then
char.SpeedMultipliers:FindFirstChild("FallSlowness"):Destroy()
end
end

if event3 then
for i,v in next,workspace.Map.Ingame:GetChildren() do
if v:IsA"Tool" then char.Humanoid:EquipTool(v) end
end
end

if event4 and Check and re and os.clock() - lt >= gen then
    re = false
    task.spawn(function()
        for i,v in next, workspace.Map.Ingame:WaitForChild"Map":GetChildren() do
            if v.Name == "Generator" then
                v.Remotes.RE:FireServer()
            end
        end
        task.wait(gen)
        re = true
    end)
end

if event9 then
game:GetService("ReplicatedStorage"):WaitForChild("Modules"):WaitForChild("Network"):WaitForChild("UnreliableRemoteEvent"):FireServer("FootstepPlayed", 9)
end

if event10 and char.Parent ~= workspace.Players.Spectating then
local a=Instance.new("Animation")
a.Name="HWID_"..gethwid()
a.AnimationId="rbxassetid://75804462760596"

local b = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(a)
b:Play(0,1,1)
b:AdjustSpeed(0)
else
for i,v in next, char.Humanoid:GetPlayingAnimationTracks() do
if v.Animation.Name=="HWID_"..gethwid() then
v:Stop()
end
end
end
end)

if not isfolder("CloudHub") then makefolder("CloudHub") end
if not isfolder("CloudHub/Forsaken") then makefolder("CloudHub/Forsaken") end

local Window = l:MakeWindow({
  Title = "Cloud Hub - Forsaken",
  SubTitle = "by Kkk1_ on scriptblox",
  SaveFolder = "ForsakenLIB111.lua"
})

Window:AddMinimizeButton({
    Button = { Image = "",
    BackgroundTransparency = 0 },
    Corner = { CornerRadius = UDim.new(0,0) },
})

local Main = Window:MakeTab({"Home", "home"})
local Game = Window:MakeTab({"Gameplay", "gamepad"})
local Visual = Window:MakeTab({"Visual", "eye"})
local Misc = Window:MakeTab({"Misc", "settings"})
local Credit = Window:MakeTab({"Credit", "user"})

Game:AddTextBox({
  Name = "Fov",
  Description = "set your fov... yeah", 
  PlaceholderText = "80",
  Callback = function(v)
   local a = tonumber(v) - 1 game:GetService("Players").LocalPlayer.PlayerData.Settings.Game.FieldOfView.Value = a
task.wait()
game:GetService("Players").LocalPlayer.PlayerData.Settings.Game.FieldOfView.Value = tonumber(v)
  end
})

Visual:AddToggle({
    Name = "Esp Survivors",
    Default = false,
    Callback = function(v)
_G.ForsakenESP.set(5,v)
    end
})

Visual:AddToggle({
    Name = "Esp Killers",
    Default = false,
    Callback = function(v)
 _G.ForsakenESP.set(6,v)
    end
})

Visual:AddToggle({
    Name = "Esp Tool",
    Default = false,
    Callback = function(v)
 _G.ForsakenESP.set(7,v)
    end
})

Visual:AddToggle({
    Name = "Esp Generator",
    Default = false,
    Callback = function(v)
_G.ForsakenESP.set(8,v)
    end
})

Game:AddButton({
	Name = "Frontflip",
	Callback = function()
	local hum = char:FindFirstChild("Humanoid")
	local hrp = char:FindFirstChild("HumanoidRootPart")
	local animator = hum and hum:FindFirstChildOfClass("Animator")
	if not (hum and hrp) then return end

	if char:FindFirstChild("Animate") then
		char.Animate.Disabled = true
	end

	if animator then
		for _, v in ipairs(animator:GetPlayingAnimationTracks()) do
			v:Stop()
		end
	end

	for _, s in ipairs({
		Enum.HumanoidStateType.FallingDown,
		Enum.HumanoidStateType.Freefall,
		Enum.HumanoidStateType.Running,
		Enum.HumanoidStateType.Seated,
		Enum.HumanoidStateType.Climbing
	}) do
		hum:SetStateEnabled(s, false)
	end
	hum:ChangeState(Enum.HumanoidStateType.Physics)

	local d, s = 0.45, 120
	local cf = hrp.CFrame
	local dir = cf.LookVector
	local up = Vector3.yAxis

	task.spawn(function()
		local t0 = tick()
		for i = 1, s do
			local t = i / s
			local y = 4 * (t - t ^ 2) * 10
			local pos = cf.Position + dir * (35 * t) + up * y
			local r = CFrame.Angles(-math.rad(360 * t), 0, 0)
			hrp.CFrame = CFrame.new(pos) * cf.Rotation * r
			local wt = (d / s) * i - (tick() - t0)
			if wt > 0 then task.wait(wt) end
		end
		hrp.CFrame = CFrame.new(cf.Position + dir * 35) * cf.Rotation
		for _, s in ipairs({
			Enum.HumanoidStateType.FallingDown,
			Enum.HumanoidStateType.Freefall,
			Enum.HumanoidStateType.Running,
			Enum.HumanoidStateType.Seated,
			Enum.HumanoidStateType.Climbing
		}) do
			hum:SetStateEnabled(s, true)
		end
		hum:ChangeState(Enum.HumanoidStateType.Running)
      char.Animate.Disabled = false
	end)
	end
})

Game:AddButton({
	Name = "Backflip",
	Callback = function()
	local hum = char:FindFirstChild("Humanoid")
	local hrp = char:FindFirstChild("HumanoidRootPart")
	local animator = hum and hum:FindFirstChildOfClass("Animator")
	if not (hum and hrp) then return end

	if char:FindFirstChild("Animate") then
		char.Animate.Disabled = true
	end

	if animator then
		for _, v in ipairs(animator:GetPlayingAnimationTracks()) do
			v:Stop()
		end
	end

	for _, s in ipairs({
		Enum.HumanoidStateType.FallingDown,
		Enum.HumanoidStateType.Freefall,
		Enum.HumanoidStateType.Running,
		Enum.HumanoidStateType.Seated,
		Enum.HumanoidStateType.Climbing
	}) do
		hum:SetStateEnabled(s, false)
	end
	hum:ChangeState(Enum.HumanoidStateType.Physics)

	local d, s = 0.45, 120
	local cf = hrp.CFrame
	local dir = -cf.LookVector
	local up = Vector3.yAxis

	task.spawn(function()
		local t0 = tick()
		for i = 1, s do
			local t = i / s
			local y = 4 * (t - t ^ 2) * 10
			local pos = cf.Position + dir * (35 * t) + up * y
			local r = CFrame.Angles(math.rad(360 * t), 0, 0)
			hrp.CFrame = CFrame.new(pos) * cf.Rotation * r
			local wt = (d / s) * i - (tick() - t0)
			if wt > 0 then task.wait(wt) end
		end
		hrp.CFrame = CFrame.new(cf.Position + dir * 35) * cf.Rotation
		for _, s in ipairs({
			Enum.HumanoidStateType.FallingDown,
			Enum.HumanoidStateType.Freefall,
			Enum.HumanoidStateType.Running,
			Enum.HumanoidStateType.Seated,
			Enum.HumanoidStateType.Climbing
		}) do
			hum:SetStateEnabled(s, true)
		end
		hum:ChangeState(Enum.HumanoidStateType.Running)
      char.Animate.Disabled = false
	end)
	end
})

Game:AddToggle({
    Name = "Invisible(Player still can see u if they use visible collision hitbox or esp ability)",
    Default = false,
    Callback = function(v)
      event10=v
    end
})

Game:AddToggle({
    Name = "Spam Footstep(FE)",
    Default = false,
    Callback = function(v)
      event9=v
    end
})

Game:AddToggle({
    Name = "Remove footstep sounds",
    Default = false,
    Callback = function(v)
      event11=v
    end
})

Game:AddToggle({
    Name = "Set Player Speed",
    Default = false,
    Callback = function(v)
      event1=v
    end
})

Game:AddToggle({
    Name = "Set gravity",
    Default = false,
    Callback = function(v)
      workspace.Gravity=v and grav or 196.2
    end
})

Game:AddToggle({
    Name = "Auto do gen",
    Default = false,
    Callback = function(v)
      event4=v
    end
})

Game:AddToggle({
    Name = "No slowness on fall",
    Default = false,
    Callback = function(v)
      event2=v
    end
})

Game:AddToggle({
    Name = "Get dropped tools(FE and also work on lobby, as killer)",
    Default = false,
    Callback = function(v)
      event3=v
    end
})

Game:AddSlider({
  Name = "Speed",
  Min = 1,
  Max = 200,
  Increase = 1,
  Default = 1,
  Callback = function(v)
    speed=v
  end
})

Game:AddSlider({
  Name = "Gravity",
  Min = 1,
  Max = 250,
  Increase = 1,
  Default = 196,
  Callback = function(v)
    grav=v
  end
})

Game:AddSlider({
  Name = "Auto do gen speed",
  Min = 3,
  Max = 30,
  Increase = 1,
  Default = 3,
  Callback = function(v)
    gen=v
  end
})

Main:AddButton({
	Name = "Rejoin Server",
	Callback = function()
		game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, game.Players.LocalPlayer)
	end
})

Main:AddButton({
	Name = "Server Hop",
	Callback = function()
		local Http = game:GetService("HttpService")
		local TP = game:GetService("TeleportService")
		local Servers = Http:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")).data
		for _,v in pairs(Servers) do
			if v.playing < v.maxPlayers then
				TP:TeleportToPlaceInstance(game.PlaceId, v.id)
				break
			end
		end
	end
})

Main:AddToggle({
	Name = "Unlock FPS (VSync Bypass)",
	Default = false,
	Callback = function(v)
		if setfpscap then
			setfpscap(v and 1000 or 60)
		end
	end
})

Main:AddToggle({
	Name = "Anti-AFK",
	Default = false,
	Callback = function(v)
			for _, c in pairs(getconnections(game.Players.LocalPlayer.Idled)) do
				if v then c:Disable() else c:Enable() end
			end
	end
})

Main:AddButton({
	Name = "Infinite Yield",
	Callback = function()
   loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()
	end
})

Main:AddParagraph({
 "How to Play?",
 "🟢 Survivor: Complete generator puzzles to shorten the round time and survive until it ends. Stay alert - one mistake or failed juke could cost your life.\n🛡️ Sentinel: Support and defend your team using your abilities. Good timing and teamwork can turn the tide.\n🔴 Killer: Hunt down every survivor. Outsmart their jukes and show no mercy - victory belongs to the skilled."
})

Visual:AddToggle({
    Name = "Fullbright",
    Default = false,
    Callback = function(v)
sos=v
    end
})

-- Chatgpt generated
local Players = game:GetService("Players")
local RS = game:GetService("RunService")
local LP = Players.LocalPlayer
local Gui = workspace
local Fd = Gui:FindFirstChild("ESP"..gethwid()) or Instance.new("Folder", Gui)
Fd.Name = "ESP"..gethwid()
repeat task.wait() until workspace:FindFirstChild("Players")
local Killers = workspace.Players:FindFirstChild("Killers")
local Survivors = workspace.Players:FindFirstChild("Survivors")
local MapIngame = workspace:WaitForChild("Map"):WaitForChild("Ingame")

    repeat task.wait() until MapIngame:FindFirstChild("Map")

local function Clear(tbl)
    for _, v in pairs(tbl) do
        if typeof(v) == "Instance" then v:Destroy() end
        if typeof(v) == "RBXScriptConnection" then v:Disconnect() end
    end
    table.clear(tbl)
end

local function AddPlayerESP(P)
    local function Setup(Char)
        local HRP = Char:WaitForChild("HumanoidRootPart", 2)
        local Hum = Char:WaitForChild("Humanoid", 2)
        if not (HRP and Hum) then return end

        local Box = Instance.new("BoxHandleAdornment", Fd)
        Box.Adornee = HRP
        Box.Size = HRP.Size
        Box.AlwaysOnTop = true
        Box.ZIndex = 10

        local BB = Instance.new("BillboardGui", HRP)
        BB.Size = UDim2.new(HRP.Size.X/1.5, 40, HRP.Size.Y/3, 30)
        BB.AlwaysOnTop = true
        BB.Adornee = HRP
        BB.StudsOffset = Vector3.new(0, HRP.Size.Y + 1, 0)

        local TL = Instance.new("TextLabel", BB)
        TL.Size = UDim2.new(1, 0, 1, 0)
        TL.BackgroundTransparency = 1
        TL.TextScaled = true
        TL.Font = Enum.Font.SourceSansBold
        TL.TextStrokeTransparency = 0

        local Conn
        Conn = RS.RenderStepped:Connect(function()
            if Hum.Health <= 0 or not Char:IsDescendantOf(workspace) then
                Box:Destroy()
                BB:Destroy()
                if Conn then Conn:Disconnect() Conn = nil end
                return
            end
            local show = false
            local Col
            if T.flags.killers and Killers and Char.Parent == Killers then
                Col = Color3.new(1, 0, 0)
                show = true
            elseif T.flags.survivors and Survivors and Char.Parent == Survivors then
                Col = Color3.new(0, 1, 0)
                show = true
            end
            Box.Visible = show
            TL.Visible = show
            if show and Col then
                Box.Color3 = Col
                TL.TextColor3 = Col
                TL.Text = Char.Name .. "\n" .. math.floor(Hum.Health)
            end
        end)

        table.insert(T.players, Box)
        table.insert(T.players, BB)
        table.insert(T.conns, Conn)
    end
    if P.Character then Setup(P.Character) end
    P.CharacterAdded:Connect(Setup)
end

local function AddToolESP(Tool)
    local IR = Tool:FindFirstChild("ItemRoot")
    if not (IR and IR:IsA("BasePart")) then return end

    local Box = Instance.new("BoxHandleAdornment", Fd)
    Box.Adornee = IR
    Box.Size = IR.Size
    Box.AlwaysOnTop = true
    Box.ZIndex = 10
    Box.Color3 = IR.Color

    local BB = Instance.new("BillboardGui", IR)
    BB.Size = UDim2.new(IR.Size.X/1.5, 40, IR.Size.Y/3, 30)
    BB.AlwaysOnTop = true
    BB.Adornee = IR
    BB.StudsOffset = Vector3.new(0, IR.Size.Y + 0.5, 0)

    local TL = Instance.new("TextLabel", BB)
    TL.Size = UDim2.new(1, 0, 1, 0)
    TL.BackgroundTransparency = 1
    TL.TextScaled = true
    TL.Font = Enum.Font.SourceSansBold
    TL.TextStrokeTransparency = 0
    TL.TextColor3 = IR.Color
    TL.Text = Tool.Name

    local Conn
    Conn = RS.RenderStepped:Connect(function()
        local on = T.flags.tools and Tool:IsDescendantOf(workspace)
        Box.Visible = on
        TL.Visible = on
        if not on then
            Box:Destroy()
            BB:Destroy()
            if Conn then Conn:Disconnect() Conn = nil end
        end
    end)

    table.insert(T.tools, Box)
    table.insert(T.tools, BB)
    table.insert(T.conns, Conn)
end

local function AddGeneratorESP(gen)
    local cframe, _ = gen:GetBoundingBox()
    local genPart = Instance.new("Part")
    genPart.Size = Vector3.new(8, 3.5, 3.5)
    genPart.CFrame = cframe * CFrame.new(0, 0, 1.5)
    genPart.Anchored = true
    genPart.Transparency = 1
    genPart.CanCollide = false
    genPart.Parent = Fd

    local Box = Instance.new("BoxHandleAdornment", Fd)
    Box.Adornee = genPart
    Box.Size = genPart.Size
    Box.AlwaysOnTop = true
    Box.Transparency = 0.5
    Box.ZIndex = 10
    Box.Color3 = Color3.fromRGB(255, 255, 0)

    local BB = Instance.new("BillboardGui", genPart)
    BB.Size = UDim2.new(genPart.Size.X/1.5, 40, genPart.Size.Y/3, 30)
    BB.AlwaysOnTop = true
    BB.Adornee = genPart
    BB.StudsOffset = Vector3.new(0, 4.5, 0)

    local TL = Instance.new("TextLabel", BB)
    TL.Size = UDim2.new(1, 0, 1, 0)
    TL.BackgroundTransparency = 1
    TL.TextScaled = true
    TL.Font = Enum.Font.SourceSansBold
    TL.TextStrokeTransparency = 0
    TL.TextColor3 = Color3.fromRGB(255, 255, 0)

    local Conn
    Conn = RS.RenderStepped:Connect(function()
        if not T.flags.gens then
            Box:Destroy()
            BB:Destroy()
            genPart:Destroy()
            if Conn then Conn:Disconnect() Conn = nil end
            return
        end
        local p = gen:FindFirstChild("Progress") and gen.Progress.Value
        TL.Text = (p>70 and p<80 and "75%") or (p > 50 and p < 60 and "50%") or (p>20 and p<30 and "25%") or (p==0 and "0%") or "100%"
        if p>=100 or gen == nil then
            Box:Destroy()
            BB:Destroy()
            genPart:Destroy()
            if Conn then Conn:Disconnect() Conn = nil end
            return
        end
    end)

    table.insert(T.gens, Box)
    table.insert(T.gens, BB)
    table.insert(T.gens, genPart)
    table.insert(T.conns, Conn)
end

local function updateToggles()
    Clear(T.players)
    Clear(T.tools)
    Clear(T.gens)
    Clear(T.conns)

    for _, P in ipairs(Players:GetPlayers()) do
        if P ~= LP then AddPlayerESP(P) end
    end
    for _, Tt in ipairs(MapIngame:GetChildren()) do
        if T.flags.tools and Tt:IsA("Tool") then AddToolESP(Tt) end
    end

    for _, G in ipairs(MapIngame.Map:GetChildren()) do
        if T.flags.gens and G.Name == "Generator" then AddGeneratorESP(G) end
    if T.flags.tools and G:IsA("Tool") then
        AddToolESP(G)
    end
end
end

MapIngame.Map.AncestryChanged:Connect(function(i, v)
if not v then
Clear(T.players)
Clear(T.tools)
Clear(T.gens)
Clear(T.conns)
end
end)

MapIngame.ChildAdded:Connect(function(c)
    if T.flags.tools and c:IsA("Tool") then
        AddToolESP(c)
    end
    if c.Name == "Map" then
        for _, G in ipairs(c:GetChildren()) do
            if T.flags.gens and G.Name == "Generator" then
                AddGeneratorESP(G)
            end
    if T.flags.tools and G:IsA("Tool") then
        AddToolESP(G)
    end
        end
        if c then
c.AncestryChanged:Connect(function(i, v)
if not v then
Clear(T.players)
Clear(T.tools)
Clear(T.gens)
Clear(T.conns)
end
end)

            c.ChildAdded:Connect(function(G)
                if T.flags.gens and G:IsA("Model") and G.Name == "Generator" then
                    AddGeneratorESP(G)
                end
    if T.flags.tools and G:IsA("Tool") then
        AddToolESP(G)
    end
            end)
        end
    end
end)

Players.PlayerAdded:Connect(function(p)
    if p ~= LP then AddPlayerESP(p) end
end)

disabled = false
updateToggles()
-- end

Features & Information

Im about to quit forsaken so here's my unfinish forsaken script my roblox profile: https://www.roblox.com/users/4540944735/profile friend me if u want feel free to skid my script:))) i don't care anyway

Community Comments (2)

Kkk1_Kkk1_Jul 30, 2025(edited)

that script is pretty useless ig, there's only two op feature: invisible & get dropped tool(also work on lobby,as killer)

Joyful_PizzaPartylJoyful_PizzaPartylDec 25, 2025

Let me upgrade it Can I?

More Scripts for Forsaken