2025-01-05 22:30:09 +01:00
2025-01-02 11:23:26 +01:00
2024-12-26 21:32:10 +01:00
2024-12-12 13:05:18 +01:00
2025-01-01 14:58:05 +01:00
2024-12-27 16:33:10 +01:00

Heimdall WoW Addon

Heimdall is a comprehensive World of Warcraft addon designed to provide advanced player tracking, notification, and group management features.

Report overview

  • Player spotted:
    • "I see (Hostile) Atomickitty of race Blood Elf (Horde) with health 6.8M/6.8M at Orgrimmar (Valley of Strength)"
    • "I see (<reaction>) <name> of race <race> (<faction>) with health <health>/<healthMax> at <location>"
  • Player appeared:
    • "Любящаядева of class Mage, race Human (Alliance) and guild Анонимное сообщество in Valley of Trials, first seen: 2024-12-27T15:54:38, last seen: never, times seen: 0"
    • "<name> of class <class>, race <race> (<faction>) and guild <guild> in <zone>, first seen: <firstSeen>, last seen: <lastSeen>, times seen: <timesSeen>"
  • Player changed zone:
    • "Thekinglord of class Paladin (Human - Alliance) and guild Caminantes Nocturnos R moved to Durotar"
    • "<name> of class <class> (<faction>) and guild <guild> moved to <zone>"
  • Player disappeared:
    • "Thekinglord of class Paladin and guild Caminantes Nocturnos R left Valley of Trials"
    • "<name> of class <class> and guild <guild> left <zone>"
  • Player killed:
    • "Euotuie killed Wild Mature Swine with Demon's Bite in Durotar (The Dranosh'ar Blockade)"
    • "<killer> killed <victim> with <spell> in <zone> (<subzone>)"

Overview

Heimdall is a multi-module addon that offers various functionalities to enhance player interaction and awareness in the game. It consists of several key modules, each with a specific purpose:

1. Spotter Module (Spotter.lua)

  • Tracks and reports player sightings in real-time
  • Configurable notification settings:
    • Detect players by faction (Alliance, Horde)
    • Identify hostile players
    • Mark "stinky" players (predefined list)
  • Sends notifications to a specified channel when players are spotted
  • Provides detailed information about spotted players:
    • Name
    • Race
    • Faction
    • Health
    • Location
  • Example report:
    • "I see (Hostile) Atomickitty of race Blood Elf (Horde) with health 6.8M/6.8M at Orgrimmar (Valley of Strength)"
    • "I see (<reaction>) <name> of race <race> (<faction>) with health <health>/<healthMax> at <location>"
  • Configuration:
    • enabled - Whether the module is enabled
    • everyone - Whether to report to everyone in the channel
    • hostile - Whether to report hostile players (regardless of faction, ie. when a horde becomes alliance)
    • alliance - Whether to report alliance players
    • stinky - Whether to report only stinky players
    • notifyChannel - The channel to report to (by name)
    • zoneOverride - The zone to override the zone of the player to report (defaults to current zone/subzone)
    • throttleTime - The time to throttle the reports to (in seconds)
  • Configuration example:
/run Heimdall_Data.config.spotter = {enabled=true,everyone=false,hostile=true,alliance=true,stinky=true,notifyChannel="Agent",zoneOverride=nil,throttleTime=10}

2. Whoer Module (Whoer.lua)

  • Advanced player tracking and logging system
  • Periodically performs WHO queries in specific zones
  • Maintains a persistent database of player information:
    • First seen
    • Last seen
    • Seen count
    • Zone history
  • Sends notifications when:
    • New players are detected
    • Players change zones
    • Players disappear from tracking
  • Supports whisper notifications to predefined contacts
  • Plays sound alerts for "stinky" players
  • Example report:
    • Player appeared:
      • "Любящаядева of class Mage, race Human (Alliance) and guild Анонимное сообщество in Valley of Trials, first seen: 2024-12-27T15:54:38, last seen: never, times seen: 0"
      • "<name> of class <class>, race <race> (<faction>) and guild <guild> in <zone>, first seen: <firstSeen>, last seen: <lastSeen>, times seen: <timesSeen>"
    • Player changed zone:
      • "Thekinglord of class Paladin (Human - Alliance) and guild Caminantes Nocturnos R moved to Durotar"
      • "<name> of class <class> (<faction>) and guild <guild> moved to <zone>"
    • Player disappeared:
      • "Thekinglord of class Paladin and guild Caminantes Nocturnos R left Valley of Trials"
      • "<name> of class <class> and guild <guild> left <zone>"
  • Configuration:
    • enabled - Whether the module is enabled
    • notifyChannel - The channel to report to (by name)
    • ttl - The time to live for a player (in seconds)
    • doWhisper - Whether to whisper to predefined contacts
    • zoneNotifyFor - Whether to notify for players in specific zones
  • Configuration example:
/run Heimdall_Data.config.who = {enabled=true,notifyChannel="Agent",ttl=20,doWhisper=true,zoneNotifyFor={["Orgrimmar"]=true,["Thunder Bluff"]=true,["Undercity"]=true,["Durotar"]=true,["Echo Isles"]=true,["Valley of Trials"]=true}}

3. Messenger Module (Messenger.lua)

  • Centralized message queuing and sending system
  • Manages message delivery across different chat channels
  • Handles channel joining and message routing
  • Provides a reliable messaging infrastructure for other modules
  • Configuration:
    • enabled - Whether the module is enabled
  • Configuration example:
/run Heimdall_Data.config.messenger = {enabled=true}

4. Inviter Module (Inviter.lua)

  • Automated group invitation system
  • Listens to a specific channel for invitation requests
  • Supports a configurable keyword for invitations
  • Automatically promotes channel members to assistants in raid groups
  • Configuration:
    • enabled - Whether the module is enabled
    • keyword - The keyword to listen for
    • updateInterval - The interval to update the list of channel members (in seconds)
    • listeningChannel - The channel to listen for invitations
  • Configuration example:
/run Heimdall_Data.config.inviter = {enabled=true,keyword="+",updateInterval=10,listeningChannel="Agent"}

5. Death Reporter Module (DeathReporter.lua)

  • Tracks and reports player deaths in combat
  • Captures detailed death information:
    • Killer
    • Victim
    • Killing spell
    • Location
  • Implements throttling to prevent spam
  • Handles duel detection to avoid reporting duel-related deaths
  • Sends notifications to a specified channel and optional whisper contacts
  • Example report:
    • "Euotuie killed Wild Mature Swine with Demon's Bite in Durotar (The Dranosh'ar Blockade)"
    • "<killer> killed <victim> with <spell> in <zone> (<subzone>)"
  • Configuration:
    • enabled - Whether the module is enabled
    • notifyChannel - The channel to report to (by name)
    • doWhisper - Whether to whisper to predefined contacts
  • Configuration example:
/run Heimdall_Data.config.deathReporter = {enabled=true,notifyChannel="Agent",doWhisper=true}

6. Core Module (Heimdall.lua)

  • Initializes and configures all other modules
  • Manages global configuration and data persistence
  • Provides utility functions for:
    • UTF-8 string handling
    • String padding
    • Data retrieval with defaults

Stinky Players

The addon maintains a list of "stinky" players - users of interest that trigger special notifications and tracking.

Slash Commands

  • /has [PlayerName]: Toggle a player's "stinky" status

Installation

  1. Download the addon
  2. Extract the addon to your World of Warcraft Interface/AddOns directory
  3. Ensure the addon is enabled in the character selection screen

Аддон Heimdall для WoW

Heimdall - это комплексный аддон для World of Warcraft, предназначенный для расширенного отслеживания игроков, уведомлений и управления группами.

Обзор отчетов

  • Обнаружен игрок:
    • "I see (Hostile) Atomickitty of race Blood Elf (Horde) with health 6.8M/6.8M at Orgrimmar (Valley of Strength)"
    • "Я вижу (<reaction>) <name> расы <race> (<faction>) со здоровьем <health>/<healthMax> в <location>"
  • Появился игрок:
    • "Любящаядева of class Mage, race Human (Alliance) and guild Анонимное сообщество in Valley of Trials, first seen: 2024-12-27T15:54:38, last seen: never, times seen: 0"
    • "<name> класса <class>, расы <race> (<faction>) и гильдии <guild> в <zone>, первый раз замечен: <firstSeen>, последний раз замечен: <lastSeen>, встречен раз: <timesSeen>"
  • Игрок сменил зону:
    • "Thekinglord of class Paladin (Human - Alliance) and guild Caminantes Nocturnos R moved to Durotar"
    • "<name> класса <class> (<faction>) и гильдии <guild> перешёл в <zone>"
  • Игрок исчез:
    • "Thekinglord of class Paladin and guild Caminantes Nocturnos R left Valley of Trials"
    • "<name> класса <class> и гильдии <guild> покинул <zone>"
  • Игрок убит:
    • "Euotuie killed Wild Mature Swine with Demon's Bite in Durotar (The Dranosh'ar Blockade)"
    • "<killer> убил <victim> с помощью <spell> в <zone> (<subzone>)"

Обзор

Heimdall - это многомодульный аддон, предоставляющий различные функции для улучшения взаимодействия между игроками и повышения осведомленности в игре. Он состоит из нескольких ключевых модулей:

1. Модуль Обнаружения (Spotter.lua)

  • Отслеживает и сообщает об обнаружении игроков в реальном времени
  • Настраиваемые параметры уведомлений:
    • Обнаружение игроков по фракции (Альянс, Орда)
    • Определение враждебных игроков
    • Отметка "подозрительных" игроков (предопределенный список)
  • Отправляет уведомления в указанный канал при обнаружении игроков
  • Предоставляет подробную информацию об обнаруженных игроках:
    • Имя
    • Раса
    • Фракция
    • Здоровье
    • Местоположение
  • Пример отчета:
    • "I see (Hostile) Atomickitty of race Blood Elf (Horde) with health 6.8M/6.8M at Orgrimmar (Valley of Strength)"
    • "Обнаружен (<реакция>) <имя> расы <раса> (<фракция>) со здоровьем <здоровье>/<макс_здоровье> в <локация>"
  • Конфигурация:
    • enabled - Включен ли модуль
    • everyone - Сообщать ли всем в канале
    • hostile - Сообщать ли о враждебных игроках
    • alliance - Сообщать ли об игроках Альянса
    • stinky - Сообщать ли только о подозрительных игроках
    • notifyChannel - Канал для отправки сообщений (по имени)
    • zoneOverride - Зона для переопределения местоположения игрока
    • throttleTime - Время задержки между сообщениями (в секундах)
  • Пример конфигурации:
/run Heimdall_Data.config.spotter = {enabled=true,everyone=false,hostile=true,alliance=true,stinky=true,notifyChannel="Agent",zoneOverride=nil,throttleTime=10}

2. Модуль WHO (Whoer.lua)

  • Продвинутая система отслеживания и логирования игроков
  • Периодически выполняет WHO запросы в определенных зонах
  • Поддерживает постоянную базу данных информации об игроках:
    • Первое появление
    • Последнее появление
    • Количество появлений
    • История зон
  • Отправляет уведомления когда:
    • Обнаружены новые игроки
    • Игроки меняют зоны
    • Игроки исчезают из отслеживания
  • Поддерживает уведомления шепотом предопределенным контактам
  • Проигрывает звуковые оповещения для "подозрительных" игроков
  • Пример отчета:
    • Появление игрока:
      • "Любящаядева of class Mage, race Human (Alliance) and guild Анонимное сообщество in Valley of Trials, first seen: 2024-12-27T15:54:38, last seen: never, times seen: 0"
      • "Имя класса <класс>, расы <раса> (<фракция>) из гильдии <гильдия> в <зона>, первое появление: <первое_появление>, последнее появление: <последнее_появление>, появлений: <количество>"
    • Смена зоны:
      • "Thekinglord of class Paladin (Human - Alliance) and guild Caminantes Nocturnos R moved to Durotar"
      • "<имя> класса <класс> (<фракция>) из гильдии <гильдия> переместился в <зона>"
    • Исчезновение:
      • "Thekinglord of class Paladin and guild Caminantes Nocturnos R left Valley of Trials"
      • "<имя> класса <класс> из гильдии <гильдия> покинул <зона>"
  • Конфигурация:
    • enabled - Включен ли модуль
    • notifyChannel - Канал для отправки сообщений
    • ttl - Время жизни записи об игроке (в секундах)
    • doWhisper - Отправлять ли шепот контактам
    • zoneNotifyFor - Уведомлять ли об игроках в определенных зонах
  • Пример конфигурации:
/run Heimdall_Data.config.who = {enabled=true,notifyChannel="Agent",ttl=20,doWhisper=true,zoneNotifyFor={["Orgrimmar"]=true,["Thunder Bluff"]=true,["Undercity"]=true,["Durotar"]=true,["Echo Isles"]=true,["Valley of Trials"]=true}}

3. Модуль Сообщений (Messenger.lua)

  • Централизованная система очередей и отправки сообщений
  • Управляет доставкой сообщений по разным чат-каналам
  • Обрабатывает присоединение к каналам и маршрутизацию сообщений
  • Предоставляет надежную инфраструктуру сообщений для других модулей
  • Конфигурация:
    • enabled - Включен ли модуль
  • Пример конфигурации:
/run Heimdall_Data.config.messenger = {enabled=true}

4. Модуль Приглашений (Inviter.lua)

  • Автоматическая система приглашений в группу
  • Прослушивает определенный канал на запросы приглашений
  • Поддерживает настраиваемое ключевое слово для приглашений
  • Автоматически повышает участников канала до помощников в рейдовых группах
  • Конфигурация:
    • enabled - Включен ли модуль
    • keyword - Ключевое слово для прослушивания
    • updateInterval - Интервал обновления списка участников канала (в секундах)
    • listeningChannel - Канал для прослушивания приглашений
  • Пример конфигурации:
/run Heimdall_Data.config.inviter = {enabled=true,keyword="+",updateInterval=10,listeningChannel="Agent"}

5. Модуль Отчетов о Смертях (DeathReporter.lua)

  • Отслеживает и сообщает о смертях игроков в бою
  • Сохраняет подробную информацию о смерти:
    • Убийца
    • Жертва
    • Убивающее заклинание
    • Местоположение
  • Реализует задержку для предотвращения спама
  • Обрабатывает определение дуэлей во избежание сообщений о смертях в дуэлях
  • Отправляет уведомления в указанный канал и опционально шепотом контактам
  • Пример отчета:
    • "Euotuie killed Wild Mature Swine with Demon's Bite in Durotar (The Dranosh'ar Blockade)"
    • "<убийца> убил <жертва> с помощью <заклинание> в <зона> (<подзона>)"
  • Конфигурация:
    • enabled - Включен ли модуль
    • notifyChannel - Канал для отправки сообщений
    • doWhisper - Отправлять ли шепот контактам
  • Пример конфигурации:
/run Heimdall_Data.config.deathReporter = {enabled=true,notifyChannel="Agent",doWhisper=true}

6. Основной Модуль (Heimdall.lua)

  • Инициализирует и настраивает все остальные модули
  • Управляет глобальной конфигурацией и сохранением данных
  • Предоставляет служебные функции для:
    • Обработки UTF-8 строк
    • Выравнивания строк
    • Получения данных с значениями по умолчанию

Подозрительные Игроки

Аддон поддерживает список "подозрительных" игроков - пользователей, представляющих интерес, которые вызывают специальные уведомления и отслеживание.

Слэш-команды

  • /has [ИмяИгрока]: Переключить статус "подозрительного" игрока

Установка

  1. Скачайте аддон
  2. Распакуйте аддон в директорию World of Warcraft Interface/AddOns
  3. Убедитесь, что аддон включен на экране выбора персонажа
Description
No description provided
Readme 47 MiB
3.12.0 Latest
2025-05-20 16:43:24 +00:00
Languages
Lua 99.4%
Shell 0.6%