Thread Tools Display Modes
05/01/21, 10:34 AM   #1
IsJustaGhost
AddOn Author - Click to view addons
Join Date: May 2020
Posts: 37
[rejected] Add ability to query in-game event information

I'm working on an addon that helps the user save event tickets. But it really needs access to the functions in MarketAnnouncement_Manager:PopulateEventAnnouncements().

Lua Code:
  1. GetNumEventAnnouncements()
  2. GetEventAnnouncementNameByIndex(i)
  3. GetEventAnnouncementDescriptionByIndex(i)
  4. GetEventAnnouncementIngameTileImageByIndex(i)
  5. GetEventAnnouncementStartTimeByIndex(i)
  6. GetEventAnnouncementRemainingTimeByIndex(i)
  7. GetEventAnnouncementIngameTileMarketProductIdByIndex(i)

Currently I am using a list I created. I will need to update the list for when each event runs in order for the dates to be correct. Cannot really predict when the years events are going to run. And then update it for any changes, like this years Anniversary Jubilee's over-run.

Last edited by IsJustaGhost : 05/01/21 at 01:46 PM.
  Reply With Quote
07/23/21, 11:11 AM   #2
IsJustaGhost
AddOn Author - Click to view addons
Join Date: May 2020
Posts: 37
The intent here is to be able to enable/disable addon functions that are only needed while an event is running.
An event ID would be nice. Something that would allow the use of a comparator to determine what type of awards are available. Personally, I need it for enabling specific functions depending on whether the event tickets are awarded by quest, loot, or item.

Just an example.
Lua Code:
  1. local LOOT_TYPE_CAKE = 3
  2. local function getEventLoopType(eventType)
  3.      local gameEventId = ZO_GetCurrentEvent():GetId() -- just a suggested function as an idea
  4.      return someTableOfData[gameEventId ] == eventType
  5. end
  6.  
  7. ZO_PreHook(RETICLE, "TryHandlingInteraction", function(self, interactionPossible, currentFrameTimeSeconds)
  8.      if getEventLoopType(LOOT_TYPE_CAKE ) then
  9.           -- do all the stuff
  10.           return true
  11.      else
  12.           return false
  13.      end
  14. end)
Currently my addon is stuck with using a prediction table. Not accurate at all. I try to have it over-run based on the dates I have found for past events. But. it does not need Event Ticket reminders when there is not even an Impresario out in the world.

If there is another way of doing this, that is ZOS code, please suggest that.

Last edited by IsJustaGhost : 08/23/21 at 06:50 PM.
  Reply With Quote
08/24/21, 04:35 PM   #3
IsJustaGhost
AddOn Author - Click to view addons
Join Date: May 2020
Posts: 37
Another event to add to my prediction tables. Is the Year One event going to be recurring, or will I need to remove it for next year?

Since there has not even been any comments/questions regarding my request, I'll link the addon in which these functions would be greatly useful for in case that would be helpful.
https://www.esoui.com/downloads/info...cketSaver.html
  Reply With Quote
12/25/21, 02:57 AM   #4
tim99
 
tim99's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2017
Posts: 22
Support this. It's an essential feature that is needed for any addon that deals with in-game events.

You don't have to give the date/time if for some unknown reason you don't want to (before it's actually started i mean). Just an "isEventOngoing" yes / no and maybe the type of event which is nil / null if none is active.


It's kinda strange it never came up before?
  Reply With Quote
03/15/22, 03:19 AM   #5
Kelinmiriel
AddOn Author - Click to view addons
Join Date: May 2017
Posts: 4
I'd like to add my request to this. Please.

Also, why did it not come up before? I would've been the first to ask for it, since mine was the first addon to try to help people not miss out on Event Tickets, but I didn't think it would be likely for ZOS to add information for just ME - since there were no other addons doing what mine did at the time. (I checked - and that's the reason I started learning Lua to write Event Tracker. Because there wasn't anything else out there to do what it did.)

Now that there are a number of addons that would benefit from such information, it's definitely worth asking about. Thank you.

(Event Tracker - since Nov. 2019)
  Reply With Quote
02/04/23, 10:51 AM   #6
Masteroshi430
 
Masteroshi430's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2020
Posts: 171
I'm asking for it too, I would definitely use the info in my Vestige's Epic Quest add-on.
  Reply With Quote
04/07/23, 11:29 AM   #7
IsJustaGhost
AddOn Author - Click to view addons
Join Date: May 2020
Posts: 37
We need this now more than ever.

Please give us a way to identify current market events.
We need to be able to differentiate between multiple events.
For example: how the Jester Festival turned into the Anniversary Jubilee.

Being able to identify what event is running will allow us to:
not have to post an update to our addons every event change,
can run event dependent functions dynamically,
reduce the amount of stress and frustration we suffer from trying to keep up with constant changes that cannot be dynamically handled that should be.
  Reply With Quote
04/07/23, 03:15 PM   #8
otac0n
AddOn Author - Click to view addons
Join Date: May 2022
Posts: 3
I would also love this feature, in order to detect potential times of high-price-fluctuation.
  Reply With Quote
04/08/23, 05:02 AM   #9
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,690
Did you guys think about 1 library where you define the events, where your addons just read it from?
All of you could collaborate and create one, and define one function like LibIngameEvents.IsEventActive() etc.

Would ease the updates as only the lib needs to be updated and all relating adfons would work the moment it was updated.

As you can see ZOs did not provide any api since years, so I would not expect this to happen soon.
Maybe there exist technical restrictions which prevent these kind of API functions too.

So think about this and work together maybe?
  Reply With Quote
04/09/23, 02:30 AM   #10
otac0n
AddOn Author - Click to view addons
Join Date: May 2022
Posts: 3
Nobody wants to be on-call for updating event dates.
Would be great if minion supported community authored files. That way it wasn't on one mod author to keep a certain document up to date.
  Reply With Quote
04/09/23, 05:12 AM   #11
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,690
But you see it needs to be done, for years, in several addons, cuz there actually is no Api available.
So creating one lib for that to update,which can be done by a team (I'm not sure what Minion got to do with it though? You meant esoui? Esoui provides teams at addons already so you guys could collaborate at 1 lib or several addons already?) and the effort is less for all in the end: 1 Lib update all addons based on the lib update automatically as the lib provides what you need: Is an event active, if so which, and how long?

I know this is not what you are asking for but for the moment it's, imho, the method with the less effort for all of you? Unless I'm not seeing something that you guys know about those events and the coding you need to check.

Edit:
Understood now what you meant with the community files at minion. I'd say Github is a good alternative and ppl can post their updates at the addon comments if they want to help. Works well.
Implementing such into Minion would be a tough work and I doubt someone wants to open that door.

Last edited by Baertram : 04/09/23 at 05:54 AM.
  Reply With Quote
04/12/23, 04:10 PM   #12
IsJustaGhost
AddOn Author - Click to view addons
Join Date: May 2020
Posts: 37
Originally Posted by Baertram View Post
Did you guys think about 1 library where you define the events, where your addons just read it from?
All of you could collaborate and create one, and define one function like LibIngameEvents.IsEventActive() etc.
This would be a major headache to attempt to keep updated. Events change, not only yearly, on the fly sometimes. Example: an issue arises during an event so zos extends it for 3 days.
There are only 4 events that are detectible in game. Witch's, Jester's, Anniversary, Mayhem, are the only events with map pins that are only visible when active.

Ticket awarding events can be detected by checking the visibility of the Impresario on a specific map zone.
But, what about addons that want to know if an event is running that does not award tickets?

My addon used a "prediction table". A table I had to update for dates whenever they changed. Recently I went for a dynamic method. However, the changing of events back to back sort of broke that idea. It used the Impresario visibility changing from visible to hidden to know an event ended. So, when the Jester Festival turned into the Anniversary it didn't update what functions are needed to run for the cake.
  Reply With Quote
04/12/23, 04:13 PM   #13
IsJustaGhost
AddOn Author - Click to view addons
Join Date: May 2020
Posts: 37
Could you imagine being able to keep track of your collectible fragments for the year's events in a simple window? An addon could do stuff like that dynamically with information in the locked API.
  Reply With Quote
04/12/23, 04:19 PM   #14
IsJustaGhost
AddOn Author - Click to view addons
Join Date: May 2020
Posts: 37
I guess I could just have all my functions running all the times. And, only have the fragment and, the timer on the Jubilee cake, show when the Impresario is visible. But, that would mean a lot of unnecessary intercepting loops in loot, quests interactions, and reticle targets would be happening.

Also, I don't use the specific year's cake to check to see if I'm looking at the cake. I use the name of an old one. Cut the year off and replace it with the current year. :gsub('[%d]+', '<<1>>'), year), so I do not have to wait until I can manually get the cake's Id before updating the addon for the current event after it had started.

Why does the cake matter? It's the reason I made this addon in the first place. I disable being to interact with the cake if the amount of tickets exceed 12 if one has not already received tickets for this reset period. Otherwise, it would prevent receiving the buff later on until the user spent some tickets.

Last edited by IsJustaGhost : 04/12/23 at 04:29 PM.
  Reply With Quote
04/12/23, 04:35 PM   #15
IsJustaGhost
AddOn Author - Click to view addons
Join Date: May 2020
Posts: 37
Originally Posted by otac0n View Post
Nobody wants to be on-call for updating event dates.
Would be great if minion supported community authored files. That way it wasn't on one mod author to keep a certain document up to date.
This is one thing I was thinking about a while back. A community library project. A single lib containing commonly used modifications.
It was this idea i had when I was working on a method to un/register hooks.

Also, Github.
  Reply With Quote
04/12/23, 06:04 PM   #16
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,690
Originally Posted by IsJustaGhost View Post
This would be a major headache to attempt to keep updated. Events change, not only yearly, on the fly sometimes. Example: an issue arises during an event so zos extends it for 3 days.
Yeah but what is the difference to what you actually do NOW then? You do the very same in x addons, manually!
And as there does not seem to be any API available in near time which will help you, you can help at least each other:
With 1 lib it's only 1 update, no x addon updates each event.

You all work as a team on the same information, and anyone who finds the time updates the library once and all of your addons will work again afterwards, and do not need any update for the addon itsself if the lib is preparing and keeping all needed time, dates and data + it'sown APi functions for the addons to use.
  Reply With Quote
05/08/23, 02:48 PM   #17
Gamer1986PAN
AddOn Author - Click to view addons
Join Date: Sep 2015
Posts: 85
An idea could be to check the Crown-Store for specific Event-Quest-Starters, since they stay in the shop for as long as the event is running. Also if there are tickets for crowns available there is an event ongoing as far as i know.
  Reply With Quote
05/08/23, 03:26 PM   #18
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,690
afaik Crown store data cannot be read via addons, and I'm pretty sure access to crown store data is permitted.
Same like chat is disabled as you curently are in the crown store.
  Reply With Quote
05/09/23, 03:49 PM   #19
ZOS_DanBatson
ZOS Staff!
 
ZOS_DanBatson's Avatar
Yes this person is from ZeniMax!
Join Date: Jul 2015
Posts: 166
I asked for permission to make this information available via an API and I was denied. I'm sorry, but I can't help you with this, unfortunately.
  Reply With Quote
05/10/23, 01:02 AM   #20
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,690
Thanks for trying Dan, sad to read there won't be anything.
  Reply With Quote

ESOUI » Developer Discussions » Wish List » [rejected] Add ability to query in-game event information

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off