local remote = game.ReplicatedStorage.rbxts_include.node_modules.net.out._NetManaged local player = game.Players.LocalPlayer local hrp = player.Character.HumanoidRootPart _G.Fish = true function GetFish() for i,v in pairs(workspace:GetChildren()) do if v.Name == "Fish" then if v:FindFirstChild("HumanoidRootPart") then if player:DistanceFromCharacter(v.HumanoidRootPart.Position) < 100 then return v end end end end end function playerFishingBobber() for i,v in pairs(workspace:GetChildren()) do if v.Name == "Bobber" then if v.Player.Value.Name == player.Name then return v end end end end spawn(function() workspace.ChildAdded:connect(function(new) if new.Name == "bubbles" then if _G.Fish then if playerFishingBobber() ~= nil then remote.CLIENT_PULL_FISHING_ROD:InvokeServer({catchAttempt = true}) end end end end) end) spawn(function() while wait(0.1) do if _G.Fish then local fish = GetFish() if fish then if playerFishingBobber() == nil then remote.CLIENT_CAST_FISHING_ROD:InvokeServer({playerLocation = hrp.Position, direction = Vector3.new(0.1,0,0), strength = 200}) end if playerFishingBobber() ~= nil then hrp.CFrame = fish:FindFirstChild("HumanoidRootPart").CFrame wait(0.1) if fish then if playerFishingBobber() ~= nil then local a = playerFishingBobber() a.CFrame = fish:FindFirstChild("HumanoidRootPart").CFrame end end end end end end end