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

Purple's Scripter Application v2

Should I receive the rank of scripter?  

17 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

1) Snipplets
Delta Timing

Pause Timer

2) Tutorials
Alternative loop tutorial

4) Scripts available to the public
pFisher AIO 

Blast Furnace Starter

Castle Wars AFKer

Rogue's Den Wall Safes

Edited by Purple
added poll
  • Like 1

Share this post


Link to post
Share on other sites

I'm voting no. It's clear that you understand how to structure your code for the most part, but there are many areas where exceptions can be thrown. For example:

private RSNPC[] getNearestFish() {     return NPCs.findNearest(new Filter<RSNPC>() {        @Override        public boolean accept(RSNPC rsnpc) {            return rsnpc.getName().equals(getFish().getNpcName()) && containsActions(rsnpc.getActions(), getFish().getNpcActions()) && WalkingUtil.canReach(rsnpc.getPosition());        }    });}

This is just the first class that I happened to click on. That method can throw a NPE in a variety of locations.

 

Also, your code seems to rely very heavily on nested if-statements. This can make updating/improving code later on much more difficult, and debugging will also be a pain as well. I'd work on simplifying your code and making it more neat. It will take you longer while you're writing it, but it will save you time in the long term.

Edited by TacoManStan

Share this post


Link to post
Share on other sites

Purple and I have been great friends over the past few years (wow going on 3-4 years at this point). He has always been a very humble member of the Runescape cheating community, so allow me to add some color to purple (pun not intended).

 

Let me first point out that purple actually was a Scripter prior to nearly all of our current scripting staff. He has also deved at two other bots, as well as maintains his own private client (for personal use only). Purple has deep knowledge of the inner workings of the client. I believe his work over the past years on both RuneScape and RuneScape 2007 speaks for itself. It is undeniable that he has the know-how to take a bot from start to finish with great success.

 

One thing I would like to publically acknowledge is Purple’s dedication, and support on my Programming focused Teamspeak. Purple has assisted numerous individuals with programming issues/help. Be it a student with a few hours to learn a beginner concept, or an experienced bot developer, Purple always has something positive to add. It is truly impressive to see someone act so selflessly in assisting individuals in return for absolutely no monetary gain. Simply put, purple loves the Runescape cheating community, and is clearly passionate about programming.

 

 

No, your code is too convoluted. Try to keep methods below 15 lines, and those nested ifs are disgusting.

 

@Assume , could you please provide a credible source stating that 15 lines or less is the appropriate length for method size?

Perhaps we should notify Oracle of this best practice, as numerous parts of the Core API run over 15 lines.

 

 

 

Warfront1

Edited by warfront1
  • Like 4

Share this post


Link to post
Share on other sites

Purple and I have been great friends over the past few years (wow going on 3-4 years at this point). He has always been a very humble member of the Runescape cheating community, so allow me to add some color to purple (pun not intended).

 

Let me first point out that purple actually was a Scripter prior to nearly all of our current scripting staff. He has also deved at two other bots, as well as maintains his own private client (for personal use only). Purple has deep knowledge of the inner workings of the client. I believe his work over the past years on both RuneScape and RuneScape 2007 speaks for itself. It is undeniable that he has the know-how to take a bot from start to finish with great success.

 

One thing I would like to publically acknowledge is Purple’s dedication, and support on my Programming focused Teamspeak. Purple has assisted numerous individuals with programming issues/help. Be it a student with a few hours to learn a beginner concept, or an experienced bot developer, Purple always has something positive to add. It is truly impressive to see someone act so selflessly in assisting individuals in return for absolutely no monetary gain. Simply put, purple loves the Runescape cheating community, and is clearly passionate about programming.

 

 

 

@Assume , could you please provide a credible source stating that 15 lines or less is the appropriate length for method size?

Perhaps we should notify Oracle of this best practice, as numerous parts of the Core API run over 15 lines.

 

 

 

Warfront1

http://www.javacodegeeks.com/2012/12/rule-of-30-when-is-a-method-class-or-subsystem-too-big.html

I had heard 15 before which is why I said it, but I guess the general consensus is 30.

Edited by Assume
  • Like 1

Share this post


Link to post
Share on other sites

In response to your response, yes, I am aware of this, and I also know the difference between an empty array and a null array. That's not what I was saying. Unless things have changed as far as the structure of the API, the only the value returned by the Filter is guaranteed to not be null. rsnpc#getName() and rsnpc#getPosition() can both return null. It's also typically good practice to null-check things before passing them into a method rather than null-checking in the method (it makes debugging easier later on), but that's not something I'd say is required to be a scripter.

 

The only other thing I'd have to say is more of a recommendation than anything. It's a good idea to limit the length of your code as much as you can, but not so much that it sacrifices readability. The snippet I posted previously is something that seems to be something of a pattern in your code, where you cram a string of methods into one line of code. This is also something that is typically bad practice, but is definitely a gray area, so I won't comment further on it.

 

The fact that you responded to both sets of feedback from both me and Assume with defensive comments is also somewhat concerning. From me it's still a no.

Share this post


Link to post
Share on other sites

I like that you make use of lambdas. I like that you use github and not pastebin, shows some level of professionalism. I like that you make use of ABC but why not just use #abcUtil.performTimedActions instead of single-handedly performing each individual action?

 

I don't like that your scripts are too fresh, we have no idea what users actually think, your attitude towards users etc.

 

About current feedback.

Indeed you do not null check definition and names. And sometimes if you do, you do it incorrectly.

rsObject.getDefinition() != null && rsObject.getDefinition().getName().equals("Tunnel");

I know those are a pain to do but it needs to be done, given that this is like the only thing Trilez talked about in his tutorial.

 

Taco is totally right about your attitude. He pointed out possible null check errors, you failed to see his point and lashed out in defensive manner. 1-3 paragraphs are, in your case, 1-3 sentences. Reading this I felt like "I've been here before, i am back, give me my scripter, now.", to illustrate my point.

 

Generally tho. I do not find anything wrong with your code, it even feels "clean" which is rare enough for scripter applications. I don't think the aforementioned is enough to deny scripter rank.

 

Also the first snippet link is broken, points to your user profile.

  • Like 1

Share this post


Link to post
Share on other sites
Edit: It feels as if you guys have some biased opinion about me being a scripter. All 3 of you posted a response within 5 minutes of each other, which is a little weird, since this thread has been up for almost 24 hours without a response.

 

We tend to discuss scripter applications in the scripter group chat to make sure we don't miss anything before posting. The time between posts has nothing to do with bias. 

Share this post


Link to post
Share on other sites

 

Stop taking it so personal. It's controversial because you make it so. You are given a clear set of feedback: 1) exceptions can be thrown in multiple parts of the code 2) scripts are too fresh, there is no user feedback. If I would receive this feedback I would fix the code and be done with it, instead of just trying to talk my way out of it. As for user feedback there is nothing you could do except maybe encouraging users to leave feedback.

 

You say that you can maintain and write a perfect script that works good (I believe you) and in the next sentence say that you do not have the required time to make a proper script?!? Honestly, you need to drop your ego, it would take you 2 hours while watching TV to add null checks to your code and be done with it. 

  • Like 4

Share this post


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

  • Our picks

    • 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.

      Windows

      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


      Unix/Linux

      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
        • Like
      • 11 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
      • 7 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.
        • Thanks
        • Like
      • 39 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 update features:

      Fixed broken hooks from today's update


      Fix wilderness level with RuneLite (Thanks @Todd)


      Add support for Kotlin .class files in scripts (Thanks @wastedbro)


      Overhaul Inventory API (Thanks @wastedbro)


      Add List support for common methods


      Change method grouping to make more sense (by functionality)


      Refactor methods to utilize Java 8 streams instead of cumbersome loops




      Recognize chatbox minimization (Thanks @JoeDezzy1)


      Fix Screen#isInViewport when NPC chat is open (Thanks @JoeDezzy1)


      Fix login bot bugs (Thanks @erickho123)


      Fix hint arrow return values (Thanks @Encoded)


      Fix depositAllExcept functionality (Thanks @wastedbro)


      Change containing box interface bound and adjust for Y values (Thanks @erickho123)
        • Like
      • 151 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...