Добро пожаловать в модуль Система Гильдий от Moloko.
Этот модуль создан для улучшения взаимодействия и наград для гильдий на вашем сервере, включая настраиваемые настройки, скорости начисления опыта и уведомления.
- Я новечок в развитии модулей для АзеротКора поэтому строго не судите. Если есть моменты где я ошибся, пожалуйста, поправьте меня чтобы впредь не делал подобные ошибки.
- Если столкнулись с проблемой или ошибкой, просьба отписаться в дискорде или создайте обсуждение в гитхабе.
- Спасибо большое что используете данного модуля и за фидбеки.
Основная цель данного модуля — адаптация системы прокачки гильдий, впервые представленной в дополнении Cataclysm, для работы исключительно с дополнением Wrath of the Lich King (WoTLK). Адаптация специально разработана для серверов, использующих фреймворк AzerothCore.
Уровень гильдии взял исходя из данной статьи.
- ✅ Настраиваемые параметры для включения/отключения функций.
- ✅ Режим отладки для тестирования и проверки функционала.
- ✅ Начисление опыта за разные виды активности (PvP, убийство боссов, выполнение заданий).
- ✅ Еженедельный лимит на количество опыта для баланса прокачки гильдий.
- ✅ Оповещение в гильдейский чат о повышении уровня гильдии.
- ✅ Команда для игрока чтобы отобразить информацию о гильдии
.ginfo
GuildSystemBaseXP == 250 xp
Рассчитывает опыт, присуждаемый гильдии за выполнение заданий:
- Base XP: Выведено с использованием формулы:
baseXP = GuildSystemRateXPQuest * GuildSystemBaseXP; - Разница уровней: регулирует опыт на основе разницы в уровнях между игроком и квестом:
- Уменьшается вдвое, если уровень игрока значительно выше (
levelDifference > 5). - Удваивается, если квест значительно сложнее (
levelDifference < -5).
- Уменьшается вдвое, если уровень игрока значительно выше (
- Множитель: масштабирует общий опыт, используя глобальный множитель.
GuildSystemRateXP. - Отладка: регистрирует детали расчетов, когда
GuildSystemDebugвключена.
Рассчитывает опыт за победу над существами, включая боссов:
- Базовый опыт: определяется как:
baseXP = GuildSystemRateXPKillBoss * GuildSystemBaseXP; - Проверка на босса: определяет, является ли существо боссом, используя:
isBoss = creature->GetCreatureTemplate()->type_flags & CREATURE_TYPE_FLAG_BOSS_MOB; - Разница в уровнях: регулируется в зависимости от разницы в уровнях:
- Уменьшается вдвое, если игрок значительно выше уровня.
- Удваивается, если существо намного сложнее.
- Множитель: применяет глобальный множитель опыта
GuildSystemRateXP. - Отладка: регистрирует сведения о существах, расчет опыта и статус босса, если включена отладка.
Рассчитывает опыт от активности PvP:
- Базовый опыт: определяется с использованием:
baseXP = GuildSystemRateXPPvP * GuildSystemBaseXP; - Множитель: Масштабирует общий опыт, используя
GuildSystemRateXP. - Контекстное ведение журнала:
- Для полей сражений регистрирует их название.
- Для арен регистрирует общую информацию.
- Отладка: записывает подробные журналы опыта на основе типа PvP, когда
GuildSystemDebugвключен.
- Клонируйте данный репозиторий:
cd path/to/azerothcore/modules git clone https://github.com/levrules/mod-guild-system.git - Повторно запустите cmake и запустите чистую сборку AzerothCore.
- Измените настройки в конфигурации при необходимости.
- Перезапустите сервер, чтобы применить изменения.
⚠ В модуле есть изменения по таблицам acore_string где идентификаторы 30098, 30099, 30100, 30101, 30102 буду изменены, если у эти идентификаторы используются, рекомендуется изменить в файле guild_system.h а также в файле acore_string.sql.
Если вы столкнулись с проблемами или у вас есть предложения по улучшению, создайте запрос в разделе Issues данного репозитория.
Проект лицензирован в соответствии с GNU Affero General Public License (AGPL-3.0). Подробнее можно узнать в файле LICENSE.