Auto Fish
Key Required

Auto Fish

[CLASSES] Pixel BladeCrxp08Crxp08 4K views 1.4K executesUpdated Apr 5, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•249 lines (7459 chars)
local ReplicatedStorage = game:GetService("ReplicatedStorage") 
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

local remote = ReplicatedStorage:FindFirstChild("remotes")
local fishCaughtRemote = remote and remote:FindFirstChild("fishCaught")

local isActive = false

-- --- UI CREATION ---
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FishingMenuGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui")

-- --- INTRO / CREDITS ---
local introFrame = Instance.new("Frame")
introFrame.Size = UDim2.new(0, 220, 0, 80)
introFrame.Position = UDim2.new(0.5, -110, 0.3, 0)
introFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
introFrame.BorderSizePixel = 0
introFrame.Parent = screenGui

Instance.new("UICorner", introFrame).CornerRadius = UDim.new(0, 10)

local introText = Instance.new("TextLabel")
introText.Size = UDim2.new(1, 0, 1, 0)
introText.BackgroundTransparency = 1
introText.Text = "Script by\ncrxp.08"
introText.TextColor3 = Color3.fromRGB(255,255,255)
introText.Font = Enum.Font.GothamBold
introText.TextSize = 18
introText.Parent = introFrame

-- Fade in
introFrame.BackgroundTransparency = 1
introText.TextTransparency = 1

TweenService:Create(introFrame, TweenInfo.new(0.5), {
    BackgroundTransparency = 0
}):Play()

TweenService:Create(introText, TweenInfo.new(0.5), {
    TextTransparency = 0
}):Play()

-- Auto close intro
task.delay(3, function()
    TweenService:Create(introFrame, TweenInfo.new(0.5), {
        BackgroundTransparency = 1
    }):Play()

    TweenService:Create(introText, TweenInfo.new(0.5), {
        TextTransparency = 1
    }):Play()

    task.wait(0.5)
    introFrame:Destroy()
end)

-- --- MAIN WINDOW ---
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 260, 0, 160)
mainFrame.Position = UDim2.new(0.5, -130, 0.4, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Visible = true
mainFrame.Parent = screenGui

Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 12)

-- Shadow
local shadow = Instance.new("ImageLabel")
shadow.Parent = mainFrame
shadow.Size = UDim2.new(1, 40, 1, 40)
shadow.Position = UDim2.new(0, -20, 0, -20)
shadow.BackgroundTransparency = 1
shadow.Image = "rbxassetid://1316045217"
shadow.ImageTransparency = 0.7

-- Title bar
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 35)
titleBar.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame

Instance.new("UICorner", titleBar).CornerRadius = UDim.new(0, 12)

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -50, 1, 0)
titleLabel.Position = UDim2.new(0, 15, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "🎣 FISH MOD MENU"
titleLabel.TextColor3 = Color3.fromRGB(255,255,255)
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 16
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = titleBar

local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 35, 0, 35)
closeBtn.Position = UDim2.new(1, -35, 0, 0)
closeBtn.BackgroundTransparency = 1
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.fromRGB(255, 80, 80)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 18
closeBtn.Parent = titleBar

-- Toggle button
local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(0, 200, 0, 55)
toggleButton.Position = UDim2.new(0.5, -100, 0.5, -5)
toggleButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
toggleButton.Text = "OFF"
toggleButton.TextColor3 = Color3.fromRGB(200,200,200)
toggleButton.Font = Enum.Font.GothamBold
toggleButton.TextSize = 20
toggleButton.Parent = mainFrame

Instance.new("UICorner", toggleButton).CornerRadius = UDim.new(0, 10)

local glow = Instance.new("UIStroke")
glow.Color = Color3.fromRGB(0,255,150)
glow.Thickness = 0
glow.Parent = toggleButton

-- Hover effects
toggleButton.MouseEnter:Connect(function()
    TweenService:Create(toggleButton, TweenInfo.new(0.2), {
        BackgroundColor3 = Color3.fromRGB(55,55,55)
    }):Play()
end)

toggleButton.MouseLeave:Connect(function()
    TweenService:Create(toggleButton, TweenInfo.new(0.2), {
        BackgroundColor3 = Color3.fromRGB(40,40,40)
    }):Play()
end)

-- Toggle logic
toggleButton.MouseButton1Click:Connect(function()
    isActive = not isActive
    
    if isActive then
        toggleButton.Text = "ON"
        
        TweenService:Create(toggleButton, TweenInfo.new(0.3), {
            BackgroundColor3 = Color3.fromRGB(0, 200, 120)
        }):Play()
        
        TweenService:Create(glow, TweenInfo.new(0.3), {
            Thickness = 2
        }):Play()
    else
        toggleButton.Text = "OFF"
        
        TweenService:Create(toggleButton, TweenInfo.new(0.3), {
            BackgroundColor3 = Color3.fromRGB(40, 40, 40)
        }):Play()
        
        TweenService:Create(glow, TweenInfo.new(0.3), {
            Thickness = 0
        }):Play()
    end
end)

-- Open button
local openButton = Instance.new("TextButton")
openButton.Size = UDim2.new(0, 70, 0, 30)
openButton.Position = UDim2.new(0, 10, 0.9, 0)
openButton.BackgroundColor3 = Color3.fromRGB(30,30,30)
openButton.Text = "OPEN"
openButton.TextColor3 = Color3.fromRGB(255,255,255)
openButton.Visible = false
openButton.Parent = screenGui

Instance.new("UICorner", openButton).CornerRadius = UDim.new(0,8)

-- Drag system
local dragging, dragInput, dragStart, startPos

local function update(input)
    local delta = input.Position - dragStart
    mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end

mainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = mainFrame.Position
        
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

mainFrame.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging then
        update(input)
    end
end)

-- Close / Open logic
closeBtn.MouseButton1Click:Connect(function()
    mainFrame.Visible = false
    openButton.Visible = true
end)

openButton.MouseButton1Click:Connect(function()
    mainFrame.Visible = true
    openButton.Visible = false
end)

-- --- MAIN LOOP ---
if fishCaughtRemote then
    task.spawn(function()
        while true do
            if isActive then
                fishCaughtRemote:FireServer(Vector3.new(-1, -1, -1), -1)
            end
            task.wait(0.01)
        end
    end)
else
    warn("Remote not found.")
end

-- --- ANTI AFK ---
local VirtualUser = game:GetService("VirtualUser")

Players.LocalPlayer.Idled:Connect(function()
    VirtualUser:Button2Down(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
    task.wait(1)
    VirtualUser:Button2Up(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
end)

Features & Information

• Auto Fishing system (fully automatic) • Modern and clean GUI with smooth animations • Toggle ON/OFF button • Draggable menu • Anti-AFK system (prevents disconnection) • Lightweight and optimized • Works continuously (perfect for AFK farming) • Easy to use interface

Community Comments (3)

PixiepizzaPixiepizzaApr 5, 2026

Would you be able to add a pat where you are able to sell enchant books. There are so many after leaving it going for around 20 minutes

alexanderdarius510alexanderdarius510Apr 22, 2026

i might be dumb but how do i put the script in?

Replying to @alexanderdarius510
HakaishikHakaishikApr 24, 2026

@alexanderdarius510 fala para tu que nem eu sei, é tanta coisa para copiar que não tenho ideia de onde começa nem termina

More Scripts for [CLASSES] Pixel Blade