Code:
-- +-+- -+-++-+  +-+-+-+- -+-+--+
-- ¦-¦¦ ¦ ¦ ¦ ¦  ¦¦ ¦+-++-¦+¦ +-+
-- - -+-+ - +-+  +  -+-+- -+-+-+- 
-- ++ - -  +-++-+- --  - -+-+--++-+                              
-- ¦-++-+  ¦¦ ¦ ¦¦ ¦¦  ¦¦¦+¦ +-++-+                              
-- +-+ -   +  +-++-+--++-++-+-+--  
 
-- If Randomize is true will select random tiles to fish.
-- If Randomize is false will procedurally select tiles to fish.
 
Randomize = false
 
Module.New("Auto Fisher", function(Module)
    if Self.ItemCount(3492) > 0 and Self.ItemCount(3483) > 0 and Self.Cap() > 10 then  
        p = Self.Position()
        if Randomize then
            x =  math.random(p.x -7, p.x + 7)
            y =  math.random(p.y -5, p.y + 5)
            while table.isStrIn({4597,4598,4599,4600,4601,4602}, Map.GetTopUseItem(x, y, p.z).id) and Map.IsTileOnScreen(x, y, p.z) do
                Self.UseItemWithGround(3483, x, y, p.z)
                wait(Self.Ping() + 1000)
            end
        else
            for i = -7, 7 do
                for j = -5, 5 do
                    x =  p.x + i
                    y =  p.y + j
                    while table.isStrIn({4597,4598,4599,4600,4601,4602}, Map.GetTopUseItem(x, y, p.z).id) and Map.IsTileOnScreen(x, y, p.z) do
                        Self.UseItemWithGround(3483, x, y, p.z)
                        wait(Self.Ping() + 1000)
                    end
                end
            end
        end
    end
    Module:Delay(1000)
end)
I'm pretty sure I got it from here, but I don't remember from whom. So I'm sorry for not giving credit, the script works fine only for a little detail: it's still fishing without worms and without cap. The conditions are supposed to be there, but they're just not working. Could you help me here? Thanks in advance.