15 KiB
Heimdall WoW Addon
Heimdall is a comprehensive World of Warcraft addon designed to provide advanced player tracking, notification, and group management features.
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 () of race () with health / at "
- Configuration:
enabled
- Whether the module is enabledeveryone
- Whether to report to everyone in the channelhostile
- Whether to report hostile players (regardless of faction, ie. when a horde becomes alliance)alliance
- Whether to report alliance playersstinky
- Whether to report only stinky playersnotifyChannel
- 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"
- " of class , race () and guild in , first seen: , last seen: , times seen: "
- Player changed zone:
- "Thekinglord of class Paladin (Human - Alliance) and guild Caminantes Nocturnos R moved to Durotar"
- " of class () and guild moved to "
- Player disappeared:
- "Thekinglord of class Paladin and guild Caminantes Nocturnos R left Valley of Trials"
- " of class and guild left "
- Player appeared:
- Configuration:
enabled
- Whether the module is enablednotifyChannel
- The channel to report to (by name)ttl
- The time to live for a player (in seconds)doWhisper
- Whether to whisper to predefined contactszoneNotifyFor
- 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 enabledkeyword
- The keyword to listen forupdateInterval
- 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:
- Configuration:
enabled
- Whether the module is enablednotifyChannel
- The channel to report to (by name)doWhisper
- Whether to whisper to predefined contacts
- Example report:
- "Euotuie killed Wild Mature Swine with Demon's Bite in Durotar (The Dranosh'ar Blockade)"
- " killed with in ()"
- 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
- Download the addon
- Extract the addon to your World of Warcraft
Interface/AddOns
directory - Ensure the addon is enabled in the character selection screen
Heimdall WoW Аддон
Heimdall - это всеобъемлющий аддон для World of Warcraft, разработанный для предоставления расширенных функций отслеживания игроков, уведомлений и управления группами.
Обзор
Heimdall - это многомодульный аддон, предлагающий различные функции для улучшения взаимодействия и осведомленности игроков в игре. Он состоит из нескольких ключевых модулей, каждый с определенной целью:
1. Модуль Spotter (Spotter.lua
)
- Отслеживает и сообщает о появлении игроков в реальном времени
- Настраиваемые параметры уведомлений:
- Обнаружение игроков по фракции (Альянс, Орда)
- Идентификация враждебных игроков
- Пометка "вонючих" игроков (предопределенный список)
- Отправляет уведомления в указанный канал при обнаружении игроков
- Предоставляет подробную информацию об обнаруженных игроках:
- Имя
- Раса
- Фракция
- Здоровье
- Местоположение
- Пример отчета:
- "Вижу (Враждебный) Атомическийкот расы Эльф Крови (Орда) с здоровьем 6.8М/6.8М в Оргриммаре (Долина Силы)"
- Конфигурация:
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. Модуль Whoer (Whoer.lua
)
- Расширенная система отслеживания и логирования игроков
- Периодически выполняет WHO-запросы в определенных зонах
- Поддерживает постоянную базу данных информации об игроках:
- Первое появление
- Последнее появление
- Количество появлений
- История зон
- Отправляет уведомления при:
- Обнаружении новых игроков
- Смене зон игроками
- Исчезновении игроков из отслеживания
- Поддерживает whisper-уведомления предопределенным контактам
- Воспроизводит звуковые оповещения для "вонючих" игроков
- Пример отчета:
- Появление игрока:
- "Любящаядева класса Маг, расы Человек (Альянс) и гильдии Анонимное сообщество в Долине Испытаний, впервые замечен: 2024-12-27T15:54:38, последний раз замечен: никогда, раз замечен: 0"
- Смена зоны:
- "Королевский Лорд класса Паладин (Человек - Альянс) и гильдии Ночные Странники переместился в Дуротар"
- Исчезновение:
- "Королевский Лорд класса Паладин и гильдии Ночные Странники покинул Долину Испытаний"
- Появление игрока:
- Конфигурация:
enabled
- Включен ли модульnotifyChannel
- Канал для отчетовttl
- Время жизни игрока (в секундах)doWhisper
- Отправлять ли whisper предопределенным контактамzoneNotifyFor
- Уведомлять ли о игроках в определенных зонах
- Пример конфигурации:
/run Heimdall_Data.config.who = {enabled=true,notifyChannel="Agent",ttl=20,doWhisper=true,zoneNotifyFor={["Оргриммар"]=true,["Громовой Утес"]=true,["Подгород"]=true,["Дуротар"]=true,["Эховые Острова"]=true,["Долина Испытаний"]=true}}
3. Модуль Messenger (Messenger.lua
)
- Централизованная система очереди и отправки сообщений
- Управляет доставкой сообщений через различные чат-каналы
- Обрабатывает присоединение к каналам и маршрутизацию сообщений
- Предоставляет надежную инфраструктуру обмена сообщениями для других модулей
- Конфигурация:
enabled
- Включен ли модуль
- Пример конфигурации:
/run Heimdall_Data.config.messenger = {enabled=true}
4. Модуль Inviter (Inviter.lua
)
- Автоматизированная система приглашений в группу
- Прослушивает определенный канал на предмет запросов приглашений
- Поддерживает настраиваемое ключевое слово для приглашений
- Автоматически повышает членов канала до помощников в рейдовых группах
- Конфигурация:
enabled
- Включен ли модульkeyword
- Ключевое слово для прослушиванияupdateInterval
- Интервал обновления списка членов канала (в секундах)listeningChannel
- Канал для прослушивания приглашений
- Пример конфигурации:
/run Heimdall_Data.config.inviter = {enabled=true,keyword="+",updateInterval=10,listeningChannel="Agent"}
5. Модуль Death Reporter (DeathReporter.lua
)
- Отслеживает и сообщает о смертях игроков в бою
- Захватывает подробную информацию о смерти:
- Убийца
- Жертва
- Заклинание убийства
- Местоположение
- Реализует торможение для предотвращения спама
- Обрабатывает обнаружение дуэлей, чтобы избежать сообщений о смертях в дуэлях
- Отправляет уведомления в указанный канал и необязательным контактам whisper
- Пример отчета:
- "Еуотуие убил Дикого Зрелого Кабана заклинанием Укус Демона в Дуротаре (Блокада Дранош'ара)"
- Конфигурация:
enabled
- Включен ли модульnotifyChannel
- Канал для отчетовdoWhisper
- Отправлять ли whisper
- Пример конфигурации:
/run Heimdall_Data.config.deathReporter = {enabled=true,notifyChannel="Agent",doWhisper=true}
6. Основной Модуль (Heimdall.lua
)
- Инициализирует и настраивает все остальные модули
- Управляет глобальной конфигурацией и сохранением данных
- Предоставляет служебные функции для:
- Работы со строками UTF-8
- Дополнения строк
- Получения данных со значениями по умолчанию
"Вонючие" Игроки
Аддон поддерживает список "вонючих" игроков - пользователей интереса, которые вызывают специальные уведомления и отслеживание.
Slash-команды
/has [Имя Игрока]
: Переключить статус "вонючести" игрока
Установка
- Скачайте аддон
- Извлеките аддон в папку
Interface/AddOns
вашего World of Warcraft - Убедитесь, что аддон включен на экране выбора персонажа