diff --git a/README.md b/README.md index 439cdb2..fe6e7da 100644 --- a/README.md +++ b/README.md @@ -142,3 +142,143 @@ The addon maintains a list of "stinky" players - users of interest that trigger 1. Download the [addon](https://git.site.quack-lab.dev/dave/wow-Heimdall/media/branch/master/Heimdall.zip) 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, разработанный для предоставления расширенных функций отслеживания игроков, уведомлений и управления группами. + +## Обзор + +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 [Имя Игрока]`: Переключить статус "вонючести" игрока + +## Установка +1. Скачайте [аддон](https://git.site.quack-lab.dev/dave/wow-Heimdall/media/branch/master/Heimdall.zip) +2. Извлеките аддон в папку `Interface/AddOns` вашего World of Warcraft +3. Убедитесь, что аддон включен на экране выбора персонажа