What's new
Heapleak - Scripthub

Get the most out of HeapLeak by creating a free account! Once signed in, you’ll gain full access to restricted content, be able to share your own scripts, and participate in our member-only discussions.

Anime Evolution RE AutoFarm - v2

Version / Update: v1.0.0
Download / Script Link
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local VirtualUser = game:GetService("VirtualUser")

local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local HRP = Character:WaitForChild("HumanoidRootPart")
local Bridge = ReplicatedStorage:WaitForChild("Bridge")
local EnemiesRoot = workspace:WaitForChild("Server"):WaitForChild("Enemies"):WaitForChild("World")

local WORLDS = {
["Sacred Forest"] = {
TeleportName = "Sacred Forest",
Enemies = {
"Ejinw", "Hweng", "Builder", "Sogi", "Minsang",
"Lost", "Hoyoon", "Cioch", "Rukana", "Lacrown",
"Strong", "Titan Hoyoon",
},
},
["Goblins Caves"] = {
TeleportName = "Goblins Caves",
Enemies = {
"Goblin", "Jinxu", "Goblin Warrior",
"Gumenim", "Shizumi", "Goblin King",
},
},
["Lost Temple"] = {
TeleportName = "Lost Temple",
Enemies = {
"Slow Hunter", "Statue Bard", "Statue Warrior",
"Statue Assassin", "Bomas", "Evil God",
},
},
["Sands"] = {
TeleportName = "Sands",
Enemies = {
"Awakened", "Sand Warrior", "Sand Shaman",
"Desert Observer", "Desert Guardian",
"Thousand Fangs", "Sands Titan",
},
},
["Subway"] = {
TeleportName = "Subway",
Enemies = {
"Goblin Raider",
"Steel Lycan",
"Fanged Raikan",
"Kasak Spawn",
"Kasak",
"Sonwoo",
"King Kasak",
},
},
["City"] = {
TeleportName = "City",
Enemies = {
"Solder",
"JooLee",
"Golem",
"Wall Breaker",
"Mana Golem",
"Genborg",
},
},
["Anthill"] = {
TeleportName = "Anthill",
Enemies = {
"Ant Worker", "Ant Hunter", "Dong",
"Jinxi", "Hunter Reaper", "Buryry",
},
},
}

local WORLD_ORDER = { "Sacred Forest", "Goblins Caves", "Lost Temple", "Sands", "Subway", "City", "Anthill" }

local RARITIES = { "E", "D", "C", "B", "A", "S", "SS", "SSS" }

local CONFIG = {
Cooldown = 0.05,
AutoTeleport = true,
AutoAttack = true,
TeleportOffset = Vector3.new(0, 5, 0),
SelectedWorld = "Sacred Forest",
SelectedEnemy = "Ejinw",
AutoRespawn = false,
AutoEgg = false,
EggWorld = "Sacred Forest",
AutoEquipBest = false,
EggCooldown = 0.5,
AntiAFK = true,
AutoDelete = {
E = false,
D = false,
C = false,
B = false,
A = false,
S = false,
SS = false,
SSS = false,
},
}

local State = {
Running = false,
KillCount = 0,
SessionKills = 0,
CurrentTarget = nil,
StartTime = 0,
EnemyList = {},
RotateIndex = 1,
EggRunning = false,
InBattle = false,
}

LocalPlayer.Idled:Connect(function()
if CONFIG.AntiAFK then
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end
end)

local function SetInBattle(status)
if State.InBattle ~= status then
State.InBattle = status
pcall(function()
Bridge:FireServer("Attack", "InBattle", status)
end)
end
end

local function IsEnemyAlive(enemy)
if not enemy or not enemy.Parent then return false end
local hum = enemy:FindFirstChildOfClass("Humanoid")
if hum then return hum.Health > 0 end
return enemy.Parent ~= nil
end

local function GetPosition(enemy)
if not enemy then return nil end
if enemy:IsA("BasePart") then return enemy.Position end
if enemy:IsA("Model") then
local hrp = enemy:FindFirstChild("HumanoidRootPart") or enemy:FindFirstChild("Torso")
if hrp then return hrp.Position end
if enemy.PrimaryPart then return enemy.PrimaryPart.Position end
local part = enemy:FindFirstChildWhichIsA("BasePart")
if part then return part.Position end
end
return nil
end

local function ScanEnemies()
local list = {}
local zone = EnemiesRoot:FindFirstChild(CONFIG.SelectedWorld)
if not zone then return list end
for _, enemy in ipairs(zone:GetChildren()) do
if enemy.Name == CONFIG.SelectedEnemy and IsEnemyAlive(enemy) then
table.insert(list, enemy)
end
end
return list
end

local function TeleportTo(enemy)
local pos = GetPosition(enemy)
if not pos then return end
pcall(function()
HRP.CFrame = CFrame.new(pos + CONFIG.TeleportOffset)
end)
end

local function Attack(enemy)
if not IsEnemyAlive(enemy) then
SetInBattle(false)
return
end
SetInBattle(true)
pcall(function()
Bridge:FireServer("Attack", "Click", {
Type = "World",
Enemy = enemy,
})
end)
end

local function TeleportToWorld(worldName)
pcall(function()
Bridge:FireServer("Teleport", "Buy", worldName)
end)
task.wait(0.1)
pcall(function()
Bridge:FireServer("Teleport", "Spawn", worldName)
end)
end

local function CollectNearbyDrops()
for _, drop in ipairs(workspace:GetDescendants()) do
if drop.Name:match("%x+%-%x+%-%x+%-%x+%-%x+") then
local part = drop:IsA("BasePart") and drop or drop:FindFirstChildWhichIsA("BasePart")
if part then
local dist = (HRP.Position - part.Position).Magnitude
if dist < 20 then
pcall(function()
Bridge:FireServer("Drops", "Collect", drop.Name)
end)
end
end
end
end
end

local function EquipBest()
pcall(function()
Bridge:FireServer("Pets", "Best")
end)
end

local function OpenEgg(worldName)
pcall(function()
Bridge:FireServer("Stars", "Roll", {
Map = worldName,
Type = "Multi",
})
end)
end

local function ApplyAutoDelete()
for rarity, enabled in pairs(CONFIG.AutoDelete) do
if enabled then
pcall(function()
Bridge:FireServer("Settings", "AutoDelete", rarity)
end)
end
end
end

local function StartEggLoop()
if State.EggRunning then return end
State.EggRunning = true
task.spawn(function()
while State.EggRunning do
OpenEgg(CONFIG.EggWorld)
if CONFIG.AutoEquipBest then
task.wait(0.2)
EquipBest()
end
task.wait(CONFIG.EggCooldown)
end
end)
end

local function StopEggLoop()
State.EggRunning = false
end

local function StartFarm()
if State.Running then return end
State.Running = true
State.KillCount = 0
State.SessionKills = 0
State.StartTime = tick()
State.RotateIndex = 1
State.EnemyList = {}

task.spawn(function()
while State.Running do
pcall(function()
Character = LocalPlayer.Character
if Character then
HRP = Character:WaitForChild("HumanoidRootPart")
end
end)

if #State.EnemyList == 0 then
State.EnemyList = ScanEnemies()
State.RotateIndex = 1
end

if #State.EnemyList == 0 then
State.CurrentTarget = "No enemies..."
SetInBattle(false)
task.wait(1)
continue
end

if State.RotateIndex > #State.EnemyList then
State.RotateIndex = 1
end

local target = State.EnemyList[State.RotateIndex]

if not IsEnemyAlive(target) then
table.remove(State.EnemyList, State.RotateIndex)
State.KillCount += 1
State.SessionKills += 1
SetInBattle(false)
if State.RotateIndex > #State.EnemyList then
State.RotateIndex = 1
end
continue
end

if CONFIG.AutoTeleport then
TeleportTo(target)
end

State.CurrentTarget = target.Name .. " [" .. State.RotateIndex .. "/" .. #State.EnemyList .. "]"

while State.Running and IsEnemyAlive(target) do
pcall(function()
local newChar = LocalPlayer.Character
if newChar and newChar ~= Character then
Character = newChar
HRP = newChar:WaitForChild("HumanoidRootPart")
end
end)

if CONFIG.AutoAttack then
Attack(target)
end
CollectNearbyDrops()
task.wait(CONFIG.Cooldown)
end

if State.Running then
SetInBattle(false)
State.KillCount += 1
State.SessionKills += 1
table.remove(State.EnemyList, State.RotateIndex)
if State.RotateIndex > #State.EnemyList then
State.RotateIndex = 1
end
end
end
end)
end

local function StopFarm()
State.Running = false
State.CurrentTarget = nil
State.EnemyList = {}
State.RotateIndex = 1
SetInBattle(false)
end

LocalPlayer.CharacterAdded:Connect(function(char)
Character = char
HRP = char:WaitForChild("HumanoidRootPart")
if CONFIG.AutoRespawn and State.Running then
task.wait(2)
StartFarm()
end
end)

local Window = Rayfield:CreateWindow({
Name = "NuvikFarm v2.0.0",
LoadingTitle = "NuvikFarm",
LoadingSubtitle = "by Nuvik",
Theme = "Default",
DisableRayfieldPrompts = false,
DisableBuildWarnings = false,
ConfigurationSaving = { Enabled = true, FileName = "NuvikFarm" },
KeySystem = false,
})

local FarmTab = Window:CreateTab("Farm", "sword")

local EnemyDropdown

FarmTab:CreateDropdown({
Name = "World",
Options = WORLD_ORDER,
CurrentOption = { "Sacred Forest" },
MultipleOptions = false,
Flag = "SelectedWorld",
Callback = function(selected)
local worldName = type(selected) == "table" and selected[1] or selected
CONFIG.SelectedWorld = worldName
local worldData = WORLDS[worldName]
local enemies = worldData and worldData.Enemies or {}
StopFarm()
State.EnemyList = {}
State.RotateIndex = 1
if #enemies > 0 then
CONFIG.SelectedEnemy = enemies[1]
if EnemyDropdown then
EnemyDropdown:Refresh(enemies, true)
end
Rayfield:Notify({
Title = "World Changed",
Content = worldName .. " - " .. #enemies .. " enemies",
Duration = 3,
Image = "globe",
})
else
CONFIG.SelectedEnemy = ""
if EnemyDropdown then
EnemyDropdown:Refresh({ "Coming Soon..." }, true)
end
Rayfield:Notify({
Title = worldName,
Content = "Coming Soon...",
Duration = 3,
Image = "clock",
})
end
end,
})

EnemyDropdown = FarmTab:CreateDropdown({
Name = "Enemy (Weak to Strong)",
Options = WORLDS["Sacred Forest"].Enemies,
CurrentOption = { "Ejinw" },
MultipleOptions = false,
Flag = "SelectedEnemy",
Callback = function(selected)
local name = type(selected) == "table" and selected[1] or selected
if name == "Coming Soon..." then return end
CONFIG.SelectedEnemy = name
State.EnemyList = {}
State.RotateIndex = 1
end,
})

FarmTab:CreateDivider()

FarmTab:CreateToggle({
Name = "Auto Farm",
CurrentValue = false,
Flag = "AutoFarm",
Callback = function(v)
if v then
if CONFIG.SelectedEnemy == "" or CONFIG.SelectedEnemy == "Coming Soon..." then
Rayfield:Notify({
Title = "Error",
Content = "This world has no enemies yet",
Duration = 3,
Image = "x",
})
return
end
StartFarm()
Rayfield:Notify({
Title = "Farm Started",
Content = CONFIG.SelectedWorld .. " -> " .. CONFIG.SelectedEnemy,
Duration = 3,
Image = "zap",
})
else
StopFarm()
local elapsed = math.floor(tick() - State.StartTime)
Rayfield:Notify({
Title = "Farm Stopped",
Content = string.format("Kills: %d | Time: %ds", State.SessionKills, elapsed),
Duration = 4,
Image = "x",
})
end
end,
})

FarmTab:CreateToggle({
Name = "Auto Teleport",
CurrentValue = true,
Flag = "AutoTeleport",
Callback = function(v) CONFIG.AutoTeleport = v end,
})

FarmTab:CreateToggle({
Name = "Auto Attack",
CurrentValue = true,
Flag = "AutoAttack",
Callback = function(v) CONFIG.AutoAttack = v end,
})

FarmTab:CreateToggle({
Name = "Auto Respawn Farm",
CurrentValue = false,
Flag = "AutoRespawn",
Callback = function(v) CONFIG.AutoRespawn = v end,
})

FarmTab:CreateSlider({
Name = "Cooldown",
Range = { 0.01, 0.5 },
Increment = 0.01,
Suffix = "s",
CurrentValue = 0.05,
Flag = "Cooldown",
Callback = function(v) CONFIG.Cooldown = v end,
})

local StatsLabel = FarmTab:CreateLabel("Kills: 0 | Target: - | KPM: 0")

task.spawn(function()
while true do
task.wait(1)
local kpm = 0
if State.Running and State.StartTime > 0 then
local mins = (tick() - State.StartTime) / 60
kpm = mins > 0 and math.floor(State.SessionKills / mins) or 0
end
StatsLabel:Set(string.format(
"Kills: %d | %s | KPM: %d",
State.KillCount,
State.CurrentTarget or "-",
kpm
))
end
end)

local EggTab = Window:CreateTab("Eggs", "star")

EggTab:CreateDropdown({
Name = "Egg World",
Options = WORLD_ORDER,
CurrentOption = { "Sacred Forest" },
MultipleOptions = false,
Flag = "EggWorld",
Callback = function(selected)
local worldName = type(selected) == "table" and selected[1] or selected
CONFIG.EggWorld = worldName
end,
})

EggTab:CreateToggle({
Name = "Auto Open Eggs",
CurrentValue = false,
Flag = "AutoEgg",
Callback = function(v)
CONFIG.AutoEgg = v
if v then
StartEggLoop()
Rayfield:Notify({
Title = "Auto Eggs ON",
Content = "Opening eggs from: " .. CONFIG.EggWorld,
Duration = 3,
Image = "star",
})
else
StopEggLoop()
Rayfield:Notify({
Title = "Auto Eggs OFF",
Content = "Stopped",
Duration = 2,
Image = "x",
})
end
end,
})

EggTab:CreateToggle({
Name = "Auto Equip Best Pet",
CurrentValue = false,
Flag = "AutoEquipBest",
Callback = function(v)
CONFIG.AutoEquipBest = v
if v then EquipBest() end
Rayfield:Notify({
Title = v and "Auto Equip ON" or "Auto Equip OFF",
Content = v and "Automatically equipping best pet" or "Stopped",
Duration = 2,
Image = "star",
})
end,
})

EggTab:CreateDivider()
EggTab:CreateLabel("Auto Delete by Rarity")

for _, rarity in ipairs(RARITIES) do
local r = rarity
EggTab:CreateToggle({
Name = "Auto Delete " .. r,
CurrentValue = false,
Flag = "AutoDelete_" .. r,
Callback = function(v)
CONFIG.AutoDelete[r] = v
pcall(function()
Bridge:FireServer("Settings", "AutoDelete", r)
end)
Rayfield:Notify({
Title = "Auto Delete " .. r,
Content = v and "Enabled" or "Disabled",
Duration = 2,
Image = "trash",
})
end,
})
end

EggTab:CreateDivider()

EggTab:CreateSlider({
Name = "Egg Cooldown",
Range = { 0.1, 3 },
Increment = 0.1,
Suffix = "s",
CurrentValue = 0.5,
Flag = "EggCooldown",
Callback = function(v) CONFIG.EggCooldown = v end,
})

EggTab:CreateButton({
Name = "Open 1 Egg (Manual)",
Callback = function()
OpenEgg(CONFIG.EggWorld)
Rayfield:Notify({
Title = "Egg Opened",
Content = CONFIG.EggWorld,
Duration = 2,
Image = "star",
})
end,
})

EggTab:CreateButton({
Name = "Equip Best (Manual)",
Callback = function()
EquipBest()
Rayfield:Notify({
Title = "Equipped",
Content = "Best pet equipped",
Duration = 2,
Image = "star",
})
end,
})

local PlayerTab = Window:CreateTab("Player", "user")

PlayerTab:CreateSlider({
Name = "WalkSpeed",
Range = { 16, 500 },
Increment = 1,
Suffix = "",
CurrentValue = 16,
Flag = "WalkSpeed",
Callback = function(v)
local char = LocalPlayer.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then hum.WalkSpeed = v end
end
end,
})

PlayerTab:CreateSlider({
Name = "JumpPower",
Range = { 50, 300 },
Increment = 5,
Suffix = "",
CurrentValue = 50,
Flag = "JumpPower",
Callback = function(v)
local char = LocalPlayer.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.UseJumpPower = true
hum.JumpPower = v
end
end
end,
})

PlayerTab:CreateButton({
Name = "Reset Stats",
Callback = function()
local char = LocalPlayer.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed = 16
hum.JumpPower = 50
end
end
Rayfield:Notify({ Title = "Reset", Content = "Stats reset", Duration = 2 })
end,
})

local ZonesTab = Window:CreateTab("Zones", "map-pin")

ZonesTab:CreateLabel("Teleport to worlds")

local WORLD_DISPLAY = {
{ Key = "Sacred Forest", Label = "Sacred Forest", Cost = "Free" },
{ Key = "Goblins Caves", Label = "Goblins Caves", Cost = "350k Souls" },
{ Key = "Lost Temple", Label = "Lost Temple", Cost = "2M Souls" },
{ Key = "Sands", Label = "Sands", Cost = "10B Souls" },
{ Key = "Subway", Label = "Subway", Cost = "???" },
{ Key = "City", Label = "City", Cost = "???" },
{ Key = "Anthill", Label = "Anthill", Cost = "5sx" },
}

for _, w in ipairs(WORLD_DISPLAY) do
local key = w.Key
local label = w.Label
local cost = w.Cost
ZonesTab:CreateButton({
Name = label .. " (" .. cost .. ")",
Callback = function()
TeleportToWorld(key)
Rayfield:Notify({
Title = "Teleport",
Content = "-> " .. label,
Duration = 3,
Image = "map-pin",
})
end,
})
end

local SettingsTab = Window:CreateTab("Settings", "settings")

SettingsTab:CreateLabel("NuvikFarm v2.0.0 | by Nuvik")

SettingsTab:CreateToggle({
Name = "Anti AFK",
CurrentValue = true,
Flag = "AntiAFK",
Callback = function(v)
CONFIG.AntiAFK = v
Rayfield:Notify({
Title = "Anti AFK",
Content = v and "Enabled (Silent)" or "Disabled",
Duration = 2,
Image = v and "shield" or "x",
})
end,
})

SettingsTab:CreateButton({
Name = "Reset Kill Counter",
Callback = function()
State.KillCount = 0
State.SessionKills = 0
Rayfield:Notify({ Title = "Reset", Content = "Kill counter reset", Duration = 2 })
end,
})

SettingsTab:CreateButton({
Name = "Re-sync Character",
Callback = function()
Character = LocalPlayer.Character
if Character then
HRP = Character:WaitForChild("HumanoidRootPart")
end
Rayfield:Notify({ Title = "Sync", Content = "Character updated", Duration = 2 })
end,
})

Rayfield:Notify({
Title = "NuvikFarm v2.0.0",
Content = "Ready - Farm + Eggs + Pets + Silent Anti AFK",
Duration = 5,
Image = "zap",
})
[ View More ]
ebe35860-2700-4f5a-9f3e-b440c2910b24.webp


The best scriptTP WorldsAuto FarmAuto ClickAuto EggAntiAFKSpeed
 
Back
Top