插件中文资料库
中文说明、玩家点评、适用场景和替代推荐,方便快速判断是否适合你。
- 界面布局、头像框、姓名板和动作条优化
DeathNotificationLib 插件下载与使用指南
本页整理了 DeathNotificationLib 的功能用途、适用人群、安装方法和常见问题,方便玩家快速判断是否需要安装。
适合谁用
DeathNotificationLib 是一款 运行库 / 聊天与通讯 / 任务与升级 类插件,适合需要优化界面、提升操作效率或补充游戏信息提示的魔兽世界玩家。
基本信息
- 插件作者:deathwing1337
- 插件分类:运行库 / 聊天与通讯 / 任务与升级
- 适配版本:1.15.8,2.5.5
- 累计下载:13,517
安装方法
- 点击上方下载按钮获取 DeathNotificationLib插件文件。
- 解压后将插件文件夹放入 World of Warcraft/_retail_/Interface/AddOns 目录。
- 重启游戏或在角色界面点击插件,确认 DeathNotificationLib 已启用。
- 如果插件不生效,请检查版本是否匹配,或关闭同类冲突插件后重试。
使用建议
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_reportcount 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.luais 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 条评价相关推荐
继续看看这些内容