What is Instance Controller (IC)?

Automated zones

What is Instance Controller (IC)?

Postby Kannkor » 04 Sep 2019, 11:01

Instance Controller is a controlling script to help manage automated running of zones.

Code: Select all
ogre ic

This will load the Instance Controller interface. From here, you can navigate folders and double click files to be run.

The Concept
Have a backend controlling script that manages the high level functions that people don't need to worry about, and have OPEN SOURCE files for the actual automation of the zones.

The Parts
Instance Controller - This manages which zones you are going to run, what your lockout timers look like, if you need to reset the zones, etc. Stuff like that. It also has a place where you can set some variables (checkboxes) so the scripter of the instances can use them if they wish, such as pausing when a shiny is found. Please note, people writing the scripts do NOT need to actually use these, but they should. Since those files are open source, you could always change them yourself.

Instance Files - The actual files that automate the zone. These are all open source. You can make a copy of these and modify them as you see fit.
Code: Select all
For example: Awuidor_The_Veiled_Precipice_Event_Heroic.iss

Contains the code to run the zone: Awuidor: The Veiled Precipice [Event Heroic]. This file must handle every aspect of the instance that you wish to be completed. Including, zoning in, zoning out, getting to each boss, killing each boss, clicking anything required, looting chests/shinies, zoning out, etc etc.

Ogre Instance Helper (OgreIH) - This is a special include inside of the Instance Files, that gives you access to a huge collection of helper functions. For example, in Chaos Descending, you could use this:
Code: Select all
call Obj_OgreIH.CD.GetIntoZone

And that would handle zoning you into the correct instance. That includes navigating from the mission area, to the zone object, clicking it, zoning you in, and waiting for your entire group to zone, all in 1 line of code!
OgreIH is generally used to control the entire group.
There's a TON of these helper functions. You can find them documented here on the wiki.

Ogre Utilities - Much like Ogre Instance Helper, it has a collection of functions to assist in automating zones. The big difference here, most of the functions inside of Ogre Utilities are for YOU only. For example.
Code: Select all
call Obj_OgreUtilities.HandleWaitForZoning

Waits for YOU to zone only, then returns control.

While not exactly part of this, these can play a large role in assisting you to complete some tasks. For example, if you needed to just pause the person running the script, you could simply do:
Code: Select all

Other times you may want to pause your entire group, and using OgreConsole commands are by far the best approach, such as:
Code: Select all
oc !c -pause igw:${Me.Name}

I showed off Instance Controller on Twitch, showed what it is, and even coded a zone file in real time, on the stream. The entire video is 2 hours long, but you can watch just the first part to see how it works.
Instance Controller Video here!
Posts: 329
Joined: 06 Nov 2013, 11:49

Re: What is Instance Controller (IC)?

Postby Kannkor » 12 Feb 2020, 00:15

How to properly name your files
The file names must be specific, because it uses the file name to compare to the lock out window.
Be in the zone you want to code, open IC, then type the following in the console:
Code: Select all
echo ${Ogre_Instance_Controller.CleanZoneName}

Where to save your files.
You can technically save your files anywhere inside the Instance_Controller folder, however you should NOT save anything into the Default folder. This is the folder Ogre patches default files too. If you have a file here, that I later patch a file out for, you file will be overwritten.
Posts: 329
Joined: 06 Nov 2013, 11:49

Return to Instance Controller (IC)

Who is online

Users browsing this forum: No registered users and 1 guest