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

Sell 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
Array

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 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; } } } } }  
    • By schenkelenkel
      Getting this error, client won't start.

    • By Trixztor
      i purchased 8 credits was charged twice and never got the credits, can i just get the 16 credits and call it good? i made a support ticket but 3 days and no response. any advice on what to do? thanks all
  • Our picks

    • Over the past few months, I’ve been working diligently on a new project - TRiBot X. Everything has been written from the ground up, with all of the best practices of software engineering. Every aspect of TRiBot has been re-imagined to support three main goals: flexibility, useability, and reliability.
        • Like
      • 49 replies
    • Come give us feedback on the next version of TRiBot!
        • Thanks
        • Like
      • 86 replies
    • TRiBot is looking to improve a lot of its customer relationship management, customer on boarding process, customer experience, design elements, community engagement and pretty much everything else you can imagine when it comes to marketing.

      Our goal: To ensure that the marketing done TRULY reflects the experience and does not shine an inaccurate light on what TRiBot is lacking in.

      So I ask, what do you love about TRiBot and what do you hate about TRiBot? What does O S Bot, Rune M8, PowR Bot and Dre amBot do better? (yes I purposely didn't spell it right 😂).

      Love, 

      RileyZ
        • Like
      • 25 replies
    • Over the last three weeks, I've been working on upgrading our server infrastructure. It's finally ready and is now live!

      Why?

      Increased reliability - less server errors


      Increased availability - less downtime


      Increased security - keeping us and you secure


      Increased capacity - ability to serve you better


      Increased speed - less waiting for things to load


      Faster development - server and service updates will come faster


      What are the changes?

      Move from a single AWS EC2 instance to AWS ECS (Elastic Container Service)


      Distributed computing


      Load balancing


      Git management of server files and filesystem


      Redis caching


      How?

      AWS ECS (with 10 EC2 instances)


      AWS ElastiCache (Redis)


      AWS Load Balancing


      AWS EFS (Elastic file system)


      Please bare with us as I continue to tune the server for maximum performance. Slow loading speeds may occur temporarily. I thank everyone for their patience.

      Please post on this thread if you experience any issues other than slow loading times.
        • Like
      • 51 replies
    • This release will:

      Fix prayers and world hopper API (Thanks @JoeDezzy1 and @erickho123)


      Improve banking API (Thanks @Encoded)


      Adds methods for returning and using Java Lists, rather than arrays


      Slightly randomizes some hardcoded behaviour


      Removes sleeps from waitConditions; the efficiency saving potential is negligible in these use-cases, therefore cleaner code is preferable


      Other back-end improvements





      Note: If you are using LG, please restart both the RS client and TRiBot.
        • Sad
        • Haha
        • Thanks
        • Like
      • 90 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...