Jump to content

Koala

Members
  • Posts

    280
  • Joined

  • Last visited

  • Days Won

    49

Posts posted by Koala

  1. On 5/16/2022 at 10:34 AM, MapleMonkey said:

    It hardly works at all with even basic net fishing at Draynor village or trout fishing at Lumbride. Total scam and waste of money. DO NOT BUY IT. 

    Hey! I haven't seen any bug reports from Fisher in quite awhile. I'll go test at those locations, but can you elaborate on what's happening?

  2. Hey - couple issues with this:

    1. If returning false in your onStart, it will exit the script. You couldn't run this from the login screen, as it would immediately exit.

    2. walking is a boolean. You don't need to do walking == false, you can just do !walking

    3. You never want to return -1, as that's the time between loops. You'd just be wasting resources by running nothing as fast as possible.

    4. You never exit the script once it arrives.

    • Like 1
  3. 1 hour ago, roofscoop said:

    So i paid for this like a week ago, specifically to run more than one account. I have tried countless number of times just to try and get it to open. I have been monitoring some of the posts here and it seems like there is a lack of support, and seems like it is'nt just me who is having problems. I am finding my self spending over an hour sometimes trying to get this to just work with a paid script.

    I would like to consider myself pretty knowlagable with stuff like this as i write my own scripts as a hobbie.. that being said, as a customer should'nt this be pretty straight forward?

    Any suport regarding this would be very helpful, and maybe for a number of others i'd imagine.

    Thanks.

    Discord is much more active that forums for this kind of support. If you're able to post in #help it'd be much easier to help debug any issues you're having.

  4. On 1/11/2022 at 5:05 AM, Ziqs said:

    Keeps readding bosses in costum rumble mode , fix please

    Can you give me details on your setup? It doesn't change the bosses on rumble.

  5. 14 hours ago, skunkwave said:

    what a rip off, bot doesnt even want to begin to start, spent 25 dollars for nothing wtf...

    Client was down from the update. Should be working now 🙂

  6. Very nice release. I've been meaning to get more code examples out, so I thought I'd show my general coding style. 

     

    The primary things are

    1. Simplicity - Ensuring that the logical flow controls behavior where possible.
      1. Ex. when moving. You don't need to do anything if you're moving. So if you have a check at the top that sleeps if you're moving, you can perform an action and then the method up top will prevent additional unnecessary interactions.
    2. One action per loop - for every loop, do one thing or do nothing.
      1. If you try and do multiple things per loop, you can introduce more bugs due to flow, an interaction failure, etc. You'll see I heavily use if, if else, and else statements. They're no state the script is in where it will ever do multiple things in a loop.

     

    Quote
    import com.epicbot.api.shared.APIContext;
    import com.epicbot.api.shared.GameType;
    import com.epicbot.api.shared.entity.GroundItem;
    import com.epicbot.api.shared.model.Tile;
    import com.epicbot.api.shared.script.LoopScript;
    import com.epicbot.api.shared.script.ScriptManifest;
    import com.epicbot.api.shared.util.paint.frame.PaintFrame;
    import com.epicbot.api.shared.util.time.Time;
    import com.epicbot.api.shared.webwalking.model.RSBank;
    
    import java.awt.*;
    
    @ScriptManifest(name = "Red Spider Eggs", gameType = GameType.OS)
    public class RedSpiderEggCollector extends LoopScript {
    
        private String status = "Starting";
        private final Tile EGGS_POS = new Tile(3121,9954,0);
    
        @Override
        public boolean onStart(String... strings) {
            return true;
        }
    
        @Override
        protected int loop() {
            // if inventory is full, bank
            if(getAPIContext().inventory().isFull()) {
                setStatus("Banking");
                bank();
            // if we're moving, we don't need to be doing anything else!
            } else if(getAPIContext().localPlayer().isMoving()) {
                Time.sleep(1000, () -> !getAPIContext().localPlayer().isMoving());
            // if we're out of run and we have some to use, enable run
            } else if(!getAPIContext().walking().isRunEnabled() && getAPIContext().walking().getRunEnergy() > 15){
                if(getAPIContext().walking().setRun(true)){
                    Time.sleep(2000, () -> getAPIContext().walking().isRunEnabled());
                }
            } else {
                GroundItem eggs = getAPIContext().groundItems().query().named("Red spiders' eggs").reachable().results().nearest();
                if(eggs != null){
                    setStatus("Collecting");
                    if (eggs.isVisible()) {
                        if (eggs.interact("Take")){
                            Time.sleep(1000, () -> getAPIContext().localPlayer().isMoving());
                        }
                    } else {
                        getAPIContext().walking().walkTo(eggs);
                    }
                } else {
                    // if we're too far away, reset back
                    if(EGGS_POS.distanceTo(getAPIContext()) > 10) {
                        setStatus("Walking back");
                        getAPIContext().webWalking().walkTo(EGGS_POS);
                    } else {
                        //no eggs and we're near the spot - need to wait for spawn
                        setStatus("Waiting");
                        return 2000;
                    }
                }
            }
            return 500;
        }
    
        private void setStatus(String status){
            this.status = status;
        }
    
        private void bank() {
            if(getAPIContext().bank().isOpen()){
                if(getAPIContext().bank().depositInventory()){
                    Time.sleep(2000, () -> getAPIContext().inventory().isEmpty());
                }
            } else {
                if(getAPIContext().bank().isVisible()){
                    if(getAPIContext().bank().open()){
                        Time.sleep(5000, () -> getAPIContext().bank().isOpen());
                    }
                } else {
                   getAPIContext().webWalking().walkTo(RSBank.EDGEVILLE.getTile());
                }
            }
        }
    
        @Override
        protected void onPaint(Graphics2D g, APIContext ctx) {
            PaintFrame frame = new PaintFrame("Red Spider Eggs");
            frame.addLine("Status", status);
            frame.draw(g, 0, 170, ctx);
        }
    }
    

    Hope this helps some of the new scripters and lurkers 🙂

    • Like 1
  7. How to set up Intellij for Script Development

    Please note that EpicBot uses Java 8. You can download this from Oracle here.

    If your Java version is not 8, set up Intellij to use Java 8, read "Set Up Intellij" here.

    Don't know your Java version? Type java --version in a command prompt. 

    SETUP

    Make a new Intellij Project

    Go to File -> Project Structure -> Modules. Click the + icon. Select JARs or Directories.

    ooXijxL.jpg

     

    Find your EpicBot folder. Select the dependencies folder and click OK.

    apE6omh.jpg

     

    You should now see it in your Dependencies list. Click Apply (don't click OK).

    5icxAHK.png

     

    Click your Artifacts tab on the left, and the plus arrow again. Select "Other" from the drop down menu.

    H06HbLT.jpg

     

    You should see something like this:

    B7TsG1A.png

     

    Name your artifact at the top (must be unique from your other script artifact names in other projects).

    Select the "Include in project build" checkbox.

    Click the '<project name> compile output' on the right side, so it moves to the left column.

    Click the file folder on the left.

    F27ZuH3.jpg

     

    Find your EpicBot/scripts folder. You may not have one, and will need to make one. Select it and click OK.

    411RuFn.png

    If your screen looks like this, click Apply and OK.

    4BdNXKZ.png

    Any script should now compile when you click the "Build Project" button (green hammer top right)

     

    Making a Test Script

    Right click your src folder on the left. Select New -> Java Class, and name it.

    t5p2rKl.png

    You should get something like this:

    dVHromH.png

     

    A quick sample script to test:

    import com.epicbot.api.shared.APIContext;
    import com.epicbot.api.shared.GameType;
    import com.epicbot.api.shared.script.LoopScript;
    import com.epicbot.api.shared.script.ScriptManifest;
    import com.epicbot.api.shared.util.paint.frame.PaintFrame;
    
    import java.awt.*;
    
    @ScriptManifest(name = "Test Script", gameType = GameType.OS)
    public class TestClass extends LoopScript {
    
        @Override
        public boolean onStart(String... strings) {
            return true;
        }
    
        @Override
        protected int loop() {
            return 50;
        }
    
        @Override
        protected void onPaint(Graphics2D g, APIContext ctx) {
            PaintFrame frame = new PaintFrame("Test Script");
            frame.addLine("Title", "Value");
            frame.draw(g, 0, 170, ctx);
        }
    }

    Click the build icon (green hammer top right) and you should then be able to see your script in the script selector.

    oePf6p9.png

     

    FAQ

    Q: I followed the instructions and everything is red?

    Your dependencies are not imported properly.

    Q: I don't see the script in the script list?

    You're not building the artifact properly. Ensure that "Include in Project Build" is checked, your output directory is correct, and your compile output is under the output root (left column). See below:

    3odyBwI.png

    • Like 4
    • Thanks 1
  8. 27 minutes ago, traumav2 said:

    can you make an option to prioritize points... kinda an issue since if it doesnt get 500 first inv fletching it runs out of time half the time. so far this is sadflt not worth the money

     

    Can you send your settings? Not sure why it would ever fail to get over 500

  9. 2 hours ago, unholy deity said:

    Haven't had any issues at all with this script, up until yesterdays update, Pro Wintertodt will stop working when it needs to bank food, will not take the food I have setup for it, if I manually click the food myself the bot will continue, any help?? Thank you!

    Client issue. Should be fixed.

  10. 10 hours ago, RayaStallone said:

    Bought this script, but it isn't really working for me. Get's stuck when trying to set the window on fixed.

    If I do it manually the bot runs further, but it's quite annoying.

    Thought I had fixed that, but i'll give it another look. Thanks!

  11. 1 hour ago, n8820i said:

    Do I have to buy again? because my other pro thieve is gone or can I get refund.....not try to be mean but I feel like I got...

    You already have the new one. The old one isn't supported by the scripter anymore. If you have any issues, report them to Quackers so he can fix them.

  12. 1 hour ago, FancyToe said:

    Hey guys,

     

    I've just gotten into EpicBot scripting, I've written a small Cow Killer script for educational purposes and I just can't run it from the EpicBot client.

     

    In IntelliJ, I set up the output path to the EpicBot scripts folder :

    image.png.22ac6d5b182a13c7851edbecae179766.png

    I also set up the dependencies :

    image.png.bd1288b080c533e502cd8082085b38ea.png

    I hit the build button but I still can't see it in the EpicBot Client list. I'm pretty sure I'm missing something really basic I just can't put my finger on it. Can anyone help?

     

    Thanks.

    Hey! You'll want to make an artifact not a module. I'll try and get you a screenshot here in a bit 🙂

    • Thanks 1
  13. 11 hours ago, CarleezyGaming said:

    what does behavior settings do. mainly the skip game percentage? 

    If it enters a game already in progress, skip game percentage is what determines if it plays the current game or waits for the next. Ex. if skip game percentage is 70% and you enter an existing game with 52% Wintertodt health remaining, it will wait until the next game. If Wintertodt had 85% health, it would play.

  14. 4 hours ago, n8820i said:

    No problem with this scripts but today there is issue with pickaxe. I have pickaxe on hand but status said need pickaxe and run to bank then doing nothing.

    Hey I'm looking into this. It's a caching issue I'm looking at resolving 🙂

  15. 3 hours ago, ausfergu said:

    Hey Koala hope you've been well. Do you have any update?

     

    Been using the MLM bot for past few weeks and its awesome. Thank you.

    Hey, the fix should be live. I haven't heard of any issues in a few weeks so I believe it's working well.

×
×
  • Create New...