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

ELON

ELON Scripter Application

Recommended Posts

1) Snippets: [Source] (Link to thread)
none
2) Tutorials: [Source] (Link to thread)
none

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

none

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

https://github.com/Elon333/Scripts

P.S the GE CODE is not mine and I have just band-aided it for now until I completely re write my own

5) Short biography / Coding Experience: [1-2 short paragraphs] 

 

I started learning how to code about over a year ago completely self teaching my self everything from scratch since then I have been constantly coding close to everyday since and constantly improving I  even started a discord a few months back with a few scripters in it bbu20 and testing1 are in it and martin just so I can learn more  vice versa 

I'm Currently just working part time at a Petrol station few houses down from me I only do that a couple days a week I also have no social life :(  so I have plenty of time to code and make scripts for tribot im also booked in for a cert 4 programming course that starts in 2 months its only 3 days a week so I will still have plenty of time to make scripts for tribot and update my scripts

 

6) Reasons why you feel you deserve Scripter: [1-3 short paragraphs]
I am providing tribot with very useful free scripts which in theory brings in more vip purchases like my 1 click nmz ready which currently supports 10 quests and 6 skills with full abc 2 and this script has been no small task ive been working on it for a while and im still constantly working on it  and im constantly updating my scripts with premium script lvl features like task choice on my nmz script with gui or my combat aio bot for example gui support cannon support save/load different files inventory set up support with gui 

 

7) What you plan to provide the community with: [1-3 short Paragraphs]
I'm currently working on a 1 click NMZ ready script it is on the repo its currently still only in PRE-ALPHA phase I have been constantly updating it  every day or 2nd day since I released it I recently just added Task choice so you pick what task you wanna do with the GUI and I still have lots more features coming for it like purchase all items option on GUI Waterfall quest and much more

also I am still providing updates to my combat AIO script I plan to add sand crab support for that next

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

YES

@wastedbro the abc 2  reaction times data are in the Fight class line: 156 to 169  the full methods are in the AntiBan class  and Utilty class line: 65 to 88   

I have even made the abc 2 hover and open menu work much better for combat by making it hover or open menu the npc you are not attacking and when the npc you are attacking hp is under 20% called on Fight class Line 189 to 198 full method AntiBan class line: 1199 to 1230

which simulates a human much better

ty for the feedback and I will defiantly be hitting you up for advice now that you said I could :)

@Todd it pretty much uses the same methods im using in my 3 open source scripts that I applied with and those scripts are much easier to go through and for new scripters to learn off as my 1 click nmz ready script is quite a large script and its not something im planning on sharing open source at this point of time   and its still in pre-alpha phase not finished

 

@FALSkills thank you for the feedback im not sure why it has banking.withdraw under exchange.offer() there its not meant to be there and ill work on fixing my redundancy and my Main class run loops 

and I did clean my code using the built in ide tool before I posted it doesn't do much but ill haft to go through it manually or configure the tool better

@Netami which script  bugged for your friend?

@FALSkills yeah ill remove the wait condtion for the withdrawing gold how should I handle my main run loop I noticed on your scripter application you just used a while(Login.getLoginState()!=Login.STATE.INGAME || !gui.isCompleted) {

and (vars.isrunning) for your node loop

would a simple safety timer suffice? like I have done in my combat script

@FALSkills@Netami@HeyImJamie hey ive updated my restless ghost code would highly appreciate some more feedback on it please  and should i do the same to my preist in peril script or should i write a diffrent script up since 2 quest scripts is hard to show my knowledge of the api im just not sure what to write up but I could write up a aio crafter or aio wc but theres enough of them already and im still working on a way to handle npc chat better that involves using keyboard hold space while not making it bot like or have issues ive had no luck but I even looked through fluffees npc chat open source and couldn't find a better way to loop through the continue chat while holding space down then what ive already done I asked about this subject a few times in discord over the last few months aswell and not be able to find a cleaner way of doing it

from what ive noticed from the other prem scripters is that my code isn't up to tribot standard I may come back later this year or start of next year once I have finished my programming course and have re written my scripts and 1 or 2 different ones as instructed with the new knowledge I have thank you for your time

 

Share this post


Link to post
Share on other sites

I vote yes.

 

You definitely have a bit to go. The code quality is under what I would expect from premium scripts, but it's certainly decent, especially for a beginner programmer. Keep an eye on your variable and method names. Things like "checkChat()" are pretty vague and therefore make the code a bit tough to read.

I also recommend playing with ABC2 reactions or even reaction times in general. I can't see where it's implemented in the combat script, but perhaps I just missed it.

 

Regardless, I think this is good work. Feel free to reach out for coding/scripting advice :)

Share this post


Link to post
Share on other sites

I have to vote no; your code fails to follow standard safe programming practices including possibly infinite loops. In a more specific RS scripting take, you use static sleeps excessively and fail to format code whitespace/use Oracle convention for some class names etc. I mainly looked through your Restless Ghost source and it just isn't strong enough for me to vote Yes knowing these scripts would be representing TRiBot coming from a scripter. 

 

EDIT: a fellow scripter tried running one of your scripts a few days ago and it instantly bugged out for him. Handling different user setups is a huge part of scripting

Edited by Netami

Share this post


Link to post
Share on other sites

From me it's a No, I've only recently seen you in the community and your code level falls below other scripter applications that have previously been denied. It only took a quick look to see a lot of your code is copy and pasted and therefore inefficient, as can be seen here:

https://github.com/Elon333/ELON-Priest-in-Peril/blob/master/BankPriest.java#L27

https://github.com/Elon333/ELON-Restless-Ghost/blob/master/Bankghost.java#L34

 

Edited by HeyImJamie

Share this post


Link to post
Share on other sites

Starting with restless ghost for some feedback:

Every one of your scripts has this in the onStart method:

		DaxWalker.setCredentials(new DaxCredentialsProvider() {
			public DaxCredentials getDaxCredentials() {
				return new DaxCredentials("sub_DPjXXzL5DeSiPf", "PUBLIC-KEY");
			}
		});
		Mouse.setSpeed(General.random(90, 130));
		AntiBan.create();
		super.setRandomSolverState(false);
		Camera.setRotationMethod(Camera.ROTATION_METHOD.ONLY_MOUSE);

Rather than copy/pasting that into every new script you make, it would probably be wise to create an external method to do all of those things (you would need to pass an instance of your script object).  Small things like that make future maintenance and script creation much more streamlined.


In the run method:

		while (Vars.RESTLESSGHOST == true) {
			General.sleep(20, 40);
			if (!Utilty.isMember())
				Vars.ITEM_CHECK_RESTLESS_GHOST = false;

			// checks to see if restless ghost is finished
			if (Game.getSetting(107) == 5) {
				Vars.RESTLESSGHOST = false;
			}

			// looping through restless ghost quest until completed
			while (Vars.RESTLESSGHOST == true) {
				General.sleep(20, 40);
				if (Vars.RESTLESSGHOST == true)
					loop(rgNodes);
			}
		}

You check the same boolean, Vars.RESTLESSGHOST three times per loop cycle. Why?  You also have nested while loops which are completely unnecessary.  I think you can redesign that loop pretty easily to eliminate redundancy.  I would also strongly suggest you stop using while loops altogether UNLESS you include a timeout or some other, guaranteed, way for the script to exit the loop.  
Also, you can just do:

while(Vars.RESTLESSGHOST){
	...
}

same for the if statement.

Class Bankghost:

if (Vars.INVENTORY_LIST.size() == 0) {
	Vars.INVENTORY_LIST.put(LUMBY_TAB, 3);
	Vars.	INVENTORY_LIST.put(FULL_PASSAGE,1);
	Vars.	INVENTORY_LIST.put(FULL_STAM,1);	
	Vars.INVENTORY_LIST.forEach((ids, quantity) -> {
		Vars.INVENTORY_CHECK_LIST.add(ids);
	});
}

Rather than checking the size of the inventory list every time the node executes, you should configure the inventory list when you initialize the node.  Why check if you've set up every time when you can force the code to setup when the node is created?

This also brings me to naming conventions... the past few scripter apps have all had terrible naming conventions, and this one is no different.

You have class names:
Bankghost, Fatheraereck, Ghost, Grabskull, Skullincoffin, Urhney, Utilty

With proper naming conventions (and spelling), an outside user should be able to view your code and get a gist of what is happening.  

I'm gonna be honest, scrolling through the different Nodes for your RestlessGhost quest makes it look like a disorganized mess.  You are recalculating the same variables 3, 4, sometimes 5 times in the same execute method rather than re-using the value returned from the API.  

Your BankGhost class is completely unreadable:
image.thumb.png.25e474e029691aa664e0c779f66b6a6b.png

and also uses a waitCondition for withdrawing items ?? line 82. It's going to 

It also does not provide a way to exit the quest workflow if missing desired items.

Class Fatheraereck:

		if (Utilty.checkChat()) {
			if (NPCChat.getClickContinueInterface() != null) {
				Utilty.chat();
			}
			if (NPCChat.getOptions() != null) {
				Utilty.optionChat("looking for a quest");
			}
			if (NPCChat.getClickContinueInterface() != null) {
				Utilty.chat();
			}
			if (NPCChat.getOptions() != null) {
				Utilty.optionChat("let me help then");
			}
			if (NPCChat.getClickContinueInterface() != null) {
				Utilty.chat();
			}
		}

I really hope you aren't doing this for chatting in every one of your quests.  Please make a generic chat handler which accepts a variable list of chat options.

 

I haven't run any of your scripts so I can't comment on the performance of them, but from a code-standpoint there is a lot of room for improvement.  Moving forward with large projects such as a general quester, trainer, whatever it may be, you will need to work on using:

  • script constants (declare a constant for each tile you will walk to, an array of chat options for each npc, etc). If (and when) those change, you only need to fix them in one spot.
  • a smarter framework, or better usage of your current framework.   There is no reason to recalculate the same variable across all of your nodes, or to recalculate the same variable 5 times in your execute method.
  • java standards/conventions
  • an api that all of your scripts use, rather than a copy/paste "utilty" class in each quest folder.

At this point I would vote no as well, but I encourage you to re-apply once you have done the following:

  • Cleaned up your code appearance-wise using either your IDE's built in methods to do so or a java beautifier.  Would you want your resumé all jumbled and disorganized for a job interview? Same idea. 
  • Restructured your "utilty" methods into an api that all of your individual modules utilize
  • Made better use of constants instead of "magic numbers" or "magic rstiles" - we are all guilty of doing this at times, but if you are posting your code for others to review, it is unacceptable.

Share this post


Link to post
Share on other sites

@ELON i was not referring to any Exchange code, I was referring to line 82 in your Bankghost class, which withdraws 0 coins in a waitCondition. It actually will not spam click unless it fails to click it, but still that is not really how you should be handling "retrying" for if it fails.  It also withdraws all gold every time that the node executes... 

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