Jump to content
Sign in to follow this  

ABC2 Implementation

Recommended Posts

Hi Guys,


Im trying to implement ABC2 into a script and I'm having all sorts of problems.

EDIT: I saw someone on another post saying to multiply wait times by some sort of modifier. I'm currently using a value of 0.1 and it seems a lot nicer. I remember seeing something like this on one of the premium scripts...

1. There is an item that spawns every 30 seconds or so. When it appears, I call the abc sleep to simulate a reaction time. The data i input is the duration that has passed since the last spawn. Is this correct? I'm getting very large wait times here. Is it even worth using this reaction time for this event?


2. I have a task that takes around 2.5 seconds to complete. (Click on something, wait for trigger). ABC is generating very large sleeps sometimes, even around 6 seconds. No human takes 6 seconds to react, more like 0.2 seconds in this kind of scenario. Am I doing it wrong?

Here is a rough outline of what Im doing in the script

1. click on the object, generate trackers

2. start a timer

3. once the trigger occurs, stop the timer and add this value to the average wait times data

4. take average wait time data and use it to generate abc sleep:

		long averageWait = getAverageWait(activity);
		SUPER.print("Average wait time for activity [" + activity + "] is " + averageWait);
		final boolean menuOpen = m_abc.shouldOpenMenu() && m_abc.shouldHover();
		final boolean hovering = m_abc.shouldHover();
		final long hoverOp = hovering ? ABCUtil.OPTION_HOVERING : 0;
		final long menuOpenOp = menuOpen ? ABCUtil.OPTION_MENU_OPEN : 0;

		final int reactionTime = m_abc.generateReactionTime(m_abc.generateBitFlags((int)averageWait, hoverOp, menuOpenOp));
			SUPER.print("ABC2 Sleep [ " + activity + " ]: " + reactionTime + "ms");
		catch (final InterruptedException e)


Am I even doing this right? I'll be honest I'm having a hard time understanding the ABC2 tutorial...


Edited by botslave1

Share this post

Link to post
Share on other sites

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
Sign in to follow this  

  • Our picks

    • This release will:

      Fix key event handling issue

      Fix other event handling issue

      Fix RSServer hook

      Update world hopper to have it use OCR, thanks to Todd

      Use proper disposal of old Graphics objects

      Reformat code

      Rearrange code

      Organize code imports

      Apply around 8000 automated code refactorings

      Make preparations for Java 9

      Fix 11 various bugs

      Add more reliable debugging support

      Fix mouseEntered/Exited event dispatching bug

      Fix minimap walking bug where it opens the map

      Fix broken hooks for today's game update
        • Thanks
        • Like
      • 87 replies
    • This update will:

      Fix GE inventory item positioning bug

      Fix broken object hooks
        • Like
      • 27 replies
    • This release will:

      Fix some ClosedChannelException bug

      Fix bug in RSObject#getAllTiles

      Add game tab support for "Kourend Favour"
        • Like
      • 15 replies
    • This release will:

      Fix Settings UI placement bug

      Fix game object location bug

      Fix small layout bug making the client shift up and down

      Fix client crashing bug where loading the client with a small display area will cause the client to crash

      Fix annoying Linux bug relating to painting events and peers

      Fix settings saving bug where settings are saved to disk more often than they should

      Fix RSInterface#isBeingDrawn bug affecting a limited amount of people

      Drop Java 1.7 bytecode version for 1.8

      Important: Since the downloadable RS client uses Java 7, it will no longer be compatible with Looking Glass. To make up for this, we will add support for using other clients such as RuneLite (at a later date).

      This change was necessary to allow us to use Java 8 syntax. It also paves the way for Java 9/10/11 support.
        • Like
      • 40 replies
    • This update will:

      Fix the RSMenuNode bug which also fixes the bug with bank opening

      Fix the incorrect object positions bug

      Fix and re-enable the LG Objects API Accelerator

      Fix the RSObject#getAllTiles bug
        • Like
      • 22 replies
  • Recently Browsing   0 members

    No registered users viewing this page.