Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Buy OSRS Gold

ncsu

NCSU's Gnome Flax Picker+Spinner [free][open source]

Recommended Posts

Instructions: Start the script south of the gnome agility course in Gnome Stronghold, the bank, or in the building with the spinning wheel. If you die while running the script it will log out and stop the script, so don't carry valuable items. Flax is notorious for quick bans, however I have tested this script suiciding for an average of ~48 hours each for 4 accounts which makes well over the value of a bond. This is ideal for throw away accounts meant for gold farming.

 

Requirements: 10 crafting

 

Tip: You can easily 11 crafting get by doing the quest murder mystery in camelot which only requires an empty pot http://2007.runescape.wikia.com/wiki/Murder_Mystery

 

Activate it here: https://tribot.org/repository/index.php/script/id/657

 

Source: http://pastebin.com/ccBBDY73

Edited by ncsu

Share this post


Link to post
Share on other sites

Ain't it better to use "Strings" instead of ID's?

 

Yes, so you don't have to update them manually ever update.

 

Edit:

 

Another tip. Try to avoid static sleeps. Instead use conditional sleeps.

And yes this is also a static sleep: sleep(200 + random shizzle).

Edited by okokokok

Share this post


Link to post
Share on other sites

Just changed the first method to:

 

RSObject flax[] = Objects.findNearest(10, "flax");

 
and 
 
flaxCount = Inventory.getCount("flax");	if (DynamicClicking.clickRSObject(flax[0], "Pick Flax")) {		Timing.waitCondition(new Condition() {			public boolean active() {				return Inventory.getCount("flax") > flaxCount;			}		}, 1200);      }
 
a 2 tick timeout seems good enough. Will go through and change what I can.
Edited by ncsu

Share this post


Link to post
Share on other sites

 

Just changed the first method to:

 

RSObject flax[] = Objects.findNearest(10, "flax");

 
and 
 
flaxCount = Inventory.getCount("flax");	if (DynamicClicking.clickRSObject(flax[0], "Pick Flax")) {		Timing.waitCondition(new Condition() {			public boolean active() {				return Inventory.getCount("flax") > flaxCount;			}		}, 1200);      }
 
a 2 tick timeout seems good enough. Will go through and change what I can.

 

 

Great to see you got it so fast and are already changing it. Keep it going!

Share this post


Link to post
Share on other sites

Great work man!

 

Another few tips:

 

You specify each variable seperately like this:

private final RSTile FLAX_TILE = new RSTile(2470, 3404, 0);        private final RSTile BANK_STAND_TILE = new RSTile(2445, 3424, 1);        private final RSTile BANK_CLIMBDOWN_TILE = new RSTile(2445, 3416, 1);        private final RSTile SPIN_CLIMBUP_TILE = new RSTile(2474, 3400, 0);        private final RSTile BANK_CLIMBUP_TILE = new RSTile(2445, 3413, 0);

But you can also do this (looks better and is mandatory for scripter I believe):

private final RSTile FLAX_TILE = new RSTile(2470, 3404, 0),                     BANK_STAND_TILE = new RSTile(2445, 3424, 1),                     BANK_CLIMBDOWN_TILE = new RSTile(2445, 3416, 1),                     SPIN_CLIMBUP_TILE = new RSTile(2474, 3400, 0),                     BANK_CLIMBUP_TILE = new RSTile(2445, 3413, 0);

The same goes for ints etc. 

 

Your booleans can be written more efficient.

 

Instead of:

        private boolean haveAmountInterface() {                if (Screen.getColorAt(new Point(222, 403)).equals(new Color(0, 0, 0))) {                        return true;                }                return false;        }

Do:

        private boolean haveAmountInterface() {                return Screen.getColorAt(new Point(222, 403)).equals(new Color(0, 0, 0));        }

Will return false if the color doesn't match.

 

Also your if statements could use a little work.

 

Instead of:

        public void myWalk(RSTile a) {                if (Game.getDestination() != null) {                        if (Game.getDestination().distanceTo(a) > 3) {                                WebWalking.walkTo(a);                        } else {                                sleep(200 + ran.nextInt(100));                        }                } else {                        WebWalking.walkTo(a);                }        }

Do:

        public void myWalk(RSTile a) {                if (Game.getDestination() != null) {                        if (Game.getDestination().distanceTo(a) > 3) {                                WebWalking.walkTo(a);                        }                        sleep(200 + ran.nextInt(100));                }                WebWalking.walkTo(a);        }

And for a future script, try to work in different classes. So 1 class for spinning, the other for walking etc.

Share this post


Link to post
Share on other sites

I greatly appreciate the detailed advice. For the last tip with the removal of unneeded else statements, does it make a large difference? I like having them there for my brain's logic. 

 

It doesn't make a difference in the way it works, but it looks so much sexier in my eyes  :rolleyes:

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Our picks

    • Gradle is a build tool used to accelerate developer productivity.

      We recently setup a Maven repository (TRiBot Central) to make it easier for scripters to create scripts. Check it out here: https://gitlab.com/trilez-software/tribot/tribot-central/-/packages

      Furthermore, we've released a simple Gradle project to make it easy to run TRiBot and develop scripts for it. Check it out here: https://gitlab.com/trilez-software/tribot/tribot-gradle-launcher

      The goals of TRiBot Central are to:

      Deliver updates to TRiBot faster


      Better organize TRiBot's dependencies (AKA dependancies)


      Make it easier to develop scripts for TRiBot


      Make it easier to use and run TRiBot


      Note: TRiBot won't be able to run scripts from within this project until TRiBot's next release.
      • 8 replies
    • Hi everyone,

      I'd like to thank everyone for their patience in this transition period. Since last week, we've worked out the remaining bugs with this integration.

      Some users have still been having issues with connecting their forums account to their Auth0 account. To resolve this, we've imported all forums accounts into Auth0.

      Unfortunately, the accounts which were imported today were using an unsupported password hashing algorithm. Hence, random passwords were set during the import.

      What does this mean for me?

      If you've previously linked your forums account to your Auth0 account, you don't have to do anything. Nothing changes for you.


      If you haven't logged in via our new login yet,

      Try logging in with your forums email address and the last password you used


      If you are unable to login, please use the "Forgot password" tool on the login page:
      Follow the instructions to reset your password
       
      • 13 replies
    • Hello everyone,

      Last week we tried to roll out Auth0 Login, but we lost that battle. Now it's time to win the war!

      Important changes

      When logging into the client, you'll now have to enter your Auth0 account credentials instead of your forums credentials

      Note: 2FA is still handled through your forums account (for the time being)



      Changes for existing users

      You'll have to link your Auth0 account to your forums account here: https://tribot.org/forums/settings/login/?service=11


      Auth0 accounts have been created for most existing users. Please use your forums email address and password to login.



      Important notes

      Make sure to verify your email address upon creating a new Auth0 account


      When we mention your Auth0 account, we mean your account used for auth.tribot.org as displayed below
      • 81 replies
    • To better support the upcoming changes (TRiBot X, new repository), we're switching our login handler to Auth0. Instead of logging in with the standard form, you'll now be required to login through our Auth0 application.

      All existing accounts which have been used within approximately the past year have been imported into Auth0 using the same email and password combination which has been stored on the forums.

      What does this mean for users?

      Your account credentials are now even more securely stored


      You'll be able to login via Facebook, Google, and others in the future


      Is there anything users have to do differently now?

      Existing users: You'll have to login with the standard login, open your Account Settings, then link your Auth0 account


      New users: You'll be redirected to our Auth0 app (auth.tribot.org) where you'll be able to create an account


      Why was this change made?

      The new apps we are creating (such as the new repository) aren't able to use the forums to handle user logins


      To centralize all user accounts in one area


      To ensure that the client login doesn't go down when the forums are having problems


      To speed up our development


      Other considerations

      There's no documentation or official support for using Invision Community combined with Auth0, so there are still a few kinks we're working out


      We're in the works of creating an account management panel specifically for Auth0 accounts (ETA August)


      It's not possible to change email addresses for the time being (this will be resolved this August)


      Changing passwords is a weird process for the time being. To change your password, you'll have to use the "Don't remember your password" tool on the Auth0 login page
      • 11 replies
    • Over the past month, we've been working hard on TRiBot's new repository - a much needed update. This change has been deemed necessary for TRiBot X, and will allow us to really speed up development of all aspects of TRiBot.

      Today we are going to share what we've been working on!


      Now you must be wondering what kind of features the new repository will have.... well, you'll have to be patient for a little while longer. We're still figuring out various technical aspects so we can't provide answers to all possible questions. We're also focusing on development rather than writing about it so that everyone can get access to our latest developments at lightning speed. I will however answer a few users' questions.

      We're planning on a release of this early to mid August, giving users some goodies before TRiBot X's release.

      Thank you all for being patient. I hope everyone is excited as much as I am!
      • 17 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...