CCCPaste

Fisch script

-- Fisch Hub by JayRBLX Scripts
-- Load Fluent UI Library
local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
local SaveManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/SaveManager.lua"))()
local InterfaceManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/InterfaceManager.lua"))()

local Window = Fluent:CreateWindow({
    Title = "Fisch Hub by JayRBLX Scripts",
    TabWidth = 160,
    Size = UDim2.fromOffset(580, 460),
    Acrylic = true, --// Acrylic background
    Theme = "Dark", --// Default theme
    MinimizeKey = Enum.KeyCode.RightControl --// Used to toggle minimize
})

-- SaveManager:SetLibrary(Fluent)
InterfaceManager:SetLibrary(Fluent)

local Tabs = {
    Home = Window:AddTab({ Title = "Home" }),
    Fish = Window:AddTab({ Title = "Fish" })
}

-- Home Tab
Tabs.Home:AddParagraph({
    Title = "Welcome to Fisch Hub!",
    Content = "This script is made by JayRBLX Scripts. Enjoy auto fishing features and more in Fisch! Make sure to use responsibly."
})

-- Fish Tab
local FishingSection = Tabs.Fish:AddSection("Fishing Automation")

local AutoReelToggle = Tabs.Fish:AddToggle("AutoReel", {Title = "Auto Reel", Default = false, Callback = function(Value)
    _G.AutoReel = Value
    if Value then
        spawn(function()
            while _G.AutoReel do
                wait(0.1)
                -- Assume remote for reel, replace with actual
                local remote = game:GetService("ReplicatedStorage"):FindFirstChild("FishingRemote") -- Placeholder
                if remote then remote:FireServer("Reel") end
                -- Or use vim to click reel button
                local vim = game:GetService("VirtualInputManager")
                vim:SendMouseButtonEvent(960, 540, 0, true, game, 1) -- Center screen placeholder
                wait(0.01)
                vim:SendMouseButtonEvent(960, 540, 0, false, game, 1)
            end
        end)
    end
end})

local AutoShakeToggle = Tabs.Fish:AddToggle("AutoShake", {Title = "Auto Shake", Default = false, Callback = function(Value)
    _G.AutoShake = Value
    if Value then
        spawn(function()
            local vim = game:GetService("VirtualInputManager")
            local runService = game:GetService("RunService")
            local connection
            connection = runService.Heartbeat:Connect(function()
                if not _G.AutoShake then connection:Disconnect() return end
                -- Detect shake GUI
                local playerGui = game.Players.LocalPlayer:WaitForChild("PlayerGui")
                local shakeGui = playerGui:FindFirstChild("ShakeMinigame") -- Assume name, adjust as needed
                if shakeGui then
                    for _, child in pairs(shakeGui:GetDescendants()) do
                        if child:IsA("TextButton") and string.find(child.Text:lower(), "shake") then
                            local pos = child.AbsolutePosition
                            local size = child.AbsoluteSize
                            local x = pos.X + size.X / 2
                            local y = pos.Y + size.Y / 2
                            vim:SendMouseButtonEvent(x, y, 0, true, game, 1)
                            wait(0.01)
                            vim:SendMouseButtonEvent(x, y, 0, false, game, 1)
                        end
                    end
                end
            end)
        end)
    end
end})

local AutoCatchToggle = Tabs.Fish:AddToggle("AutoCatch", {Title = "Auto Catch", Default = false, Callback = function(Value)
    _G.AutoCatch = Value
    -- Combines reel and shake
    AutoReelToggle:Set(Value)
    AutoShakeToggle:Set(Value)
end})

-- ESP Section
local ESPSection = Tabs.Fish:AddSection("ESP")

local ESPPlayersToggle = Tabs.Fish:AddToggle("ESPPlayers", {Title = "Player ESP", Default = false, Callback = function(Value)
    if Value then
        for _, player in pairs(game.Players:GetPlayers()) do
            if player ~= game.Players.LocalPlayer and player.Character then
                local billboard = Instance.new("BillboardGui")
                billboard.Adornee = player.Character:FindFirstChild("Head")
                billboard.Size = UDim2.new(0, 100, 0, 50)
                billboard.StudsOffset = Vector3.new(0, 2, 0)
                billboard.Parent = player.Character.Head
                local label = Instance.new("TextLabel")
                label.Size = UDim2.new(1, 0, 1, 0)
                label.BackgroundTransparency = 1
                label.Text = player.Name
                label.TextColor3 = Color3.new(1, 0, 0)
                label.TextStrokeTransparency = 0
                label.TextScaled = true
                label.Parent = billboard
            end
        end
    else
        for _, player in pairs(game.Players:GetPlayers()) do
            if player.Character and player.Character:FindFirstChild("Head") then
                local bb = player.Character.Head:FindFirstChild("BillboardGui")
                if bb then bb:Destroy() end
            end
        end
    end
end})

local ESPMapsToggle = Tabs.Fish:AddToggle("ESPMaps", {Title = "Map ESP", Default = false, Callback = function(Value)
    -- Placeholder for map ESP, add labels to workspace locations
    if Value then
        -- Example for Moosewood
        local part = workspace:FindFirstChild("Moosewood") -- Assume model
        if part then
            local billboard = Instance.new("BillboardGui")
            -- Similar to player ESP
            -- ...
        end
    end
end})

-- Movement Section
local MovementSection = Tabs.Fish:AddSection("Movement")

local SpeedBoostSlider = Tabs.Fish:AddSlider("SpeedBoost", {Title = "Speed Boost", Default = 16, Min = 16, Max = 100, Rounding = 1, Callback = function(Value)
    if game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("Humanoid") then
        game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = Value
    end
end})

local FlyButton = Tabs.Fish:AddButton({
    Title = "Fly (Mobile)",
    Callback = function()
        loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Gui-Fly-v3-37111"))()
    end
})

-- Teleport Section
local TeleportSection = Tabs.Fish:AddSection("Teleports")

local TeleportDropdown = Tabs.Fish:AddDropdown("Teleport", {
    Title = "Teleport to Location",
    Values = {"Moosewood", "Mushgrove Swamp", "Roslit Bay", "Snowcap Island", "Sunstone Island"},
    Multi = false,
    Default = 1,
    Callback = function(Value)
        local positions = {
            Moosewood = CFrame.new(400, 135, 250),
            ["Mushgrove Swamp"] = CFrame.new(2420, 135, -750),
            ["Roslit Bay"] = CFrame.new(-1600, 130, 0),
            ["Snowcap Island"] = CFrame.new(0, 135, -2000), -- Placeholder
            ["Sunstone Island"] = CFrame.new(3000, 135, 1000) -- Placeholder
        }
        if game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = positions[Value]
        end
    end
})

Fluent:Notify({
    Title = "Fisch Hub Loaded",
    Content = "Enjoy the script by JayRBLX Scripts!",
    Duration = 5
})

-- Keep connection alive
game:GetService("RunService").Heartbeat:Connect(function() end)