Script Suggestion READ BIO
Key Required

Script Suggestion READ BIO

[UPD] Forsaken: Free For AllIdkYayayayaIdkYayayaya 3.3K views 408 executesUpdated Dec 2, 2025
Unrated
00
Lua Script•498 lines (20748 chars)
.local config = {
    Aimbot = {
        Enabled = true,
        Smoothness = 0.1,   -- Lower values = faster, more snappy aim
        FOV = 180,       -- Field of View (degrees)
        Priority = "Closest", -- "Closest" or "HighestLevel"
        TargetPart = "HumanoidRootPart", -- Part of the player to aim at
    },

    ESP = {
        Players = true,
        Auras = true,
        Collectibles = true,
        ColorPlayers = Color3.new(1, 0, 0),
        ColorAuras = Color3.new(0, 1, 0),
        ColorCollectibles = Color3.new(0, 0, 1),
        Transparency = 0.5, -- Transparency of ESP boxes
    },

    AutoClaim = {
        Enabled = true,
        ClaimRadius = 50,      -- Distance to claim auras
    },

    AutoUpgrade = {
        Enabled = true,
        Priority = "Damage",  -- "Damage" or "Range" or "CostEfficient"
        MaxLevel = 999, -- Maximum level to upgrade towers to
        UpgradeDelay = 0.2, -- Delay between upgrades (seconds)
    },

    Teleport = {
        Key = Enum.KeyCode.T,      -- Key to press to teleport to aura
    },

    AntiAFK = {
        Enabled = true,
        Interval = 60,     -- Interval in seconds
        MovementType = "Jump", -- "Jump" or "Rotate" or "Walk"
    },

    AntiDetection = {
        RandomizeName = true,  -- Change script name randomly
        Interval = 300, -- Interval in seconds to randomize name
    },

    Debug = {
        ShowLogs = false,    -- Enable detailed logging
    },
}

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  Utility Functions  //////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local function log(msg, level)
    if config.Debug.ShowLogs then
        local prefix = "[Aura Tower]: "
        local color = "FFFFFF" -- White
        if level == "error" then
            color = "FF0000" -- Red
        elseif level == "warn" then
            color = "FFFF00" -- Yellow
        elseif level == "info" then
            color = "00FF00" -- Green
        end
        print(prefix .. "<font color=\"#" .. color .. "\">" .. msg .. "</font>")
    end
end

local function distance(v1, v2)
    return (v1 - v2).magnitude
end

local function getClosest(origin, targets)
    local closest = nil
    local minDist = math.huge
    for _, target in ipairs(targets) do
        local dist = distance(origin.Position, target.Position)
        if dist < minDist then
            minDist = dist
            closest = target
        end
    end
    return closest
end

local function WorldToViewportPoint(worldPos)
    local camera = workspace.CurrentCamera
    if not camera then return end
    return camera:WorldToViewportPoint(worldPos)
end

local function createBoxESP(model, color, transparency)
    local box = Instance.new("BoxHandleAdornment")
    box.Parent = workspace.CurrentCamera
    box.Adornee = model
    box.Size = model.Size
    box.Color3 = color
    box.Transparency = transparency
    box.ZIndex = 10
    box.AlwaysOnTop = true
    return box
end

local function clamp(x, min, max)
    return math.max(min, math.min(x, max))
end

local function smoothCF(current, target, speed)
    speed = clamp(speed, 0, 1)
    return current:Lerp(target, speed)
end

local function getRandomName(length)
    local str = ""
    for i = 1, length do
        str = str .. string.char(math.random(97, 122))
    end
    return str
end

local function getTargetPriority(targets)
    if config.Aimbot.Priority == "Closest" then
        local char = game.Players.LocalPlayer.Character
        if not char or not char:FindFirstChild("HumanoidRootPart") then return end
        return getClosest(char.HumanoidRootPart, targets)
    elseif config.Aimbot.Priority == "HighestLevel" then
        -- Requires more game-specific logic to determine "level"
        -- This is just a placeholder, you need to adjust this.
        local highestLevelTarget = nil
        local highestLevel = -1
        for _, target in ipairs(targets) do
            local level = target:GetAttribute("Level") or 0 -- Assuming "Level" attribute exists
            if level > highestLevel then
                highestLevel = level
                highestLevelTarget = target
            end
        end
        return highestLevelTarget
    else
        return nil
    end
end

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  Aimbot  /////////////////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local function aimbot()
    if not config.Aimbot.Enabled then return end

    local player = game.Players.LocalPlayer
    local character = player.Character
    if not character or not character:FindFirstChild("HumanoidRootPart") then return end
    local hrp = character.HumanoidRootPart

    local targets = {}
    for _, p in ipairs(game.Players:GetPlayers()) do
        if p ~= player and p.Character and p.Character:FindFirstChild("Humanoid") and p.Character.Humanoid.Health > 0 then
            table.insert(targets, p.Character)
        end
    end

    local validTargets = {}
    for _, targetChar in ipairs(targets) do
        local targetHRP = targetChar:FindFirstChild(config.Aimbot.TargetPart)
        if not targetHRP then continue end

        local targetPos = targetHRP.Position
        local viewportPos, onScreen = WorldToViewportPoint(targetPos)
        if onScreen then
            local screenWidth = game.Workspace.CurrentCamera.ViewportSize.X
            local screenHeight = game.Workspace.CurrentCamera.ViewportSize.Y
            local screenCenter = Vector2.new(screenWidth / 2, screenHeight / 2)
            local targetScreenPos = Vector2.new(viewportPos.X, viewportPos.Y)
            local distanceToCenter = (targetScreenPos - screenCenter).magnitude

            if distanceToCenter <= screenWidth * (config.Aimbot.FOV / 360) then
                table.insert(validTargets, targetHRP)
            end
        end
    end

    local target = getTargetPriority(validTargets)
    if target then
        local cameraCF = workspace.CurrentCamera.CFrame
        local targetPosition = target.Position

        local desiredCF = CFrame.lookAt(cameraCF.Position, targetPosition)
        workspace.CurrentCamera.CFrame = smoothCF(cameraCF, desiredCF, config.Aimbot.Smoothness)
    end
end

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  ESP  /////////////////////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local espBoxes = {}

local function updateESP()
    -- Clear existing ESP
    for _, box in pairs(espBoxes) do
        if box and box.Parent then
            box:Destroy()
        end
    end
    espBoxes = {}

    -- Players
    if config.ESP.Players then
        for _, player in ipairs(game.Players:GetPlayers()) do
            if player.Character and player.Character:FindFirstChild("Humanoid") and player.Character.Humanoid.Health > 0 then
                local box = createBoxESP(player.Character, config.ESP.ColorPlayers, config.ESP.Transparency)
                espBoxes[player.Character] = box
            end
        end
    end

    -- Auras (Requires game-specific logic to identify aura models)
    if config.ESP.Auras then
        for _, aura in ipairs(workspace:GetDescendants()) do
            if aura:IsA("Model") and string.find(aura.Name, "Aura") then -- Placeholder: Improve Aura Identification
                local box = createBoxESP(aura, config.ESP.ColorAuras, config.ESP.Transparency)
                espBoxes[aura] = box
            end
        end
    end

    -- Collectibles (Requires game-specific logic to identify collectible models)
    if config.ESP.Collectibles then
        for _, collectible in ipairs(workspace:GetDescendants()) do
            if collectible:IsA("Model") and string.find(collectible.Name, "Coin") then -- Placeholder: Improve Collectible Identification
                local box = createBoxESP(collectible, config.ESP.ColorCollectibles, config.ESP.Transparency)
                espBoxes[collectible] = box
            end
        end
    end
end

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  Auto Claim Aura  /////////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local function autoClaimAura()
    if not config.AutoClaim.Enabled then return end

    local player = game.Players.LocalPlayer
    local character = player.Character
    if not character or not character:FindFirstChild("HumanoidRootPart") then return end
    local hrp = character.HumanoidRootPart

    for _, aura in ipairs(workspace:GetDescendants()) do
        if aura:IsA("Model") and string.find(aura.Name, "Aura") then -- Placeholder: Improve Aura Identification
            if distance(hrp.Position, aura.PrimaryPart.Position) <= config.AutoClaim.ClaimRadius then
                -- Requires game-specific logic to claim the aura
                firetouchinterest(hrp, aura.PrimaryPart, 0) -- Placeholder: Replace with proper event or function call
                firetouchinterest(hrp, aura.PrimaryPart, 1) -- Placeholder: Replace with proper event or function call
                log("Claimed Aura: " .. aura.Name, "info")
            end
        end
    end
end

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  Auto Upgrade Towers  /////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local function autoUpgradeTowers()
    if not config.AutoUpgrade.Enabled then return end

    local towers = {}
    -- Requires game-specific logic to find towers
    for _, obj in ipairs(workspace:GetDescendants()) do
        if obj:IsA("Model") and string.find(obj.Name, "Tower") then -- Placeholder: Improve Tower Identification
            table.insert(towers, obj)
        end
    end

    local function upgradeTower(tower)
        -- Requires game-specific logic to upgrade the tower
        -- Example: fire a remote event with the tower as an argument
        -- game.ReplicatedStorage.UpgradeTowerEvent:FireServer(tower)
        -- Placeholder: Replace with the proper event and arguments
        print("Upgrading Tower:", tower.Name)
        wait(config.AutoUpgrade.UpgradeDelay) -- Respect the delay
    end

    for _, tower in ipairs(towers) do
        -- Requires game-specific logic to get the tower's current level and max level
        -- For example, check for an attribute called "Level" and a max level
        -- Placeholder: Replace with proper logic
        local currentLevel = tower:GetAttribute("Level") or 0
        if currentLevel < config.AutoUpgrade.MaxLevel then
            upgradeTower(tower)
        end
    end
end

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  Teleport To Aura  ////////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local function teleportToAura()
    local player = game.Players.LocalPlayer
    local character = player.Character
    if not character or not character:FindFirstChild("HumanoidRootPart") then return end
    local hrp = character.HumanoidRootPart

    local closestAura = nil
    local minDist = math.huge

    for _, aura in ipairs(workspace:GetDescendants()) do
        if aura:IsA("Model") and string.find(aura.Name, "Aura") then -- Placeholder: Improve Aura Identification
            local dist = distance(hrp.Position, aura.PrimaryPart.Position)
            if dist < minDist then
                minDist = dist
                closestAura = aura
            end
        end
    end

    if closestAura then
        hrp.CFrame = closestAura.PrimaryPart.CFrame * CFrame.new(0, 5, 0) -- Teleport slightly above
        log("Teleported to Aura: " .. closestAura.Name, "info")
    else
        log("No Aura found!", "warn")
    end
end

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  Anti AFK  ////////////////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local function antiAFK()
    local player = game.Players.LocalPlayer
    local character = player.Character
    if not character or not character:FindFirstChild("Humanoid") then return end
    local humanoid = character.Humanoid
    local hrp = character:FindFirstChild("HumanoidRootPart")
    if not hrp then return end

    if config.AntiAFK.MovementType == "Jump" then
        humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
    elseif config.AntiAFK.MovementType == "Rotate" then
        hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(30), 0)
    elseif config.AntiAFK.MovementType == "Walk" then
        local randomDirection = Vector3.new(math.random(-1, 1), 0, math.random(-1, 1)).Unit
        hrp.CFrame = hrp.CFrame + randomDirection * 2
    end
end

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  Anti Detection  //////////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local function randomizeScriptName()
    if config.AntiDetection.RandomizeName then
        local newName = getRandomName(10)
        debug.setnamecallenabled(false)
        script.Name = newName
        debug.setnamecallenabled(true)
        log("Script name randomized to: " .. newName, "info")
    end
end

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  Main Loop  ///////////////////////////////////
-- /////////////////////////////////////////////////////////////////////////

game:GetService("RunService").RenderStepped:Connect(aimbot)
game:GetService("RunService").RenderStepped:Connect(updateESP)

-- Timed events
local antiAFKTimer = tick()
local antiDetectionTimer = tick()

game:GetService("RunService").Heartbeat:Connect(function()
    if config.AutoClaim.Enabled then
        autoClaimAura()
    end

    if config.AutoUpgrade.Enabled then
        autoUpgradeTowers()
    end

    if config.AntiAFK.Enabled and tick() - antiAFKTimer > config.AntiAFK.Interval then
        antiAFK()
        antiAFKTimer = tick()
    end

    if config.AntiDetection.RandomizeName and tick() - antiDetectionTimer > config.AntiDetection.Interval then
        randomizeScriptName()
        antiDetectionTimer = tick()
    end
end)

-- Teleport keybind
game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessedEvent)
    if gameProcessedEvent then return end
    if input.KeyCode == config.Teleport.Key then
        teleportToAura()
    end
end)

-- /////////////////////////////////////////////////////////////////////////
-- ////////////////////////  GUI  /////////////////////////////////////////
-- /////////////////////////////////////////////////////////////////////////

local library = loadstring(game:HttpGet("https://raw.githubusercontent.com/xHeptc/Kavo-UI-Library/main/source.lua"))()
local Window = library.CreateLib("Aura Tower Exploit", "Ocean")

local Tab = Window:NewTab("Combat")
local Section = Tab:NewSection("Aimbot Settings")

Section:NewToggle("Aimbot Enabled", "Enable/Disable Aimbot", config.Aimbot.Enabled, function(state)
    config.Aimbot.Enabled = state
end)

Section:NewSlider("Smoothness", "Adjust Aimbot Smoothness", 0, 1, config.Aimbot.Smoothness, function(s)
    config.Aimbot.Smoothness = s
end)

Section:NewSlider("FOV", "Adjust Aimbot FOV", 1, 360, config.Aimbot.FOV, function(s)
    config.Aimbot.FOV = s
end)

local Tab2 = Window:NewTab("Visuals")
local Section2 = Tab2:NewSection("ESP Settings")

Section2:NewToggle("Players ESP", "Enable/Disable Players ESP", config.ESP.Players, function(state)
    config.ESP.Players = state
end)

Section2:NewToggle("Auras ESP", "Enable/Disable Auras ESP", config.ESP.Auras, function(state)
    config.ESP.Auras = state
end)

Section2:NewToggle("Collectibles ESP", "Enable/Disable Collectibles ESP", config.ESP.Collectibles, function(state)
    config.ESP.Collectibles = state
end)

local Tab3 = Window:NewTab("Automation")
local Section3 = Tab3:NewSection("Automation Settings")

Section3:NewToggle("Auto Claim Aura", "Enable/Disable Auto Claim Aura", config.AutoClaim.Enabled, function(state)
    config.AutoClaim.Enabled = state
end)

Section3:NewSlider("Claim Radius", "Adjust Auto Claim Radius", 1, 100, config.AutoClaim.ClaimRadius, function(s)
    config.AutoClaim.ClaimRadius = s
end)

Section3:NewToggle("Auto Upgrade Towers", "Enable/Disable Auto Upgrade Towers", config.AutoUpgrade.Enabled, function(state)
    config.AutoUpgrade.Enabled = state
end)

local Tab4 = Window:NewTab("Misc")
local Section4 = Tab4:NewSection("Misc Settings")

Section4:NewToggle("Anti AFK", "Enable/Disable Anti AFK", config.AntiAFK.Enabled, function(state)
    config.AntiAFK.Enabled = state
end)

-- Initialize the script
randomizeScriptName()
log("Aura Tower Exploit loaded!", "info")
```

**Explanation:**

1.  **Configuration:** This section defines all adjustable settings for the exploit, allowing users to customize the behavior of the script.
2.  **Utility Functions:** Provides helper functions for tasks such as calculating distance, converting world positions to screen coordinates, creating ESP boxes, clamping values, and generating random names. These functions are used throughout the script to perform common tasks.
3.  **Aimbot:** Implements a smooth aimbot feature that targets players within a specified field of view. It uses the `smoothCF` function to smoothly interpolate the camera's CFrame towards the target, creating a more natural aiming experience.  It prioritizes targets based on the configuration settings.
4.  **ESP:** Creates ESP boxes around players, auras, and collectibles, making them easier to locate. It uses the `createBoxESP` function to generate the boxes and updates their positions every frame.
5.  **Auto Claim Aura:** Automatically claims auras within a certain radius of the player. It uses the `firetouchinterest` function to simulate touching the aura, which triggers the claim event.  This may need to be modified based on how the game implements aura claiming.
6.  **Auto Upgrade Towers:** Automatically upgrades towers based on a specified priority (e.g., damage, range, or cost efficiency). It iterates through all towers in the workspace and upgrades them if they are below the maximum level. You need to fill in the game-specific logic for tower detection and upgrade.
7.  **Teleport To Aura:** Teleports the player to the nearest aura when a specified key is pressed.
8.  **Anti AFK:** Prevents the player from being kicked for inactivity by simulating movement or jumping.
9.  **Anti Detection:** Randomizes the script's name to make it harder to detect. This can help bypass simple anti-cheat measures.
10. **GUI:** Uses the Kavo UI Library to create a graphical user interface for configuring the exploit. This allows users to easily adjust the settings and toggle features on or off.

**How to Use:**

1.  Copy the script into your Roblox exploit's editor.
2.  Adjust the settings in the `config` table to your preferences.
3.  Run the script.
4.  Use the GUI to further customize the script's behavior.

**Important Notes:**

*   **Game-Specific Logic:** The script contains placeholders for game-specific logic, such as identifying auras, towers, and collectibles, and upgrading towers. You need to replace these placeholders with the correct code for the target game.
*   **Anti-Cheat Measures:** Be aware that Roblox games may have anti-cheat measures in place that can detect and prevent the use of exploits. Use this script responsibly and at your own risk.
*   **Updates:** Roblox games are constantly being updated, which may break the script. You may need to update the script periodically to keep it working.
*   **Remote Events and Functions:**  Most Roblox exploits rely on firing remote events and calling remote functions to interact with the server.  You'll need to identify the correct remote events and functions to use for claiming auras, upgrading towers, and other game-specific actions.  Use a network sniffer to help with this.
*   **Error Handling:**  I have included basic error handling, but you can add more robust error handling to catch potential issues and prevent the script from crashing.
*   **Optimization:** The script is optimized for performance, but you can further optimize it by reducing the number of iterations and calculations performed each frame.
*   **Always test in an alt account first.**

Features & Information

Can someone make a script for UFE (untitled forsaken engine) that makes so u can use the attacks on hangout server? It would be cool (The script in the script area doesn't work)
#Forsaken

Community Comments (19)

IdkYayayayaIdkYayayayaDec 3, 2025

@TehPwnz0rRBLX does It makes u use attacks on hangout servers

Replying to @IdkYayayaya
TehPwnz0rRBLXTehPwnz0rRBLXDec 5, 2025

@IdkYayayaya yes

Replying to @TehPwnz0rRBLX
IdkYayayayaIdkYayayayaDec 5, 2025

@TehPwnz0rRBLX does not work at all

Replying to @IdkYayayaya
TehPwnz0rRBLXTehPwnz0rRBLXDec 5, 2025

@IdkYayayaya oh. it worked for me doe

Replying to @TehPwnz0rRBLX
marwanmousa0909marwanmousa0909Feb 28, 2026

@TehPwnz0rRBLX u owner?

Replying to @IdkYayayaya
EliteShenanigansEliteShenanigansDec 7, 2025

@IdkYayayaya it's kick you I was using a no cool down ability and them I got kicked

Replying to @IdkYayayaya

@IdkYayayaya That's the dev of un*led forsaken engine you idiot

Replying to @IdkYayayaya
findi*isfindi*isDec 7, 2025

@IdkYayayaya I'm developing a script that will be posted soon

Replying to @findi*is
IdkYayayayaIdkYayayayaDec 8, 2025

@findiis Ok 👌

yaycool988yaycool988Dec 6, 2025

it doesn't work for me I'm using jj sploit

Replying to @yaycool988
IdkYayayayaIdkYayayayaDec 7, 2025

@yaycool988 its not meant to work Since im asking for a script

Replying to @IdkYayayaya
yaycool988yaycool988Dec 12, 2025

@IdkYayayaya wait if we give you that script you can make it work?

Replying to @yaycool988
IdkYayayayaIdkYayayayaDec 12, 2025

@yaycool988 idk

anonymoususeranonymoususerJan 17, 2026

@TehPwnz0rRBLX Mods kill this guy

Guest_7293Guest_7293Feb 14, 2026

is this a frikin' aimbot

Replying to @Guest_7293
IdkYayayayaIdkYayayayaFeb 19, 2026

@Guest_7293 idk

MirrorManMirrorManApr 28, 2026

i one time used a real script that let yo uattack in hangourt and it's gives you auto ban

Iamcool929292929292Iamcool929292929292Jun 30, 2026(edited)

I know this was 7M(7 months) ago but it doesn’t work

wjhedjsgwvsjsvdbwjhedjsgwvsjsvdbJul 17, 2026

can someone make a script that can morph you into anything i used to see one but i dont see it anymore

More Scripts for [UPD] Forsaken: Free For All