Download
(986 Kb)
Download
Updated: 07/30/23 12:04 AM
Pictures
File Info
Compatibility:
base-game patch (9.1.5)
Necrom (9.0.0)
Scribes of Fate (8.3.5)
Firesong (8.2.5)
Lost Depths (8.1.5)
High Isle (8.0.0)
Updated:07/30/23 12:04 AM
Created:04/30/21 07:33 AM
Monthly downloads:691
Total downloads:22,793
Favorites:40
MD5:
Categories:Buff, Debuff, Spell, Combat Mods
Hyper Tools  Popular! (More than 5000 hits)
Version: 0.12f
by: Hyperioxes [More]
Hyper Tools is a framework that allows you to create and display graphics that help you track buffs, debuffs and other important information. The addon is somewhat similar in functionality to AuraMastery though my main inspiration was WoW addon WeakAuras2. You can also export trackers to share them with other people and import pre-made trackers



The addon allows you to create Icon Trackers and Progress Bar Trackers, put them inside regular groups





or groups attached to your group members that will follow their movements on your screen.



To all trackers you can add Load conditions (load trackers only when using certain classes, roles, in certain zones, only when certain skills are slotted, only when certain sets are equipped etc.)



and regular Conditions which change tracker's behaviour based on situation (for example hide a tracker when buff's duration is higher than 3 seconds, make tracker glow when duration equals 0, etc)




Commands:
/htshow - displays settings window
/hthide - hides settings window
/htevent - displays/hides event viewer
/hteffect - displays/hidessettings effect viewer

GitHub Wiki with more detailed tutorials on creating trackers

0.12f
-Added hook that replaces Stone Giant's icon
-Added support for Arcanist (done by B7TxSpeed)

0.12e
-Fixed issues with texture layers

0.12d.
-Fixed a bug that would occur when doing a ready check on following bosses: Z'Maja, Oaxiltso, Falgravn, Olms

0.12c
-Fixed a bug that would occur when tracker had no events
-Fixed item set detection

0.12b
-Fixed a bug with not detecting Perfected item sets caused by Waking Flame update
-Fixed a bug that would occur when ready-checking next to bosses mentioned in 0.12a changelog below

0.12a
-Added hook to GetUnitName function - it will now return proper names on mini-bosses that are not considered bosses:
-Oaxiltso fight, GetUnitName("boss2") will return "Havocrel Annihilator"
-Lord Falgravn fight, GetUnitName("boss2") will return "Lieutenant Njordal"
-Z'Maja fight, GetUnitName("boss2") will return "Shade of Siroria", GetUnitName("boss3") will return "Shade of Relequen", GetUnitName("boss4") will return "Shade of Galenwe",
-Saint Olms the Just fight, GetUnitName("boss2") will return "Saint Llothis the Pious", GetUnitName("boss3") will return "Saint Felms the Bold"

0.12
-Added new type of tracker - Progress Texture
-Created keybinds for opening Effect Viewer and Event Viewer
-Increased size of + and - buttons in General tab
-Text inside editbox will now be removed upon clicking plus
-Added vertical mode for progress bars
-Added sound effect to buttons and checkboxes
-Fixed a bug with newly created Group Member trackers not working properly
-Fixed a bug with checkboxes not updating their true value
-Fixed a bug with keybind opening wrong window
-Fixed a bug that would allow user to set an empty tracker name
-Fixed a bug with some labels in settings being cut off

0.11
-Fixed a bug with some labels in settings being cut off
-Fixed a bug with copied trackers not working without reloading UI
-Fixed a bug with tracker icon not updating on the left side until you click on it
-Fixed a bug with events being registered even if a tracker the event was coming from was turned off
-Fixed a bug with colorpickers starting with wrong color
-Fixed a bug with colorpickers saving the change even if you click Cancel
-Fixed a bug with changes in Event tab not applying without reloading UI
-Fixed a bug with boss dropdown not displaying added bosses
-Fixed a bug with colorpicker in Condition tab not hiding for certain result (Show Proc, Hide Tracker)
-Fixed a bug with Icon Tracker background being too small
-Added new option for events - if you add Id = 0 to Ids dropdown it will catch every event regardless of its Id

0.10
-Added event viewer (/htevent)
-Added effect viewer (/hteffect)
-Added ability slot ID to skill tooltips
-Added 'Are you sure you want to delete this tracker' prompt when deleting tracker

0.9a
-Fixed a bug with importing trackers

0.9
-Optimization improvements
-Fixed a bug page number showing wrong value after renaming a tracker

0.8b
-Fixed a bug when you exit an editbox using ESC key
-Fixed a bug with newly created trackers that get placed on page other than 1st overlapping with other trackers
-Removed redundant data from import strings making them smaller
-Fixed a bug that would occur when copying trackers inside of a 'Group Member' tracker

0.8a
-Fixed a bug occuring when you tried to import a tracker while having no trackers prior to that

0.8
-Added 'Always' checkbox in Load tab which makes tracker visible no matter other conditions allowing you to adjust its position
-Added condition 'Distance to target'
-Fixed results 'Set Border Color' and 'Set Background Color'
-Added event 'Entering/Exiting Combat'

0.7
-Added option to add custom lua code to events that executes when event fires
-Moved Ids from General Tab to Events Tab
-Added 'X' in top right corner that closes settings
-Added keybind for switching settings window

0.6a
-Fixed a bug with not tracking effects that were applied before the game loaded
-Fixed a bug with not being able to change Events in trackers that don't have any condition

0.6
-Groups you select in settings will now be highligthed on your screen
-Fixed a bug with equipment in your offbar being ignored when checking gear conditions (for example if you had a tracker set to only show with Vateshran's SnB equipped and you had it equipped on frontbar, the tracker would disappear when you go switch to backbar)

0.5
-Reversed border changes - switched back from using textures to using backdrops and fixed bugs that were the reason for this change back version 0.2
-'Overwrite effects when shorter duration is applied' setting has been changed to 'Don't overwrite effects when shorter duration is applied'. Overwriting is now on by default since in huge majority of cases you'll want it on (turning off the 'overwrite' is only useful in rare cases where same effect has different durations, like for example regular Engulfing Flames and elfbane Engulfing Flames)
-Added cooldowns to Icon Trackers - texture on top of Icon Trackers that will decrease in size from top to bottom based on duration, you can change its color in Display settings
-Importing trackers from import strings from previous versions will now work properly, applying default values to properties that are missing in old import strings

0.4
-Fixed a bug with pages (page number setting to 0 when importing your first tracker)
-Fixed a bug that would occur when adding Group Member type trackers with names of previously deleted trackers
-Trackers' positions are now locked when settings window isn't opened
-Settings window is now above other trackers

0.3a
-Fixed a bug with renaming Group Members and trackers placed inside Group Members

0.3
-Cooldowns now have a "Only your cast" checkbox, before that they would always only trigger on your casts, now you have a choice if you want to track all casts or only yours, this was done to make it possible to create cooldown trackers for bosses' abilities
-Added another Load condition called "Bosses" - the tracker will only load if current bosses' name is in that table, this was done so you could hide boss specific trackers outside of fighting that exact boss


0.2
-Added draw levels - you can now set level at which tracker will be drawn, allowing you to put some trackers above others
-Added checkbox in Events tab "Overwrite effects when shorter duration is applied" - normally, applying same effect with shorter duration wont override the previous effect (example applying 13sec engulfing flames wont override a longer 18sec engulfing flames with elfbane); in some cases (example Stonefist buff on you - when you use up all 3 stacks the effect's duration changes to 0 which normally wouldn't override the already existing duration, this checkbox will allow you to override older longer duration)
-Event type "Get Effect Duration only your cast" has been removed, it's now an option you can add to regular "Get Effect Duration" event type
-Fixed a bug with some textures of old trackers remaining when you change their names
-Fixed a bug that would occur when you changed tracker's name to a name some other tracker used to have in that session
-Changed Icon Tracker's borders, instead of using backdrops that would sometimes anchor to wrong places, borders are now textures which should anchor fine but their thickness can't be changed (for now)
Optional Files (0)


Archived Files (22)
File Name
Version
Size
Uploader
Date
0.12e
211kB
Hyperioxes
06/12/22 11:33 AM
0.12d
211kB
Hyperioxes
10/19/21 02:09 PM
0.12c
211kB
Hyperioxes
08/26/21 06:36 PM
0.12b
211kB
Hyperioxes
08/23/21 06:01 PM
0.12a
210kB
Hyperioxes
08/22/21 06:36 AM
0.12
210kB
Hyperioxes
08/16/21 04:56 AM
0.11
165kB
Hyperioxes
07/30/21 11:33 PM
0.10
164kB
Hyperioxes
07/26/21 07:09 PM
0.9a
161kB
Hyperioxes
07/18/21 03:17 PM
0.9
161kB
Hyperioxes
07/18/21 09:38 AM
0.8b
162kB
Hyperioxes
06/28/21 12:08 PM
0.8a
162kB
Hyperioxes
06/21/21 04:34 PM
0.8
162kB
Hyperioxes
06/20/21 09:32 AM
0.7
162kB
Hyperioxes
06/18/21 08:02 PM
0.6a
331kB
Hyperioxes
06/14/21 10:04 AM
0.6
169kB
Hyperioxes
06/12/21 09:10 PM
0.5
160kB
Hyperioxes
06/10/21 05:01 PM
0.4
160kB
Hyperioxes
06/05/21 07:27 PM
0.3a
160kB
Hyperioxes
05/13/21 12:05 AM
0.3
167kB
Hyperioxes
05/07/21 08:25 PM
0.2
156kB
Hyperioxes
05/02/21 08:30 PM
0.1
153kB
04/30/21 07:33 AM


Post A Reply Comment Options
Unread 08/11/21, 06:34 AM  
crysis992

Forum posts: 2
File comments: 61
Uploads: 0
Hey, I'm struggling with two problems, maybe you can help me out

1) I want to track the Templar rune, but want to hide it when I leave the rune area. Since the skill (31759) does not have a duration, how would I hide it when leaving the area / show it when I'm standing inside?

2) Is there a way to do something when the effect duration ends?
I'm currently using the "event -> custom lua code" feature to play an sound whenever my weapon glyph procs.
Now I want to play a sound when my minor force runs out or when its about to end.
Is there a way to play/execute lua code when a countdown is about to end?
Report comment to moderator  
Reply With Quote
Unread 08/16/21, 05:43 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4989
File comments: 6040
Uploads: 78
@Hyperioxes
Thank you so much for this great addon!
Is there any website sharing pre-defined profiles or would you be willing to share your's e.g. for tanks/healers?


Originally Posted by crysis992
Hey, I'm struggling with two problems, maybe you can help me out

1) I want to track the Templar rune, but want to hide it when I leave the rune area. Since the skill (31759) does not have a duration, how would I hide it when leaving the area / show it when I'm standing inside?
Most likely this will not be posible as the rune's abilityId itsself is not the one you need to tarck but in combination with the heal over time/magicka over time/stamina over time (depending on the morph) buff on your character.
e.g. if you use restoring focus you would need to track that it is active + the magicka regen buff on yourself. And the buff (if shown on yourself -> check C character panel buffs) could be even some buff created by another skill, if the buffId would not be some dedicated number to the templar rune.

Not sure if this addon here is able to tarck such "combinations" of abilityIds/buffIds?
Last edited by Baertram : 08/16/21 at 05:44 AM.
Report comment to moderator  
Reply With Quote
Unread 08/16/21, 09:05 AM  
Hyperioxes
 
Hyperioxes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 69
Uploads: 11
Re: Sharing of Trackers

Originally Posted by Gahrruk
I am new to this addon and have trouble finding the IDs of buffs and debuffs and while I enjoy the complexity I dread having to set up all the Trackers I need as this will take some time. Is there a place where users can share their Trackers? After all it is a built in function of the Addon.
Originally Posted by Baertram
@Hyperioxes
Thank you so much for this great addon!
Is there any website sharing pre-defined profiles or would you be willing to share your's e.g. for tanks/healers?


Originally Posted by crysis992
Hey, I'm struggling with two problems, maybe you can help me out

1) I want to track the Templar rune, but want to hide it when I leave the rune area. Since the skill (31759) does not have a duration, how would I hide it when leaving the area / show it when I'm standing inside?
Most likely this will not be posible as the rune's abilityId itsself is not the one you need to tarck but in combination with the heal over time/magicka over time/stamina over time (depending on the morph) buff on your character.
e.g. if you use restoring focus you would need to track that it is active + the magicka regen buff on yourself. And the buff (if shown on yourself -> check C character panel buffs) could be even some buff created by another skill, if the buffId would not be some dedicated number to the templar rune.

Not sure if this addon here is able to tarck such "combinations" of abilityIds/buffIds?
Hey, I'm currently working on creating a website, I was also thinking of making a discord server to share pre-made settings since creating a website will take some time.

Originally Posted by crysis992
Hey, I'm struggling with two problems, maybe you can help me out

1) I want to track the Templar rune, but want to hide it when I leave the rune area. Since the skill (31759) does not have a duration, how would I hide it when leaving the area / show it when I'm standing inside?

2) Is there a way to do something when the effect duration ends?
I'm currently using the "event -> custom lua code" feature to play an sound whenever my weapon glyph procs.
Now I want to play a sound when my minor force runs out or when its about to end.
Is there a way to play/execute lua code when a countdown is about to end?
1) I dont know, I took a quick look at it and there's an event that fires when you enter the rune but there's no event that would let you track when you're exiting rune

2) You can use hyperToolsGlobal.result in the custom lua code, its value is 1 when the effect starts and 2 when the effect ends, to play a sound shortly before an effect expires you'd need to use RegisterForEventUpdate like this
Lua Code:
  1. if hyperToolsGlobal.result == 1 then -- if effect just started
  2.     local effectDuration = (hyperToolsGlobal.expireTime - GetGameTimeSeconds())*1000 -- get effect time in milliseconds
  3.     EVENT_MANAGER:UnregisterForUpdate("eventName", effectDuration - 5000) --unregister previous event so that it doesn't fire twice when you reapply effect
  4.     EVENT_MANAGER:RegisterForUpdate("eventName", effectDuration - 5000,function() -- will do sth 5 seconds before the effect expires
  5.         -- do sth here, like play sound
  6.         EVENT_MANAGER:UnregisterForUpdate("eventName", effectDuration - 5000) --unregister event after it fired a sound
  7.     end)
  8. end
Report comment to moderator  
Reply With Quote
Unread 08/16/21, 09:28 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4989
File comments: 6040
Uploads: 78
Originally Posted by crysis992
Hey, I'm struggling with two problems, maybe you can help me out

1) I want to track the Templar rune, but want to hide it when I leave the rune area. Since the skill (31759) does not have a duration, how would I hide it when leaving the area / show it when I'm standing inside?
You could check the abilityId for the at LUI's great google doc (but I think the ID provided here was wrong: 31759)?
https://docs.google.com/spreadsheets...9046&range=B51

The ritual should be this one (112145 or the morphs of it 112166 or 112167 ):
https://docs.google.com/spreadsheets...046&range=B370
Last edited by Baertram : 08/16/21 at 09:29 AM.
Report comment to moderator  
Reply With Quote
Unread 08/18/21, 07:33 AM  
Minaithelan18

Forum posts: 0
File comments: 7
Uploads: 0
Hey, great addon

I've been having fun creating trackers for my characters, items sets and certain builds. I think a discord server would be an easy way to share trackers and the like.

A question for those that are also trying this addon, have you managed to track permanent buffs such as mundus stones or those minor ones provided by item sets? Since they count as having zero remaining time and zero stacks, ive been trying to get creative, but no luck.
Report comment to moderator  
Reply With Quote
Unread 08/19/21, 03:46 PM  
Hyperioxes
 
Hyperioxes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 69
Uploads: 11
Originally Posted by Minaithelan18
Hey, great addon

I've been having fun creating trackers for my characters, items sets and certain builds. I think a discord server would be an easy way to share trackers and the like.

A question for those that are also trying this addon, have you managed to track permanent buffs such as mundus stones or those minor ones provided by item sets? Since they count as having zero remaining time and zero stacks, ive been trying to get creative, but no luck.
Hey, I think tracking permament buffs is impossible at the moment with how the addon works, I've added it to my todo list but I wont be fixing it any soon due to limited free time and other stuff taking priority
Report comment to moderator  
Reply With Quote
Unread 08/22/21, 01:43 PM  
crysis992

Forum posts: 2
File comments: 61
Uploads: 0
Since the last update I get following error when someone does a ready check. (happened today in vCR+1)

Code:
bad argument #1 to 'string.sub' (string expected, got nil)
stack traceback:
[C]: in function 'string.sub'
user:/AddOns/HyperTools/Main.lua:176: in function 'GetUnitName'
EsoUI/Ingame/Contacts/Notifications_Common.lua:482: in function 'ZO_GroupElectionProvider:BuildNotificationList'
EsoUI/Ingame/Contacts/Notifications_Common.lua:1757: in function 'ZO_NotificationManager:BuildNotificationList'
EsoUI/Ingame/Contacts/Notifications_Common.lua:1747: in function
Report comment to moderator  
Reply With Quote
Unread 08/23/21, 06:02 PM  
Hyperioxes
 
Hyperioxes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 69
Uploads: 11
Originally Posted by crysis992
Since the last update I get following error when someone does a ready check. (happened today in vCR+1)

Code:
bad argument #1 to 'string.sub' (string expected, got nil)
stack traceback:
[C]: in function 'string.sub'
user:/AddOns/HyperTools/Main.lua:176: in function 'GetUnitName'
EsoUI/Ingame/Contacts/Notifications_Common.lua:482: in function 'ZO_GroupElectionProvider:BuildNotificationList'
EsoUI/Ingame/Contacts/Notifications_Common.lua:1757: in function 'ZO_NotificationManager:BuildNotificationList'
EsoUI/Ingame/Contacts/Notifications_Common.lua:1747: in function
Thanks for the report, it should be fixed now
Report comment to moderator  
Reply With Quote
Unread 08/25/21, 04:20 AM  
zelenin
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 192
Uploads: 12
Code:
user:/AddOns/HyperTools/Settings.lua:1627: attempt to index a nil value
|rstack traceback:
user:/AddOns/HyperTools/Settings.lua:1627: in function 'Update'
|caaaaaa<Locals> visibilityConditions = [table:1]{Get Effect Cooldown = F, Get Effect Duration = T, Entering/Exiting Combat = T} </Locals>|r
user:/AddOns/HyperTools/Settings.lua:1759: in function 'buttonFunction'
user:/AddOns/HyperTools/Controls.lua:11: in function '(anonymous)'
|caaaaaa<Locals> _ = ud, _ = 1, ctrl = F, alt = F, shift = F </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 08/25/21, 07:07 AM  
zelenin
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 192
Uploads: 12
does not work correctly "Get Effect Cooldown". The timer is restarted every event with the needed abilityId, i.e. for ACTION_RESULT_EFFECT_GAINED, ACTION_RESULT_EFFECT_GAINED_DURATION, ACTION_RESULT_EFFECT_FADED.
Need to add
Code:
EVENT_MANAGER:AddFilterForEvent(name, EVENT_COMBAT_EVENT, REGISTER_FILTER_COMBAT_RESULT, ACTION_RESULT_EFFECT_GAINED)
Report comment to moderator  
Reply With Quote
Unread 08/25/21, 07:17 AM  
zelenin
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 192
Uploads: 12
Code:
function HT_removeGender(name)
    b = string.find(name, "%^")
    if b then
        name = string.sub(name, 1, b - 1)
    end
    return name
end
b leaks to global namespace.
You need to use
Code:
zo_strformat("<<1>>", name)
or
Code:
ZO_CachedStrFormat("<<1>>", name)
for this. These funcntions formats the string (according to gender) on the C side, and the second option also caches the result.
Report comment to moderator  
Reply With Quote
Unread 08/25/21, 08:09 AM  
zelenin
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 192
Uploads: 12
Code:
function HT_checkIfItemSetsEquipped(itemSetTable)
    if next(itemSetTable) == nil then
        --If input table is empty return true
        return true
    end
    for _, itemSet in pairs(itemSetTable) do
        local numOfItems = 0
        local setName, maxEquipped

-- 1. if I have three jewelries numOfItems = 3
        _, setName, _, numOfItems, maxEquipped = GetItemLinkSetInfo(itemSet, true) --This function instantly gets number of pieces worn but it ignores offbar
        local equipmentSlotsToCheck = {EQUIP_SLOT_MAIN_HAND, EQUIP_SLOT_OFF_HAND, EQUIP_SLOT_BACKUP_MAIN, EQUIP_SLOT_BACKUP_OFF,
                                       EQUIP_SLOT_CHEST, EQUIP_SLOT_FEET, EQUIP_SLOT_HAND, EQUIP_SLOT_HEAD, EQUIP_SLOT_LEGS, EQUIP_SLOT_NECK, EQUIP_SLOT_RING1,
                                       EQUIP_SLOT_RING2, EQUIP_SLOT_SHOULDERS, EQUIP_SLOT_WAIST}

-- 2. then you count items one more time and add them to three
        for _, v in pairs(equipmentSlotsToCheck) do
            local setNameLocal
            local incrementBy = 1
            _, setNameLocal = GetItemLinkSetInfo(GetItemLink(BAG_WORN, v), true)
            if GetItemEquipType(BAG_WORN, v) == EQUIP_TYPE_TWO_HAND then
                incrementBy = 2
            end --If item is a two-handed weapon count it twice
            if setNameLocal == setName then
                numOfItems = numOfItems + incrementBy
            end
        end
-- 3. numOfItems = 6 so 6 >= 5
        if numOfItems >= maxEquipped then
            return true
        end
    end
    return false
end
you count items twice. Look to my three comments in this snippet
Report comment to moderator  
Reply With Quote
Unread 08/25/21, 08:19 AM  
zelenin
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 192
Uploads: 12
btw this is the coolest addon that I have dreamed about for a long time. Big thanks!
Report comment to moderator  
Reply With Quote
Unread 08/26/21, 06:37 PM  
Hyperioxes
 
Hyperioxes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 69
Uploads: 11
Originally Posted by zelenin
btw this is the coolest addon that I have dreamed about for a long time. Big thanks!
Thanks a lot for the nice words and for providing solutions, really appreciate it
Report comment to moderator  
Reply With Quote
Unread 08/30/21, 07:36 AM  
Shadowinplay
Guest

Join Date: Not Yet
Forum posts: 0
File comments: 0
Uploads: 0
Hi there, it's possible to track the taunt as an icon over the mobs healthbars just like you did with the icon tracking for group members? I just downloaded the addon didn't get time to see how it works, but I would like to know if it's possible.
Report comment to moderator  
Edit/Delete Message Reply With Quote
Post A Reply



Category Jump: