local Ip = game.Players.LocalPlayer
local character = Ip.Character or Ip.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local tweens = game:GetService("TweenService")
local runs = game:GetService("RunService")

runs.Stepped:Connect(function()
    pcall(function()
        local bodyGyro = humanoidRootPart:FindFirstChild("BodyGyro")
        if not bodyGyro then
            bodyGyro = Instance.new("BodyGyro")
            bodyGyro.MaxTorque = Vector3.new(10000, 10000, 10000)
            bodyGyro.D = 10
            bodyGyro.P = 0
            bodyGyro.Parent = humanoidRootPart
        end
        local bodyVelocity = humanoidRootPart:FindFirstChild("BodyVelocity")
        if not bodyVelocity then
            bodyVelocity = Instance.new("BodyVelocity")
            bodyVelocity.MaxForce = Vector3.new(10000, 10000, 10000)
            bodyVelocity.Velocity = Vector3.new(0, 0, 0)
            bodyVelocity.Parent = humanoidRootPart
        end
    end)
end)

local function noclip()
    for _, v in pairs(character:GetDescendants()) do
        if v:IsA("BasePart") and v.CanCollide then
            v.CanCollide = false
        end
    end
end

local function unnoclip()
    for _, v in pairs(character:GetDescendants()) do
        if v:IsA("BasePart") and not v.CanCollide then
            v.CanCollide = true
        end
    end
end

local function tween(v, speed)
    if character and humanoidRootPart then
        noclip()
        local distance = (v.Position - humanoidRootPart.Position).Magnitude
        local time = distance / speed
        local tweeninfo = TweenInfo.new(time, Enum.EasingStyle.Linear)
        local start_tween = tweens:Create(humanoidRootPart, tweeninfo, {CFrame = v})

        start_tween:Play()

        start_tween.Completed:Wait()
        unnoclip()
        return start_tween
    end
end

local old = game:GetService("ReplicatedStorage").Modules.Net
local attack = old:FindFirstChild("RE/RegisterAttack")
local hit = old:FindFirstChild("RE/RegisterHit")
local Net_upvr = require(game.ReplicatedStorage.Modules.Net)
local registedhit = Net_upvr:RemoteEvent("ReceivedHit")
local ReplicatedStorage_upvr = game:GetService("ReplicatedStorage")
local CombatUtil_upvr = require(ReplicatedStorage_upvr.Modules.CombatUtil)
local IsTransformed_upvr = require(game.ReplicatedStorage.Util.IsTransformed)
local Util_upvr = require(game.ReplicatedStorage.Modules.Util.UIUtil)

local old;
old = hookmetamethod(game, "__namecall", newcclosure(function(self, ...)
    local method_call = getnamecallmethod()
    if tostring(method_call) == "GetAttribute" then
        local args = {...}
        if tostring(self) == "SpeedMult" then
            return -math.huge
        end
        for i, v in pairs(args) do
            if tostring(i) == "SpeedMult" or tostring(v) == "SpeedMult" then
                return -math.huge
            end
        end
    end
    return old(self, ...)
end))

function GetNearestEnemies()
    GetDistance = function(v)
        return (v.Position - game.Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude
    end
    local en = game.Workspace:WaitForChild("Enemies")
    local hugeint = math.huge
    local localen
    for i, v in pairs(en:GetChildren()) do
        if v.Name ~= "FishBoat" and v:FindFirstChild("Humanoid") and v.Humanoid.Health > 0 and v:FindFirstChild("HumanoidRootPart") then
            if GetDistance(v.HumanoidRootPart.CFrame) < hugeint then
                hugeint = GetDistance(v.HumanoidRootPart.CFrame)
                localen = v
            end
        end
    end
    return localen
end

getgenv().GetDistance = function(v)
    return (v.Position - game.Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude
end

-- pcall(function()
require(game:GetService("ReplicatedStorage").Modules.CombatUtil).IsGunReloading = function()
   return false 
end
    require(game:GetService("ReplicatedStorage").Modules.CombatUtil).CanCharacterMeleeAoe = newcclosure(function()
        return true
    end)
    require(game:GetService("ReplicatedStorage").Modules.CombatUtil).GetComboPaddingTime = newcclosure(function()
        return 0
    end)
    require(game:GetService("ReplicatedStorage").Modules.CombatUtil).GetDefaultAOEDelay = newcclosure(function()
        return 0
    end)
    require(game:GetService("ReplicatedStorage").Modules.CombatUtil).GetAttackCancelMultiplier = newcclosure(function()
        return 0
    end)
    require(game:GetService("ReplicatedStorage").Modules.CombatUtil).CanAttack = newcclosure(function()
        return true
    end)


getgenv().getnameweapon = function()
    local plr = game.Players.LocalPlayer
    local char = plr.Character
    if char:FindFirstChild("EquippedWeapon") then
        for i, v in pairs(char:GetChildren()) do
            if v:IsA("Tool") then
                return v.Name
            end
        end
    end
    return
end

getgenv().GetBladeHits = function()
    local targets = {}
    local localPlayer = game.Players.LocalPlayer
    
    -- Check enemies
    for _, v in pairs(game:GetService("Workspace").Enemies:GetChildren()) do
        if v:FindFirstChild("HumanoidRootPart") and v:FindFirstChild("Head") and v:FindFirstChild("Humanoid") then
            if GetDistance(v.HumanoidRootPart.CFrame) < 60 then
                table.insert(targets, v)
            end
        end
    end

    -- Check players
    for _, v in pairs(game.Players:GetPlayers()) do
        if v ~= localPlayer and v.Character and v.Character:FindFirstChild("HumanoidRootPart") then
            if GetDistance(v.Character.HumanoidRootPart.CFrame) < 60 then
                table.insert(targets, v.Character)
            end
        end
    end

    return targets
end

local lastAttackTime = 0
local attackCooldown = 0.01

getgenv().Attack = function()
    local currentTime = tick()
    
    if currentTime - lastAttackTime < attackCooldown then
        return -- Exit if cooldown hasn't passed
    end

    lastAttackTime = currentTime -- Update last attack time

    local success, bladeHits = pcall(GetBladeHits)  -- Wrap in pcall to handle errors
    if success and #bladeHits > 0 then
    -- Fire the attack event
        game:GetService("ReplicatedStorage"):WaitForChild("Modules"):WaitForChild("Net"):WaitForChild("RE/RegisterAttack"):FireServer(-math.huge)

        local args = {}
        args[1] = nil
        args[2] = {}

        for i, target in pairs(bladeHits) do
            if not args[1] then
                args[1] = target:FindFirstChild("Head") or target.Head
            end
        
        -- Check if the target is a player or an NPC
            if target:IsA("Model") and target:FindFirstChild("HumanoidRootPart") then
                args[2][i] = {
                    [1] = target,
                    [2] = target.HumanoidRootPart
                }
            else
                local player = game.Players:GetPlayerFromCharacter(target)
                if player and player.Character then
                    args[2][i] = {
                        [1] = player.Character,
                        [2] = player.Character:FindFirstChild("HumanoidRootPart")
                    }
                end
            end
        end
    
    -- Fire the hit event
        game:GetService("ReplicatedStorage"):WaitForChild("Modules"):WaitForChild("Net"):WaitForChild("RE/RegisterHit"):FireServer(unpack(args))
        game:GetService("ReplicatedStorage"):WaitForChild("Modules"):WaitForChild("Net"):WaitForChild("RE/RegisterAttack"):FireServer(-math.huge)
    task.wait(0.01)
    end
end

spawn(function()
    while true do
        task.wait(0.01)
        Attack()
    end
end)

local function Autosaber()
    local torch = game.Workspace.Map.Jungle:FindFirstChild("Torch")
    local fire = game.Workspace.Map.Desert.Burn:FindFirstChild("Fire")
    local cup = game.Workspace.Map.Desert:FindFirstChild("Cup")

    for _, plate in ipairs(game.Workspace.Map.Jungle.QuestPlates:GetChildren()) do
        local button = plate:FindFirstChild("Button")
        local part = plate:FindFirstChild("Part")
        if button and part and button.BrickColor ~= BrickColor.new("Camo")  then
            repeat
                    tween(button.CFrame, 300)
                    wait(0.5)
            until button.BrickColor == BrickColor.new("Camo")
        end
            
        if button and button.BrickColor == BrickColor.new("Camo") then
            local omg = Ip.Backpack:FindFirstChild("Torch") or character:FindFirstChild("Torch")
            local khanggay = Ip.Backpack:FindFirstChild("Cup") or character:FindFirstChild("Cup")
            local hoichimdai = Ip.Backpack:FindFirstChild("Relic") or character:FindFirstChild("Relic")
                
            if not omg and fire and (fire.Transparency ~= 1 or fire.CanCollide) and torch then
                tween(torch.CFrame, 300)
                
            elseif omg and fire and (fire.Transparency ~= 1 or fire.CanCollide) then
                tween(fire.CFrame, 300)
                
            elseif not khanggay and fire.Transparency == 1 and not fire.CanCollide and cup then
                tween(cup.CFrame, 300)
                
            elseif khanggay and not omg and fire.Transparency == 1 and not fire.CanCollide then
                tween(CFrame.new(1395.76807, 37.383049, -1324.07788, -0.988983572, -1.63017901e-08, -0.148025349, -1.56754272e-08, 1, -5.39806466e-09, 0.148025349, -3.01823677e-09, -0.988983572), 300)
                wait(6)
                tween(CFrame.new(1457.93799, 87.6000061, -1389.95203, 0, 0, 1, 0, 1, 0, -1, 0, 0), 300)
                if (game.Workspace.NPCs["Sick Man"].HumanoidRootPart.Position - humanoidRootPart.Position).Magnitude <= 5 then
                    game:GetService("ReplicatedStorage").Remotes.CommF_:InvokeServer("ProQuestProgress", "SickMan")
                end
                wait(1)
                tween(CFrame.new(-906.797974, 12.4499969, 4077.74097, 0.0173808932, 0, 0.999849021, 0, 1, 0, -0.999849021, 0, 0.0173808932), 300)
                if (game.Workspace.NPCs["Rich Man"].HumanoidRootPart.Position - humanoidRootPart.Position).Magnitude <= 5 then
                    game:GetService("ReplicatedStorage").Remotes.CommF_:InvokeServer("ProQuestProgress", "RichSon")
                end
                wait(1)
                tween(game.Workspace._WorldOrigin.EnemySpawns["Mob Leader [Lv. 120] [Boss]"].CFrame + Vector3.new(0, 20, 0), 300)
                if game.Workspace.Enemies["Mob Leader"].Humanoid.Health > 0 or game.Workspace.Enemies:FindFirstChild("Mob Leader") then
                    repeat
                        tween(game.Workspace.Enemies["Mob Leader"].HumanoidRootPart.CFrame + Vector3.new(0, 20, 0), 300)
                    until game.Workspace.Enemies["Mob Leader"].Humanoid.Health <= 0 or not game.Workspace.Enemies:FindFirstChild("Mob Leader")
                else
                    repeat
                        tween(game.Workspace._WorldOrigin.EnemySpawns["Mob Leader [Lv. 120] [Boss]"].CFrame + Vector3.new(0, 20, 0), 300)
                    until game.Workspace.Enemies:FindFirstChild("Mob Leader")
                end
                wait(1)
                if game.Workspace.Enemies["Mob Leader"].Humanoid.Health <= 0 or not game.Workspace.Enemies:FindFirstChild("Mob Leader") then
                    tween(CFrame.new(-906.797974, 12.4499969, 4077.74097, 0.0173808932, 0, 0.999849021, 0, 1, 0, -0.999849021, 0, 0.0173808932), 300)
                    if (game.Workspace.NPCs["Rich Man"].HumanoidRootPart.Position - humanoidRootPart.Position).Magnitude <= 5 then
                        game:GetService("ReplicatedStorage").Remotes.CommF_:InvokeServer("ProQuestProgress", "RichSon")
                    end
                end
            elseif hoichimdai and not khanggay and not omg then
                if Ip.Data.Level.Value < 200 then
                    game.StarterGui:SetCore(
                        "SendNotification",
                        {
                            Title = "Not enough level",
                            Text = "You must be at least level 200",
                             Duration = 5
                        })
                elseif Ip.Data.Level.Value >= 200 then
                    tween(game.Workspace.Map.Jungle.Final.Invis.CFrame, 300)
                end
            end   
        end
    end
end

while true do
    Autosaber()
    wait(1)
end

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: