|
08/02/16, 11:49 AM | #1 |
|
A plea to ZOS
Dear ZOS API devs,
I'd love to be able to code my addon so that if I take a break for 6 months, it keeps working as new zones are added. Please give us a way to query the zones accessible to a player. Currently I hardcode some zone ids, which makes extra work when new zones are added because I need to update my addon when new content is added to keep it working. Currently we can halfway achieve this with GetNumZonesForDifficultyLevel and GetCadwellZoneInfo However, DLC zones aren't included, so must be hard coded. The beginner zones are not included, either. I don't so much mind hardcoding those because they are unlikely to change. Hopefully I'm overlooking something and one of the experienced addon authors will tell me "Just do it this way, stupid!" but if not, please consider my request. Thank you. Signed: An addon dev with not enough free time who could really use a way to query a list of zones available/accessible to a character |
08/02/16, 12:44 PM | #2 |
There's a guy which add things in wiki.
http://wiki.esoui.com/Maps http://wiki.esoui.com/Zones I could help. |
|
08/02/16, 02:00 PM | #3 |
There are the functions:
* GetZoneIndex(*integer* _zoneId_) ** _Returns:_ *luaindex* _zoneIndex_ * GetZoneId(*luaindex* _zoneIndex_) ** _Returns:_ *integer* _zoneId_ * GetZoneNameByIndex(*luaindex* _zoneIndex_) ** _Returns:_ *string* _zoneName_ * GetUnitZoneIndex(*string* _unitTag_) ** _Returns:_ *luaindex:nilable* _zoneIndex_ for example: local zoneId = GetZoneId(GetUnitZoneIndex("player")) zoneId is promised to be more stable than zoneIndex. |
|
08/02/16, 01:56 PM | #4 |
Can you give me an example of the API function you'd like to see added?
|
|
08/02/16, 02:15 PM | #5 |
and a mapping between ZoneId/Index and MapId/Index would also be great
|
|
08/03/16, 10:05 AM | #6 |
|
After thinking about it some more, I'm modifying my request =P
Example: One of my guildmates is in a zone which has zoneid 1234 If I can't access (fast travel to) that zone for whatever reason, I want to filter this guildmate from my list of possible fast travel destinations. A function like: isZoneUnlocked(zoneid) or something similar which returns a boolean would do everything I need. The TLDR: Currently I make a list of major accessible zones and filter what my addon displays based on that list. But creating the list is problematic without hardcoding. If I had a function such as the one above, I wouldn't need to make a list at all. Well technically I guess it's a dictionary. But you get the point. In case someone did need to create a list of zones, (and assuming there aren't gaps in zoneids), then at least a function like getMaxZoneId() would be helpful. |
08/03/16, 10:38 AM | #7 | |
You have
GetUnitAlliance() , GetGuildMemberCharacterInfo() , GetFriendCharacterInfo() to known alliance Then : GetCadwellProgressionLevel() for base zones Then for DLC :
Last edited by Ayantir : 08/03/16 at 10:43 AM. |
||
08/12/16, 05:38 PM | #8 |
|
|
08/12/16, 06:32 PM | #9 |
Lua Code:
PS: You should not use zoneIndex as they move at each DLC, but zoneId. You have few functions to get zoneId from zoneIndex and viceversa. (generally 2/3 index of public playable zones are moved) Last edited by Ayantir : 08/12/16 at 06:57 PM. |
|
08/19/16, 12:16 PM | #10 |
|
I was playing around with this today, and I find that GetZoneIndex returns "1" for
Gold Coast (zoneid 518) Hew's Bane (zoneid 512) Craglorn (zoneid 352) Khenarthi's Roost (zoneid 293) and quite a few others actually. For some zones, it returns a number like you'd expect. I'm calling bug. Last edited by kerb9729 : 08/19/16 at 12:19 PM. Reason: clarification |
09/03/16, 07:22 AM | #11 | |
If the zoneId don't have a zoneIndex, it returns 1. You have the complete list of zoneId on http://wiki.esoui.com/Zones now. zoneId which exists without zoneIndex link are listed as ID_WITHOUT_INDEX. PS: I've added the #1 but in fact, it should not, it's the dummy value. Lua Code:
Last edited by Ayantir : 09/03/16 at 07:25 AM. |
||
10/06/16, 01:01 PM | #12 |
|
Thanks for this Ayantir!
|
ESOUI » Developer Discussions » General Authoring Discussion » A plea to ZOS |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Switch to Linear Mode |
Hybrid Mode |
Switch to Threaded Mode |
|
|