Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • F2P no other bot needed


    f4i13rr0r

    Recommended Posts

    Things need onPaint updates with all info & time, gui with leftover donates and team credits, also looking to put stats up.

    my void3d account info forgot the name 😜 so I can see if I can remember it's pw on gmail. would be awesome. all my accounts a throwedlly n4m3d XD

    Working on this 1 file abstract sense I've last been chained banned with 3 accounts, playing around with others scripts || bots, allowed my inspiration to allow, a from the dead and back style.

    With this most will say not possible, I kind of figure that the code under the whiles must be inside the whiles, although I'm hoping it will fire just like this, if a more experienced wouldn't mind trying a lot faster then me, testing weather it should or shouldn't be within or without side of such.

    my theory was that if the while became true then under the while aka same technical line would fire whats on that same while loop line aka under the while loop, kind of like a before and after style.

    Should fire code under while when while becomes true || on state, else put code inside the while?? thinking it won't be fire able then, cause the while will be true. because if it is in that area then it should be true on the while loop yet the while loop in !not true.

    here's link, a YouTube will be coming shortly, as the more I advance the bot || script.

    Please your thoughts and don't forget to roast it.

    Was thinking maybe a team effort would be nice for things I don't know how to do, like quests.

    Monthly payment after complete idk $? @yeeter, can you split the payment equally if a team continuously, works on this, and goes off into build P2P versions aka 3, also speaking of a New school devil runemate and RS3 ?idk how many, + a OSRS port for more money, 4 bots.

    Recommended sum would be upwards of 1b or more by the time the char = 99 skills in f2p. + a bank value of such of idk.

    Opps Edit, here is the GitHub.Forcefull-ON-OFF-Programming-style

    Keep up to date read me etc on git.

    Proof of concept

     

    Contact to Donate.

     

    Please support my cause for upgraded equipment, looking in the range of 3000$+, on my mamas laptop ;p, all I got is a rasp 400 with gaming mouse, & 50$ android ;p. my 800$ barely play rs3 rev4+ screen broken. My booboo tech days 😜

     

    Spin off to real life robotics donations support better upgrade for better real life, which when the team is there will build upon real life robots. "J < you know would have to be involved, deff trying to get the to post maybe allowing bots of osrs, for learning purposes. haven't got that far sure their up for it ;p"

     

     

    Change log.

     

    Won't be updating this topic of the bot on my end, just as well as others that will give this Bot structure a try. A bit of an update of how it's going super smooth, yet although I say that, Times could.

    Edited by f4i13rr0r
    Link to comment
    Share on other sites

    My brain died reading this post. If I correctly comprehend what you're even trying to say I suppose you want to create a large script with a lot of actions but don't know what kind of structure you're needing. Instead of structuring everything you try to code everything in a wall of code with while loops hoping you can complete each section of code when it's needed. If you want to start writing something big you should think more about the structure of the script.

    The bit of advice I can give you is to never use while loops. While loops keep endlessly running and hogging away CPU and it's unneeded. During a while loop the script hasn't got the oppertunity to update the state. After all a script is a finite state machine. This means the script resides in one state where we wish to react upon.

    Having this in mind you could let the script poll and let conditions decide which state to use. In example below we would use the getState() function when the loop polls to retrieve the state of the script. The conditions in the getState() function determine which action to use. To make the code more readable we could use enums with readable text to describe the actions. In the loop we would declare every action and the logic it has to use.

    import org.dreambot.api.methods.interactive.Players;
    import org.dreambot.api.methods.map.Area;
    import org.dreambot.api.methods.map.Tile;
    import org.dreambot.api.methods.walking.impl.Walking;
    import org.dreambot.api.script.AbstractScript;
    import org.dreambot.api.wrappers.interactive.Player;
    
    public class TestScript extends AbstractScript {
        private enum State {
            WALK_TO_LUMBRIDGE, WALK_TO_DRAYNOR, IDLE
        }
        final java.util.Random random = new java.util.Random();
    
        final Area draynor = new Area(new Tile(3092, 3240, 0), new Tile(3097, 3240, 0),
                new Tile(3097, 3246, 0), new Tile(3092, 3246, 0));
        final Area lumbridge = new Area(new Tile(3218, 3216, 0), new Tile(3224, 3216, 0),
                new Tile(3224, 3221, 0), new Tile(3218, 3221, 0));
    
        @Override
        public int onLoop() {
    
            final Player local = Players.getLocal();
            switch(getState(local)) {
    
                case WALK_TO_LUMBRIDGE:
                    if(!local.isMoving() || local.isStandingStill()) {
                        Walking.walk(lumbridge.getRandomTile());
                    }
                    break;
                case WALK_TO_DRAYNOR:
                    if(!local.isMoving() || local.isStandingStill()) {
                        Walking.walk(draynor.getRandomTile());
                    }
                    break;
            }
            return random(500, 800);//Poll loop every 500-800ms
        }
    
        public State getState(final Player local) {
            if(!draynor.contains(local)) {
                return State.WALK_TO_DRAYNOR;
            } else if(!lumbridge.contains(local)) {
                return State.WALK_TO_LUMBRIDGE;
            }
            return State.IDLE;
        }
    
        public int random(final int min, final int max) {
            if (max < min) {
                return max + random.nextInt(min - max);
            }
            return min + (max == min ? 0 : random.nextInt(max - min));
        }
    }

     

    You could optimize it even more doing following so you don't need to write to walk logic twice or even more

    @Override
        public int onLoop() {
            final Player local = Players.getLocal();
            final State state = getState(local);
    
            switch(state) {
                case WALK_TO_LUMBRIDGE:
                case WALK_TO_DRAYNOR:
                    final Area areToWalkTo = state == State.WALK_TO_LUMBRIDGE ? lumbridge : draynor;
                    if(!local.isMoving() || local.isStandingStill()) {
                        Walking.walk(areToWalkTo.getRandomTile());
                    }
                    break;
            }
            return random(500, 800);//Poll loop every 500-800ms
        }

     

    Another thing is to never use something like sleep(11000, 13000) but instead use a random between those numbers otherwise you will get banned a lot sooner

    sleep(random(11000, 13000));
    
    final java.util.Random random = new java.util.Random();
    
    public int random(final int min, final int max) {
    	if (max < min) {
        	return max + random.nextInt(min - max);
        }
        return min + (max == min ? 0 : random.nextInt(max - min));
    }

     

    And lastly why start dreaming about payments and donations when you can't even come up with a basic script structure?

    Edited by Zenz101
    Link to comment
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.