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)