local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local attackRemote = ReplicatedStorage:WaitForChild("jdskhfsIIIllliiIIIdchgdIiIIIlIlIli") local dummiesFolder = workspace:WaitForChild("MAP"):WaitForChild("dummies") local running = true local attackRunning = true local bossAttackRunning = true local killAuraEnabled = true local autoFarmKillsEnabled = true local coinDelay = 1 local attackDelay = 0.1 local bossAttackDelay = 1 local killAuraDelay = 0.2 local currentTarget = nil local hasTeleported = false local normalWalkSpeed = 16 local bosses = { "ROCKY", "Griffin", "BOOSBEAR", "BOSSDEER", "CENTAUR", "CRABBOSS", "DragonGiraffe", "LavaGorilla" } local function getCharacterAndRoot() local character = player.Character if character then local rootPart = character:FindFirstChild("HumanoidRootPart") return character, rootPart end return nil, nil end local function getNearestEnemy() local closest, shortestDist = nil, math.huge for _, otherPlayer in pairs(Players:GetPlayers()) do if otherPlayer ~= player and otherPlayer.Character then local char = otherPlayer.Character local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChild("Humanoid") if hrp and hum and hum.Health > 0 then local dist = (player.Character.HumanoidRootPart.Position - hrp.Position).Magnitude if dist < 10 and dist < shortestDist then shortestDist = dist closest = otherPlayer end end end end return closest end local function collectCoins() while running do local coinContainer = workspace:FindFirstChild("CoinContainer") local coinEvent = ReplicatedStorage:FindFirstChild("Events") and ReplicatedStorage.Events:FindFirstChild("CoinEvent") if coinContainer and coinEvent then for _, template in pairs(coinContainer:GetChildren()) do local coin = template:FindFirstChild("Coin") if coin and (coin:IsA("Part") or coin:IsA("MeshPart")) then coinEvent:FireServer() task.wait(coinDelay) end end end task.wait(1) end end local function findFirstAliveDummy() for _, dummy in ipairs(dummiesFolder:GetChildren()) do if dummy.Name == "Dummy" and dummy:FindFirstChild("Humanoid") and dummy.Humanoid.Health > 0 then return dummy end end return nil end local function attackDummies() hasTeleported = false currentTarget = nil while attackRunning do local character, rootPart = getCharacterAndRoot() if not character or not rootPart then player.CharacterAdded:Wait() character, rootPart = getCharacterAndRoot() end if currentTarget and currentTarget.Parent and currentTarget:FindFirstChild("Humanoid") and currentTarget.Humanoid.Health > 0 then attackRemote:FireServer(currentTarget.Humanoid, 6) task.wait(attackDelay) else local dummy = findFirstAliveDummy() if dummy then currentTarget = dummy if not hasTeleported and rootPart then local dummyRoot = dummy:FindFirstChild("HumanoidRootPart") or dummy.PrimaryPart if dummyRoot then rootPart.CFrame = dummyRoot.CFrame * CFrame.new(0, 0, 3) hasTeleported = true task.wait(attackDelay) end end else task.wait(2) end end end end local function attackAllBosses() while bossAttackRunning do for _, bossName in ipairs(bosses) do local boss = workspace:FindFirstChild("NPC") and workspace.NPC:FindFirstChild(bossName) if boss and boss:FindFirstChild("Humanoid") and boss.Humanoid.Health > 0 then coroutine.wrap(function() while bossAttackRunning and boss and boss:FindFirstChild("Humanoid") and boss.Humanoid.Health > 0 do attackRemote:FireServer(boss.Humanoid, 5) task.wait(bossAttackDelay) end end)() end end task.wait(1) end end local function killAura() while killAuraEnabled do local character, root = getCharacterAndRoot() if not character or not root then player.CharacterAdded:Wait() character, root = getCharacterAndRoot() end local enemy = getNearestEnemy() if enemy and enemy.Character then local humanoid = enemy.Character:FindFirstChild("Humanoid") if humanoid and humanoid.Health > 0 then attackRemote:FireServer(humanoid, 1) end end task.wait(killAuraDelay) end end local function getAlivePlayers() local alivePlayers = {} for _, p in pairs(Players:GetPlayers()) do if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character:FindFirstChild("Humanoid") and p.Character.Humanoid.Health > 0 then table.insert(alivePlayers, p) end end return alivePlayers end local function orbitAroundPlayer(targetHRP, myRoot) local radius = 5 local angle = 0 local center = targetHRP.Position local startTime = os.clock() while (os.clock() - startTime) < 1 do angle = angle + 0.1 if angle >= 2 * math.pi then angle = 0 end local offset = Vector3.new(math.cos(angle) * radius, 0, math.sin(angle) * radius) myRoot.CFrame = CFrame.new(center + offset) task.wait() end end local function autoFarmKills() player.CharacterAdded:Connect(function(char) local humanoid = char:WaitForChild("Humanoid") humanoid.Died:Wait() killAuraEnabled = false end) while autoFarmKillsEnabled do local myChar, myRoot = getCharacterAndRoot() if not myChar or not myRoot or myChar:FindFirstChild("Humanoid") == nil or myChar.Humanoid.Health <= 0 then player.CharacterAdded:Wait() task.wait(1) else local alivePlayers = getAlivePlayers() if #alivePlayers == 0 then task.wait(2) else for _, targetPlayer in pairs(alivePlayers) do if not autoFarmKillsEnabled then break end local targetChar = targetPlayer.Character local targetHRP = targetChar and targetChar:FindFirstChild("HumanoidRootPart") local targetHum = targetChar and targetChar:FindFirstChild("Humanoid") if targetHRP and targetHum and targetHum.Health > 0 then local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0) local tween = TweenService:Create(myRoot, tweenInfo, {CFrame = targetHRP.CFrame * CFrame.new(0, 0, 3)}) tween:Play() tween.Completed:Wait() orbitAroundPlayer(targetHRP, myRoot) killAuraEnabled = true coroutine.wrap(killAura)() end end end end task.wait(0.5) end killAuraEnabled = false end coroutine.wrap(collectCoins)() coroutine.wrap(attackDummies)() coroutine.wrap(attackAllBosses)() coroutine.wrap(killAura)() coroutine.wrap(autoFarmKills)()