魔兽科普汇聚WoW玩家们专属综合资讯门户网站!

DeathNotificationLib

DeathNotificationLib 是一个插件依赖库,为其他插件提供数据或功能支持。

免费下载 举报 收藏插件
插件详情

插件中文资料库

中文说明、玩家点评、适用场景和替代推荐,方便快速判断是否适合你。

玩家一句话点评
DeathNotificationLib 适合需要运行库、界面增强或玩法辅助的玩家,建议结合自己的职业和版本先测试再长期使用。
适用场景
  • 界面布局、头像框、姓名板和动作条优化

DeathNotificationLib 插件下载与使用指南

本页整理了 DeathNotificationLib 的功能用途、适用人群、安装方法和常见问题,方便玩家快速判断是否需要安装。

适合谁用

DeathNotificationLib 是一款 运行库 / 聊天与通讯 / 任务与升级 类插件,适合需要优化界面、提升操作效率或补充游戏信息提示的魔兽世界玩家。

基本信息

  • 插件作者:deathwing1337
  • 插件分类:运行库 / 聊天与通讯 / 任务与升级
  • 适配版本:1.15.8,2.5.5
  • 累计下载:13,517

安装方法

  1. 点击上方下载按钮获取 DeathNotificationLib插件文件。
  2. 解压后将插件文件夹放入 World of Warcraft/_retail_/Interface/AddOns 目录。
  3. 重启游戏或在角色界面点击插件,确认 DeathNotificationLib 已启用。
  4. 如果插件不生效,请检查版本是否匹配,或关闭同类冲突插件后重试。

使用建议

DeathNotificationLib 安装后建议先在角色界面确认已启用,进入游戏后根据插件提供的命令、小地图按钮或设置面板进行调整。如遇到报错,可先单独启用该插件排查冲突。

DeathNotificationLib 常见问题

这个插件适合哪些玩家?

DeathNotificationLib 适合需要 运行库 / 聊天与通讯 / 任务与升级 类功能的玩家,特别是希望提升游戏便利性、界面管理或战斗信息获取效率的用户。

下载后怎么安装?

下载后解压到 Interface/AddOns 目录,然后重启游戏并在角色界面启用插件。

为什么插件不显示或不生效?

常见原因是目录多套一层、游戏版本不匹配、依赖插件缺失或同类插件冲突。

有没有类似插件可以替代?

可以查看本页的替代插件推荐和相关插件区域,按下载量和分类选择同类工具。

插件 AI 问答

可以问:这个插件正式服能用吗、和 DBM 冲突吗、怎么设置、有没有替代插件。

DeathNotificationLib 是一个插件依赖库,为其他插件提供数据或功能支持。

插件用途

DeathNotificationLib 主要面向需要运行库功能的玩家,用来改善游戏体验、减少重复操作或补充默认界面没有直接提供的信息。

适用场景

  • 插件库、数据接口或依赖支持

使用建议

安装后建议先在角色选择界面或插件管理器中确认已启用,再进入游戏测试是否与现有整合包、WA 和其他插件冲突。如遇报错,可以先禁用同类插件排查。

Death Notification Lib (DNL)

A shared WoW addon library for real-time Hardcore / Soul of Iron death notifications.

DNL handles everything needed to detect, broadcast, receive, and verify player deaths on Classic Era Hardcore and TBC Anniversary Soul of Iron servers. Embed it in your addon and get rich, structured death data delivered straight to your callback — no channel management, no protocol work, no data wrangling.

Features

  • Real-time death detection — Listens to Blizzard's Hardcore death channel, guild chat, and peer addon messages simultaneously
  • Structured PlayerData — Every death arrives as a clean table: name, guild, killer, class, race, level, zone/instance, map coordinates, /played, last words, and more
  • Peer verification — Guild members automatically corroborate deaths; the peer_report count tells you how trustworthy a report is
  • Background database sync — Peers continuously exchange death records in the background so your database fills in even for deaths you missed
  • LRU dedup cache — Duplicate reports from multiple sources are merged automatically; your hook fires once per unique death
  • Built-in death alert UI — Optional BossBanner-style popup with sound, fully configurable through AceConfig (or hide it entirely)
  • Protocol V3 — Compact encoding/decoding with fletcher16 checksums and backwards compatibility down to V0
  • PvP tracking — Detects duel-to-death kills and captures the PvP source player name
  • Heatmap-based source prediction — When the killer NPC is unknown, DNL predicts the most likely source from bundled heatmap data
  • Last words — Captures the player's final chat message before death (5-second grace period)
  • Localized — All NPC, zone, and instance names resolved to the client's locale

Supported Realms

Realm Type Game Version
Hardcore Classic Era (1.15.x)
Soul of Iron TBC Anniversary (2.5.x)

Quick Start

1. Copy DNL into your addon

YourAddon/
  Libs/
    ChatThrottleLib.lua
    DeathNotificationLib/
      DeathNotificationLib.xml
      ...
  YourAddon.toc
  YourAddon.lua

2. Update your .toc

Libs/ChatThrottleLib.lua
Libs/DeathNotificationLib/DeathNotificationLib.xml
YourAddon.lua

Note: The old single-file DeathNotificationLib.lua is deprecated. Use the XML include instead.

3. Register your addon

DeathNotificationLib.AttachAddon({
    name = "YourAddon",
    tag  = "YAD",                          -- exactly 3 characters
    isUnitTracked = function(unit)
        -- return true for units your addon cares about
        return UnitIsPlayer(unit)
    end,
    db     = YourAddonDB,                  -- optional: SavedVariable table for sync
    db_map = YourAddonDB_Map,              -- optional: map table for sync
})

4. Hook into death events

-- Per-addon hook (only deaths destined for your addon):
DeathNotificationLib.HookOnNewAddonEntry("YourAddon", function(player_data, checksum, peer_report, in_guild, source)
    print(player_data.name .. " (Level " .. player_data.level .. ") was killed by " .. (player_data.source_id or "unknown"))
end)

-- Or global hook (fires for ALL deaths):
DeathNotificationLib.HookOnNewEntry(function(player_data, checksum, peer_report, in_guild, source)
    -- ...
end)

Use the Secure variants (HookOnNewAddonEntrySecure / HookOnNewEntrySecure) to only fire when at least 2 guild members have verified the death.

PlayerData Fields

Field Type Description
name string Player's character name
guild string Player's guild name
source_id number NPC ID of killer. Negative for environmental: -2 Drowning, -3 Falling, etc.
race_id number Race ID
class_id number Class ID
level number Player's level at death
instance_id number? Instance ID (nil if outdoor death)
map_id number? Zone ID (nil if instance death)
map_pos string? Map coordinates within zone (nil if instance death)
date number Unix epoch timestamp
played number? Total /played seconds (nil if unknown)
last_words string? Player's last chat message
extra_data table? Additional data, e.g. {pvp_source_name = "..."}

Bundled Data Tables

DNL ships with locale-aware lookup tables exposed on the DeathNotificationLib global:

Table Description
ID_TO_NPC / NPC_TO_ID NPC ID ↔ localized name
ZONE_TO_ID / ID_TO_ZONE Zone name ↔ ID
INSTANCE_TO_ID / ID_TO_INSTANCE Instance name ↔ ID
AREA_TO_ID Sub-area name → ID
CLASS_ID_MAP / CLASS_NAME_TO_ID / CLASS_FILE_TO_ID Class lookups
CLASS_COLORS / CLASS_ID_TO_COLOR Class color tables
RACE_ID_MAP / RACE_NAME_TO_ID / RACE_FILE_TO_ID Race lookups
INSTANCE_CATEGORIES / ZONE_CATEGORIES Categorized zone/instance groupings
ZONE_TO_INSTANCE Zone → instance mapping
ID_TO_DISPLAY_ID NPC ID → display model ID
ID_TO_QUOTE NPC ID → flavor quote
HEATMAP_INTENSITY / HEATMAP_CREATURE_SUBSET Death heatmap data

Public API Reference

Function Description
AttachAddon(options) Register your addon with DNL
HookOnNewEntry(fn) Global hook — fires for all deaths
HookOnNewEntrySecure(fn) Global hook — fires only for verified deaths (2+ peer reports)
HookOnNewAddonEntry(name, fn) Per-addon hook — fires only for deaths tagged for your addon
HookOnNewAddonEntrySecure(name, fn) Per-addon verified hook
GetDeathRecord(name) Look up a cached death record by player name
CreateFakeEntry() Generate a fake death entry (useful for UI testing)
PlayDeathAlert(player_data) Programmatically trigger the death alert popup
TestDeathAlert() Fire a test alert with a fake entry
UpdateDeathAlert() Re-apply death alert settings after config changes
FormatPlaytime(seconds) Format a /played duration as a human-readable string
SyncStatus() Get current background sync status
QueryGuild(name, tag) Query guild channel for a player's death record
QueryTarget(name, target, tag) Whisper-query a specific player
WhoPlayer(name) Single-flight /who lookup
SOURCE Entry-origin enum: "self_death", "peer_broadcast", "blizzard", "sync", etc.

Used By

  • Deathlog — the original death logging addon for Classic Hardcore

Links

CurseForge: https://www.curseforge.com/wow/addons/deathnotificationlib

用户评价

暂无 / 5,0 条评价
免费插件下载后可以评价;付费插件 / WA 购买后可以评价;委托订单完成后可以评价。
暂无评价。

相关推荐

继续看看这些内容

全站搜索