diff --git a/.gitignore b/.gitignore index ae02570..5b40bbc 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -release/ \ No newline at end of file +release/ +albionFisher.jar +*.zip \ No newline at end of file diff --git a/README.md b/README.md index 41c0bff..4e0249d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# albionFisher - albion online fisher bot +# albionFisher - albion online fishing bot # Compiling -`make jar` if you're on GNU/Linux, else - `javac src/xyz/unbewohnte/albionFisher/*.java`+`jar cvmf MANIFEST.txt albionFisher.jar *.class && rm *.class` +`make jar` if you're on GNU/Linux, else - translate the commands in the makefile to compile # Launch `java -jar albionFisher.jar` @@ -11,7 +11,7 @@ 2. Set your cursor at the exact position where you want to drop the bobber 3. Look at the coordinates on the fisher's window and put them in the xy fields 4. By trial and error specify needed hold time in miliseconds so you could see ingame bobber being in the center of fisher's sight box (by clicking "fish" button) -5. With the same method set difference threshold (in most cases it is somewhere around 3-4 if you fish horizontally, 1-2 if vertically) -6. Start the bot again and leave the computer as is +5. With the same method set difference threshold (in most cases it is somewhere around 2-3) +6. Start the bot again and leave the mouse cursor as is -Moving the mouse automatically (though not very reliably) stops the bot so you can move onto the next spot or entirely stop fishing without manual click on "stop" button \ No newline at end of file +Moving the mouse automatically stops the bot so you can move onto the next spot or entirely stop fishing without the manual click on "stop" button \ No newline at end of file diff --git a/src/xyz/unbewohnte/albionFisher/fisher.java b/src/xyz/unbewohnte/albionFisher/fisher.java index aeeb033..6b796da 100644 --- a/src/xyz/unbewohnte/albionFisher/fisher.java +++ b/src/xyz/unbewohnte/albionFisher/fisher.java @@ -26,9 +26,9 @@ import javax.swing.ImageIcon; public class fisher { - static String VERSION = "v0.1.5"; + static String VERSION = "v0.1.6"; - static RGB BOBBER_COLOR = new RGB(255, 180, 31); + static rgb BOBBER_COLOR = new rgb(255, 180, 31); static boolean fishing = false; @@ -101,7 +101,7 @@ public class fisher { bot = new Robot(); // GUI - gui.launchGUI("fisher", VERSION); + gui.launchGUI("albionFisher", VERSION); // update gui in the separate thread Thread updateGUIThread = new Thread() { @@ -114,14 +114,11 @@ public class fisher { // fishing logic boolean windowActivated = false; - int idleCountMsMax = 35000; // 35 seconds - int idleCountMs = 0; while (true) { Thread.sleep(50); if (!fishing) { windowActivated = false; - idleCountMs = 0; continue; } @@ -169,13 +166,7 @@ public class fisher { Thread.sleep(3500); // wait for fish as long as the user does not move the mouse - idleCountMs = 0; while (true) { - if (idleCountMs >= idleCountMsMax) { - // something must be wrong - break; - } - if (mousePos_x != xpos && mousePos_y != ypos) { fishing = false; break; // break out of loop with fishing flag set to FALSE @@ -205,14 +196,12 @@ public class fisher { } Thread.sleep(50); - idleCountMs += 50; } // play minigame if still fishing lastMean = 0.0f; currentMean = 0.0f; - if (!fishing || idleCountMs >= idleCountMsMax) { - idleCountMs = 0; + if (!fishing) { continue; }; @@ -255,6 +244,18 @@ public class fisher { // the game has been finished bot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); Thread.sleep(5000); + + if (mousePos_x != xpos && mousePos_y != ypos) { + fishing = false; + } + + break; + } + + if (bobberCoords.x == -1 && bobberCoords.y == -1 && initialBobberPosition.x == -1 && initialBobberPosition.y == -1) { + // false-positive ! + // recast + Thread.sleep(5000); break; } } diff --git a/src/xyz/unbewohnte/albionFisher/gui.java b/src/xyz/unbewohnte/albionFisher/gui.java index 2a6025b..26c62d6 100644 --- a/src/xyz/unbewohnte/albionFisher/gui.java +++ b/src/xyz/unbewohnte/albionFisher/gui.java @@ -102,7 +102,7 @@ public class gui { holdSliderLabel.setBounds(20, 90, 70, 20); window.add(holdSliderLabel); - holdMsSlider = new JSlider(JSlider.HORIZONTAL, 0, 1500, 250); + holdMsSlider = new JSlider(JSlider.HORIZONTAL, 0, 1100, 250); holdMsSlider.setValue(250); holdMsSlider.setMajorTickSpacing(500); holdMsSlider.setMinorTickSpacing(250); diff --git a/src/xyz/unbewohnte/albionFisher/imgutils.java b/src/xyz/unbewohnte/albionFisher/imgutils.java index a694c5c..fd40f2b 100644 --- a/src/xyz/unbewohnte/albionFisher/imgutils.java +++ b/src/xyz/unbewohnte/albionFisher/imgutils.java @@ -33,7 +33,7 @@ public class imgutils { return sum / (img.getWidth() * img.getHeight()); } - public static Point getPixelCoordinates(BufferedImage img, RGB color) { + public static Point getPixelCoordinates(BufferedImage img, rgb color) { for (int y = 0; y < img.getHeight(); y++) { for (int x = 0; x < img.getWidth(); x++) { int imgColor = img.getRGB(x, y); diff --git a/src/xyz/unbewohnte/albionFisher/RGB.java b/src/xyz/unbewohnte/albionFisher/rgb.java similarity index 93% rename from src/xyz/unbewohnte/albionFisher/RGB.java rename to src/xyz/unbewohnte/albionFisher/rgb.java index dbad4c1..028f685 100644 --- a/src/xyz/unbewohnte/albionFisher/RGB.java +++ b/src/xyz/unbewohnte/albionFisher/rgb.java @@ -16,12 +16,12 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ -public class RGB { +public class rgb { public int r; public int g; public int b; - public RGB(int r, int g, int b) { + public rgb(int r, int g, int b) { this.r = r; this.g = g; this.b = b;