Download
(43 Kb)
Download
Updated: 03/14/15 09:50 AM
Pictures
File Info
Compatibility:
Update 6 (1.6.5)
Updated:03/14/15 09:50 AM
Created:04/09/14 02:05 PM
Monthly downloads:58
Total downloads:17,617
Favorites:63
MD5:
Categories:Discontinued & Outdated, Graphic UI Mods, Info, Plug-in Bars, Utility Mods
PL Research Timers  Popular! (More than 5000 hits)
Version: 3.34
by: GetBackYouPansy [More]
As of 2015-06 I am not actively maintaining this mod any more as I have moved on to other things. Thank you to everyone who downloaded and used the mod. The source code is available on github (MIT license) should anyone wish to take over.

What's timers, precious?

PL Research Timers adds visual timer indicators to the UI which tell you how long you have left on your research. These times pop up either when you ask, or at certain important milestones. What do they look like? Like this:


These appear for a short period just below the compass/target name/target title. They tick in real time, then they go away again, so the UI isn't permanently cluttered. The addon can be configured to show you just one character at a time, or all the characters on your account.

You can show the timer info in these ways:
  1. Just do nothing! Let your research happen. Then, when your research is at an important milestone the addon will show you the relevant single timer automatically.
  2. Log in - the timers can be configured to display when you first log in to a character.
  3. Via a key binding
  4. Use the slash command /timers

Timers will automatically appear when the research is at one of these default important milestones:
  • 1 hour left
  • 15 minutes left
  • 1 minute left

.. but you can configure these via the settings menu (under Research Timers > Alarm 1/2/3 time). You can even turn of the automatic timers completely (turn off Research Timers > Enable alarms).

Cross-character timers

PL Timers can show you timer information from all the characters on your account. Each character's timers and other information is displayed beneath a header when the timers are invoked (slash command, keybind, or log in).

This feature is optional and can be turned off in parts via the addon settings menu.

Alarms will also be displayed for research on other characters, if they pass through one of the milestones defined in the settings (default 1h, 15m, 5m).

This feature is provided to prevent you needing to switch characters as often, but bear the following in mind:
  1. The game API does NOT provide a means to actively check other characters timers, so I have had to implement my own timekeeping, based on snapshots of timer data taken at regular intervals from the character you are logged in to
  2. Therefore you must log in to every character who has research timers periodically to allow the addon to gather up-to-date data from them, which it can then use offline.
  3. The timer data from your other characters is saved in a SavedVariable - which is what addon settings generally use - which means it will be 'reset' every time the game is patched. Just log in to each character and it will work again.
  4. The UI presentation degrades if you have LOTS of timers on multiple characters, because the list goes off the screen. This is something I really want to fix, but have not currently got the time or inclination to address.

Configuration

You can configure the following things via Settings > Research Timers:
  • Enable/disable the addon functionality (n.b. the addon will still be loaded, just inert)
  • Enable/disable sounds - the addon re-uses sounds from the stock ESO UI to draw your attention to timers.
  • Enable/disable alarms (timers automatically appearing)
  • Enable/disable timers being shown when you log in
  • Enable/disable showing timers from all characters on login, when you use the keybind, or when you run /timers.
  • Enable/disable alarm notifications for research on other characters (also applies to research completion notifications).
  • The time remaining which triggers 'alarms' to be displayed.
  • The time remaining which causes timers to be in red, amber or green state.
  • Whether or not you care about un-used research slots.

An optional keybinding can also be configured, but by default it is not. Find it under Controls > Keybindings > General > Research Timers.

Known Issues

I'm sure there's lots Here's a list of issues I do know about. Yellow ones are my top priorities.
  • If you have lots of timers they go off the screen.

TODO List
  • Localisation - if you can translate into French or German, get in touch
v3.34
  • Updated to LibAddonMenu 2r17, for better compatibility with ESO v1.6.x
  • On logging in, timers are now displayed after ~5.5 seconds rather than 1 second, if the active character has Enlightenment, to allow the new notification to complete. If the character does not have enlightenment, the delay is 1 second as before.
  • This version doesn't have CombatIndicator unintentionally included in the zip (Oops!)

v3.33
  • Update for ESO v1.6.5 (Update 6; API 100011).

v3.32
  • Upgrade LAM2 to release 16.

v3.31
Internal release only.
  • Update for ESO v1.5.x

v3.3
  • Updated for ESO v1.4.3 (Update 4; Upper Craglorn, Dragonstar Arena; API version 100009)
  • You can now configure the time at which a timer turns from green to amber, and from amber to red. Typically you would want to set this the same as one of your alarm times, but that is not a requirement. Previously green to amber was always at 1 hour remaining, and amber to red at 15 minutes. Note that this is a per-character setting, and will affect the display of timers from all characters.
  • When timer display involves multiple characters, the active character's timers will now come first.
  • Upgraded LibAddonMenu (bundled dependency) to version 2.0. This moves the Research Timers settings from [Settings > Addons > PansyLabs Add-ons] to the combined [Settings > Addon Settings] menu.
  • Should the addon cause a scripting error you will now no longer get a second spurious error after reloading the UI.

v3.22
  • Fix for bug identified by Rashy: on log-in with alarms disabled a scripting error was occurring.
  • Moved top level controls into the 'background' draw layer in an effort to get the addon out of the way of other UIs a bit more.

v3.21
  • Updated for ESO v1.3.3/v1.3.4 (Dyes; API version 100008)

v3.2
  • Fixed keybinding - it will now work in German clients. Should be fine in French too.
  • Craft names in the German (and possibly French) clients should no longer have spurious characters like ^f on the end. N.b. This only affects craft names (Smithing, Clothing, etc.), please report any other instances.
  • Removed /timers2 entirely

v3.1
  • Added on/off setting to prevent timers from all characters being shown whenever a full timer display was done (i.e. /timers, key bind, or on login).
  • Added on/off setting to prevent alarms from all characters being shown. This is independent of the setting to prevent timers displaying (see above). This means that you can still have alarms for other characters, without having to see all their timers every time you log in. This setting affects both alarm timers and research-completion notifications. Note that research completion notifications for the active character are only shown when logging in. For other characters they will also be shown when research completes during play. This is because the base game already notifies the logged in character about completed research via text notifications at the top right of the screen..
  • Fixed a bug where timers could display over the top of one another, and generally improved rendering of timers w.r.t positioning.
  • Fixed a bug where alarm timers would not display at all.
  • Fixed a bug where timers would cease to work after the character went through a loading screen.
  • Fixed a bug where users who had performed a fresh install of v3.0 would see an error the first time they loaded the game (reported by Dingodan).
  • Altered the UI configuration so that timers and other parts of the PL Research Timers UI will no longer consume mouse clicks and other events. This is aimed at addressing bugs #500 and #907, but may not completely fix the issue.
  • Internal improvements to research data updating which make it easier to test changes in future.

v3.0
  • Research timers from all characters on an account are now displayed when the full timer display is shown (i.e. on login, slash command, or keybind)
  • Alarm timers (1h, 15m and 5m by default) will now display for research from all characters on an account, regardless of which character is active.
  • On login, notifications are displayed for completed research lines. These are added under the character's timers, for each character. Previously, these were only printed in the chat window, and only for the active character.
  • Lots of code/behind the scenes improvements
    • Largely restructured timer data persistence to support cross-character timers. Notably timer data is now persisted in an account-wide variable.
    • Updated data model tick logic to do 'dead reckoning' of timers from other characters.
    • Completely re-worked how timers and info boxes ("only using x out of y slots") are built and rendered, allowing widgets to be grouped by character, and making it easy to add other widgets such as the character headings.
    • Rendering (timer display) and model code (timer data updates) somewhat decoupled from one another, making further UI/model changes simpler in future.
    • Restructured how timer data is persisted to allow persisting data from all characters on a single account
    • Implemented a 'grace period' after login, used primarily by completion detection.
    • The /timers2 command was neutered and no longer does anything useful. This will be removed in future.

v2.42
  • Updated for ESO v1.2.3 (Veteran Crypt of Hearts; API version 100007)

v2.41
  • Updated for ESO v1.1 (Craglorn; API version 100004)

v2.4
  • It is now possible to make a keybind to display the timer summary, it functions the same as using /timers.
  • Settings menu has been moved from Settings > Research Timers to Settings > PansyLabs Add-ons > Research Timers. This is to avoid cluttering up the UI for anyone who has other addons installed (e.g. Combat Indicators), plus a bit of future-proofing.

v2.3
  • Craft skill names are now taken from the API, and so should respect localisation.

v2.2
  • Timers (and warnings) are displayed on logging in. This can be disabled in the settings.
  • /timers now also includes warnings about unused research slots.
  • Chat log timers (from /timers2) also include warnings about unused research slots.
  • Warnings about unused research slots can be configured per craft (never show/show if one slot is unused/show if all slots are unused).
  • Lots of behind the scenes changes and small invisible improvements.
  • A small change or two to try to make better use of vertical space.
  • Implemented a basic l10n system to allow for future translations into other languages. This will use the same language as the game client, but initially this is only populated with English. PM me if you wish to volunteer to translate!

v2.1
  • HUD timers (from /timers) now include the trait names being researched ('Precise', etc.)
  • Chat log timers (from /timers2) have reformed their lying ways and now show the correct trait name.

v2.0

First public release!

v1.x

Never officially released.
Optional Files (0)


Archived Files (1)
File Name
Version
Size
Uploader
Date
3.32
39kB
GetBackYouPansy
11/06/14 06:24 AM


Post A Reply Comment Options
Unread 09/16/14, 03:35 PM  
GetBackYouPansy
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 59
Uploads: 2
v3.3 released

v3.3 is live, with support for ESO 1.4.3, no longer nuking your settings on every update, LAM 2.0, and more. See changelog for details.



This addon still lacks a French and German translation, so if anyone can assist please get in touch.
Report comment to moderator  
Reply With Quote
Unread 09/14/14, 11:59 AM  
Rashy

Forum posts: 1
File comments: 34
Uploads: 0
Originally Posted by GetBackYouPansy
Originally Posted by Rashy
No idea what's going on. Everything always looks fine in the game until I log out.
But then only if you log out in a VR zone (at least that was my interpretation)?
Seems that way.
Report comment to moderator  
Reply With Quote
Unread 09/14/14, 08:20 AM  
GetBackYouPansy
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 59
Uploads: 2
Originally Posted by Rashy
No idea what's going on. Everything always looks fine in the game until I log out.
But then only if you log out in a VR zone (at least that was my interpretation)?
Report comment to moderator  
Reply With Quote
Unread 09/11/14, 07:36 PM  
Rashy

Forum posts: 1
File comments: 34
Uploads: 0
Timer issues are back with 1 character.

I log him in (fresh PL_Timers.lua), do a /script to dump the timer data. I see correct numbers

duration = 2211840
remaining = 1506508
timerstamp = 1410484183

I then log out, and I see this in the saved variables for the same entry.

duration = 2764800
remaining = 2059422
timerstamp = 1410484229

I've deleted the PL_Timers.lua, 2x now and only logged in this character with similar results. Not sure if it matters at this point, but I'm logged out in a VR zone.

Gave it a few minutes, and wanted to again see if we could rule out the VR Zone being the issue (I happen to have just started a new VR Zone, Rivenspire)

Knowing the values were still incorrect in my saved variables, I logged in and ported to a non-VR zone, did a /script dump of the timers, looked good. Logged out of the game completely. Checked saved variables and they look similar to the dump (they're good )

Ok...lets see if I can recreate this...good data in the saved variables, I log back in real quick, ported the character back to Rivenspire (VR Zone), dumped the timers, they looked good. Logged out of the game completely. Checked the saved variables and they're off again. Similar to what you're seeing above with the duration increasing back to 2764800 when it should be 2211840.

No idea what's going on. Everything always looks fine in the game until I log out.
Report comment to moderator  
Reply With Quote
Unread 09/11/14, 03:01 PM  
GetBackYouPansy
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 59
Uploads: 2
Yes.

General note:
I've ported combat indicator to LAM 2.0 so now that goes into testing and I will release the two of them sometime over the weekend hopefully.
Last edited by GetBackYouPansy : 09/11/14 at 05:04 PM.
Report comment to moderator  
Reply With Quote
Unread 09/10/14, 05:38 PM  
Rashy

Forum posts: 1
File comments: 34
Uploads: 0
Thanks for all your work

(BTW, I'm guessing you might be on the EU servers?)
Last edited by Rashy : 09/10/14 at 05:44 PM.
Report comment to moderator  
Reply With Quote
Unread 09/10/14, 04:43 PM  
GetBackYouPansy
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 59
Uploads: 2
OK please do

I have an update in the works with a couple of minor changes in it, most notably upgrading to LibAddonMenu-2, putting the active char first and making the red/amber times configurable.

I need to port CombatIndicator over to LAM 2.0 as well, then I can release
Report comment to moderator  
Reply With Quote
Unread 09/10/14, 09:11 AM  
Rashy

Forum posts: 1
File comments: 34
Uploads: 0
Well....

I actually haven't seen any bad timers in a couple of days now. I tried logging in and out (back to the character screen and sometimes all the way out) of several different characters to see if I could somehow trigger this bug, but no luck

I even went as far as trying the checklist of items you suggested with a clean saved variables file and no luck re-creating it either.

I'll keep my eyes open to see if it rears its head again.
Report comment to moderator  
Reply With Quote
Unread 09/09/14, 03:45 PM  
GetBackYouPansy
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 59
Uploads: 2
thanks for pointing it out
Report comment to moderator  
Reply With Quote
Unread 09/09/14, 12:56 PM  
Rashy

Forum posts: 1
File comments: 34
Uploads: 0
Haven't had much time to do some testing, but I'll will do it soon!

Meanwhile..while looking over your code, I noticed this...

Code:
function PL_Timers:Initialise()
  self:InitialisePools()
  self.timerData = {}  
  self.activeCharacter = false
  self.updates = 0
  self.timerData = {}
  self.currentAlarms = {}
  self.slotUsage =  {}
  self.renderList = {}
  self.gracePeriod = false
  EVENT_MANAGER:RegisterForEvent(PL_Timers.name .. "OnPlayerActivated", EVENT_PLAYER_ACTIVATED, function(...) self:OnPlayerActivated(...) end)
  EVENT_MANAGER:RegisterForEvent(PL_Timers.name .. "OnPlayerDectivated", EVENT_PLAYER_DEACTIVATED, function(...) self:OnPlayerDeactivated(...) end)
Don't think its a big deal (think its actually harmless), but you seem to initialize the timerData twice.

Just an FYI
Report comment to moderator  
Reply With Quote
Unread 09/08/14, 11:56 AM  
Rashy

Forum posts: 1
File comments: 34
Uploads: 0
Yours is the only research related addon I run. Run it on 2 characters, have it disabled on a 3rd.
Report comment to moderator  
Reply With Quote
Unread 09/08/14, 11:24 AM  
GetBackYouPansy
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 59
Uploads: 2
AFAIK the only way to do that is to put it into a saved variable, which is a bit more code than it's convenient to do with /script.

BTW have you disabled any other addons that are research-related?
Last edited by GetBackYouPansy : 09/08/14 at 11:35 AM.
Report comment to moderator  
Reply With Quote
Unread 09/07/14, 08:17 PM  
Rashy

Forum posts: 1
File comments: 34
Uploads: 0
Quick question, I'll try all this later tonight or tomorrow.

Is there a way to redirect output of a script to a text file instead of the chat window?
Report comment to moderator  
Reply With Quote
Unread 09/07/14, 04:23 PM  
GetBackYouPansy
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 59
Uploads: 2
Can you try this? It's a bit long-winded, sorry:

* Delete saved vars
* Start game
* Log in as Char X (timers will appear and be correct)
* Dump the timer data with /script, record the duration, remaining and timestamp for one of the timers (doesn't matter which, just one that you know will end up wrong later).
* Sanity check: those times should be consistent with the timer you saw on login.
* Log out to character selection (leave the game open)
* Saved vars file should have appeared, grab the same three values from the same timer, I expect them to be about the same
* Log in as Character Y
* Sanity check: Saved vars file should not have changed
* Timers displayed for X are correct?
* Dump timerData again, grab the values for the chosen timer
* Log out to character select
* Saved vars file should have updated. Timer data for Y will have been added (if any). Timer data for X should NOT change.
* Log back in as X, again sanity check that saved vars don't change
* Dump timerData, sanity check it matches displayed timers
* Timers are correct
* Log out
* Sanity check: saved vars file updated (new times, which are consistent with timers display in game), only X's data should change
* Log in as Y
* At this point timers start appearing incorrectly?
* Sample the timer data and saved vars again.

Hopefully that is the minimal case to reproduce this now, in which case I'd be interested to know the duration, remaining and timestamp from each time they were sampled in-game or from the saved vars. The basic procedure from here is start from nothing then work out at which point the problem first appears by sampling the saved vars and ingame vars at each point along the way.

I'm still failing to reproduce this locally so I only have your data to go on, which is frustrating as I want this 'bug' gone now
Last edited by GetBackYouPansy : 09/07/14 at 04:30 PM.
Report comment to moderator  
Reply With Quote
Unread 09/07/14, 02:43 PM  
Rashy

Forum posts: 1
File comments: 34
Uploads: 0
OK...

Logged on to Character X, timers all looked correct.

Remember, the problem is always with what other characters see on the timers. A character always sees their timers correctly.

Logged over to Character Y. Character X's timers were off. (both characters are in a VR Zone BTW).

I open up the saved variables in Notepad++ and I noticed the values for the duration are higher than they should be. So clearly what I'm seeing on the screen is a result of that.

I log back over to Character X. I run the script to dump the PL_Timers.timerdata. All the data values (including the duration) are correct in the dump to the chat window.

Just to test an idea. I manually change the duration for one of the entries for Character X in the saved variables file and save the file. I log out of the game to allow the game to update the saved variables file with the data I just saw when I dumped the timerdata.

Notepad++ reloads the file and the duration is back to the incorrect value.

Something is happening that is causing the data for the duration to be altered just before its written to file. The reason I changed the value in the file prior to logging out was to make sure it wasn't simply old data not being overwritten for the one particular value.

The incorrect duration value is +20% what it should be in the saved variables.
Last edited by Rashy : 09/07/14 at 02:47 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.