Thread Tools Display Modes
06/08/20, 05:22 AM   #1
AphexTwin
Join Date: Jun 2018
Posts: 3
Question Location Search

Hi all,

I often find myself in the situation that I have to find a certain location in Tamriel (on the map) but have no idea where it is exactly.

Example: I see on the TTC website that an item is offered at a merchant: "Alik'r Desert: Morwha's Bounty" or "Malabal Tor: Baandari Tradepost".
I then spend some time trying to find the appropriate place on the map, especially if it is not the main city of the zone.

This also happens when I want to travel manually to group dungeons. What zone was City of Ashes in again? Where is Vaults of Madness?

Also popular:
- Where is the Mundus Stone "X"?
- Where is the crafting station for the set "X"?

So:

is there an addon (which I didn't find in the Addon-DB and in the forum) which does the following:

- Adds a search box to the map (M)
- Lets you search for locations or the location of various things globally
----- Cities
----- Settlements
----- Caves, Ruins and Mines
----- Dungeons (puplic and group)
----- Trials
----- Mundus Stones
----- Group Bosses & Dolmens
----- Craftable sets
----- NPCs
----- PoI's
----- and essentially everything else that is available in location-based information
- Option to exclude zones / subzones from the search (exclude cyrodiil, exclude findings in dungeons e.g NPCs)
- Search results display the zone, subzones (city, house, Outlaw Refuge, dungeon etc.)
- Click on the search results to jump directly to the corresponding location on the map
- Possibility to automatically set a waypoint at the corresponding location
- Possibility to jump directly to the next way shrine near the location
- Bookmark locations

I noticed "Arch's Enhanced Map" does at least have a search for crafted sets, which is nice but only a small part of which I need.

Maybe someone knows if such an addon exists.

If they do not exist, I would be grateful for the following rough estimate:

- General feasibility of the addon: feasible or not?
- Effort estimated:
--- What percentage of the data can be dynamically retrieved via the Game API,
--- how many from other libraries (e.g. crafting stations)
--- what percentage of the data must be statically stored in own libraries
- General effort for search function, UI, additional functions

Maybe some of you as veteran addon programmers can answer this quickly and either motivate me to develop such an addon myself or to reject the idea.

Thanks anyway!

AphexTwin
  Reply With Quote
06/08/20, 06:32 AM   #2
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
Nope, does not exist as there is no api available to search for these info and you'd need to build huge zone lookup tables manually to achieve a possible way to be able to search for this.
You could use havens custom map pins addon to mark the special locations on the map for you e. G. But it also does not provide a search for it as this is not possible without having to see the actual map, scan all map pins, then search their descriptions and focus on them somehow. Wouldn't work from tamriel or any more higher map e. G. As the mappings are not shown in these maps, only on the zone or even subzone (city) maps and you cannot just see all data without actually open these zone maps first.
  Reply With Quote
06/08/20, 07:15 AM   #3
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,567
I've actually played with the thought of making something like that in the past, but in the end decided against it because as Baertram has outlined, it would take a lot of effort to keep it running due to the lack of appropriate APIs.
You can likely fetch most data programmatically from somewhere one way or another, but that would be something you'd have to do on the author end and include in the addon code for users since it takes some manual steps (visit a crafting station to get its set data) or is too slow to do on the fly (e.g. switching maps to fetch all POIs). And this would have to be repeated for each language you want to support, which makes it even more time consuming.

That said, there are already addons that have data for certain things which you could build on top off, so you only have to focus on the search part.
e.g. AwesomeGuildStore has the guild trader locations (when the trader list feature is on), Crafting Stations knows which set can be crafted where, etc.
I guess it would be quite difficult and kind of quick to break if you tried to read their data from your end, so maybe instead you should focus on making a good and popular search box addon which only has some basic data (e.g. POIs of the current map) and offers an api for other addons to provide additional data to it? Other authors then just have to plug their addon's data into yours and it would grow with what the user has installed.
  Reply With Quote
06/08/20, 07:59 AM   #4
AphexTwin
Join Date: Jun 2018
Posts: 3
Hi Baertram and sirinsidiator,

thank you so far for your insights.

Building the DB should not be that difficult, as far as I could find out through my research, especially for simple things like general locations.

For a simple addon you can basically just make the maps and zone constants searchable, the same ones that are used in your (Baertram) LibSets library.
https://wiki.esoui.com/Zones
https://github.com/Baertram/LibSets

This should also be possible for other data from other AddOn, especially if they create/use Map Pins and also LibGPS.

Arch did it that way with his /findset function:
zo_callLater(function() ZO_WorldMap_SetMapByIndex(itemSetData[4]) zo_callLater(function() gps:PanToMapPosition(gps:GlobalToLocal(itemSetData[1], itemSetData[2]) end, 1000) end, 1000)

So this should be transferable to other things as well and for the beginning it should work without or with very few static (own) data.

Or have I understood something wrong?

Last edited by AphexTwin : 06/08/20 at 08:04 AM.
  Reply With Quote
06/08/20, 09:06 AM   #5
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,567
Originally Posted by AphexTwin View Post
Building the DB should not be that difficult, as far as I could find out through my research, especially for simple things like general locations.

For a simple addon you can basically just make the maps and zone constants searchable, the same ones that are used in your (Baertram) LibSets library.
https://wiki.esoui.com/Zones
Building the DB is the most difficult part of it all. Just iterating over maps and zones won't give you the necessary data to actually show them.

Originally Posted by AphexTwin View Post
This should also be possible for other data from other AddOn, especially if they create/use Map Pins and also LibGPS.
That's what I meant you should try to avoid doing (unless it's a library like LibSets). You should only rely on data which is provided via an interface as you never know when an addon changes its internals and breaks whatever you are doing to get data from it.
And in case you think about copying the necessary data into your own addon you should also ask the author's permission first. But even then you would still have to keep up with new data being added which can turn into quite a lot of work.

Originally Posted by AphexTwin View Post
So this should be transferable to other things as well and for the beginning it should work without or with very few static (own) data.

Or have I understood something wrong?
If it was me making this, I'd go only for things that are really easy to do (fetch data on the current map, or use data provided by libraries) and provide an api so other addons can extend the available data.
  Reply With Quote
06/08/20, 01:41 PM   #6
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
If there is anything one can get by help of the Api without much work, or one could add as fixed tables of info about zones (like map data of the zones for search possibilities), tell me and one could integrate it into LibZones.
But I'm not going to maintain and manually search/collect data for it in the future so if you want to include it you need to do this
  Reply With Quote
06/09/20, 02:51 PM   #7
AphexTwin
Join Date: Jun 2018
Posts: 3
I will check if I get the coordinates from somewhere else (esomap.uesp.net maybe?) or how much effort it would be to manually tag the ingame coordinates of capitals, settlements, shrines, dungeons etc.
Or if there is a possibility to let users collect data via an addon (as far as I know Quest Map or LibQuestInfo works like this).
  Reply With Quote
06/10/20, 03:48 AM   #8
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
Yes but the quests etc. provide events that fire or at least something like a chatter begin or quest step or end event where you can check if it is a quest.
Just visiting the cities will not collect any data as the zoneIds might not even change, just texture names on the map.
So you'd need something reliable like event_crafting_interact, event_bank_opened etc. to check that you are at a crafting table or at a bank (and here you'd need to strip those which are your personal assistant bank calls which is not detectable via API functions afaik in the same event).

SSomethign would be needed to "trigger" your collection of data and this is, what in my opinion, would make it need a lot of code and "circumstances" to know and remember about, to track all the data properly.

Or maybe you could track the OnMouseEnter handler of the map pins, somehow get the coordinates of the pin as this happens. Then you'd only need to collec the pins you need by moving the mouse over it.
Or sirinsidiator knows a way maybe how to loop over all pins on the current map (or city's map) and track information from it. But even here: Maybe the coordinates and names of that pin are not exposed properly and you cannot read it from the Pin's manager/ZO_WorldMap or ZO_WorldMapContainer ...
  Reply With Quote

ESOUI » AddOns » AddOn Search/Requests » Location Search

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