Jump to content

A Pro's Beginner Guide to Scripting


Recommended Posts

Posted
	String food = "trout";
	NPC rockCrab;
	
	@Override
	public int onLoop() {
		if (atBank()) {
			doBank();
		} else if (atRockCrabs()) {
			doRockCrabs();
		}
		return 250;
	}
	
	private void doBank() {
		if (stockedUpOnFood()) {
			if (goodHealth()) {
				goToRockCrabs();
			} else {
				eat();
			}
		} else if (bankHasFood()) {
			withdrawFood();
		} else {
			stopScript();
		}
	}
	
	private void doRockCrabs() {
		if (goodHealth()) {
			if (findRockCrab()) {
				attackRockCrab();
			}
		} else if (hasFood()) {
			eat();
		} else {
			goToBank();
		}
	}
  • Easy to debug.
  • Easy to predict.
  • Simple script logic.

This is a high-level overview of an upcoming rock crab script. You can see from this small snippet everything my script does without having to read further into the script. Additionally, the logic's presented simplistically, enough so that it can be compared to pseudo code (if you plan your scripts).

Maintainability is one of the most important elements of a script. Why? There'll come a time when this logic fails and you may not necessarily be the one maintaining your own scripts. Years from now when you've probably f'd off to pursue some other interest, your work will still be here, being used by people. Your script will break (because Jagex can't leave well enough alone) and some poor motherfucker is going to be tasked with salvaging your works. Do you really want to give him or her a hard time of it?

You don't need to use task frameworks. You can, but please know what you're doing and how to make the most use out of it first. I've seen new scripters try use tasks frameworks and it saddens me, because their desired outcome could be written so much simpler.

  • Like 5
Posted

Indeed Pseudo code is useful. However, I've noticed that sometimes if you do have a bigger project/script, using a task framework is somewhat less tedious for me. But not sure if it also applies to some other people.

Of course, the elements of using the task framework properly comes into hand.

  • Like 1
Posted (edited)
20 minutes ago, Viston said:

Indeed Pseudo code is useful. However, I've noticed that sometimes if you do have a bigger project/script, using a task framework is somewhat less tedious for me. But not sure if it also applies to some other people.

Of course, the elements of using the task framework properly comes into hand.

:???:

Pseudo code? Not sure you know what pseudo code is fren

and also the "Task pattern" is trash

Edited by Explv
  • Like 1
  • Sad 1
Posted
Just now, Apaec said:

I'm all for this, and for some scripts this style works great. It's also quick to put together which is nice. That being said, for certain projects (mostly AIO stuff), going to town with OOP can be very rewarding and also really fun, lol

 

Yes, you are correct my friend.

But when you're using the janky ass "Task pattern" with dumb shit like WalkingToTheBankOnTheOtherSideOfVarrockHaHaTask.java like a lot of people do, then you're just shooting yourself in the foot.

  • Like 3
Posted (edited)
1 hour ago, Explv said:

preach the gospel, preachhhhhh

"4000 camels came down upon the earth to bite the whore wives of alpaca thieves."

explv 4:16

"In order to free themselves from the jews, they thrusted their genitalia towards yahweh"

explv 2:19

 

Edited by Rxd

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...