Jump to content

Dab in a Lab

Members
  • Posts

    329
  • Joined

  • Last visited

  • Feedback

    100%

Posts posted by Dab in a Lab

  1. 2 hours ago, Czar said:

    Recently posted an update regarding the dialogue, just updated it to the new dialogue.

    As for camelot teleport, will check out teleport asap, it should be teleporting from the varrock smithing area to camelot immediately. Will also review the pathfinding from camelot to blast furnace (for the first time arriving in blast furnace without using minigame teles)

    As for the GE mode, right now it only buys the ore, but I will definitely add stamina potion and varrock tab resupplying too. 

    As for waiting for buckets, sure I can add a pre-walk type system for this. I will be adding more behavioural options to the setup window.

    As for the coins, right now it's only supported to keep coins in inventory until you get 60 smithing so I will need to work on an update to allow banking for GP each time, but first I must add the other two options since this one will be the most difficult in terms of testing.

    As for account list, I will need to double check with the staff, I think there is a way to do it whilst complying with all the market rules, but again I need to ask Token or Mald.

    As for trials activated, if you are looking forward to these outlined features above then I will extend trial until the new update goes live when I post it

    Appreciate the work you're willing to put into your scripts still

    Before level 60 smithing, the coins are probably ok in the inventory since you have to pay the guy every 10min, but at level 60+ its just a waste of an inventory slot to hold on to them.

  2. Looks like you are fixing the dialogue, but it gets stuck at every dialogue selection when talking to Thurgo for the quest. 

    I have no clue what the bots trying to do, but it takes forever trying to calculate a path after getting 30 smithing. Moves to a spot, stops and calculates, then moves again, and stops... repeat. It looked like it was going to walk all the way to Camelot. Even though it withdrew a Camelot tele from the bank. I ended up manually using it. It also HAD to have lobsters too for some reason, even though they don't have a use

    Quote

    [INFO][Bot #1][02/19 11:25:33 PM]: Resorting to old web
    [INFO][Bot #1][02/19 11:25:33 PM]: Found entrance: KELDAGRIM_PASS_2
    [INFO][Bot #1][02/19 11:25:33 PM]: not near to [x=2728, y=3710, z=0] next point is: Source [x=3131, y=3408, z=0] -> [x=3126, y=3413, z=0].
    [INFO][Bot #1][02/19 11:25:33 PM]: Next One: [x=3121, y=3416, z=0] (distance 15)
    [INFO][Bot #1][02/19 11:25:33 PM]: Found next regional web tile!! : [x=3121, y=3416, z=0]
    [INFO][Bot #1][02/19 11:25:33 PM]: Walking to: [x=3121, y=3416, z=0] distance: 15 and minimap: false
    [INFO][Bot #1][02/19 11:25:33 PM]: "last_delay_name" changed to "PresetWalker: Wait 1s until destination exists 2"
    [INFO][Bot #1][02/19 11:25:33 PM]: Walk results: True=[true]    Normal=[true]
    [INFO][Bot #1][02/19 11:25:33 PM]:  walk_suh_result true to: [x=2728, y=3710, z=0]
    [INFO][Bot #1][02/19 11:25:33 PM]: go to keldagrim!!
    [INFO][Bot #1][02/19 11:25:33 PM]: WebWalkingEvent; No route found! Destinations = [[x=2840, y=10127, z=0]];
     

    It can't WebWalk to the Blast Furnace after completing the cutscene on the boat crashing into the statue

    Quote

    [INFO][Bot #1][02/19 11:35:54 PM]: Resorting to old web
    [INFO][Bot #1][02/19 11:35:54 PM]: / Pathfinding error, source: [x=2826, y=10215, z=0] and target: [x=1945, y=4959, z=0], report this to Czar immediately!
    [INFO][Bot #1][02/19 11:35:54 PM]: walk_suh no path found between [x=2826, y=10215, z=0] and [x=1945, y=4959, z=0] .. 
    [INFO][Bot #1][02/19 11:35:55 PM]: goToBlastFurnace) Go to blast furnace ASAP
    [INFO][Bot #1][02/19 11:35:55 PM]: WebWalkingEvent; No route found! Destinations = [[x=1945, y=4959, z=0]];
     

    It hops worlds for the quests, so it would be nice if it would hop to a random BF world if we wanted to use the coffer and not worry about the pumps and stuff

    What does GE support do? Just resupply the ores? Can it buy stamina pots too? Varrock tele tabs?

    When the bot goes back to resupply and it tries to go back to the BF, it withdraws those lobsters again, and does the weird walking to Camelot. Can it just use the minigame tele or walk to the vault in the back left corner of the GE?

    Noticed that filling up the bucket of water also increases the value for the bars collected

     

    Just a couple suggestions:

    1).  Once the bot puts the ore of choice on the conveyor belt, can it run down to the bar dispenser and be ready to use the bucket of water on it?

          Right now it stands at the top until the bars are dispensed. It could be more efficient by having it run/walk to the dispenser after dropping off the ore, and having it ready to go by time the bars are dispensed.

    2). This may be against osbots rules for SDN scripts, but could it be possible to grab accounts off a text file and load them up?

         Would be nice to have a list of ready-to-go accounts with members and supplies that your script can just grab and run

  3. I get this everytime I start the script up

    Spoiler

    [ERROR][Bot #1][10/12 12:01:12 PM]: Failed to load image for selected script, using default image
    [INFO][Bot #1][10/12 12:01:14 PM]: Loaded 3 built-in random solvers!
    [ERROR][Bot #1][10/12 12:01:17 PM]: Error in script onStart(): Fury AIO Looter
    java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(Unknown Source)
        at aioLooter.AIOLooterGUI.initComponents(AIOLooterGUI.java:640)
        at aioLooter.AIOLooterGUI.<init>(AIOLooterGUI.java:39)
        at aioLooter.AIOLooter.onStart(AIOLooter.java:130)
        at org.osbot.rs07.event.ScriptExecutor.iiIIiiiIiIII(pj:80)
        at org.osbot.rs07.event.ScriptExecutor.start(pj:252)
        at org.osbot.lPT2.iiIIiiiIiIII(kr:9)
        at org.osbot.AA.iIiiiiiiiiII(ux:48)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    [INFO][Bot #1][10/12 12:01:17 PM]: Terminating script Fury AIO Looter...
    [INFO][Bot #1][10/12 12:01:17 PM]: 
    [INFO][Bot #1][10/12 12:01:17 PM]: Thanks for using Fury GE Looter!
    [INFO][Bot #1][10/12 12:01:17 PM]: ===== Results =====
    [INFO][Bot #1][10/12 12:01:17 PM]: Time ran: 00:00:00:00
    [INFO][Bot #1][10/12 12:01:17 PM]: Profit: 0
    [INFO][Bot #1][10/12 12:01:17 PM]: ===== Most Valuable loot =====
    [INFO][Bot #1][10/12 12:01:17 PM]: Name: N/A
    [INFO][Bot #1][10/12 12:01:17 PM]: Amount: 0
    [INFO][Bot #1][10/12 12:01:17 PM]: Value: 0
    [INFO][Bot #1][10/12 12:01:17 PM]: 
    [INFO][Bot #1][10/12 12:01:17 PM]: Script Fury AIO Looter has exited!

     

  4. 11 minutes ago, Chris said:

    its it something local for you yes you can add it as a library

     

    if this is for a script the project files need to be in the main src folder of your script

    Is it enough to have it like this? 

    https://gyazo.com/59fd56085e2bcf0882f38d00253b9a94 

    I haven't been able to figure out what its doing when in the src like this. I'm sure its fine, but it also created its own url shortcut to the repository

     

    Edit: Also is it necessary to have all the code of the library in my project too? That com.github part in the screenshot contains all the code too

  5. 19 minutes ago, Chris said:

    Build a new maven project and use the existing pom.xml,etc files

    Would I build the maven this library has as a separate .jar file, and then add it to the project like how I would with OSBot at the start of a project?

    19 minutes ago, Token said:

    The library may be on mvnrepository if it's popular enough, search for it on that website, it usually includes a pre-compiled jar version

    I think I found the precompiled jar version of this library. Similar to what I asked Chris, would I then add it as a library like how OSBot is added at the start of a project?

  6. I've tried to integrate a library off of github last week, and I'm now stuck and not sure what to search to teach myself

    I have the code in my project, but I can't seem to call it and use it yet. I'm assuming I got it in there correctly too

    The library also has a Mavern, but I'm not sure what it does. After looking it up, there seems to be a default Mavern people build, but I'm not sure what they then do with it, and the Mavern for this library is obviously different than just the standard one. 

    If I have to, I'd be down to pay someone 5 or 10 bucks to work with me and teach me how to get it integrated.

  7. I see you have a 2 declarations for the bronze bar button. One for null checking and another for interacting. You can just use the interacting declaration and null check that instead

    RS2Widget bronzeBarsButton = getWidgets().get(270,14);
    
    if (bronzeBarsButton != null && bronzeBarsButton.isVisible(){
    	bronzeBarsButton.interact("smelt")
    	
    	//your sleep
    
    }

    Edit: Just an FYI too, you don't need a sleep for webwalking. I did the same thing when I first started off too, but then realized its not going to continue reading lines until webwalking is done

    • Like 1
  8. 1 hour ago, amDeep said:

    I don't know the exact logistics as to why. But I do know that I have a 100% ban rate on stealth inject.

    Whats your ban rate on mirror then? Did the accounts bot multiple sessions, or just the 1 and weren't touched again? Same amount of time botting?

  9. Well I was just showing you how to shorten your code a bit

    But you could probably grab the object ID when its visible/your next object you need to interact with and do object.interact();   and not put in a string, so it will just click that object regardless of what action is has, or if it even has an action

  10. I'm still getting used to using a function like this, but I think this may work. If you have a  bunch of repetitive actions with only minor differences, you can build a function like this and plug in specifiers. In this case your position, the object, and the interaction associated with it. If it doesn't work (haven't tested, and still getting use to using these myself) you can mess around with it.

    Someone feel free to correct me if theres something wrong/better

    // How you would use it
    clickThisShit(Position,Object,"Action")
    
    // The one line can replace a block of the repetetive chuncks
    
    
    //Make a function like this in your script
    
    private void clickThisShit(Position position, RS2Object object, String action) {
    
            if (position.equals(myPosition())) {
    
                if (!object.isVisible())
                    getCamera().toEntity(object);
    
                if (object != null && object.isVisible() && object.hasAction(action)) {
                    object.interact(action);
    
                    new ConditionalSleep(10000, 250){
                        @Override
                        public boolean condition() throws InterruptedException{
                            return (!myPlayer().isMoving() && !myPlayer().isAnimating());
                        }
                    }.sleep();
                }
            }
        }

     

    • Like 1
  11. Every time it attacks a seagull and its leveling Attack, it clicks on Attack exp style. Doesn't do it for Strength or Defense. Can't seem to notice why

    When training Attack, the logger will read :

    Training Attack #

    Can attack seagull

    Attacking seagull

     

    Spoiler
    
    private void fightingSeagulls() throws InterruptedException {
    
            if (!portSarim.contains(myPlayer())) {
                getWalking().webWalk(seagulls);
            }
    
                switchSword();
                seagullEXP();
    
                if (!myPlayer().isUnderAttack() && myPlayer().isAttackable()) {
                    log("Can attack seagull");
    
                    NPC seagull = getNpcs().closest("Seagull");
    
                    if (seagull != null && !seagull.isUnderAttack() && seagull.isAttackable() && !seagull.isHitBarVisible())
                        seagull.interact("Attack");
                    log("Attacking seagull");
    
                    switch (getConfigs().get(173)) {
                        case 0:
                            getWidgets().interact(160, 22, "Toggle Run");
    
                            break;
                    }
                    if (getCombat().isFighting()) {
    
                        new ConditionalSleep(300000, 10000) {
                            @Override
                            public boolean condition() throws InterruptedException {
                                return !getCombat().isFighting();
                            }
                        }.sleep();
                    }
                }
            }
    
     private void seagullEXP() {
    
            switch (getConfigs().get(43)) {
    
                case 0:
    
                    if (getSkills().getDynamic(Skill.STRENGTH) < 5) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 8, 4, "Slash");
                        log("Training strength 1");
    
                    } else if (((getSkills().getDynamic(Skill.ATTACK) >= 5) && getSkills().getDynamic(Skill.ATTACK) < 10) &&
                            getSkills().getDynamic(Skill.STRENGTH) < 10) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 8, 4, "Slash");
                        log("Training strength 2");
    
                    } else if (((getSkills().getDynamic(Skill.ATTACK) >= 10) && getSkills().getDynamic(Skill.ATTACK) < 15) &&
                            getSkills().getDynamic(Skill.STRENGTH) < 15) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 8, 4, "Slash");
                        log("Training strength 3");
    
                    } else if (((getSkills().getDynamic(Skill.ATTACK) >= 15) && getSkills().getDynamic(Skill.ATTACK) < 20) &&
                            getSkills().getDynamic(Skill.STRENGTH) < 20) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 8, 4, "Slash");
                        log("Training strength 4");
    
                    } else if (((getSkills().getDynamic(Skill.ATTACK) >= 20) && getSkills().getDynamic(Skill.ATTACK) < 25) &&
                            getSkills().getDynamic(Skill.STRENGTH) < 25) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 8, 4, "Slash");
                        log("Training strength 5");
    
                    } else if (((getSkills().getDynamic(Skill.ATTACK) >= 25) && getSkills().getDynamic(Skill.ATTACK) < 30) &&
                            getSkills().getDynamic(Skill.STRENGTH) < 30) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 8, 4, "Slash");
                        log("Training strength 6");
    
                    } else if (((getSkills().getDynamic(Skill.ATTACK) >= 30) && getSkills().getDynamic(Skill.ATTACK) < 35) &&
                            getSkills().getDynamic(Skill.STRENGTH) < 35) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 8, 4, "Slash");
                        log("Training strength 7");
    
                    } else if (((getSkills().getDynamic(Skill.ATTACK) >= 35) && getSkills().getDynamic(Skill.ATTACK) < 40) &&
                            getSkills().getDynamic(Skill.STRENGTH) < 40) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 8, 4, "Slash");
                        log("Training strength 8");
    
                    } else if ((getSkills().getDynamic(Skill.ATTACK) >= 40) && (getSkills().getDynamic(Skill.STRENGTH) >= 40)) {
    
                        getWidgets().interact(593, 16, 4, "Block");
                        log("Training defence");
    
                    }
    
                case 1:
    
                     if ((getSkills().getDynamic(Skill.STRENGTH) >= 5) && (getSkills().getDynamic(Skill.ATTACK) < 5)) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 4, 4, "Chop");
                        log("Training Attack 1");
    
                    } else if ((getSkills().getDynamic(Skill.STRENGTH) >= 10) && (getSkills().getDynamic(Skill.ATTACK) < 10)) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 4, 4, "Chop");
                        log("Training Attack 2");
    
                    } else if ((getSkills().getDynamic(Skill.STRENGTH) >= 15) && (getSkills().getDynamic(Skill.ATTACK) < 15)) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 4, 4, "Chop");
                        log("Training Attack 3");
    
                    } else if ((getSkills().getDynamic(Skill.STRENGTH) >= 20) && (getSkills().getDynamic(Skill.ATTACK) < 20)) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 4, 4, "Chop");
                        log("Training Attack 4");
    
                    } else if ((getSkills().getDynamic(Skill.STRENGTH) >= 25) && (getSkills().getDynamic(Skill.ATTACK) < 25)) {
                        getTabs().open(Tab.ATTACK);
    
                        getWidgets().interact(593, 4, 4, "Chop");
                        log("Training Attack 5");
    
                    } else if ((getSkills().getDynamic(Skill.STRENGTH) >= 30) && (getSkills().getDynamic(Skill.ATTACK) < 30)) {
                         getTabs().open(Tab.ATTACK);
    
                         getWidgets().interact(593, 4, 4, "Chop");
                         log("Training Attack 6");
    
                     } else if ((getSkills().getDynamic(Skill.STRENGTH) >= 35) && (getSkills().getDynamic(Skill.ATTACK) < 35)) {
                         getTabs().open(Tab.ATTACK);
    
                         getWidgets().interact(593, 4, 4, "Chop");
                         log("Training Attack 7");
    
                     } else if ((getSkills().getDynamic(Skill.STRENGTH) >= 40) && (getSkills().getDynamic(Skill.ATTACK) < 40)) {
                         getTabs().open(Tab.ATTACK);
    
                         getWidgets().interact(593, 4, 4, "Chop");
                         log("Training Attack 6");
    
    
                    } else if ((getSkills().getDynamic(Skill.ATTACK) >= 40) && (getSkills().getDynamic(Skill.STRENGTH) >= 40)) {
    
                        getWidgets().interact(593, 16, 4, "Block");
                        log("Training defence ");
                    }
    
            }
        }

     

     

  12. 13 minutes ago, Chris said:

    Nah im remaking them. they are low production and trash

    Well I wouldn't be where I'm at without them. I'll definitely be watching the new ones though

  13. 28 minutes ago, Chris said:

    Learn Java, Git(Only if you want scripts on the SDN), & how to read Java Documentation.

    Until then don't event attempt writing scripts because it will just be crafted poorly. I recommend Derek banas, or Head First Java book for Java tutorials. 

    How modest. Not gonna plug yourself?

    @corey1996 Watch his tutorials! Followed lesson 0 and lesson 1, then started scripting my own stuff. I had literally no coding/scripting experience before that. You'll learn more as you make more scripts. Also, reference his other 2 tutorials while you're making your own projects. But definitely follow along and build the same script alongside Chris in Lesson 1.

     

    Chris's Tutorials

    Spoiler

     

     

    • Heart 1
  14. 8 hours ago, Patrick said:

    Thursday update broke a couple things, we're working on it

    Its still getting worked on right? Hasn't been fixed/patched yet?

    Some things in my script stopped working like intended today. Want to make sure it was the update that broke it

  15. Someone can correct me if I'm wrong, but I think its the newest OSBot update they pushed. Sometimes a random script other than the one I have selected will start, my webwalking in my scripts break in some areas, and it gets confused with some interactions

  16. 54 minutes ago, Aftermath said:

    I used them before. They are slow to respond to tickets and to be honest they like to play dumb about a lot of crap (in my opinion).

    When I used rotating residentials from them they supplied me with an IP that connected various places that were in fact residential IP's, but I've never purchased static residentials from them though. I doubt you would need to supply your own or else that would defeat the point. As you know resi's aren't that abundant unless you specifically buy them, so you'd probably be opting out to datacenter proxies by collecting your own.

    Ya I just sent a second ticket and based off the ticket numbers, theres been 4 tickets created between my first one and my most recent... kinda ridiculous they cant monitor and address ~2 tickets a day.

    I bought the rotating residential proxies too but I was never given an IP address, even though it advertises randomized residential IPs for a region... I just have my 5 HTTP ports and 5 SOCKS5 ports. Theres  a box called "Allowed IPs" where I can add IPs, and a button to add my own personal IP, and then "Proxy Port Flags" for setting up my region of choice...

    The only time I don't get a Socks Proxy Configuration Error from OSBot is when I put my personal IP in that allowed IPs box

    48 minutes ago, Keyster99 said:

     

    The support is crap, you have to threaten them for the ticket to answer you

    Have you had problems with the proxies?

    I agree though, the support is ridiculous. I'm kinda tempted to submit a chargeback. Maybe I'll threaten them with one first

×
×
  • Create New...