best op keyless
Key Required

best op keyless

Escape Tsunami For Fish!userto666userto666 2.1K views 24 executesUpdated Jan 24, 2026
Unrated
00
Lua Script•246 lines (8376 chars)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

local Window = Rayfield:CreateWindow({
   Name = "| SOHAN HUB : PREMIER |",
   LoadingTitle = "ADJUSTING SPEED...",
   LoadingSubtitle = "WELCOME, SOHAN",
   ConfigurationSaving = { Enabled = false },
   KeySystem = false
})

local MainTab = Window:CreateTab("-> MAIN", 4483362458)
local HunterTab = Window:CreateTab("-> ITEM HUNTER", 4483362458)
local AreaTab = Window:CreateTab("-> AREAS", 4483362458)
local ServerTab = Window:CreateTab("-> SERVER", 4483362458)

-- Variables
local lp = game.Players.LocalPlayer
_G.TargetSpeed = 16 
_G.SlowHuntDelay = 1.2 -- Increased delay for safer hunting
_G.PromptWait = 0.5    -- Time to wait for prompt to register

-- ==========================================
-- [ SMART BASE DETECTION ]
-- ==========================================
local function GetMyPlot()
    return workspace:FindFirstChild("Plot_testbysohan") or workspace:FindFirstChild("Plot_" .. lp.Name)
end

-- ==========================================
-- [ MAIN TAB: UTILS & TYCOON ]
-- ==========================================
MainTab:CreateSection("[ CHARACTER ]")

MainTab:CreateSlider({
   Name = "WalkSpeed",
   Range = {16, 300},
   Increment = 1,
   Suffix = "Speed",
   CurrentValue = 16,
   Callback = function(Value) _G.TargetSpeed = Value end,
})

MainTab:CreateButton({
   Name = "Bypass VIP Path",
   Callback = function()
      local vip = workspace:FindFirstChild("VIP")
      if vip then
         for _, obj in pairs(vip:GetDescendants()) do
            if obj:IsA("TouchInterest") then obj:Destroy() end
            if obj:IsA("BasePart") then obj.CanCollide = false obj.Transparency = 0.5 end
         end
      end
   end,
})

MainTab:CreateButton({
   Name = "Remove Tsunamis",
   Callback = function() if workspace:FindFirstChild("Tsunamis") then workspace.Tsunamis:Destroy() end end,
})

MainTab:CreateSection("[ TYCOON AUTOMATION ]")

MainTab:CreateButton({
   Name = "Teleport to Base",
   Callback = function()
      local plot = GetMyPlot()
      if plot and lp.Character then lp.Character.HumanoidRootPart.CFrame = plot:GetPivot() * CFrame.new(0, 5, 0) end
   end,
})

MainTab:CreateToggle({
   Name = "Turbo Auto Upgrade",
   CurrentValue = false,
   Callback = function(Value)
      _G.AutoUpgrade = Value
      task.spawn(function()
         while _G.AutoUpgrade do
            local plot = GetMyPlot()
            if plot then
               for f = 1, 5 do
                  local floor = plot:FindFirstChild("Floor"..f)
                  local slots = floor and floor:FindFirstChild("Slots")
                  if slots then
                     for _, slot in pairs(slots:GetChildren()) do
                        local upg = slot:FindFirstChild("UpgradePart")
                        if upg then
                           local cd = upg:FindFirstChildOfClass("ClickDetector") or upg:FindFirstChildWhichIsA("ClickDetector", true)
                           if cd then fireclickdetector(cd) end
                        end
                     end
                  end
               end
            end
            task.wait(0.1)
         end
      end)
   end,
})

MainTab:CreateToggle({
   Name = "Turbo Auto Collect Cash",
   CurrentValue = false,
   Callback = function(Value)
      _G.AutoCollect = Value
      task.spawn(function()
         while _G.AutoCollect do
            local plot = GetMyPlot()
            if plot then
               for f = 1, 5 do
                  local floor = plot:FindFirstChild("Floor"..f)
                  local slots = floor and floor:FindFirstChild("Slots")
                  if slots then
                     for s = 1, 10 do
                        local slot = slots:FindFirstChild("Slot"..s)
                        local touch = slot and slot:FindFirstChild("CollectTouch")
                        if touch then
                           firetouchinterest(lp.Character.HumanoidRootPart, touch, 0)
                           firetouchinterest(lp.Character.HumanoidRootPart, touch, 1)
                        end
                     end
                  end
               end
            end
            task.wait(0.1)
         end
      end)
   end,
})

-- ==========================================
-- [ ITEM HUNTER TAB - SLOWED DOWN ]
-- ==========================================
HunterTab:CreateSection("[ BRAINROT TELEPORTS (SAFE SPEED) ]")

local function huntMultiArea(rarityKeyword)
    local hrp = lp.Character and lp.Character:FindFirstChild("HumanoidRootPart")
    local spawners = workspace:FindFirstChild("ItemSpawners")
    local plot = GetMyPlot()
    if not spawners or not hrp then return end
    
    local foundAnything = false
    for _, folder in pairs(spawners:GetChildren()) do
        if string.find(string.lower(folder.Name), string.lower(rarityKeyword)) then
            for _, brainrot in pairs(folder:GetChildren()) do
                if not _G.AutoSec and not _G.AutoMyth and not _G.AutoAnc then break end
                
                -- TP to the item
                hrp.CFrame = brainrot:GetPivot()
                foundAnything = true
                
                -- Wait for server registration
                task.wait(_G.PromptWait) 
                
                local prompt = brainrot:FindFirstChildOfClass("ProximityPrompt") or brainrot:FindFirstChildWhichIsA("ProximityPrompt", true)
                if prompt then 
                    fireproximityprompt(prompt) 
                    task.wait(0.3) -- Extra time to "pick up"
                end
                
                -- Delay before moving to the next item
                task.wait(_G.SlowHuntDelay)
            end
        end
    end
    if foundAnything and plot then hrp.CFrame = plot:GetPivot() * CFrame.new(0,5,0) end
end

HunterTab:CreateToggle({
   Name = "Slow Auto Secret",
   CurrentValue = false,
   Callback = function(Value)
      _G.AutoSec = Value
      task.spawn(function() while _G.AutoSec do huntMultiArea("Secret") task.wait(2) end end)
   end,
})

HunterTab:CreateToggle({
   Name = "Slow Auto Mythical",
   CurrentValue = false,
   Callback = function(Value)
      _G.AutoMyth = Value
      task.spawn(function() while _G.AutoMyth do huntMultiArea("Mythical") task.wait(2) end end)
   end,
})

HunterTab:CreateToggle({
   Name = "Slow Auto Ancient",
   CurrentValue = false,
   Callback = function(Value)
      _G.AutoAnc = Value
      task.spawn(function() while _G.AutoAnc do huntMultiArea("Ancient") task.wait(2) end end)
   end,
})

-- ==========================================
-- [ AREAS TAB ]
-- ==========================================
AreaTab:CreateSection("[ ZONE TELEPORTS ]")

local function GenerateAreaButtons()
    local zones = workspace:FindFirstChild("AreaZones")
    if zones then
        for _, zone in pairs(zones:GetChildren()) do
            AreaTab:CreateButton({
                Name = "Go to: " .. zone.Name,
                Callback = function()
                    if lp.Character:FindFirstChild("HumanoidRootPart") then
                        lp.Character.HumanoidRootPart.CFrame = zone:GetPivot() * CFrame.new(0, 3, 0)
                    end
                end,
            })
        end
    end
end
GenerateAreaButtons()

-- ==========================================
-- [ SERVER TAB ]
-- ==========================================
ServerTab:CreateSection("[ CONNECTIVITY ]")

local function ServerAction(sortType)
    local Http = game:GetService("HttpService")
    local TPS = game:GetService("TeleportService")
    local Api = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=" .. sortType .. "&limit=100"
    local _list = Http:JSONDecode(game:HttpGet(Api))
    if _list and _list.data then
        for _, v in pairs(_list.data) do
            if v.playing < v.maxPlayers and v.id ~= game.JobId then
                TPS:TeleportToPlaceInstance(game.PlaceId, v.id)
                break
            end
        end
    end
end

ServerTab:CreateButton({ Name = "Server Hop", Callback = function() ServerAction("Desc") end })
ServerTab:CreateButton({ Name = "Join Smallest Server", Callback = function() ServerAction("Asc") end })

-- Speed Loop
task.spawn(function()
   while true do
      pcall(function() lp.Character.Humanoid.WalkSpeed = _G.TargetSpeed end)
      task.wait()
   end
end)

Features & Information

all the best ones

Community Comments (0)

No comments yet for this script.

More Scripts for Escape Tsunami For Fish!