Download
(4 Kb)
Download
Updated: 10/01/21 09:52 AM
Pictures
File Info
Compatibility:
Deadlands (7.2.5)
Greymoor (6.0.5)
Updated:10/01/21 09:52 AM
Created:04/09/14 06:55 PM
Monthly downloads:20,367
Total downloads:2,635,218
Favorites:1,909
MD5:
CustomCompassPins  Popular! (More than 5000 hits)
Version: 1.32
by: Shinni, Garkin
This Library allows addons to add custom pins to the compass.

How to use:

First you have to add the pinType:
Lua Code:
  1. COMPASS_PINS:AddCustomPin( pinType, pinCallback, layout )
pinType is a unique string eg "MySkyshards"
pinCallback is a callback function which receives a pinManager (more further below)
layout is a table which specifies texture and other settings for the pins of this pinType

The callback function
The callback function is called everytime, the compass is refreshed.
This function creates the pins via the given pinManager (first and only parameter).
example:
Lua Code:
  1. function( pinManager )
  2.     for _, pin in pairs( pins ) do
  3.         pinManager:CreatePin( pinType, pinTag, pin.x, pin.y )
  4.     end
  5. end
The pinManager has only one method: CreatePin( pinType, pinTag, xLoc, yLoc )
pinType the pinType the created pin belongs to
pinTag an unique identifier for the pin. You can pass additional attributes to the pin via the pinTag, which can later be used (see layout for more information).
xLoc, yLoc position of the pin in normalized map coordinates. (0,0 = topleft, 1,1 = bottomright)


The layout table
The layout table must have the following keys:
maxDistance the maximal distance (in normalized map units) for the pin to be visible (it will slowly fade out, when the pin gets close to the maxDistance)
texture the filepath to the texture

optional keys:
FOV the field of view in radians. eg 2pi will result in the pin being always visible, pi means the pin is visible as long it is not behind the player.
sizeCallback a function which receives the pin, the angle between the player and the pin, the normalized angle (-1 = left border of the compass, 1 = right border of the compass, 0 = center of the compass), normalizedDistance (0 = same position as player, 1 = pin is at maxDistance)
This function can modify the size of the pin via pin:SetDimension(width, height)
If no function is given, the pin has a size of 32x32 and will become smaller if abs(normalizedAngle) > 0.25
additionalLayout another table with 2 components, each one needs to be a function.
The first one receives the same parameters as the sizeCallback function. It can be used to implement additional visual effects. eg: you could do something like pin:SetColor(1,0,0,1) to make the pin red.
The second function receives only a pin as parameter. As the pins are pooled (saved to be used again), the additional modifications of the pin need to be cleared again. So in the previous example this function should call pin:SetColor(1,1,1,1) to make the pin white again.

The pin object
a pin has the following attributes:
pin.xLoc x coordinate
pin.yLoc y coordinate
pin.pinType the pinType
pin.pinTag the pinTag
As the pin is the first given parameter in the layout callback functions, you can pass any data to these functions via the pinTag (eg an alternate texture that is different from the one specified in the layout table)

important functions
pin:SetAlpha(value) 1 = pin is opaque, 0 = pin is transparent. Usefull for fadeout effects.
pin:SetHidden(bool) if bool is true, the pin is invisible
pin:SetDimensions(width, height) sets the width and height of the pin (usefull if you want to implement your own a zoom effect near the border or something like that)
pin:SetColor(r, g, b, a) changes the pins color. you can create some kind of highlighting effect with this.
pin:GetNamedChild( "Background" ) returns the texture control.
v 1.32
- fixed lua error that occurs on deadlands PTS

v 1.31
- added name tags for Scootworks

v 1.30
- updated api version and added IsLibrary tag

v 1.29
- updated api version for those that use the lib as standalone

v 1.29 (Shinni)
- adding multiple pins with the same pinTag doesn't result in stuck pins anymore

v 1.28.1 (Shinni)
- changed how pins are indexed, individual pins can now be deleted and accessed directly
- removed a buggy background texture that would display behind the pin's real texture
- updated API version

v1.26 (Garkin)
- updated API version
- minor changes in callbacks

v1.25 (Garkin)
- changed timing of WorldMap update, so shuttering when map is closed should be less noticeable

v1.24 (Garkin)
- update from version 1.21 now should work correctly

v1.23 (Garkin)
- fixed bug introduced in 1.22, map should be updated correctly now

v1.22 (Garkin)
- fixed bug where library could have loaded pins for different map

v1.21 (Garkin)
- changed way to detect map change, it should be more efficient
- :AddCustomPin method now checks if arguments are valid
- callback has now just one argument mapName (eg. "auridon/auridon_base"):
CALLBACK_MANAGER:RegisterCallback("CustomCompassPins_MapChanged", function(mapName) end)

v1.20 (Garkin)
- updated APIversion to 100004
- changed GetDistanceCoefficient function
- changed update frequence from 10ms to 20ms.
- added callback "CustomCompassPins_MapChanged". To register for callback use:
CALLBACK_MANAGER:RegisterCallback("CustomCompassPins_MapChanged", function(zone, subzone) end)

v1.19 (Garkin)
- fixed issue with invalid map size

v1.18 (Garkin)
- another fix for refreshing pins and distance coefficient

v1.17 (Garkin)
- fixed bug with refreshing pins

v1.16 (Garkin)
- different method to detect map change, previous didn't work when player had no quests.

v1.15 (Garkin)
- fixed possible issue with distance coefficient
- added addon manifest (.txt)
- added delay to update function

v1.14 (Garkin)
- compass distance is now scaled with the mapsize (approximate)

v1.13
- when creating and removing a lot of pins the pinTypes could mix up, resulting in incompabilities of different addons

v1.12
- only create controls when needed

v1.11
- fixed an error where one addon could accidentally delete the pins of other addons.

v1.1
- released
Optional Files (0)


Archived Files (19)
File Name
Version
Size
Uploader
Date
1.31
4kB
Shinni
05/25/20 11:47 AM
1.30
4kB
Shinni
03/26/20 12:18 PM
1.29
4kB
Shinni
10/23/18 05:15 PM
1.29
4kB
Shinni
03/23/16 11:05 AM
1.28.1
4kB
Shinni
03/10/16 12:18 PM
1.26
4kB
Garkin
06/25/14 07:39 AM
1.25
4kB
Garkin
06/12/14 04:42 AM
1.24
4kB
Garkin
06/07/14 08:15 AM
1.23
4kB
Garkin
06/07/14 07:17 AM
1.20
3kB
Garkin
05/29/14 06:16 PM
1.19
3kB
Garkin
05/14/14 05:11 PM
1.18
3kB
Garkin
05/13/14 09:31 PM
1.17
3kB
Garkin
05/11/14 05:50 AM
1.16
3kB
Garkin
05/09/14 07:04 AM
1.15
3kB
Garkin
05/07/14 08:09 PM
1.14
3kB
Shinni
04/26/14 02:58 PM
1.13
3kB
Shinni
04/26/14 02:31 PM
1.13
2kB
Shinni
04/09/14 08:27 PM
1.1
2kB
Shinni
04/09/14 06:55 PM


Post A Reply Comment Options
Unread 07/23/22, 04:48 PM  
trollusk
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 12
Uploads: 2
I'm creating an addon that puts pins on the compass for group members and some town services (stables and banks). The pins themselves work ok but I cannot get the sizeCallback or additionalLayout callback functions to work, which means I can't change the size or colour of the pins. I always get the error "function expected instead of nil" from inside the callback functions if I try to call any method on the pin argument. Using debug messages, it seems that the 'pin' userdata object passed to these functions has no methods (ie pin.SetColor == nil where it should be a function).

However I've looked at the source for Skyshards, and I can't see what I'm doing differently, since that addon obviously works. Can anyone see what I'm doing wrong?


Code:
local COLOR_WHITE = ZO_ColorDef:New("#ffffff")
local COLOR_MINT_GREEN = ZO_ColorDef:New("c8ffd2")
local COLOR_GOLD = ZO_ColorDef:New("#ffcc66")
local COLOR_TAN = ZO_ColorDef:New("#f9d286")
local COLOR_LAVENDER = ZO_ColorDef:New("#f9e6ff")

function XCP.Initialize()
    XCP.settings = ZO_SavedVars:NewAccountWide("ExtraCompassPins_SV", 1, nil, XCP.defaultSettings)
    XCP.SetupSettings()   -- LibAddonMenu stuff

    AddColouredPin("XCP.stable", 0.1, "esoui/art/icons/servicemappins/servicepin_stable.dds", COLOR_TAN)
    AddColouredPin("XCP.bank", 0.1, "esoui/art/icons/servicemappins/servicepin_bank.dds", COLOR_GOLD)
    AddColouredPin("XCP.refuge", 0.1, "esoui/art/icons/servicemappins/servicepin_fence.dds")
    AddColouredPin("groupmember", 1.0, "esoui/art/compass/groupleader.dds", COLOR_LAVENDER)
    AddColouredPin("groupleader", 1.0, "esoui/art/compass/groupleader.dds", COLOR_GOLD)
end

function AddColouredPin(pintype, maxDist, texture, colour)
  COMPASS_PINS:AddCustomPin(pintype, function() XCP.pinCallback() end, 
    { 
      maxDistance = maxDist, 
      texture = texture,
      sizeCallback = function(pin, angle, normAngle, normDistance) 
            if normDistance < 0.05 then
                -- baseline icon size is 32x32
                -- increase size when close to icon, up to double (64x64)
                dim = 32 + (32 * (0.05 - normDistance)/normDistance)
                pin:SetDimension(dim, dim)   -- error
            else
                pin:SetDimension(32, 32)   -- error
            end
        end,
      additionalLayout = {
            -- "decorator" function, called on each pin after it's created
            function (pin, angle, normAngle, normDistance)
                -- r,g,b,a
                if pin and colour then 
                    pin:SetColor(colour:UnpackRGBA())   -- error
                end
            end,
            -- cleanup function, must undo any special decoration such as colours
            function (pin)
                -- reset colour to white
                if pin and colour then 
                    pin:SetColor(COLOR_WHITE:UnpackRGBA())   -- error
                end
            end
      }})
end
Report comment to moderator  
Reply With Quote
Unread 11/30/21, 02:42 PM  
[email protected]

Forum posts: 0
File comments: 1
Uploads: 0
Re: What am I doing wrong?

Originally Posted by Glamdering
I'm not too tech savy when it comes to this stuff. From what I can tell Im updated to the newest version. Minion says Deadlands vs 1.32. I get this error that refuses to close and have to do a hard shutdown of the game. I've tried reinstaling the addon but nothing seems to work. Any suggestions on what I'm doing wrong?

bad argument #1 to 'pairs' (table/struct expected, got nil)
stack traceback:
[C]: in function 'pairs'
/EsoUI/Libraries/Utility/ZO_ObjectPool.lua:187: in function 'ZO_ObjectPool:ReleaseAllObjects'
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:231: in function 'CompassPinManager:RemovePins'
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:120: in function 'COMPASS_PINS:RefreshPins'
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:84: in function 'callback'
/EsoUI/Libraries/Utility/ZO_CallbackObject.lua:107: in function 'ZO_CallbackObjectMixin:FireCallbacks'
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:76: in function 'layoutCallback'
/EsoUI/Ingame/Map/WorldMap.lua:1478: in function 'ZO_WorldMapPins:RefreshCustomPins'
user:/AddOns/LibMapPins-1.0/LibMapPins-1.0.lua:372: in function 'lib:RefreshPins'
user:/AddOns/Destinations/Destinations.lua:1544: in function 'RedrawAllPins'
user:/AddOns/Destinations/Destinations.lua:1563: in function 'check_map_state'
user:/AddOns/Destinations/Destinations.lua:1581: in function 'on_zone_changed'

Thanks,
Glamdering

I had this same issue. Minion showed the addon was fully updated to 1.32, but when I checked the addons folder - it said I was still using 1.31. Download the add on from the main page and manually install it to your addons folder, choosing to overwrite the existing files. That should fix your problem, at least it did for me.
Report comment to moderator  
Reply With Quote
Unread 11/22/21, 07:48 AM  
Glamdering

Forum posts: 0
File comments: 1
Uploads: 0
What am I doing wrong?

I'm not too tech savy when it comes to this stuff. From what I can tell Im updated to the newest version. Minion says Deadlands vs 1.32. I get this error that refuses to close and have to do a hard shutdown of the game. I've tried reinstaling the addon but nothing seems to work. Any suggestions on what I'm doing wrong?

bad argument #1 to 'pairs' (table/struct expected, got nil)
stack traceback:
[C]: in function 'pairs'
/EsoUI/Libraries/Utility/ZO_ObjectPool.lua:187: in function 'ZO_ObjectPool:ReleaseAllObjects'
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:231: in function 'CompassPinManager:RemovePins'
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:120: in function 'COMPASS_PINS:RefreshPins'
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:84: in function 'callback'
/EsoUI/Libraries/Utility/ZO_CallbackObject.lua:107: in function 'ZO_CallbackObjectMixin:FireCallbacks'
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:76: in function 'layoutCallback'
/EsoUI/Ingame/Map/WorldMap.lua:1478: in function 'ZO_WorldMapPins:RefreshCustomPins'
user:/AddOns/LibMapPins-1.0/LibMapPins-1.0.lua:372: in function 'lib:RefreshPins'
user:/AddOns/Destinations/Destinations.lua:1544: in function 'RedrawAllPins'
user:/AddOns/Destinations/Destinations.lua:1563: in function 'check_map_state'
user:/AddOns/Destinations/Destinations.lua:1581: in function 'on_zone_changed'

Thanks,
Glamdering
Report comment to moderator  
Reply With Quote
Unread 11/10/21, 09:56 PM  
Shinni
AddOn Author - Click to view AddOns

Forum posts: 167
File comments: 550
Uploads: 22
Originally Posted by lcsmarsh
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:120: in function 'COMPASS_PINS:RefreshPins'
|caaaaaa<Locals> self = [table:2]{distanceCoefficient = 1.1532562594671, defaultFOV = 1.8849555921539, version = 1.31} </Locals>|r
You are not using the most recent version.
Make sure you installed the most recent version in the correct location. If Windows OneDrive is active, then the game will load the addons from
OneDrive\Documents\Elder Scrolls Online\live\AddOns folder instead of Documents\Elder Scrolls Online\live\AddOns
Last edited by Shinni : 11/10/21 at 10:00 PM.
Report comment to moderator  
Reply With Quote
Unread 11/10/21, 11:09 AM  
lcsmarsh

Forum posts: 0
File comments: 1
Uploads: 0
I keep getting a UI error with this addon turned on that I can't dismiss when I log into the game. The addon files are in the correct folder and I've confirmed the lua shows version 1.32. I've also reinstalled both the addon and the game and still get stuck. Any ideas?

bad argument #1 to 'pairs' (table/struct expected, got nil)
stack traceback:
[C]: in function 'pairs'
/EsoUI/Libraries/Utility/ZO_ObjectPool.lua:187: in function 'ZO_ObjectPool:ReleaseAllObjects'
|caaaaaa<Locals> self = [table:1]{defaultAngle = 1} </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:231: in function 'CompassPinManager:RemovePins'
|caaaaaa<Locals> self = [table:1] </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:120: in function 'COMPASS_PINS:RefreshPins'
|caaaaaa<Locals> self = [table:2]{distanceCoefficient = 1.1532562594671, defaultFOV = 1.8849555921539, version = 1.31} </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:84: in function 'callback'
|caaaaaa<Locals> currentMap = "shadowfen/shadowfen_base" </Locals>|r
/EsoUI/Libraries/Utility/ZO_CallbackObject.lua:107: in function 'ZO_CallbackObjectMixin:FireCallbacks'
|caaaaaa<Locals> self = [table:3]{fireCallbackDepth = 1}, eventName = "CustomCompassPins_MapChanged", registry = [table:4]{}, callbackInfoIndex = 1, callbackInfo = [table:5]{3 = F}, callback = user:/AddOns/CustomCompassPins/CustomCompassPins.lua:81, deleted = F </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:76: in function 'layoutCallback'
|caaaaaa<Locals> currentMap = "shadowfen/shadowfen_base" </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:1478: in function 'ZO_WorldMapPins:RefreshCustomPins'
|caaaaaa<Locals> self = [table:6]{m_NextFree = 67, nextCustomPinType = 231, m_NextControlId = 0}, pinTypeId = 231, pinData = [table:7]{pinTypeString = "CustomCompassPins_MapChangeDet...", enabled = T} </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:3842: in function 'ZO_WorldMap_UpdateMap'
|caaaaaa<Locals> mapTitle = "Shadowfen" </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:6577: in function 'ZO_WorldMapManager:SetToMode'
|caaaaaa<Locals> self = [table:8]{mode = 2, autoNavigationState = 1, inSpecialMode = F, antiquityDigSiteAnimationState = 1}, mode = 2, transientModeData = [table:9]{}, initialNormalizedZoom = 0, smallMap = F, layout = [table:10]{paddingY = 0, offsetY = 0, paddingX = 0, offsetX = 0} </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:6494: in function 'ZO_WorldMapManager:SetUserMode'
|caaaaaa<Locals> self = [table:8], mode = 2 </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:5330: in function 'OnAddOnLoaded'
|caaaaaa<Locals> eventCode = 65536, addOnName = "ZO_Ingame", defaults = [table:11]{userMode = 2}, smallCustom = [table:12]{y = 0, width = 488, mapSize = 2, height = 550, x = 0, relPoint = 128, point = 128, keepSquare = T}, uiWidth = 1920, uiHeight = 1080 </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 11/04/21, 07:40 AM  
Archie2021

Forum posts: 0
File comments: 1
Uploads: 0
I managed to find out what the problem was. ESO was looking at my ESO Live folder in OneDrive and Minion was updated to my D:\......\ESO\Live\Addon folder. It was only when I checked the version in the lua files that I realised the problem.

So no need to worry.

Thanks
___________________________________________________________________

Hi Shinni,

I have almost the same issue as Marazota. I have the latest version, V1.32 and I have uninstalled the file a number of times. Please let me know what I need to do to fix this. I can't use any wayshrine or map add-on that requires this library. Thank you.

Code:
bad argument #1 to 'pairs' (table/struct expected, got nil)
stack traceback:
[C]: in function 'pairs'
/EsoUI/Libraries/Utility/ZO_ObjectPool.lua:187: in function 'ZO_ObjectPool:ReleaseAllObjects'
|caaaaaa<Locals> self = [table:1]{defaultAngle = 1} </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:231: in function 'CompassPinManager:RemovePins'
|caaaaaa<Locals> self = [table:1] </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:120: in function 'COMPASS_PINS:RefreshPins'
|caaaaaa<Locals> self = [table:2]{version = 1.31, distanceCoefficient = 2.4494897427832, defaultFOV = 1.8849555921539} </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:84: in function 'callback'
|caaaaaa<Locals> currentMap = "deadlands/u32_fargrave" </Locals>|r
/EsoUI/Libraries/Utility/ZO_CallbackObject.lua:107: in function 'ZO_CallbackObjectMixin:FireCallbacks'
|caaaaaa<Locals> self = [table:3]{fireCallbackDepth = 2}, eventName = "CustomCompassPins_MapChanged", registry = [table:4]{}, callbackInfoIndex = 1, callbackInfo = [table:5]{3 = F}, callback = user:/AddOns/CustomCompassPins/CustomCompassPins.lua:81, deleted = F </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:76: in function 'layoutCallback'
|caaaaaa<Locals> currentMap = "deadlands/u32_fargrave" </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:1478: in function 'ZO_WorldMapPins:RefreshCustomPins'
|caaaaaa<Locals> self = [table:6]{nextCustomPinType = 230, m_NextControlId = 0, m_NextFree = 5}, pinTypeId = 230, pinData = [table:7]{enabled = T, pinTypeString = "CustomCompassPins_MapChangeDet..."} </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:3842: in function 'ZO_WorldMap_UpdateMap'
|caaaaaa<Locals> mapTitle = "Fargrave City District" </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:6577: in function 'ZO_WorldMapManager:SetToMode'
|caaaaaa<Locals> self = [table:8]{autoNavigationState = 1, antiquityDigSiteAnimationState = 1, mode = 2, inSpecialMode = F}, mode = 2, transientModeData = [table:9]{}, initialNormalizedZoom = 0, smallMap = F, layout = [table:10]{paddingX = 0, offsetY = 0, offsetX = 0, paddingY = 0} </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:6494: in function 'ZO_WorldMapManager:SetUserMode'
|caaaaaa<Locals> self = [table:8], mode = 2 </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:5330: in function 'OnAddOnLoaded'
|caaaaaa<Locals> eventCode = 65536, addOnName = "ZO_Ingame", defaults = [table:11]{userMode = 2}, smallCustom = [table:12]{x = 0, height = 550, point = 128, relPoint = 128, keepSquare = T, width = 488, y = 0, mapSize = 2}, uiWidth = 1920, uiHeight = 1080 </Locals>|r
Last edited by Archie2021 : 11/04/21 at 10:16 AM.
Report comment to moderator  
Reply With Quote
Unread 11/01/21, 08:57 AM  
Anceane
 
Anceane's Avatar
AddOn Author - Click to view AddOns

Forum posts: 306
File comments: 1017
Uploads: 1
After reinstalling the game, and starting with new variables all is fine.

Sorry for not checking this before


Originally Posted by Shinni
Have you updated to the most recent version?
This should have been fixed in version 1.32
i have this version installed.

As i crashed a lot yesterday, my game may be corrupted. I will do a repair, and re install the addon.

in any case, i will post again after. Sorry in advance if this was all on my side.


------
I need to fully reinstall the game actually
Last edited by Anceane : 11/01/21 at 04:39 PM.
Report comment to moderator  
Reply With Quote
Unread 11/01/21, 08:39 AM  
Shinni
AddOn Author - Click to view AddOns

Forum posts: 167
File comments: 550
Uploads: 22
Have you updated to the most recent version?
This should have been fixed in version 1.32
Last edited by Shinni : 11/01/21 at 08:39 AM.
Report comment to moderator  
Reply With Quote
Unread 11/01/21, 08:21 AM  
Anceane
 
Anceane's Avatar
AddOn Author - Click to view AddOns

Forum posts: 306
File comments: 1017
Uploads: 1
Code:
    [2281] = 
    {
        [1] = 1635774725708,
        [2] = "2021-11-01 09:52:05.708 -0400",
        [3] = 1,
        [4] = "I",
        [5] = "UI",
        [6] = 
        {
            [2] = "TANS_MAP_CUSTOM_PIN_UPDATE\", runTime = 236.4470243, GetGameTimeSeconds = [C]:-1, start = 236.43643188477, now = 236.4470243, allOnlyOnce = F </Locals>",
            [1] = ".(string): Error = bad argument #1 to 'pairs' (table/struct expected, got nil)\nstack traceback:\n[C]: in function 'pairs'\n/EsoUI/Libraries/Utility/ZO_ObjectPool.lua:187: in function 'ZO_ObjectPool:ReleaseAllObjects'\n<Locals> self = [table:1]{defaultAngle = 1} </Locals>\nuser:/AddOns/CustomCompassPins/CustomCompassPins.lua:231: in function 'CompassPinManager:RemovePins'\n<Locals> self = [table:1] </Locals>\nuser:/AddOns/CustomCompassPins/CustomCompassPins.lua:120: in function 'COMPASS_PINS:RefreshPins'\n<Locals> self = [table:2]{version = 1.31, distanceCoefficient = 2.4494897427832, defaultFOV = 1.8849555921539} </Locals>\nuser:/AddOns/CustomCompassPins/CustomCompassPins.lua:84: in function 'callback'\n<Locals> currentMap = \"rivenspire/hoarfrost_base\" </Locals>\n/EsoUI/Libraries/Utility/ZO_CallbackObject.lua:107: in function 'ZO_CallbackObjectMixin:FireCallbacks'\n<Locals> self = [table:3]{fireCallbackDepth = 3}, eventName = \"CustomCompassPins_MapChanged\", registry = [table:4]{}, callbackInfoIndex = 1, callbackInfo = [table:5]{3 = F}, callback = user:/AddOns/CustomCompassPins/CustomCompassPins.lua:81, deleted = F </Locals>\nuser:/AddOns/CustomCompassPins/CustomCompassPins.lua:76: in function 'layoutCallback'\n<Locals> currentMap = \"rivenspire/hoarfrost_base\" </Locals>\nuser:/AddOns/VotansMiniMap/Main.lua:288: in function 'drawPin'\n<Locals> pinTypeId = 230, pinData = [table:6]{pinTypeString = \"CustomCompassPins_MapChangeDet...\", enabled = T}, runTime = 236.4470255 </Locals>\nuser:/AddOns/LibAsync/LibAsync.lua:320: in function '(anonymous)'\n<Locals> value = [table:6] </Locals>\n(tail call): ?\n[C]: in function 'pcall'\nuser:/AddOns/LibAsync/LibAsync.lua:37: in function 'DoCallback'\n<Locals> job = [table:7]{lastCallIndex = 1, name = \"VOTANS_MAP_CUSTOM_PIN_UPDATE\"}, callstackIndex = 1 </Locals>\nuser:/AddOns/LibAsync/LibAsync.lua:67: in function 'DoJob'\n<Locals> job = [table:7], index = 1 </Locals>\nuser:/AddOns/LibAsync/LibAsync.lua:145: in function 'async.Scheduler'\n<Locals> name = \"VO",
This error block some addons to functions : Destinations, Lorebooks, Lost Treasure, Skyshards and Scryspy

Thank you

i also posted into LibAsync comments
Last edited by Anceane : 11/01/21 at 08:28 AM.
Report comment to moderator  
Reply With Quote
Unread 09/21/21, 10:21 AM  
Marazota
AddOn Author - Click to view AddOns

Forum posts: 257
File comments: 1517
Uploads: 2
errors on PTS

Code:
bad argument #1 to 'pairs' (table/struct expected, got nil)
stack traceback:
[C]: in function 'pairs'
/EsoUI/Libraries/Utility/ZO_ObjectPool.lua:187: in function 'ZO_ObjectPool:ReleaseAllObjects'
|caaaaaa<Locals> self = [table:1]{defaultAngle = 1} </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:231: in function 'CompassPinManager:RemovePins'
|caaaaaa<Locals> self = [table:1] </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:120: in function 'COMPASS_PINS:RefreshPins'
|caaaaaa<Locals> self = [table:2]{distanceCoefficient = 2.4494897427832, version = 1.31, defaultFOV = 1.8849555921539} </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:84: in function 'callback'
|caaaaaa<Locals> currentMap = "cyrodiil/eastelsweyrgate_base..." </Locals>|r
/EsoUI/Libraries/Utility/ZO_CallbackObject.lua:107: in function 'ZO_CallbackObjectMixin:FireCallbacks'
|caaaaaa<Locals> self = [table:3]{fireCallbackDepth = 1}, eventName = "CustomCompassPins_MapChanged", registry = [table:4]{}, callbackInfoIndex = 1, callbackInfo = [table:5]{3 = F}, callback = user:/AddOns/CustomCompassPins/CustomCompassPins.lua:81, deleted = F </Locals>|r
user:/AddOns/CustomCompassPins/CustomCompassPins.lua:76: in function 'layoutCallback'
|caaaaaa<Locals> currentMap = "cyrodiil/eastelsweyrgate_base..." </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:1478: in function 'ZO_WorldMapPins:RefreshCustomPins'
|caaaaaa<Locals> self = [table:6]{m_NextControlId = 0, nextCustomPinType = 230, m_NextFree = 18}, pinTypeId = 230, pinData = [table:7]{pinTypeString = "CustomCompassPins_MapChangeDet...", enabled = T} </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:3842: in function 'ZO_WorldMap_UpdateMap'
|caaaaaa<Locals> mapTitle = "Eastern Elsweyr Gate" </Locals>|r
(tail call): ?
/EsoUI/Ingame/Map/WorldMap.lua:6553: in function 'ZO_WorldMapManager:SetToMode'
|caaaaaa<Locals> self = [table:8]{antiquityDigSiteAnimationState = 1, inSpecialMode = F, mode = 2, autoNavigationState = 1}, mode = 2, transientModeData = [table:9]{}, initialNormalizedZoom = 0, smallMap = F, layout = [table:10]{offsetX = 0, paddingX = 0, paddingY = 0, offsetY = 0} </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:6470: in function 'ZO_WorldMapManager:SetUserMode'
|caaaaaa<Locals> self = [table:8], mode = 2 </Locals>|r
/EsoUI/Ingame/Map/WorldMap.lua:5306: in function 'OnAddOnLoaded'
|caaaaaa<Locals> eventCode = 65536, addOnName = "ZO_Ingame", defaults = [table:11]{userMode = 2}, smallCustom = [table:12]{keepSquare = T, point = 128, width = 488, relPoint = 128, x = 0, mapSize = 2, y = 0, height = 550}, uiWidth = 1920, uiHeight = 1080 </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 05/01/21, 05:23 AM  
MrPikPik
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 34
Uploads: 27
Small oversight

Hello, I found some small oversight that would make pins shoot outside the compass frame if the (undocumented?) layout.maxAngle property has been set to values greater than 1.
I was using setting this property in order to display a pin at all times if the player is in range.

The fix for this issue would be changing line 294 in CompassPinManager:Update() method from
Lua Code:
  1. pin:SetAnchor(CENTER, PARENT, CENTER, 0.5 * PARENT:GetWidth() * normalizedAngle, 0)
to
Lua Code:
  1. pin:SetAnchor(CENTER, PARENT, CENTER, 0.5 * PARENT:GetWidth() * zo_clamp(normalizedAngle, -1, 1), 0)

I really would appreciate this being added

Kind regards
MrPikPik
Report comment to moderator  
Reply With Quote
Unread 04/27/21, 09:57 AM  
MakemSalty_ZOID

Forum posts: 0
File comments: 1
Uploads: 0
So confused

How do I add Pin type. The description was very confusing. Some of us aren't coders. Can someone just tell me in simple form how to activate this addon
Report comment to moderator  
Reply With Quote
Unread 01/04/21, 08:58 AM  
Duramar

Forum posts: 0
File comments: 3
Uploads: 0
hi! any information concerning the Markarth update?
Report comment to moderator  
Reply With Quote
Unread 09/25/20, 06:03 AM  
Diggs

Forum posts: 0
File comments: 2
Uploads: 0
Missing Download 1.31

The change log says there is a version 1.31 but, 1.30 is the last one posted for download. Game says I need to update this dependency but, it's not available.
Report comment to moderator  
Reply With Quote
Unread 05/29/20, 12:08 AM  
Lenox

Forum posts: 15
File comments: 29
Uploads: 0
CustomCompassPins seems to be exactly what I want, but it's a library and not an add-on, and I don't know how to work with those (maybe I can learn?!). What's the best way for me to add an Outlaws Refuge to my compass? Or other similar locations that aren't on the compass by default? If there is an add-on that is recommended, can someone give me a name? All I've been able to find are full compass and map replacements, as well as mini-map add-ons. And while those options are great and I have tried some, they're not what I'm looking for.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: