Download
(4 Kb)
Download
Updated: 01/09/22 06:31 PM
Compatibility:
Deadlands (7.2.5)
Updated:01/09/22 06:31 PM
Created:12/11/21 10:42 AM
Monthly downloads:1,067
Total downloads:40,298
Favorites:5
MD5:
LibPOI  Popular! (More than 5000 hits)
Version: 1.02
by: olegbl [More]
LibPOI

https://github.com/olegbl/eso-mods/tree/main/LibPOI

Description

Given a zoneIndex and a poiIndex, can convert a POI map pin into a category name, a description and a completion status. The description additionally provides information about Mundus Stone and Crafting Station POIs.

API

Code:
local poiCategories = LibPOI:GetPOICategories()
local poiCategory = LibPOI:GetPOICategory(zoneIndex, poiIndex)
local isComplete = LibPOI:IsComplete(zoneIndex, poiIndex)
local description = LibPOI:GetDescription(zoneIndex, poiIndex)

poiCategory.id
poiCategory.categoryName
poiCategory.completeIcons[1]
poiCategory.incompleteIcons[1]
Support

This addon is provided as is, without warranty or support of any kind, express or implied.
1.02
  • [LibPOI] Split out The Harborage into a separate POI category
Optional Files (0)


Archived Files (1)
File Name
Version
Size
Uploader
Date
1.01
4kB
12/11/21 10:42 AM


Post A Reply Comment Options
Unread 05/23/23, 04:58 AM  
TybaltKaine

Forum posts: 0
File comments: 5
Uploads: 0
Just wanted to post a shot of what LibPOI is returning in the chat window when I enter Imperial City.



It looks like it is flagging the same batch of poi icons over and over again, as they repeat.

[LibPOI] Warning unknown POI type "/esoui/art/icons/poi/poi_ic_boneshard_complete.dds"

[LibPOI] Warning unknown POI type "/esoui/art/icons/poi/poi_ic_darkether_complete.dds"

[LibPOI] Warning unknown POI type "/esoui/art/icons/poi/poi_ic_tinyclaw_complete.dds"

[LibPOI] Warning unknown POI type "/esoui/art/icons/poi/poi_ic_monstrousteeth_complete.dds"

[LibPOI] Warning unknown POI type "/esoui/art/icons/poi/poi_ic_marklegion_complete.dds"

[LibPOI] Warning unknown POI type "/esoui/art/icons/poi/poi_ic_planararmorscraps_complete.dds"

These warnings repeat 4 or 5 times over before anything else registers and are constantly popping up as long as I'm in Imperial City. Changing instances doesn't stop it (from CP to No CP for example) nor does reloading the UI.

Just wanted to bring it to your attention.

Crosspost on https://forums.elderscrollsonline.co...-city/p1?new=1
Report comment to moderator  
Reply With Quote
Unread 12/11/21, 02:13 PM  
DohNotAgain

Forum posts: 1
File comments: 110
Uploads: 0
I really appreciate your comments like this, Baertram.
You show a desire to keep things running smoothly and interoperable.
This is a great thing.
As well, you are teaching others.

I am not a LUA programmer and truly appreciate your dedication.
Maybe one day I will take the dive into LUA......some day.
I am already a cave troll.
Starting LUA programming would turn me into a vampire troll who never sees daylight.
Report comment to moderator  
Reply With Quote
Unread 12/11/21, 11:13 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4913
File comments: 5990
Uploads: 78
Thanks for the lib. Your APIVersion is outdated by 2 versions: ## APIVersion: 100035

Should be: ## APIVersion: 101032

-> https://wiki.esoui.com/APIVersion

And you should not use the : notation for your code if the variables are no real objects created via ZO_Object!
LibPOI = {} is no object, but just a table.
So use LibPOI. instead of LibPOI: to define functions and call the functions. Else maybe using "self" will trouble your code and the parameters of the function calls.
And you'll definately run in trouble some day if ZOs changes the handling of : notation to always rely on objects created via ZO_Object:SubClass() from ZO_* "classes".


Another hint/idea:
Do not use "text keys" if there exist constants of the game to be used, e.g. here
Code:
MUNDUS_STONE_DESCRIPTIONS = {
  ["The Apprentice"] =
It's not rename save, and does not support multi language.
Use the constants provided by the game instead, and if there are no constants, maybe defne your own ones as numbers like:
Lua Code:
  1. LibPOI.constants = {}
  2. local constants = LibPOI.constants
  3. constants.POI_MUNDUS_APPRENTICE = 1
  4. constants.POI_MUNDUS_THIEF = 2
  5. ...

The same for the redundant usage of Strings like "The Lover" etc.
As you repeat the same names multiple times -> If you want to add multi language support (which would be appreciated) you should define a constant for it as well and simply create a lookup table for the translation then.
Also good to provide API functions to get the name of a mundus in another language e.g.

Here is some info about multi language support:
https://wiki.esoui.com/How_to_add_localization_support
Last edited by Baertram : 12/11/21 at 11:32 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: