Evade | Objective ESP and Bhop

MADE BY nathan#2400

FEATURE:

  • OBJECTIVE ESP
  • BHOP
--[[
    Evade Objective ESP and Bhop
    by n6palm | nathan#2400

    > Objectives will automatically be highlighted + notification
    > Hold space to bhop

    // 29/9/22 | Latest update: [✨UNUSUALS]
]]

--// Settings
getgenv().Settings = {
    ObjectiveESP = true,
    Bhop = true
}

--// Executing again will only change settings
if (getgenv().Ran) then
    return
end
getgenv().Ran = true

--// Services
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local StarterGui = game:GetService("StarterGui")
local Workspace = game:getService("Workspace")
local Players = Game:getService("Players")

--// Variables
local Player = Players.LocalPlayer
local ModelBlacklist = {
    "CUBE",
    "SaferoomDoor",
    "SaferoomDoor2",
    "Bus"
}

--// Functions
function SendNotification(Te)
    StarterGui:SetCore("SendNotification", {Title="Highlight Success", Text=tostring(Te)})
end

function HighlightPart(Part)
    if (Part == nil) then return end

    local Highlight = Instance.new("Highlight")
    Highlight.Parent = Part
    Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    Highlight.Enabled = true
end

function IsHighlighted(Part)
    if (Part:FindFirstChildWhichIsA("Highlight") == nil) then
        return false
    end
    return true
end

function IsModelHighlighted(Model)
    for _,v in pairs(Model:GetChildren()) do
        if (v:FindFirstChildWhichIsA("Highlight") ~= nil) then
            return true
        end
    end
    return false
end

function ObjectiveESP()
    local Objectives = game.Workspace.Game.Map.Parts:FindFirstChild("Objectives")
    if (Objectives == nil) then return completionObjectives end

    for i,v in pairs(Objectives:GetChildren()) do
        if (v:FindFirstChild("Task") ~= nil) then
            local Task = require(v.Task)
            local Key = v:FindFirstChild("Key")
            local Part = v:FindFirstChild("Part")
            local Switch = v:FindFirstChild("Switch")
            local Door = v:FindFirstChild("Door")
            local Model = v:FindFirstChildWhichIsA("Model")

            if (Task.TaskLength) then
                if (Key ~= nil and IsHighlighted(Key) == false) then
                    HighlightPart(Key)
                    SendNotification(tostring(Key.Name))

                elseif (Part ~= nil and IsHighlighted(Part) == false and Model == nil) then
                    HighlightPart(Part)
                    SendNotification(tostring(Part.Parent.Name))

                elseif (Switch ~= nil and Switch.Parent.Name ~= "Opener" and IsHighlighted(Switch) == false) then
                    HighlightPart(Switch)
                    HighlightPart(v:FindFirstChild("Mover"))
                    HighlightPart(v:FindFirstChild("A"))
                    HighlightPart(v:FindFirstChild("Det1"))
                    SendNotification(tostring(Switch.Parent.Name))

                elseif (Door ~= nil and Door.Parent.Name == "Doorway" and IsHighlighted(Door) == false) then
                    HighlightPart(Door)
                    SendNotification(tostring(Door.Parent.Name))

                elseif (Model ~= nil and (Part == nil or Switch == nil) and table.find(ModelBlacklist, Model.Name) == nil and IsModelHighlighted(Model) == false) then
                    for _,v in pairs(Model:GetChildren()) do
                       HighlightPart(v)
                    end
                    SendNotification(tostring(Model.Name))
                end
            end
        end
    end
end

function Bhop()
    if (Player.Character ~= nil and Player.Character.Humanoid ~= nil) then
        local Humanoid = Player.Character:FindFirstChild('Humanoid')

        if (UserInputService:IsKeyDown(Enum.KeyCode.Space) == true and Humanoid.FloorMaterial ~= Enum.Material.Air) then
            keyrelease(0x20); keypress(0x20)
        end
    end
end

--// Hooks
--[[
local Old
Old = hookmetamethod(game, "__namecall", function(...)
    local args = {...}

    if (not checkcaller() and getnamecallmethod() == "InvokeServer" and getgenv().Settings.Bhop == true and args[2] == "JumpDone" and UserInputService:IsKeyDown(Enum.KeyCode.Space) == true) then
        keyrelease(0x20); keypress(0x20)
    end
    return Old(...)
end)]]

--// Heartbeat
RunService.Heartbeat:Connect(function()
    if (getgenv().Settings.ObjectiveESP == true) then
        ObjectiveESP()
    end

    if (getgenv().Settings.Bhop == true) then
        Bhop()
    end
end)

⚠️ Warning: Do not download any extensions or anything other than .txt/.lua file, because script will download only in .txt/.lua format or It will redirect you to a pastebin link.

📋 Notice: If you find any of the scripts patched or not working, please report it to Forever4D through Discord. The script will be removed or marked as patched!