
Keyless

repeat task.wait() until game:IsLoaded()
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local Modules = ReplicatedStorage.Modules
local Events = ReplicatedStorage.Events
local HeldClient = require(Modules.HeldClient)
local QuickTimeEvents = require(Modules.QuickTimeEvents)
local RandomGenerator = Random.new()
local AutoFishEnabled = true
local FishingCastRunning = false
local NextFishTime = 0
Events.Fishing.OnClientEvent:Connect(function(Action, CastId)
if AutoFishEnabled and FishingCastRunning and Action == "CastAck" then
Events.Fishing:FireServer("Reel", CastId)
end
end)
Events.QuickTimeEvent.OnClientInvoke = function(QTE, Options)
if AutoFishEnabled and QTE.event == "Reel Fish" and QTE.fishing then
local _, HoldUntil = QuickTimeEvents.MinimumServerTime["Reel Fish"](QTE)
if HoldUntil == math.huge then
return {Result = "Failed", Score = 0}
end
task.wait(HoldUntil + RandomGenerator:NextNumber(0.04, 0.08))
return {Result = "Completed", Score = 1}
end
return Events.QuickTimeEventBindable:Invoke(QTE, Options)
end
LocalPlayer:GetAttributeChangedSignal("Fishing"):Connect(function()
if not LocalPlayer:GetAttribute("Fishing") then
FishingCastRunning = false
end
end)
local OriginalNamecall
OriginalNamecall = hookmetamethod(game, "__namecall", function(Self, ...)
local Arguments = {...}
if Self == Events.QuickTimeEventBindable and getnamecallmethod() == "Invoke" and AutoFishEnabled and FishingCastRunning then
local QTE = Arguments[1]
if QTE.event == "Timed Release" then
task.wait(QTE.speed + RandomGenerator:NextNumber(0.02, 0.06))
return {Result = "Completed", Score = 1}
end
if QTE.event == "Gridshot" then
local Goal = math.max(math.floor(QTE.goal or 1), 1)
local Delay = math.max(QTE.minDuration or 0, 0.1) / Goal
for _ = 1, Goal do
task.wait(Delay)
if QTE.OnButtonPressed then
QTE.OnButtonPressed()
end
end
return {Result = "Completed", Score = Goal}
end
end
return OriginalNamecall(Self, ...)
end)
RunService.Heartbeat:Connect(function()
if not AutoFishEnabled or FishingCastRunning or LocalPlayer:GetAttribute("Fishing") or os.clock() < NextFishTime then
return
end
local Character = LocalPlayer.Character
local RootPart = Character and Character.PrimaryPart
local _, HeldItem = HeldClient.GetHeld()
NextFishTime = os.clock() + 1
if not RootPart or not HeldItem or not HeldItem:FindFirstChild("Hookss", true) then
return
end
local Direction = Vector3.new(RootPart.CFrame.LookVector.X, 0, RootPart.CFrame.LookVector.Z)
if Direction.Magnitude <= 0.001 then
return
end
FishingCastRunning = true
local Params = RaycastParams.new()
Params.FilterType = Enum.RaycastFilterType.Exclude
Params.FilterDescendantsInstances = {Character}
Params.IgnoreWater = true
local Hit = workspace:Raycast(RootPart.Position, Direction.Unit * 25, Params)
Events.ToolRemote:FireServer(nil, "Activated")
Events.Fishing:FireServer("CastRod", Hit and Hit.Position or RootPart.Position + Direction.Unit * 25)
task.delay(5, function()
if not LocalPlayer:GetAttribute("Fishing") then
FishingCastRunning = false
end
end)
end)
yo big goat can we get a mining farm or other stuff for the game? also is there a discord? much love
not working
@johsue yes it does
script works great only issue is 1 theres no way to start or stop so if i wanna stop fishing i gotta lose my streak usally, and 2 the big issue is your line doesnt actually cast so if someone noticed you could be reported and banned
@EpsteinDiddyFN the thing is it fishes way faster than should even be possible anyways, it byp*es half the steps required when fishing so if someone found you ingame they would notice you fishing way too fast anyways, just hide somewhere and use it
Fishing module got updated ive made some fixes and the auto fishing is working again, but i dont wanna post it since im not the owner.
@SubVint send it to me in dms in discord im curious, moeteus is my user