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

idkfa

Starting the scripting journey

Recommended Posts

Hello my knowledgeable friends,

Ive botted about 3 accounts to max combat and ran small gold farms but lately I really interested in learning how to script myself so I can give back to the awesome community and start goldfarming on a professional level. That being said ive got some questions.Little background check, im a total noob when in comes to programming languages.

- ive read that learning Java is a must. But what I don't understand is do I need to learn everything about java or just parts that are relevant to scripting for Tribot. Do I have to take a course or to do a deep dive like enlisting in an education  or is learning Java just for Tribot enough?

- If a book is preferable, do you have any recognmendations?

- after being proficiant in Java ive read I still need to learn how to script for Tribot specifically. Is this a long process?

- I know this is a difficult question to answer but how long do you guys recon this process will take in hours learning Java and scripting for Tribot? Ive got about 2/3 hours to spare a day and about 5/7 on weekends

- Also is there a discord with like minded people out there looking to learn java/tribot and also one for goldfarmer (not gonna ask for methods lol)

 

Sorry for the long and nooby questions. Hope you guys can point me in the right direction. 

Any constructive comments are greatly appriciated.

Cheers,

IDKFA

Share this post


Link to post
Share on other sites

While I'm by no means an expert, I feel qualified to answer your questions, as I was in the same situation as you a couple of years ago and I've been scripting on tribot since then.

I suggest you gain a strong understanding of the java basics before you start scripting, it will make life so much easier for you. Once you learn java, learning to script on tribot specifically will come very quickly.

I recommend the cave of programming java tutorial for beginners course on youtube. I suggest watching the first 25 videos, that will be enough for scripting on tribot. Don't just passively watch it, make sure you have a thorough understanding of it. Putting in the time to learn the basics will save you so much time in the long run because it will improve your efficiency in scripting.

Once you feel comfortable with java, you should read the source code of top scripters here for inspiration for how to set out your code. Don't make the mistake I did of starting out with a really complex script. Start with something really basic like a script that cuts trees and banks, then move onto more complex stuff when you feel confident with that. If you are serious about improving, you should upload your code onto the forums or discord for feedback. I am sure there will be people willing to help you improve. You should focus on writing clean, readible code because it will save you so much time in the future.

Learning the skills to begin scripting will come quickly. It shouldn't take you more than a few weeks with your hours. But learning to script well(creating efficient, clean code) will take much longer and will come from you scripting and scrutinisng your own code.

For coding, there is a support section on the tribot discord that you can use. For gold farming, you should join the discord for Worthy's zulrah slayer. I don't have the link for them but they should be here somewhere.

Feel free to ask me any further questions.

  • Like 2

Share this post


Link to post
Share on other sites

Realistically with 2/3 hours a day within a week you could start making basic scripts.

If you have any progamming/coding knowledge at all you can make fairly basic scripts.

Once you know java, learning to use an api is childs play for the most part. 

If you join the tribot discord and ask reasonbile questions (not just "why  wont my script run1!?!?!?!") people are usually more than willing to give you a hand

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, adamhackz said:

Realistically with 2/3 hours a day within a week you could start making basic scripts.

If you have any progamming/coding knowledge at all you can make fairly basic scripts.

Once you know java, learning to use an api is childs play for the most part. 

If you join the tribot discord and ask reasonbile questions (not just "why  wont my script run1!?!?!?!") people are usually more than willing to give you a hand

Good to know man. Ill check out the discord. 

Share this post


Link to post
Share on other sites

Hi my dudes,

Ive found a website from the University of Finland that offers a free Java crouse. Dont know if this has been posted before, couldnt find anything in a quick search but I think it looks great. Lets you do exercises per category over a period of six weeks for the beginners part and automatically checks what you've written to give feedback. 

Question for ppl that are good at coding Java, is this a nice way to learn?

Anyway, thought I would share:   http://moocfi.github.io/courses/2013/programming-part-1/

Cheers my fellow aspiring coding noobs,

IDKFA

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By sslippi
      I want to start by saying I'm new to programming.
       
      I'm trying to make a basic script that completes Druidic Ritual. I'm trying to withdraw all of the quest items and teleports needed with Banking.withdraw().
       
      Like this:
      Banking.withdraw(0, 2138, 2136, 2132, 2134, 8007, 3853); I'm wanting to avoid adding a static wait just so I can get good practice with implementing anti-ban. How would I go about making this method not spam click the items when trying to withdraw them?
    • By notsmile
      So I wanted to make a GUI for my Runecrafter and use TitledBorders instead of using tabs since it looks nicer imo.
      I can't seem to get the TitledBorder to appear fully (I think that's the problem anyway) properly in the GUI.
      It looks like this:
       
      Here is the code for it:
      JPanel runesPanel = new JPanel(); runesPanel.setBackground(Color.DARK_GRAY); TitledBorder runesBorder = BorderFactory.createTitledBorder("Runes"); runesBorder.setTitleColor(Color.lightGray); runesBorder.setTitleJustification(TitledBorder.LEFT); runesPanel.setBorder(runesBorder); JComboBox<String> runeOptions = new JComboBox<String>(new String[] { "Select Runes", "Air", "Astral*", "Blood*", "Cosmic", "Earth", "Fire", "Law", "Mud", "Nature", "Soul*", "Water", "Wrath*", "ZMI*"}); runesPanel.setBounds(20,20,200,200); runesPanel.add(runeOptions); mainGuiSettingsPanel.add(runesPanel); mainGuiFrame.setVisible(true); } }  
      Sorry for the nooby question, new to using Swing and Java
      Thanks!
    • By jerrycan314
      when i open a tribot client it crashes and i get this error :c

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7a0e3d9d, pid=1608, tid=0x00000e54
      #
      # JRE version: Java(TM) SE Runtime Environment (8.0_251-b08) (build 1.8.0_251-b08)
      # Java VM: Java HotSpot(TM) Client VM (25.251-b08 mixed mode windows-x86 )
      # Problematic frame:
      # C  [atiglpxx.dll+0x3d9d]
      #
    • By Heroinkid
      Hi I got a proxy server from Virmach. I cannot seem to get Tribot to connect to it. I have gotten a 3rd party internet browser called Maxthus to get it to work so I don't think that its the server that's not working. Yes I have VIP-E as well. Please help thanks!

    • By briareos2285
      Just got a new Windows 10 Home x64 Laptop. Going through my usual install method and finding that I cant get looking glass to work. I have followed a few "old" guides, because I cant find any that are more recent. I am installing Java SE Development Kit 8u251, I am choosing the x86 version since the only OSbuddy cross platform .jar  file is 32bit. Its worked fine in the past. I then open Osbuddy, and then Open Tribot. I leave it on the default Tribot Version of 10.24.1. I select the java version for Tribot to use to be the JDK and not the jre. I changed the Heap Size to 1024 MB and login. I minimize Osbuddy, then I click New Client(Looking Glass). The Screen goes to black and says " Waiting for a Runescape client.... currently waiting for a valid client. List of detected java applications below." and there is nothing Below. I also tried a backup method that used to work as well, which was to instead click New Client (Osbuddy) and then manually select the Osbuddy .jar file which would open up Osbuddy and Create a Looking Glass Tab that mirrored Osbuddy. This no longer happens either. Ive also deleted the Hooks and Caches using Naton's Java Executable. I have also defined the correct Paths in my Computers Environment Variables.
      Im at a loss for what to do. Any help greatly appreciated
    • By QNDLF
      Has been fine for the past few days however doesn't work today, have deleted the full .jar file and redownloaded again and it has the same problem
       
      Any ideas how to fix it? 
       

    • By Speaker
      Request: Wine of Zamorak 2nd floor winegrabbing script, f2p.
      Description: 
      If you didn't know, there's a ladder in the normal Chaos Temple (Asgarnia). It is exclusively for players with a total level of 500+. In order to get this level, you obviously have to not be banned, which is why I think it hasn't been done before. I would like it to do the following:
      * Grab Wines of Zamorak using telegrab on the second floor.
      * It should be reasonably fast in clicking after the wine appears the first 5-10, but it should have a very rapid onset fatigue setting/antiban. I frankly want it to not be telegrabbing 5-10 minutes out of the hour. Pretend AFK, like a user having ADD and checking something, random mouse movements, mouse off screen, mouse circling the spot where the jug of wine is, mouse going crazy some of the time for no reason. It will be efficient some of the time, but then outright miss the wine other times if there are other players there. This is my experience grabbing wines myself legitimately, so I figure the bot should have the same thing.
      * Although I do want it to have random mouse movements, when it's actively trying to grab wines, it should hover over the spot after selecting telegrab.
      * Will have the option/script argument to either Teleport to Falador to bank, or manually walk there via daxwalker or something. It should then walk back to the Chaos Temple, climb the ladder, and resume telegrabbing.
      * Display paint of wines per hour, raw profit (Ge price x how many wines), net prof (raw profit - cost of law rune), magic xp gained, magic xp per hour, time ran.
      Payment Amount: We'll start at $50, and go up to $100. EDIT: Paypal would be preferable.
      Time: Variable. Sooner is better, but if it takes two weeks to create the perfect wine grabbing script, so be it.
      Additional: Support for LG OpenOSRS, since that's what I bot with. 
    • By itgottti
      I've written down almost everything in half machine language and a logic syntax so it will be easier to code it for you.
      It contains things like:
      - Checking specific Items in Bank if available
      - Withdrawing x items
      - Combining x and y item
      - Once done, sell item on GE for Price P (selected in GUI)
      - Check if sell Order done (if not lower price P by P% (selected in GUI)
      - Redo
      - Calculate max equal amount of item x and y you could buy (with prices set before in the GUI)
      - Try to Buy each item
      - Check if Order is finished
      - Else increase price N by % (set in GUI)
      start over again.
       
      As i said i wrote it down even more in detail that will be handed to the person willing to script this for me
      Add me on discord: deua#1132
    • By tomking50
      Hello, 
      I've just purchased this bot and im wondering how do i set breaks to avoid bans?
       
      Thank you,   
    • By will6100
      I really love the process of developing a script, testing it, debugging it, etc.. So after writing my first really simple script that would tan hides, I got my first botting account banned, which is something I knew was gonna happen since my lack of scripting knowledge. Im ready to get a new one up and going and continue to develop more basic scripts to sharpen my scripting skills. Im sharing my first script here and looking to hear what I should do and should not do. Also get some tips on what to look for to reduce the banning rates of my testing accounts. The account I was using was only combat lvl 5 and didnt have any quests done, I guess that didnt help too? I was also about to introduce ABC2 into the script and learn how to use it but my account got banned right before I could implement it. So looking forward to hear your criticisms about my script and tips to not get the script bannable. Also have in mind I didnt really refactor anything, some parts may look ugly, beware!
      package scripts; import org.tribot.api.DynamicClicking; import org.tribot.api.General; import org.tribot.api.Timing; import org.tribot.api.input.Mouse; import org.tribot.api2007.*; import org.tribot.api2007.types.RSNPC; import org.tribot.api2007.types.RSObject; import org.tribot.api2007.types.RSTile; import org.tribot.api2007.util.ThreadSettings; import org.tribot.script.Script; import org.tribot.script.ScriptManifest; import java.awt.*; import java.util.function.BooleanSupplier; @ScriptManifest(category = "Moneymaking", authors = "will6100" , name = "Tanner") public class Tanner extends Script { private final static int BLACK_DHIDE_ID = 1747; private final static int TANNED_LEATHER_ID = 2509; private final static int ELLIS_ID = 3231; private final static int BANK_BOOTH_ID = 10355; private final static int COINS_ID = 995; private boolean isBankable() { RSObject[] booths = Objects.findNearest(100, BANK_BOOTH_ID); if (booths.length > 1) { return booths[0].isOnScreen(); } return false; } private boolean coinsCheck() { if (Inventory.find(COINS_ID).length < 1) { if (Banking.find(COINS_ID).length > 0) { if (!Inventory.isFull()) { return Banking.withdraw(0, COINS_ID); } else { if (Inventory.find(BLACK_DHIDE_ID).length > 0) { return Banking.deposit(1, BLACK_DHIDE_ID); } else if (Inventory.find(TANNED_LEATHER_ID).length > 0){ return Banking.depositAll() > 0; } } } } else { return true; } return false; } private boolean bank() { if (!openBank()) { General.println("Couldnt open bank"); return false; } if (!coinsCheck()) { General.println("No more gold"); return false; } if (!setupInventory()) { General.println("No more hides"); return false; } sleep(100,1000); return true; } private boolean setupInventory() { if (Inventory.find(TANNED_LEATHER_ID).length > 0) { sleep(50,1000); if (Banking.deposit(0,TANNED_LEATHER_ID)) { if (Banking.find(BLACK_DHIDE_ID).length > 0){ sleep(50,1000); Banking.withdraw(0, BLACK_DHIDE_ID); return Timing.waitCondition(this::readyToTan, General.random(3000,5000)); } } } else if (Inventory.find(TANNED_LEATHER_ID).length < 1) { sleep(50,1000); if (Banking.find(BLACK_DHIDE_ID).length > 0){ Banking.withdraw(0, BLACK_DHIDE_ID); return Timing.waitCondition(this::readyToTan, General.random(3000,5000)); } } return false; } private boolean openBank() { if (!Banking.isBankScreenOpen()) { if (!isBankable()){ if(!walkToDestCondition(this::isBankable)) { return false; } } return clickBankBooth(); } return true; } private boolean clickBankBooth() { RSObject[] bankBooths = Objects.findNearest(40, BANK_BOOTH_ID); RSObject booth; if(bankBooths.length > 1) { do { sleep(50); booth = bankBooths[General.random(0, bankBooths.length - 2)]; } while (!booth.isOnScreen() && !booth.isClickable()); booth.hover(); if (isHoverRendered(Mouse.getPos())){ Mouse.click(1); }else { clickBankBooth(); } return Timing.waitCondition(Banking::isBankScreenOpen, General.random(25000,27000)); } return false; } private boolean isHoverRendered (Point toHover) { return !Screen.getColorAt(Mouse.getPos()).equals(new Color(0, 0, 0)); } private boolean isTannable() { RSNPC[] ellis = NPCs.find(ELLIS_ID); if (ellis.length < 1) { return false; } else if (isTanningWindowOpen()){ return true; } return ellis[0].isOnScreen(); } private boolean tanLeather() { RSNPC ellis; if (isTannable()) { sleep(100,200); ellis = NPCs.find(ELLIS_ID)[0]; while (!isTanningWindowOpen()) { Mouse.setSpeed(190); sleep(300,500); if (DynamicClicking.clickRSNPC(ellis,"Trade " + ellis.getName())){ Mouse.setSpeed(115); Timing.waitCondition(this::isTanningWindowOpen, General.random(15000, 17000)); sleep(200,500); Interfaces.get(324,107).click("Tan all"); return Timing.waitCondition(() -> !isTanningWindowOpen(), General.random(3000,5000)); } } } else { return walkToDestCondition(this::isTannable); } return false; } private boolean walkToDestCondition(BooleanSupplier waitCondition) { Walking.blindWalkTo(new RSTile(3278 + General.random(-2,2), 3180 + General.random(-1, 1))); return Timing.waitCondition(waitCondition, General.random(11000,12000)); } private boolean isTanningWindowOpen() { return Interfaces.isInterfaceValid(324); } private boolean readyToTan() { return Inventory.find(BLACK_DHIDE_ID).length > 0 && Inventory.find(COINS_ID).length > 0 ; } @Override public void run() { Mouse.setSpeed(115); ThreadSettings ts = new ThreadSettings(); ts.setClickingAPIUseDynamic(true); while (true) { sleep(50); if (isTannable()) { if (readyToTan()) { if(!tanLeather()){ General.println("1"); break; } } else { if(!bank()) { General.println("2"); break; } } } else if (isBankable()) { if (readyToTan()) { if(!tanLeather()){ General.println("3"); break; } } else { if(!bank()) { General.println("4"); break; } } } else if (readyToTan()) { if(!tanLeather()){ General.println("5"); break; } } else { if(!bank()) { General.println("6"); break; } } } } }  
  • 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.
        • Like
      • 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
       
        • thonking
        • Like
      • 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
        • Like
      • 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!
        • Like
      • 17 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...