Jump to content

[Tutorial] Simple but Effective Tips


Recommended Posts

Posted

 

I don't like declaring multiple variables on the same line. It tires the eye imo.
Because of completion OCD I occasionally will use a "this" where it's not necessary, or sometimes I'll just do it to improve readability.
I will sometimes prefer snake_case over headlessCamelCase when the latter looks awkward.
 
But yeah.
 
Conventions.

 

he decompiled my script and thinks it came out the same as it went in

 

long startTime, timeRun

feels.png

 

i don't actually know why i had timerun in there, it was never used lol

 

this is a roast thread tbh

hardly. you just decompiled a quick script I made and didn't even do it right.

i don't initialize everything every single line, and using "this.npcs" and similiar is something i've never done before

http://osbot.org/forum/topic/91327-sentychompys-chompy-bird-killer/?p=1013049

 

since you seem so interested in responding to my statement of you not deserving the scripter rank, you should do it directly, not with a half-assed thread including failed decompiling and bullshit

Posted

he decompiled my script and thinks it came out the same as it went in

i don't actually know why i had timerun in there, it was never used lol

hardly. you just decompiled a quick script I made and didn't even do it right.

i don't initialize everything every single line, and using "this.npcs" and similiar is something i've never done before

http://osbot.org/forum/topic/91327-sentychompys-chompy-bird-killer/?p=1013049

since you seem so interested in responding to my statement of you not deserving the scripter rank, you should do it directly, not with a half-assed thread including failed decompiling and bullshit

No one cares now. Both of you end the banter here in this thread. It's pointless fighting over something so stupid. It is just a rank. Period.

Posted

he decompiled my script and thinks it came out the same as it went in

 

i don't actually know why i had timerun in there, it was never used lol

 

hardly. you just decompiled a quick script I made and didn't even do it right.

i don't initialize everything every single line, and using "this.npcs" and similiar is something i've never done before

http://osbot.org/forum/topic/91327-sentychompys-chompy-bird-killer/?p=1013049

 

since you seem so interested in responding to my statement of you not deserving the scripter rank, you should do it directly, not with a half-assed thread including failed decompiling and bullshit

 

no shit u didnt do it right you idiot fuck. theres no point in calling me a shit scripter when you fuck up on your own shit emote32342.png learn your place you fucking sheep.

 

you should do it directly, not with a half-assed thread including failed decompiling and bullshit

 

this made me laugh a bit bc the first one was hidden :sarcasm:

Posted

The real problem with those variables is that most of them are obsolete. Start xp doesn't need to be stored because all xp gain calculations can be accessed through ExperienceTracker. NPCs and Widgets shouldn't be stored globally because they are most likely going to need to be refreshed every time the method that uses them is called, same with run time.

Let us all bow our heads and pray that he at least uses OOP.

/roast

  • Like 1
Posted

The real problem with those variables is that most of them are obsolete. Start xp doesn't need to be stored because all xp gain calculations can be accessed through ExperienceTracker. NPCs and Widgets shouldn't be stored globally because they are most likely going to need to be refreshed every time the method that uses them is called, same with run time.

Let us all bow our heads and pray that he at least uses OOP.

/roast

 

what is oop

Posted

 

  • Casting and 'this'
    • Bad Example:
  •  this.wait = this.widgets.getWidgetContainingText(new String[] { "Hey, JalyYt, you were in a cave only a moment ago." });
            this.cont = this.widgets.getWidgetContainingText(new String[] { "Well done in the cave, here take TokKul as reward." });
            this.entrance = (RS2Object)this.objects.closest(new String[] { "Cave entrance" });
            this.guard = (NPC)this.npcs.closest(new String[] { "TzHaar-Mej-Jal" });
            this.tzkih = (NPC)this.npcs.closest(new String[] { "Tz-Kih" });
            this.tzkek = (NPC)this.npcs.closest(new String[] { "Tz-Kek" });
            this.tokxil = (NPC)this.npcs.closest(new String[] { "Tok-Xil" });
            this.ytmejkot = (NPC)this.npcs.closest(new String[] { "Yt-MejKot" });
            this.ketzek = (NPC)this.npcs.closest(new String[] { "Ket-Zek" });
            this.ythurkot = (NPC)this.npcs.closest(new String[] { "Yt-HurKot" });
    

    In this example, the variable names are the same ones we defined earlier, therefore, we do not need this. As well, we do not need the absurd and gross looking String array and casting. 

 

  • Good Example:
  •  wait = widgets.getWidgetContainingText("Hey, JalyYt, you were in a cave only a moment ago.");
            entrance = objects.closest("Cave entrance");
            guard = npcs.closest("TzHaar-Mej-Jal" );
            tzkih = npcs.closest("Tz-Kih" );
           

 

 

Agreed, people over use this everywhere without proper understanding I think this will clear up some peoples misconceptions. 

  • Like 1
Posted

 

    • Bad Example:
    • public RS2Object entrance;
          public RS2Widget wait;
          public RS2Widget cont;
          public NPC guard;
          public NPC tzkih;
          public NPC tzkek;
          public NPC tokxil;
          public NPC ytmejkot;
          public NPC ketzek;
          public NPC jad;
          public NPC ythurkot;
          String state;
          int startHPExp;
          int startATTExp;
          int startDEFExp;
          int startSTRExp;
          int completed;
          long startTime;
          long runTime;
      

      This is an example of bad code! Most of us have probably defined our variables like this before and thought it is correct. Though it is correct and will work, it is not the most efficient and clean way to define them.

 

  • Good Example:
  • int profit, age;
    int a = 4, b = 6;
    long startTime, timeRun
    RS2Object guard, target, chicken;
    RS2Widget selectX, makeAll;
    ..... so forth
    

    Fewer lines of your code, all your variables are still there and it looks neater and easier on the eyes.

 

 

I personally find the first example a lot cleaner and easier on the eyes.

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