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.

dive down now

Version / Update: v1.0.0
Download / Script Link
--[[
Dive Down | V120 ANTI-STUCK
- GLITCH SKIPPER: Tries a fish 3 times. If it's frozen, it ignores it for 60 seconds.
- CONTINUOUS SNAP: Instantly jumps between fish without waiting.
- ORIGINAL AUTO-BUY: Your exact working code restored.
- SIMPLE SELL: TPs to NPC once, waits for you to click, returns once.
]]

local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

local Window = Rayfield:CreateWindow({
Name = "Dive Down | V120 ANTI-STUCK",
Theme = "Default",
ToggleUIKeybind = "K",
})

local TabFarm = Window:CreateTab("Auto Farm", 4483362458)
local TabShop = Window:CreateTab("Auto Shop", 4483362458)

local player = game.Players.LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PacketRemote = ReplicatedStorage:WaitForChild("Packets"):WaitForChild("Packet"):WaitForChild("RemoteEvent")

-- COORDS
local ATLANTIS_COORDS = CFrame.new(-1951, -53, -1397)
local NPC_COORDS = CFrame.new(-1929.92, 2544.52, -1430.08)

-- CONFIG
getgenv().Grind = false
getgenv().IsSelling = false
getgenv().MaxInventory = 125
getgenv().ZipDelay = 0.17

-- ANTI-STUCK MEMORY
local Blacklist = {}
local AttemptTable = {}

-- TARGET SETTINGS
getgenv().CatchSettings = {
["mermaid"] = true,
["rubyfish"] = false,
["peeber"] = false,
["pebblefish"] = false,
["cloudfish"] = true,
["polkafish"] = true,
["crabfish"] = true
}

-- PRIORITY WEIGHTS
local FishWeights = {
["mermaid"] = 1000,
["rubyfish"] = 900, ["peeber"] = 900, ["pebblefish"] = 900,
["cloudfish"] = 800, ["polkafish"] = 800,
["crabfish"] = 700
}

local InvLabel = TabFarm:CreateLabel("Backpack Fish: Scanning...")

-- 1. FPS-FRIENDLY UI CLEANER
task.spawn(function()
while true do
pcall(function()
local coreGui = game:GetService("CoreGui")
local rGui = coreGui:FindFirstChild("RobloxGui")
if rGui then
local purchase = rGui:FindFirstChild("PromptStorePurchase")
local errorP = rGui:FindFirstChild("ErrorPrompt")
if purchase and purchase.Visible then purchase.Visible = false end
if errorP and errorP.Visible then errorP.Visible = false end
end

local pUI = player.PlayerGui:FindFirstChild("PersistentUI")
if pUI then
for _, v in ipairs(pUI:GetDescendants()) do
if v:IsA("TextLabel") and v.Visible then
local t = string.lower(v.Text)
if string.find(t, "failed") or string.find(t, "stock") or string.find(t, "wrong") then
local frame = v:FindFirstAncestorOfClass("Frame")
if frame then frame.Visible = false end
end
end
end
end
end)
task.wait(0.5)
end
end)

-- 2. EXACT ORIGINAL AUTO-BUY
local function createOriginalAutoBuy(name, remoteStr)
TabShop:CreateToggle({
Name = "Auto buy " .. name,
CurrentValue = false,
Callback = function(Value)
getgenv()["AutoBuy"..name] = Value
task.spawn(function()
while getgenv()["AutoBuy"..name] do
pcall(function()
local itemUI = player.PlayerGui.PersistentUI.Shops.Treat.Content.ScrollingFrame:FindFirstChild(name)
if itemUI then
local stock = itemUI:GetAttribute("Stock") or 0
while stock > 0 and getgenv()["AutoBuy"..name] do
PacketRemote:FireServer(buffer.fromstring(remoteStr))
task.wait(0.05)
stock = itemUI:GetAttribute("Stock") or 0
end
end
end)
task.wait(0.1)
end
end)
end
})
end

createOriginalAutoBuy("Bee", "\004\005Treat\003Bee")
createOriginalAutoBuy("Butterfly", "\004\005Treat\tButterfly")
createOriginalAutoBuy("Ladybug", "\004\005Treat\aLadybug")
createOriginalAutoBuy("Spider", "\004\005Treat\006Spider")
createOriginalAutoBuy("Snail", "\004\005Treat\005Snail")
createOriginalAutoBuy("Cockroach", "\004\005Treat\tCockroach")
createOriginalAutoBuy("Worm", "\004\005Treat\004Worm")

-- 3. OPTIMIZED BACKPACK CHECKER
local function getInvCount()
local items = player.Backpack:GetChildren()
return math.max(0, #items - 1)
end

-- 4. SIMPLE SELL & RETURN
local function runSellCycle()
if getgenv().IsSelling then return end
getgenv().IsSelling = true

local root = player.Character:FindFirstChild("HumanoidRootPart")
if not root then return end

root.CFrame = NPC_COORDS
task.wait(0.5)

while getgenv().Grind and getInvCount() > 0 do
task.wait(1)
end

if getgenv().Grind then
root.CFrame = ATLANTIS_COORDS
task.wait(0.5)
getgenv().IsSelling = false
end
end

-- 5. HYPER-SPEED FARM LOOP (WITH GLITCH SKIPPER)
local function startMasterLoop()
task.spawn(function()
while getgenv().Grind do
pcall(function()
local inv = getInvCount()
InvLabel:Set("Backpack Fish: " .. inv .. " / 130")

if inv >= getgenv().MaxInventory then
runSellCycle()
return
end

if not getgenv().IsSelling then
local folder = workspace.Game.Fishes
local root = player.Character:FindFirstChild("HumanoidRootPart")
if not root then return end

local bestTarget = nil
local highPrio = -1

local fishList = folder:GetChildren()
for i = 1, #fishList do
local f = fishList[i]
if f:IsA("Model") and not Blacklist[f] and f:GetPivot().Y < 500 then
local fName = string.lower(f.Name)

for targetName, priority in pairs(FishWeights) do
if getgenv().CatchSettings[targetName] and string.find(fName, targetName) then
if priority > highPrio then
highPrio = priority
bestTarget = f
end
break
end
end
end
end

-- INSTANT EXECUTION
if bestTarget then
root.CFrame = bestTarget:GetPivot()
task.wait(getgenv().ZipDelay)

local p = bestTarget:FindFirstChildWhichIsA("ProximityPrompt", true)
if p then
p.HoldDuration = 0
fireproximityprompt(p)
fireproximityprompt(p)

-- ANTI-STUCK LOGIC
AttemptTable[bestTarget] = (AttemptTable[bestTarget] or 0) + 1

if AttemptTable[bestTarget] >= 3 and not string.find(string.lower(bestTarget.Name), "mermaid") then
-- The fish is frozen/glitched. Hard Blacklist for 60s.
Blacklist[bestTarget] = true
task.delay(60, function()
Blacklist[bestTarget] = nil
AttemptTable[bestTarget] = 0
end)
else
-- Temporary soft-blacklist so the script can hit other fish while server catches up
Blacklist[bestTarget] = true
task.delay(0.2, function()
if bestTarget.Parent ~= nil then
Blacklist[bestTarget] = nil
end
end)
end

-- Auto-Favorite Mermaids
if string.find(string.lower(bestTarget.Name), "mermaid") then
pcall(function() PacketRemote:FireServer(buffer.fromstring("\004\bFavorite\tMermaid")) end)
end
end
end
end
end)
task.wait(0.01) -- Minimum possible loop interval
end
end)
end

-- UI
local SectionTargets = TabFarm:CreateSection("Target Selection")
local function createTargetToggle(id, displayName, defaultState)
TabFarm:CreateToggle({
Name = "Catch " .. displayName,
CurrentValue = defaultState,
Callback = function(v) getgenv().CatchSettings[id] = v end,
})
end

createTargetToggle("mermaid", "Mermaid (Divine)", true)
createTargetToggle("rubyfish", "Rubyfish (Secret)", false)
createTargetToggle("peeber", "Peeber (Secret)", false)
createTargetToggle("pebblefish", "Pebblefish (Secret)", false)
createTargetToggle("cloudfish", "Cloudfish (Mythical)", true)
createTargetToggle("polkafish", "Polkafish (Mythical)", true)
createTargetToggle("crabfish", "Crabfish (Legendary)", true)

local SectionMain = TabFarm:CreateSection("Main Controls")
TabFarm:CreateToggle({
Name = "START AFK FARM",
CurrentValue = false,
Callback = function(v)
getgenv().Grind = v
if v then
player.Character.HumanoidRootPart.CFrame = ATLANTIS_COORDS
startMasterLoop()
else
getgenv().IsSelling = false
end
end,
})

TabFarm:CreateSlider({
Name = "Server Sync (Ping Adjust)",
Range = {0.01, 0.2},
Increment = 0.01,
CurrentValue = 0.03,
Callback = function(v) getgenv().ZipDelay = v end,
})

TabFarm:CreateButton({Name = "Manual TP Atlantis", Callback = function() player.Character.HumanoidRootPart.CFrame = ATLANTIS_COORDS end})
TabFarm:CreateButton({Name = "Manual Sell TP", Callback = function() player.Character.HumanoidRootPart.CFrame = NPC_COORDS end})

-- Anti-AFK
player.Idled:Connect(function()
game:GetService("VirtualUser"):CaptureController()
game:GetService("VirtualUser"):ClickButton2(Vector2.new())
end)
[ View More ]
99f48141-7bfe-40d1-a122-80e73ecde334.webp


Execute the script and then press afk farm on then once ur inv is full u need to manually click the npc
 
Back
Top