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

Testing1 Application ^_^

Recommended Posts

Hey guys glad to be applying finally ^_^ 

1) Snippets: [Source] (Link to thread)

2) Tutorials: [Source] (Link to thread)
[Source]  (Link to thread)  Scripting guide for ppl with 0 knowledge to help to start scripting for tribot ..

(Link to thread)  Complete guide to fix almost every problem with LG

(Link To Thread )  Complete guide to Tribot Breaking system for new users 

3) Randoms/updates submitted: [Source] (Link to thread)

4) Scripts available to the public: [Source] (Link to thread)
[Source Code ]     GeniuS Farming

[Source Code]       GeniuS Feather Buyer

[Source Code ]      GeniuS Plank Picker

[Source Code ]       GeniuS Mixer

[Source Code]       GeniuS f2p Quester     i pulled one of my quests for source code just for demonstration the way i code quests 

5) Short biography / Coding Experience: [1-2 short paragraphs]
I am 25 years old i been in tribot for like 1 year i started to code like 2-3 month ago ( started to learn ) i am new with coding but i think i can do it i got tons of free time after university is done and i am determining  on keep advancing my skills, as well as i am going to take some courses in java to improve my way into coding . i love coding and i enjoy it very much so i will keep writing cods till the end ..

6) Reasons why you feel you deserve Scripter: [1-3 short paragraphs]
I think i deserve the rank cause i been making free scripts to users i even made some private free scripts for use at my free time i love to help ppl alot and i enjoy providing free scripts , and i enjoy teaching ppl how to code i will keep helping ppl with or without the rake ^_^ as well as providing scripts to community and the most important i found that most ppl who get the rank scripter just go mia and never shows on forum or even on discord they may appear 1 time / month and then go mia again and they dont even have provide a free scripts any more so that is the most important thing made me go for the rank as to help the community not like other scritper did ..


7) What you plan to provide the community with: [1-3 short Paragraphs]
i plan to provide the community with as much scripts as i can make and with as much help as i can give i am going to write more tutorials to get more ppl to code for tribot and make things easy for them not like when i started to learn every thing was complicated and i didnt find a good guide to help me so i dont wan this to happen to new coder, and ofc more scripts to help ppl out 


😎 Do you agree to continue to not only update, but provide more free, open sourced scripts to the community? [YES/NO]

 hell yes, ofc that is the point why i am applying .




@FALSkills   thanks for what u said and big thanks for delaying the vote i promise you i will be working hard today to check every code and make them meet what you said 

@FALSkills   I think i worked on almost every thing u talked about i went through each line in every script i posted and i collected all the api method like u said and formed my first step of my big api , I didnt upload it to the github but i am willing to share it with Premium scripters if any demand to check any thing in it even if any of them asked me to upload it to public i will upload it if i missed any thing and didnt change dont mind me cause rechecking sucks xD i will go through them again if u would like me to thanks again ^_^ 



@Netami  Thanks for the replay ^_^ 1- about the time frame i wasnt going to apply for the scripter rank i was making all my scripts for free for ppl but one day i uploaded my source code to github and asked fluffe what he think he told me not bad and then i asked him what do u think will happen if i applied he said u will be good and u should go for it so i went for it i am not in a rush of getting the rank as it just dont add much to u just a name no more . i think u didnt read my main reason i am applying .


2-about naming yeah i know that i have that defect as fails said thats cause i am new to coding and i started self teaching and i didnt know that it is a restrictions i am working on that thing as much as possible 


3-i am going to check laniax entity selector i didnt know it was out there 


4-General Java/OOP knowledge. yeah about that i didnt know much about cause i am  self learning  so ik i have some defects about that .

*** At last thanks alot for the comments i will start working on what i said ^_^


@wastedbro  thanks alot bro for replaying i will be working on the things u guys added and i will rewrite all the open sources to meet things u guys said i will be reapplying when i am done with them and when i fix my naming problem and spelling one too xD 

Edited by testing1
Added one more script

Share this post

Link to post
Share on other sites

I am going to start by looking over your quester and providing feedback.

Here at TRiBot we strive to stick to standard java naming conventions https://howtodoinjava.com/java/basics/java-naming-conventions/

I suggest reviewing that document and working on fixing your naming conventions. 
package scripts.Quests.F2P.RuneMastry; -> package scripts.quests.f2p.runemastry
public static RSArea QuestStart
public static final boolean Ghost

The package name for the Rune Mysteries quest is “RuneMastry”.  I suggest using names that can be easily understood by an outside person.  I would have no idea what a RuneMastry is if it weren’t in the context of a quests folder.  I would know what a RuneMysteries is though.  Not sure if this is just an issue with language barrier or if you did it on purpose.

You seem to be creating an API folder for each script and adding it as a sub package.  I would suggest creating a main package for your API and referencing those API files in that package, so that you don’t have to update individual API packages every time you change something in your API.  This will also help you to create a large library which will make creating future scripts even easier.  Writing new scripts when you have a well-developed library of methods takes a fraction of the time.

Your usage of the name Vars bugs me as you never actually have any variables in it, just constants.  

You make good usage of waitConditions however you always follow them with static sleeps, sleep(500,1000) seems to be your favorite.  While this may be attempting to make the script behave more humanlike, I think it will have the opposite effect.  

Why not just combine these and use when the current quest setting matches all 3 of the prospective numbers?  They are exactly the same classes aside from the different settings.

That brings me to another thing, caching.  A big thing that users of the Node framework lack is that they are constantly recalculating variables within the same loop.  Your RuneMysteries script potentially calls Game.getSetting(63) 8 times per loop.  Really you only need to call Game.getSetting once, and then store that in a variable (cache it) for access by your Nodes.  

Lastly, I would again encourage you to declare your “magic numbers” as constant declarations. Instead of using Game.getSetting(63), which means nothing to a person who randomly looks, you can use Game.getSetting(RUNE_MYSTERIES_QUEST_SETTING) 
This accomplishes a couple things: 
It tells anyone looking at the code exactly what that constant integer stands for.
It allows you to easily refactor the integer in case it ever changes (it probably won’t).

Also, I would suggest you double-check/spellcheck your work, for example you spelled your username wrong in the title of this thread.


While this post may seem very critical, I hope you don't take offense to anything I've said.  I am just trying to help by providing honest feedback.  I will vote at a later date once you've worked on some of the things I mentioned.  Hopefully another scripter can provide some feedback too.

You are very enthusiastic and have a great attitude when presented with criticism, which is great.  I hope you can keep that up! 

Edited by FALSkills
  • Thanks 1

Share this post

Link to post
Share on other sites

I cannot confidently vote yes at this time, my main concerns are as follows (in order):

  1. Time-frame: almost all your scripts have been released very recently (right before application), and they all feel like they were just made to apply with quickly. I won't knock the lack of features here since this is just a script application, though.
  2. Java conventions and scripting practices: Oracle has clear standards set for naming variables, constants, methods, classes, etc. These should be followed closely at all time. On the scripting side things like using static interface IDs to find interfaces will lead to nothing but problems, I'd recommend checking out Laniax's Entity Selector API for this in particular. The other top things to work on are use of static sleep timers, null checking,   and caching information instead of re-checking it constantly from the API.
  3. General Java/OOP knowledge. This is pretty common for new scripters to lack (I definitely did), but it will make your life a lot easier if you take some time to understand objects, inheritance, and things like common collection types.

I hope you'll keep scripting and improving so that we can re-visit your application in the future.

  • Like 1

Share this post

Link to post
Share on other sites

I actually think you're pretty close, but I'm voting no.


  1. You need a script with a GUI. I firmly stand on the opinion that every scripter needs to have demonstrable knowledge in creating a user-friendly, coherent GUI for a script. It may not seem important to more tech-oriented people, but it's an extremely important tool for users.
  2. As the other comments said, your coding conventions need work. You're getting there, but focusing on idiomatic forms of expression in Java makes the code more maintainable. As a scripter, you need maintainable code. Also, if you use Intellij, press ctrl+alt+L every once in a while.
  3. I'm not sure how controversial this will be, but, you need to improve your English. I understand using a second language is difficult. I personally can't do it. But the majority of users here are English-only, and having staff members with a language barrier will put some users off, even if that's not either of your intents. If you re-apply and fix the above two points, I'll be lenient on this one, but please keep it in mind.

Share this post

Link to post
Share on other sites

PlankPicker script, Constants class:

public static RSInterfaceMaster DEPOSIT_BOX_INTERFACE = Interfaces.get(192);

You should avoid one time declarations of interfaces.  Think of them more as a snapshot.  I also would not consider them to be constants.  The Interface master (192) is a constant, but not the interface itself.

  • If the interface was up when you started the script, the object DEPOSIT_BOX_INTERFACE will refer to the proper interface.  If that interface is closed at any time, the object DEPOSIT_BOX_INTERFACE will not be null, but subsequent calls to Interfaces.get(192) would return null.  
    • You should use "Interfaces.isInterfaceSubstantiated" to determine if the interface is still being drawn. The isValid method does not achieve the same thing.  
  • If the interface was NOT up when you started the script, it will always be null and your script will never try to interact with the deposit box interface, even if it is up.

PickingUpPlanks class:

if (plank[0].click("Take")) {
 General.sleep(700, 1000); //wait till player start moving
 Timing.waitCondition(() -> {
  return (Player.getPosition() == Vars.FIRST_PLANK || Player.getPosition() == Vars.SECOND_PLANK || Player.getPosition() == Vars.THIRD_PLANK ||
   Player.getPosition() == Vars.FOURTH_PLANK) || !Player.isMoving();
 }, General.random(4000, 5000));

You cannot compare objects using ==, you must use .equals.  The == sign compares the references in memory and should only be used for comparing primitive objects (int, char, long, double, etc).  This function probably still works because of the final call, !Player.isMoving(), but the prior calls comparing position will always be false.
This is also an example of inefficient code that can be easily fixed. Rather than comparing your position to any of the potential tiles that you've coded, let's compare it to the tile of the grounditem that we clicked.

if (plank[0].click("Take")) {
 General.sleep(700, 1000); //wait till player start moving
 Timing.waitCondition(() -> {
  return Player.getPosition().equals(plank[0].getPosition()) || !Player.isMoving();
 }, General.random(4000, 5000));

Just to finalize my vote, it's a no from me as well.  There's still quite a bit to learn, you are on the right track but missing the mark on some of the fundamentals of java.

  • Like 1

Share this post

Link to post
Share on other sites

  • Our picks

    • [CONTEST ANNOUNCEMENT] 2019 Botter's Choice Awards
      2019 Botter’s Choice Awards

      To celebrate the launch of our TRiBot Official RuneScape Bot Blog,

      we’re doing a giveaway! 

      The TRiBot Official RuneScape Bot Blog: 

      Teaching you how to do more advanced botting, faster.
      Contest Details

      Prize: 3 winners will be selected to win 25 TRiBot credits.

      How to enter:

      Respond to this forum post by November 12th tagging the thread for: 

      Your favorite script

      Provide a brief explanation (1-2 sentences) why you think that script should be put in the top 5. 

      Who can enter?

      Botter’s who are not currently scripters. Sorry scripters, the people are going to vote. Your contest is here.

      The top 5 in each category will be showcased on our TRiBot Official RuneScape Bot Blog in a “People’s Choice” section and promoted across the TRiBot website. 

      -- Credits will be awarded based on thoughtfulness and humor -- 

      Bonus points

      Use a meme in your explanation. Because we all love memes.

      *no purchase necessary. Winners will be announced on Friday, November 15, 2019 at 4:00 p.m. on our News and Announcements forum. 

      -- Vote Below -- 
      • 28 replies

      I've noticed some new TRiBotters have had some troubles finding out sources of how to do certain things, such as using advanced scripts and often get lost in the forums.

      We are still getting posts asking where to start, what to do, recommended scripts, etc. 

      As many of you know, I am new to the team, and had troubles myself learning how to bot, let alone script. 

      So, what our team decided to do was make it easier to learn how to bot, how to script, and just become an overall better botter and scripter faster. 

      As some of you might have seen, I've posted 3 new blogs, you can check it out by clicking on the following picture or here.

      These first 3 blogs are the first of many blogs that will be TRiBot official. They are encouraged to be challenged, improved upon and act as A Best Practices Guide for Botters.

      What information would you like to see in the blogs?

      👇 [TEASER] 👇




      We are going to be hosting a  CONTEST  this  OCTOBER.

      Its scary to think how soon you'll find out.👻

      Stay tuned.

      - RileyZ
      • 8 replies
    • Today marks a big day for TRiBot! To make it easier for users to use TRiBot, we've created installers available for every platform! These installers are all bundled with the latest version of OpenJDK 1.8 (Java 😎, which is LG compatible.

      Using TRiBot is now easy. Simply download the installer for your platform, install TRiBot, and run it. The TRiBot Loader will correctly identify the bundled JDK so there's no need to change the Java selection.


      EXE installer: TRiBot-windows-x64-4.0.3.exe

      MSI installer: TRiBot-windows-x64-4.0.3.msi

      Portable version: TRiBot-windows-x64-4.0.3.zip

      Mac OS

      Installer: TRiBot-macos-4.0.3.dmg

      Portable version: TRiBot-macos-4.0.3.tgz


      Installer: TRiBot-unix-4.0.3.sh

      RPM installer (CentOS/Fedora): TRiBot-linux-4.0.3.rpm

      DEB installer (Debian): TRiBot-linux-4.0.3.deb

      Portable version: TRiBot-unix-4.0.3.tar.gz

      Platform Independent

      JAR file: tribot-loader-4.0.3.jar

      Note that this jar file does not include the bundled JDK.

      Windows and Mac OS users may notice a warning message stating that the installer/application is un-recognized or un-trusted. Please ignore this message and proceed with running the installer/application. We need to acquire a code signing certificate so that we can sign the installers letting the operating system know that these files can be trusted. It will take a week or more to acquire one, so please hold tight.

      Other notable changes to the TRiBot Loader:

      Support getting the version from OpenJDK distributions

      Add check for bundled JDK

      Copy OpenJDK tools.jar to the bundled JDK if not present

      Set the current java as the first available list entry

      Ignore Java versions which are symbolic links

      Make the bundled JDK the preferred Java version

      Update icon images

      Reduce the number of HTTP calls
      • 25 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 😂).


      • 18 replies
    • Hello TRiBot,

      Today we have a significant release that has been in the works for the last month addressing several key issues, features and bugs in the backlog.

      With these changes, we are also including a new TRiBot Loader which will allow you to select any version that is released. This adds the flexibility of allowing you to revert to a previous version should an issue arise, run development only builds, view an accurate change log between versions etc. we are very proud to offer this feature and think it will add a lot more functionality down the road as we continue to release new versions.

      These changes include 80+ commits by our development team, a list of them is summarized below and also available for your viewing pleasure in the new TRiBot Loader.

      In addition, we have taken additional steps to improve as a development team by adding continuous integration and deployment into our workflow to assist in delivering timely releases such as bug fixes as well as new features on a weekly basis depending on our development cycle.
      • 39 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...