Search Downloads

Go Back   LoTROInterface > Outdated LotRO Interfaces

Category: Outdated LotRO InterfacesSkillInfo
Interface Information
How do I install this? (FAQ)
Name: SkillInfo   Popular!
Date: 05-20-2012 05:30 PM
Size: 34.05 Kb
Version: 0.3.2
Rate File: 4 out of 5 with 1 votes  
Click to enlarge 

Views: 0
Size: 29.23 Kb
Dimensions: 441 x 223
Keymap Configuration
Click to enlarge 

Views: 0
Size: 58.85 Kb
Dimensions: 791 x 437
Trait Setup
Click to enlarge 

Views: 0
Size: 60.49 Kb
Dimensions: 769 x 484
Legacy Setup
Note: This plugin uses the Chat handler. It'll play well with any of my other scripts that use the chat handler, but not other authors' scripts that use the chat handler.

Okay, this is a bit of a weird plugin, in that it technically doesn't exactly do anything. But it might make an interesting code example.

What it does is track key presses and some mouse clicks that activate quickslots, integer power drops, and skill messages in the combat log. It'll use the key press/mouse clicks to identify potential skill usages, the integer power drops to identify potential skill activations, and the skill messages in the combat log to confirm skill activations. It will also attempt to learn the power costs of your skills.


/skillinfo toggle - This will bring up a set of 6x12 quickslots at the top of your screen. You'll need to mirror the shortcuts on your quickslot bars (quickslot 1 is on the bottom, quickslot 6 is on top - the arrangement should mirror the quickslot arrangement if you have all of the quickslots docked). SkillInfo will use this to identify which key corresponds to which skill. Typing this command again will hide the quickslots.

/skillinfo calibrate - Used to calibrate the delay between a key press and a skill activation. Choose a skill with no induction, make sure you have a valid target and are in range (if needed), and then type "/skillinfo calibrate start" and then use the skill. This will track the delay between the skill usage and the power drop. "/skillinfo calibrate status" will display the current average delay, "/skillinfo calibrate save" will save the current calibration information, "/skillinfo calibrate load" will reload the last saved calibration information, "/skillinfo calibrate reset" will clear all calibration information.

/skillinfo powerreset - Reset stored power costs. May be handy if you retrait or upgrade your equipment and have invalidated prior power costs. (This will happen automatically anyways, as the script fails to see the old power costs, but this will speed up the process.)

/skillinfo stopwarch - Tracks the interval between power costs - I was trying to use this to identify the total cycle time (induction + activation + cooldown) time of skills. Never really used it that much.

/skillinfo options - Open the plugin manager options panel.

Options panel:

There's three parts to this - Trait, Legacy, and Quickslot setup.

Trait setup will display your class's class and legendary traits. Greyed out means not active, colored in means active. Click to activate/deactivate.

LIs are now tracked by name, and it is expected that your LIs will have unique names. To add an LI, drag into the black box at the bottom. To add legacies to an LI, click the "Add Legacy" button, and choose from the drop down menu. Click on the text box to the right of the legacy name to set the value. These should be in the form of "-###s" (so far the only legacies I've seen are cooldown decreases in seconds. If there's ever a legacy that decreases a cooldown by a percentage, you could use "-###%")

Equipment sets are now tracked automatically, although I don't have the latest PvP sets coded in. I think.

Quickslot setup lets you override the existing quickslot bars with quickslots generated by SkillInfo. The advantage of this, is that SkillInfo can track mouse click made to the override quickslots, and therefore mouse click skill usages. Inactive/Active for the Quickslots turns the override bars on or off, Hide, Show on Key, Always Show changes the extended bars to either never be shown, only be shown if the quickslot visibility key is depressed, or always be shown. I've only tested the replacement bars on 1280x1024 and 1024x768. Theoretically it should work on any resolution greater than 1024x768.


_G.skillInfoWindow is the SkillInfo object - after loading the plugin, make the calls using that.

skillInfoWindow:findByShortcut(shortcut) - Given the data portion of a skill shortcut (a text string of the form "0x########"), returns the name of the skill. The name will be the "basic" form, and will not include "Improved", "Advanced", etc. Will only work for skills that are currently active (i.e., traited if necessary).

skillInfoWindow:getShortcut(skill) - Given the basic name of a skill, returns the data portion of a skill shortcut. Will only work for skills that are currently active.

skillInfoWindow:getSharedCooldown(skill) - Given the basic name of a skill, return a table consisting of the basic names of skills which share a cooldown with this skill. (For example, stance skills usually share a cooldown.)

skillInfoWindow:getCooldown(skill) - Given the basic name of a skill, return its current cooldown.

skillInfoWindow:getInduction(skill) - Given the basic name of a skill, return its current induction time.

skillInfoWindow:getTraitSet() - Return the number of traits in each trait set that are currently equipped (as indicated by the user). Trait sets are identified by the first letter of their color (R, G, Y).

skillInfoWindow:getEquipSet() - Return the current equipment sets that are active for the player. See itemSetTable for a list of IDs. IDs are typically based on where the set comes from. I.e., OrthancB is the more blue trait set oriented Orthanc set.

skillInfoWindow:QuickslotClicked(shortcut) - Informs SkillInfo of a quickslot being clicked. This should occur as part of a Quickslot's MouseClick event handler - shortcut should be the value returned by :GetShortcut() when run on the quickslot.

skillInfoWindow:BattleMemory(i) - Return the ith gambit builder that would be used to execute the current gambit stored in battle memory.

skillInfoWindow:ReportQuickslot(skill) - Takes a basic skill name and returns true if SkillInfo will detect the skill use via keypresses. (I.e., if the skill has been slotted into the Keymap configuration.)

skillInfoWindow:AddHandler(f) - Add a new SkillInfo event handler. Returns a handle that can be used with RemoveHandler.

skillInfoWindow:RemoveHandler(h) - Remove a SkillInfo event handler.

SkillInfo events:

Event handlers should take three functions (event, time, args). Time is always the time when the event happened (note - some events may be delayed, because they are not recognized until later on - use time to know when the event occurred).


"!keymap" - Keymap configuration changed. Args are nil.

"!battlememory" - Battle memory changed. Args are nil.

"!update" - Skill information (cooldown, induction, etc.) may have changed due to trait changes or equipment changes. This will not catch skill changes that occur due to buffs - in general, it's advised that you query either the skill cooldown or induction each time you need it. Args are nil.

skill - Skill usage event occurred. args will either be "P" - power drop associated with the skill occurred, or a table. If it is a table, the entries in the table will be "B" (number of targets the skill applied a benefit to), "H" (number of targets the skill hit (normal, crit, dev crit)), "M" (number of targets missed by the skill), and "R" (number of targets that resisted the skill). This should only fire for the initial skill use, and not any subsequent effects (such as DoTs).

Version History
0.3.2 - Added U6 PvMP sets.

0.3.1 - Updated position of replacement quickslots for resolution widths under 1024. Still not quite right.

0.3 - Fixed March of the Ents capitalization.
Added support for replacing quickslots.
Battle Memory tracking. Kinda.

0.2.1 - Changed load/saved to work on serialized data. Hopefully should help out with international clients.
Archive List (Old Versions)
File Name
33.60 Kb
05-20-2012 09:42 AM
33.48 Kb
05-19-2012 10:16 AM
29.64 Kb
04-15-2012 08:38 PM
29.39 Kb
04-15-2012 12:29 AM
22.95 Kb
01-14-2012 02:54 AM
File Statistics
User Rating:
4 out of 5 with 1 votes
Downloads: 10945
Views: 25696
Favorites: 5
Uploaded By:
Last Modified: 05-22-2012 06:03 PM by moebius92    

View Pictures. Download Now! Post A Comment

Post A Reply
Author Comments Comment Options
Unread 01-20-2013, 03:09 PM  
The Wary

Forum posts: 1
File comments: 3
Uploads: 0
From my warden:
- Javelin-toss (needs 0x700105C5 added).
There is a "Defiant Challenge Cooldown" legacy that is missing, too.

I could not quite figure out what needs to be done to find out what gambit was used last - in UpdatePower(), both skill and bskill variables are nil for a gambit.. any hints? I wanted the simplest - output skill names along with the stopwatch time (line 2852).
bobbisson is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 01-20-2013, 12:33 PM  
The Wary

Forum posts: 1
File comments: 3
Uploads: 0
Great idea! Can't wait to see it turn into something really helpful. And I really like your approach to handling skill cooldowns. Tried to put it to use, but couldn't map some of the skills (burglar, lvl 65):

Trick: Counter Defence: Shortcut '0x70003200' not found.
Improved Startling Twist: Shortcut '0x70015A04' not found.
Subtle Stab: Shortcut '0x700031D3' not found.
Riddle: Shortcut '0x700031D8' not found.

My wild guess would be that you took the codes from a lvl 75-ish burg that has updated versions of these. Easily fixable with appropriate changes to classSkillTable (like you have for Mischievous Glee). A bit of pain to fix all, though, because some skills are upgraded several times over the course of leveling. Some time later I'll log 65 warden and check the skills.

P.S. Practical Joke is not on the list at all =)
bobbisson is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 01-16-2012, 11:06 AM  
The Undying
Interface Author - Click to view interfaces

Forum posts: 51
File comments: 44
Uploads: 15
At a guess, it's my event handling not playing nicely with someone else's event handling. For everything but the chat handlers, I assume that the event handlers will be tables, and use table inserts to add my event handler functions.
moebius92 is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 01-15-2012, 05:33 PM  
The Wary
Interface Author - Click to view interfaces

Forum posts: 4
File comments: 13
Uploads: 1
I can't load it. I get this error:

...Rings Online\Plugins\moebius92\Handlers\Handlers.lua:8: bad argument #1 to 'insert' (table expected, got function)
Unable to load "skillinfo".
kwiat_w is offline Report comment to moderator   Reply With Quote Reply With Quote
Post A Reply

Category Jump:
Search this Category:

All times are GMT -5. The time now is 07:19 AM.

Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | VGInterface | LoTROInterface | MMOInterface | Swtorui