Download
(11 Kb)
Download
Updated: 07/11/23 07:42 AM
Pictures
File Info
Compatibility:
Necrom (9.0.0)
Updated:07/11/23 07:42 AM
Created:03/04/20 07:20 PM
Monthly downloads:602
Total downloads:35,521
Favorites:29
MD5:
IC The Next Boss (Imperial City Spawn Tracker)  Popular! (More than 5000 hits)
Version: 1.2.6
by: ownedbynico, akamatsu02
IC The Next Boss


Tracks spawn times of bosses in Imperial City and displays them either in a table or directly on the map.
It works with the German, English, Russian and French Client. You can send me translations of boss and district names if you want it to work in your language.

UPDATED! - by akamatsu02
- district list ordered clockwise/counterclockwise (can be changed in the addon settings)
- added Molag Bal timer
- option to change to event-timers (15min -> 7min) (can be changed in the addon settings)
- manually start a district timer with a keybind or the command /mark <number of the district in the list>
- keep timers after reload/zone change (beta)
- always show next district at top of the list (when going ordered/not skipping bosses)

OPTIONAL!
- use LibDataShare to share your timers with your group members
15.08.2020

- Added FR translation
- Added a option to debug boss names
-----------

30.06.2020

- Visual changes
-----------

03.05.2020

- Minor changes
- Timer will now continue if you escape to Cyrodiil
-----------

15.03.2020

- Added RU translation
-----------
Optional Files (0)


Archived Files (8)
File Name
Version
Size
Uploader
Date
1.2.5
11kB
akamatsu02
07/09/23 06:26 PM
1.2.4
9kB
ownedbynico
08/15/20 02:08 PM
1.2.3
8kB
ownedbynico
06/30/20 06:18 AM
1.2.2
8kB
ownedbynico
05/02/20 05:32 PM
1.2.1
8kB
ownedbynico
05/02/20 04:23 PM
1.2
8kB
ownedbynico
03/15/20 01:11 PM
1.1
7kB
ownedbynico
03/05/20 06:24 PM
1.1
7kB
ownedbynico
03/05/20 06:21 PM


Post A Reply Comment Options
Unread 03/04/20, 08:40 PM  
john98837

Forum posts: 1
File comments: 48
Uploads: 0
Getting the following error, doesn't matter if I am in IC or not.

user:/AddOns/ICTheNextBoss/ICTheNextBoss.lua:3: attempt to index a nil value
stack traceback:
user:/AddOns/ICTheNextBoss/ICTheNextBoss.lua:3: in function '(main chunk)'
Report comment to moderator  
Reply With Quote
Unread 03/05/20, 10:17 AM  
crazmadsci

Forum posts: 0
File comments: 3
Uploads: 0
How do you know what the time is before the next boss spawn?
Report comment to moderator  
Reply With Quote
Unread 03/05/20, 06:22 PM  
ownedbynico
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 111
Uploads: 15
Originally Posted by john98837
Getting the following error, doesn't matter if I am in IC or not.

user:/AddOns/ICTheNextBoss/ICTheNextBoss.lua:3: attempt to index a nil value
stack traceback:
user:/AddOns/ICTheNextBoss/ICTheNextBoss.lua:3: in function '(main chunk)'
I just fixed it. Was a dumb mistake i made right before the upload.
Report comment to moderator  
Reply With Quote
Unread 03/05/20, 07:21 PM  
john98837

Forum posts: 1
File comments: 48
Uploads: 0
Originally Posted by ownedbynico
Originally Posted by john98837
Getting the following error, doesn't matter if I am in IC or not.

user:/AddOns/ICTheNextBoss/ICTheNextBoss.lua:3: attempt to index a nil value
stack traceback:
user:/AddOns/ICTheNextBoss/ICTheNextBoss.lua:3: in function '(main chunk)'
I just fixed it. Was a dumb mistake i made right before the upload.
Thanks just tested it out, working now. Really like the layout of this and including the seconds on the countdown timer.
Report comment to moderator  
Reply With Quote
Unread 07/02/20, 12:23 PM  
Lukaskiboss

Forum posts: 0
File comments: 10
Uploads: 0
I tested it last night during the event and it doesn't seem to work, one time was working for some reasons.
Report comment to moderator  
Reply With Quote
Unread 07/03/20, 02:45 PM  
ownedbynico
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 111
Uploads: 15
Originally Posted by Lukaskiboss
I tested it last night during the event and it doesn't seem to work, one time was working for some reasons.
Seems like the spawntimes are a bit off because of the event. Apparently the bosses work like dolmen - if there are many ppl they will respawn faster.
Im trying to find a solution for that.
Report comment to moderator  
Reply With Quote
Unread 09/05/21, 01:39 AM  
NicGrover

Forum posts: 5
File comments: 1
Uploads: 0
Exclamation it don't work actually

Hi,

I installed this adon a little over a week ago and the Boss reappearance time is still green. Is this due to the event?

I have also disabled the screen window but it reappears empty every time I launch a character in the game. Thanks for your help.

Nic
Report comment to moderator  
Reply With Quote
Unread 01/12/22, 09:09 AM  
choekstr
 
choekstr's Avatar

Forum posts: 14
File comments: 391
Uploads: 0
Hi,
Just wanted to first express my thanks for this great addon, love using it. I'm not sure if this is being actively still developed but if so, I have a somewhat simple ask:

I would love to have the order of the district list to be in the order they are in the sewers (CCW: Memorial, Elven, Nobles, Temple, Arboretum, Arena). After digging into the code and spending far too long trying to learn lua enough to realize I can't make that change, however, I did conclude that the use of pairs() returns a pseudo random list of the districts instead of a sorted list. A few googles later it looks like if we were to use an array and use ipairs() it would return the list in the specific order it was created and be indexed.

I tried a few things to switch from using pairs to ipairs but alas I just don't have the lua programming chops to make it happen successfully. Is there a way to leverage an array so we can sort the list of districts according to clockwise/counterclockwise rotation through the zones when farming bosses? This would be a very nice quality of life improvement if it isn't too much trouble.

Thanks for the consideration
Report comment to moderator  
Reply With Quote
Unread 01/12/22, 06:09 PM  
ownedbynico
AddOn Author - Click to view AddOns

Forum posts: 9
File comments: 111
Uploads: 15
Originally Posted by choekstr
Hi,
Just wanted to first express my thanks for this great addon, love using it. I'm not sure if this is being actively still developed but if so, I have a somewhat simple ask:

I would love to have the order of the district list to be in the order they are in the sewers (CCW: Memorial, Elven, Nobles, Temple, Arboretum, Arena). After digging into the code and spending far too long trying to learn lua enough to realize I can't make that change, however, I did conclude that the use of pairs() returns a pseudo random list of the districts instead of a sorted list. A few googles later it looks like if we were to use an array and use ipairs() it would return the list in the specific order it was created and be indexed.

I tried a few things to switch from using pairs to ipairs but alas I just don't have the lua programming chops to make it happen successfully. Is there a way to leverage an array so we can sort the list of districts according to clockwise/counterclockwise rotation through the zones when farming bosses? This would be a very nice quality of life improvement if it isn't too much trouble.

Thanks for the consideration
Hey,
yes, im using a pairs() there, so its not in order. I developed this addon when I didnt know that much about LUA.
Maybe I'll rewrite it when I got some spare time.
Report comment to moderator  
Reply With Quote
Unread 01/16/22, 03:48 PM  
choekstr
 
choekstr's Avatar

Forum posts: 14
File comments: 391
Uploads: 0
Originally Posted by ownedbynico
Maybe I'll rewrite it when I got some spare time.

That would be awesome! Plus keep your skills sharp and be a fun exercise and I would love to see how you implement using ipairs() instead so I can learn a bit more.


Thanks for your consideration and looking forward to good stuff coming.
Report comment to moderator  
Reply With Quote
Unread 02/16/22, 11:53 PM  
choekstr
 
choekstr's Avatar

Forum posts: 14
File comments: 391
Uploads: 0
Originally Posted by choekstr
Originally Posted by ownedbynico
Maybe I'll rewrite it when I got some spare time.

That would be awesome! Plus keep your skills sharp and be a fun exercise and I would love to see how you implement using ipairs() instead so I can learn a bit more.


Thanks for your consideration and looking forward to good stuff coming.
Any chance this might get some love soon?
Report comment to moderator  
Reply With Quote
Unread 06/24/22, 06:46 AM  
Zenapop

Forum posts: 0
File comments: 16
Uploads: 0
Hi, Thank you for this add on. Super helpful!

I was wondering if there was any chance of the rearrangement of the order of the districts in the box, like the other person mentioned. Temple seems to be out of order of the rest.
Report comment to moderator  
Reply With Quote
Unread 07/24/22, 12:41 PM  
choekstr
 
choekstr's Avatar

Forum posts: 14
File comments: 391
Uploads: 0
I tried this first thinking it would be that simple, but it didn't seem to help but fully admit my offsets were probably not right. However after making your changes I still see them change orders every time I reloadui:


Here are 3 reloadui's in a row using your xml changes to show how it randomly places the districts in the order it gets back from the pairs() function and why I thought it had to be reworked to use ipairs() instead:





Originally Posted by Baertram
Here is my idea what could work:
Code:
<TopLevelControl name="ICTMapTimers" movable="false" clampedToScreen="true" hidden="true">
            <Dimensions x="800" y="800" />
            <Anchor point="CENTER" relativeTo="GuiRoot" />
            <Controls>
                <!-- Comment - Ordered list of districts in IC sewers: Memorial, Elven, Nobles, Temple, Arboretum, Arena) -->
                <Label name="ICTMemorialDistrictLabel" font="ZoFontWinH3" inheritAlpha="false" color="FFFFFF"
                    wrapMode="TRUNCATE" verticalAlignment="CENTER" horizontalAlignment="CENTER" text="0">
                    <Anchor point="CENTER" relativeTo="$(parent)" relativePoint="CENTER" offsetX="-5" offsetY="-80" />
                </Label>
                <Label name="ICTElvenGardensDistrictLabel" font="ZoFontWinH3" inheritAlpha="false" color="FFFFFF"
                    wrapMode="TRUNCATE" verticalAlignment="CENTER" horizontalAlignment="CENTER" text="0">
                    <Anchor point="CENTER" relativeTo="$(parent)" relativePoint="CENTER" offsetX="85" offsetY="-30" />
                </Label>
                <Label name="ICTNoblesDistrictLabel" font="ZoFontWinH3" inheritAlpha="false" color="FFFFFF"
                    wrapMode="TRUNCATE" verticalAlignment="CENTER" horizontalAlignment="CENTER" text="0">
                    <Anchor point="CENTER" relativeTo="$(parent)" relativePoint="CENTER" offsetX="80" offsetY="65" />
                </Label>
                <Label name="ICTTempleDistrictLabel" font="ZoFontWinH3" inheritAlpha="false" color="FFFFFF"
                    wrapMode="TRUNCATE" verticalAlignment="CENTER" horizontalAlignment="CENTER" text="0">
                    <Anchor point="CENTER" relativeTo="$(parent)" relativePoint="CENTER" offsetX="-5" offsetY="115" />
                </Label>
                <Label name="ICTArboretumDistrictLabel" font="ZoFontWinH3" inheritAlpha="false" color="FFFFFF"
                    wrapMode="TRUNCATE" verticalAlignment="CENTER" horizontalAlignment="CENTER" text="0">
                    <Anchor point="CENTER" relativeTo="$(parent)" relativePoint="CENTER" offsetX="-90" offsetY="65" />
                </Label>
                <Label name="ICTArenaDistrictLabel" font="ZoFontWinH3" inheritAlpha="false" color="FFFFFF"
                    wrapMode="TRUNCATE" verticalAlignment="CENTER" horizontalAlignment="CENTER" text="0">
                    <Anchor point="CENTER" relativeTo="$(parent)" relativePoint="CENTER" offsetX="-90" offsetY="-35" />
                </Label>
            </Controls>
        </TopLevelControl>
Report comment to moderator  
Reply With Quote
Unread 07/24/22, 01:31 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4962
File comments: 6032
Uploads: 78
Okay, so the XML makes the 1st view and then some lua code will re-order and re-anchor it
I'll have another look, allthough I have not seen any code doing a reanchor so far. Weird

Edit:
Seems I missunderstood the UI there.
There is 1 label for the time left (left side, which changes the order) and there is another label for the time left (right side).

The labels I had changed at the XML are only the ICTMapTimers if you open the map!
And these cannot be changed or the order is wrong at the map. So one needs to revert that change below of mine and check the other 2 label contents.

One needs to add something like
Lua Code:
  1. --Memorial, Elven, Nobles, Temple, Arboretum, Arena
  2. ICT.timetableOrdered = {
  3.     GetString(SI_ICTHENEXTBOSS_MEMORIALDISTRICT),
  4.     GetString(SI_ICTHENEXTBOSS_ELVENGARDENSDISTRICT),
  5.     GetString(SI_ICTHENEXTBOSS_NOBLESDISTRICT),
  6.     GetString(SI_ICTHENEXTBOSS_TEMPLEDISTRICT),
  7.     GetString(SI_ICTHENEXTBOSS_ARBORETUMDISTRICT),
  8.     GetString(SI_ICTHENEXTBOSS_ARENADISTRICT),
  9. }

And then change the pairs to an for _, district in ipairs(ICT.timetableOrdered) do
and then read
local respawn = ICT.timetable[district]
to update it properly in order.
Will provide my version here once tested. I usually do not play any PvP but I hope this can be tested easily on PTS.


Code changes needed
ICTTheNextBoss - With ordered districts

1st revert the changes to the XML file please, if you had followed my first advice below (I've deleted it meanwhile)

2nd change file ICTTheNextBossData.lua and add
Lua Code:
  1. --Memorial, Elven, Nobles, Temple, Arboretum, Arena
  2. ICT.timetableOrdered = {
  3.     GetString(SI_ICTHENEXTBOSS_MEMORIALDISTRICT),
  4.     GetString(SI_ICTHENEXTBOSS_ELVENGARDENSDISTRICT),
  5.     GetString(SI_ICTHENEXTBOSS_NOBLESDISTRICT),
  6.     GetString(SI_ICTHENEXTBOSS_TEMPLEDISTRICT),
  7.     GetString(SI_ICTHENEXTBOSS_ARBORETUMDISTRICT),
  8.     GetString(SI_ICTHENEXTBOSS_ARENADISTRICT),
  9. }

3rd change file ICTTheNextBoss.lua
Lua Code:
  1. function ICT.updateTimers()
  2.  
  3.     for boss, lastSeen in pairs(ICT.fallbackTimes) do
  4.         if ICT.fallbackTimes[boss] > 0 then
  5.             ICT.fallbackTimes[boss] = lastSeen - 1
  6.         end
  7.     end
  8.  
  9.     local districtString = ""
  10.     local timerString = ""
  11.     local color = ""
  12.  
  13.     for _, district in pairs(ICT.timetableOrdered) do
  14.  
  15.         local respawn = ICT.timetable[district]
  16.         local remaining = respawn - os.time()
  17.    
  18.         if remaining > 0 then
  19.             color = "|cFF0000"
  20.             if ICT.savedVariables.chatdebug == true and ICT.timetable[district] == 0 then
  21.                 d(district .. " is up again.")
  22.             end
  23.         else
  24.             -- Boss is up
  25.             color = "|c00FF00"
  26.             remaining = 0
  27.         end
  28.        
  29.         districtString = districtString .. color .. district .. "|r\n"
  30.         timerString = timerString .. ICT.secondsToClock(remaining) .. "\n"
  31.        
  32.         if ICT.savedVariables.maptimers == true then
  33.             ICT.ui.districts[district]:SetText(color .. ICT.secondsToClock(remaining))
  34.         end
  35.     end
  36.    
  37.     if ICT.savedVariables.timetable == true then
  38.         ICTDistricLabel:SetText(districtString)
  39.         ICTTimerLabel:SetText(timerString)
  40.     end
  41. end
Last edited by Baertram : 07/24/22 at 01:55 PM.
Report comment to moderator  
Reply With Quote
Unread 07/25/22, 12:34 PM  
choekstr
 
choekstr's Avatar

Forum posts: 14
File comments: 391
Uploads: 0
This worked brilliantly. I am very happy you were able to dig in and understand what needed to be done to order properly.



Baertram,

You are the hero we needed an our whole guild who uses this addon 3 times a week for our Telvar farming runs and we all thank you deeply. Very much respect for all you do for the ESO modding community over the years and the countless number of addons you have adopted or help keep running.



Originally Posted by Baertram
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: