Back
The Elder Scrolls Online

LibMapPing

Overview

This library is an abstraction for the different types of player set pings on the map. Not to be confused with LibMapPins which handles creation of custom map markers.

This library is an abstraction for the different types of player set pings on the map. Not to be confused with LibMapPins which handles creation of custom map markers.
The main features include:

- a unified way to manipulate pings and to react to the ensuing map ping events,
- suppression of pings so that their information can only be accessed via the library,
- silent placement of pings,
- watch dog that fires the callbacks if an event does not get fired by the API due to a bug.

Dependencies
Make sure to install the following required libraries in order to use LibMapPing.

- LibDebugLogger - Extensive logging for debug purposes

API Reference

MapPingState
MapPingState is an enumeration of the possible states of a map ping.
lib.MAP_PING_NOT_SET: There is no ping.
lib.MAP_PING_NOT_SET_PENDING: The ping has been removed, but EVENT_MAP_PING has not been processed.
lib.MAP_PING_SET_PENDING: A ping was added, but EVENT_MAP_PING has not been processed.
lib.MAP_PING_SET: There is a ping.

SetMapPing
Wrapper for PingMap and SetPlayerWaypointByWorldLocation.
pingType is one of the three possible MapDisplayPinType for map pings (MAP_PIN_TYPE_PLAYER_WAYPOINT, MAP_PIN_TYPE_PING or MAP_PIN_TYPE_RALLY_POINT) or false.
when pingType is set to false, the function calls SetPlayerWaypointByWorldLocation and the arguments will be the worldX, worldY and worldZ and the return a boolean success
for all other pingTypes nothing is returned and the arguments are as follows:
mapType is usually MAP_TYPE_LOCATION_CENTERED.
x and y are the normalized coordinates on the current map.

RemoveMapPing
Wrapper for the different ping removal functions.
For waypoints and rally points it calls their respective removal function.
For group pings it just sets the position to 0, 0 as there is no function to clear them.

GetMapPing
Wrapper for the different get ping functions. Returns coordinates regardless of their suppression state.
The game API functions return 0, 0 when the ping type is suppressed.
pingType is the same as for SetMapPing.
pingTag is optionally used if another group member's MAP_PIN_TYPE_PING should be returned (possible values: group1 .. group24).

GetMapPingState
Returns the MapPingState for the pingType and pingTag.

HasMapPing
Returns true if ping state is lib.MAP_PING_SET_PENDING or lib.MAP_PING_SET.

RefreshMapPin
Refreshes the pin icon for the pingType on the worldmap.
Returns true if the pin has been refreshed.

IsPositionOnMap
Returns true if the normalized position is within 0 and 1.

MutePing
Mutes the map ping of the specified type, so it does not make a sound when it is set.
Do not forget to call UnmutePing later, otherwise the sound will be permanently muted!

UnmutePing
Unmutes the map ping of the specified type.
Do not call this more often than you called MutePing, or you might interfere with other addons.
The sounds are played between the BeforePing* and AfterPing* callbacks are fired.

IsPingMuted
Returns true if the map ping has been muted.

SuppressPing
Suppresses the map ping of the specified type, so that it neither makes a sound nor shows up on the map.
This also makes the API functions return 0, 0 for that ping.
In order to access the actual coordinates lib:GetMapPing has to be used.
Do not forget to call UnsuppressPing later, otherwise map pings won't work anymore for the user and other addons!

UnsuppressPing
Unsuppresses the map ping so it shows up again.
Do not call this more often than you called SuppressPing, or you might interfere with other addons.

IsPingSuppressed
Returns true if the map ping has been suppressed.

RegisterCallback
Register to callbacks from the library.
Valid events are BeforePingAdded, AfterPingAdded, BeforePingRemoved and AfterPingRemoved.
These are fired at certain points during handling EVENT_MAP_PING.

UnregisterCallback
Unregister from callbacks. See lib:RegisterCallback.

BeforePingAdded
This callback is fired in EVENT_MAP_PING before the map ping is processed.

AfterPingAdded
This callback is fired in EVENT_MAP_PING after the map ping has been processed.

BeforePingRemoved
This callback is fired in EVENT_MAP_PING before the map ping is processed.

AfterPingRemoved
This callback is fired in EVENT_MAP_PING after the map ping has been processed.

ABOUT THIS LISTING

This page describes LibMapPing by sirinsidiator. The description and screenshots are the author's own, imported from their listing on ESOUI on 31 August 2026: https://www.esoui.com/downloads/info1302-LibMapPing.html

Mythiq.net hosts no files for it. The download button goes straight to the release file on cdn.esoui.com, so you are downloading from the author's own host, not from a copy of ours.

The download count, rating and comments on this page start at zero and count Mythiq.net only. The source's own figures are not copied here — they measure a different site, and a number that cannot be checked against our own ledger is not worth printing.

Requirements

Game versions
  • 11.0.0
  • 10.3.5
API VERSION

Built for ESO API version 11.0.0, 10.3.5. After a patch the game marks add-ons built for the previous API as out of date; the "Allow out of date add-ons" checkbox in the add-on menu loads them anyway, and most work.

LIBRARIES

Many ESO add-ons depend on a shared library — LibAddonMenu-2.0 above all — which is installed separately, exactly like an add-on. A dependency that is missing shows as the add-on simply not appearing in the list.

CONSOLE

Add-ons are PC and Mac only. There is no way to load them on console.

Installation

1. Download the archive with the button on this page and unzip it.

2. Move the unzipped folder into your add-ons directory:

Windows — Documents\Elder Scrolls Online\live\AddOns

macOS — ~/Documents/Elder Scrolls Online/live/AddOns

3. Start the game, and at the character select screen click Add-Ons.

4. Tick the add-on. If it is greyed out and marked out of date, tick "Allow out of date add-ons" at the top of the same panel.

5. Log in. Most add-ons need a /reloadui after they are first enabled.

UPDATING

Delete the old folder first. ESO loads everything it finds, and two copies of one add-on is the usual cause of "an add-on has produced an error" on login.

This release downloads from cdn.esoui.com, not from us, so there is no checksum to compare against. Scan the archive before you unpack it.

Version history

  1. v2.1.0 Latest 2 May 2025 · 11 KB via cdn.esoui.com · 2 downloads Download
    version 2.1.0 - sirinsidiator

    - added compatibility for console
    - added callback names to api
    - updated license information
    - updated for Seasons of the Worm Cult Part 1

    version 2.0.0 - sirinsidiator

    - added support for SetPlayerWaypointByWorldLocation
    - updated to latest library standards and semantic versioning
    - made LibDebugLogger a required dependency
    - updated for Deadlands

    version 1.0 r12 - sirinsidiator

    - fixed errors when either LibStub or LibDebugLogger is not loaded

    version 1.0 r11 - sirinsidiator

    - fixed error when LibStub is loaded

    version 1.0 r10 - sirinsidiator

    - switched to LibDebugLogger for debug output
    - removed LibStub and made its usage optional
    - updated API version in manifest

    version 1.0 r9 - votan

    - Update to API 100027 "Elsweyr".

    version 1.0 r8 - sirinsidiator

    - removed debug output (thanks Sordrak)

    version 1.0 r7 - sirinsidiator

    - added protection to drop group pings that would cause a player to get kicked (only relevant when you use LibGroupSocket with many addons that send data)
    - updated API version in manifest

    version 1.0 r6 - votan

    - Fixed map ping events can cause wrong waypoint/rally pins in combination with addons changing the current map
    - updated API version in manifest

    version 1.0 r5 - sirinsidiator

    - fixed an issue where the initial state of the player waypoint is discarded on ui load in combination with LibGPS
    - updated API version in manifest

    version 1.0 r4 - sirinsidiator

    - fixed an error when trying to set a group ping while not in a group
    - added watchdog that fires the callbacks and resets mute and suppress counts when the EVENT_MAP_PING does not get fired by the API in response to a waypoint being set by the player

    Off-site on cdn.esoui.com — no checksum, because we never held this file. Link checked by our review team on 31 Aug 2026.

Comments

No comments yet.

Sign in to leave a comment.

Report this mod

Tell us if something is wrong — a file that will not work, content taken from someone else, or anything that looks unsafe. Reports go to our review team, not to the author.

Sign in to report this mod.

We use cookies to ensure that we give you the best experience on our website and improve your experience. By continuing to use this site you consent to such use of cookies.

Learn More