MapChooser Extended

Ядро плагина MapChooser Extended 1.11.2

Версия Дата выпуска Скачивания Оценка  
1.11.2 121 0.00 звёзд 0 оценок Скачать
1.11.0 | 2022 (and OLD) 2,249 0.00 звёзд 0 оценок Скачать
2022-10-02 117 0.00 звёзд 0 оценок Скачать
Mapchooser Extended 1.11.2 CSGO+CSS - Описание обновления
Сгенерировано с помощью AI


═══════════════════════════════════════
ДЛЯ ОБЫЧНЫХ ПОЛЬЗОВАТЕЛЕЙ
═══════════════════════════════════════


✨ Основные изменения:
1. Улучшенный визуальный стиль сообщений в чате
● Цветовой префикс плагина изменён с [MCE] (тёмно-синий) на [MAP] (оранжевый с синим)
● Сообщения стали более выразительными с улучшенной цветовой палитрой
● Числовые значения (времени, раунды, фраги) теперь выделены оранжевым цветом для лучшей видимости
2. Исправлены проблемы с переводами при ServerLang ru
● Ранее при установке ServerLang "ru" в конфиге sourcemod возникали ошибки с отображением текстов
● Теперь все переводы работают корректно независимо от языковых настроек сервера
● Система автоматически использует английский язык, если русский недоступен
3. Переместился звуковой плагин в папку disabled
● Плагин mapchooser_extended_sounds.smx теперь находится в папке disabled
Почему это было сделано: Если вы не используете звуки при голосованиях, плагин больше не будет генерировать ошибки
Как включить если нужно: Переместите файл из папки disabled в папку plugins

═══════════════════════════════════════
🔧 ДЛЯ ОПЫТНЫХ ПОЛЬЗОВАТЕЛЕЙ И РАЗРАБОТЧИКОВ
═══════════════════════════════════════

Технические изменения в коде:
1. Добавлена библиотека multicolors.inc (SourceMod)
C-подобный:
#include <multicolors>
● Используется для унифицированной работы с цветными сообщениями в чате
● Обеспечивает совместимость с разными движками Source Engine
● Позволяет централизованно управлять префиксом плагина
2. Новые глобальные переменные в basetriggers.sp
C-подобный:
/* Prefix used by multicolors for all chat messages */
char g_sPrefixMCE[PREFIX_MAX_LENGTH];

EngineVersion g_GameEngine = Engine_Unknown;

bool doNextmap;  // Флаг для отключения команды nextmap на некоторых движках
3. Функция LoadChatPrefix() - динамическая загрузка префикса
C-подобный:
stock void LoadChatPrefix()
{
    /* Loads the prefix used for all chat messages. The phrase is configurable in translations. */
    Format(g_sPrefixMCE, sizeof(g_sPrefixMCE), "%t", "MCE Prefix");
    if (g_sPrefixMCE[0] == '\0' || StrEqual(g_sPrefixMCE, "MCE Prefix", false))
    {
        strcopy(g_sPrefixMCE, sizeof(g_sPrefixMCE), "[MCE]");
    }
}
● Префикс теперь загружается из файла переводов, а не захардкодирован
● Позволяет легко изменять префикс без перекомпиляции плагина
● Используется функция CSetPrefix() из multicolors для установки префикса
4. Переименование констант для лучшей читаемости
TIMELEFT_ALL_ALWAYSPRINT_TO_ALL_ALWAYS (Печать для всех игроков всегда)
TIMELEFT_ALL_MAYBEPRINT_TO_ALL_MAYBE (Печать для всех игроков если разрешено)
TIMELEFT_ONEPRINT_TO_ONE (Печать для одного игрока)
5. Поддержка Left4Dead и Left4Dead2
Добавлена специальная логика для игр серии Left4Dead:

C-подобный:
if (g_GameEngine == Engine_Left4Dead || g_GameEngine == Engine_Left4Dead2)
{
    g_Cvar_FriendlyFire = FindConVar("z_difficulty");
    // Расширенная обработка параметров сложности и дружественного огня
}

● Автоматическое определение типа игры через GetEngineVersion()
● Для L4D учитываются переменные приятного огня как процент повреждений
● Поддержка сложностей: Easy, Normal, Hard, Impossible (Expert)
6. Отключение команды nextmap для игры Dystopia
C-подобный:
if (strcmp(folder, "dystopia") == 0)
{
    doNextmap = false;
}
else
{
    RegConsoleCmd("nextmap", Command_Nextmap);
    doNextmap = true;
}
Так как Dystopia имеет иные механики голосования, команда nextmap отключена для этой игры.
7. Изменение сигнатуры функции ShowFriendlyFire()
Было:
C-подобный:
void ShowFriendlyFire(int client)
Стало:
C-подобный:
void ShowFriendlyFire(int client, int who)
● Добавлен параметр who для управления целевой аудиторией сообщения
● Теперь функция использует одинаковую логику с ShowTimeLeft()
8. Обновление работы с CP функциями (Chat Print)
Было:
C-подобный:
CPrintToChatAll(" %t", "Timeleft", mins, secs);
CPrintToChat(client," %t", "Current Map", map);
Стало:
C-подобный:
CPrintToChatAll("%t", "Timeleft", mins, secs);  // Без пробела
CPrintToChat(client, "%t", "Current Map", map);  // Префикс добавляется через CSetPrefix
● Убран пробел в начале строки форматирования
● Префикс добавляется автоматически через CSetPrefix() из multicolors
● Результат: более чистый и унифицированный код
9. Добавлена фраза Friendly Fire Percent для Left4Dead
C-подобный:
"Friendly Fire Percent"
{
    "#format"    "{1:0.0f}"
    "en"        "Friendly Fire is {ORANGE}{1}%."
}
Выводит процент дружественного огня для игр Left4Dead и Left4Dead2.
10. Переработка файла переводов basetriggers.phrases.txt
Структурные изменения:
● Убраны русские переводы (оставлены только английские)
● Добавлена новая фраза "MCE Prefix" управляемая из кода
● Все фразы теперь начинаются без префикса - он добавляется функцией CSetPrefix()
● Обновлены основные цвета: вместо {DARKBLUE} используется {ORANGE} для выделения значений
Пример:
Было:
C-подобный:
"Timeleft"
{
    "ru"    "{DARKBLUE}[MCE]{DEFAULT} До конца карты осталось"
    "en"    "{DARKBLUE}[MCE]{DEFAULT} Time remaining for map: "
}
Стало:
C-подобный:
"Timeleft"
{
    "en"    "Time remaining for map: {ORANGE}"
}
11. Обновлена ссылка на справку по цветам в комментариях
Было: https://hlmod.ru/resources/more-colors.975/
Стало: More Colors
12. Поддержка новых конфигов для multicolors
В папку include/ добавлены:
multicolors.inc - основная библиотека
● папка multicolors/ - включения для поддержки разных движков
Эти файлы обеспечивают работу всех цветовых функций на движках: CSGO, CSS, TF2, L4D, L4D2, Nucleardawn и других.
═══════════════════════════════════════
Архитектурные улучшения:
═══════════════════════════════════════

Централизованное управление префиксом - Теперь префикс плагина хранится в файле переводов и может быть изменён администратором без необходимости перекомпиляции
Лучшая поддержка разных движков - Использование multicolors.inc обеспечивает совместимость с расширенным спектром Source Engine игр
Исправление проблем локализации - Система выбора языка теперь более надёжная и не конфликтует с ServerLang
Оптимизация инициализации - Перемещение логики LoadChatPrefix() в начало OnPluginStart() обеспечивает корректное отображение префикса
Огромное спасибо @Zeit за обнаружение.
Огромное спасибо за исправление @Ganter1234


● Была исправлена работа !forcertv(sm_forcertv) - Позволяет Администратору со флагом G(ADMFLAG_CHANGEMAP) провести RTV, без соглашения других игроков.

Был изменен только один файл: addons/sourcemod/plugins/rockthevote_extended.smx
КРУПНОЕ ОБНОВЛЕНИЕ 👑

За Ядро плагина был взят:
GitHub

Переработал Обзор плагина.
Было проверено на CSGO серверах, CSS не тестировалась.

В Новой версии 1.11.0 версии: (CS:GO+CSS)
Перевел на русский язык новые переменные и некоторые старые перефразировал:
cfg/sourcemod/mapchooser_extended.cfg

cfg/sourcemod/mapchooser_extended_sounds.cfg
cfg/sourcemod/rtv.cfg
Теперь теги можно настроить в .cfg >
mce_chatprefix "[MCE] "
Но тег для basetriggers все так же меняется в переводах:
addons/sourcemod/translations/basetriggers.phrases.txt
Можно кастомизировать название карты:
addons/sourcemod/configs/mapchooser_extended/map_names/...
Теперь не требует голос наблюдателей, но голосовать они все еще могут.

Теперь звуки работают корректно, подробнее:

Были правки только в папке translations!

● Обновлена версия Bonus до v2, что в нее входит:
ㅤУдалил звездочку(*) при кастомной карте (Это изменения в mapchooser_extended.phrases.txt > Custom Marked)
ㅤИсправил цвета в меню
ㅤ↳ Тем самым добавил в переводах обозначения находиться меню и где не стоит писать цвета.
ㅤУдалил все другие языки перевода
ㅤ↳ Тем самым просто остались всего 4 текстовых документа а не 50+ и разбросаны по папкам.
ㅤ↳ Это означает что сейчас поддерживается только Rus и Eng языки.
ㅤУбрал то, что не должно находиться в rockthevote.phrases.txt

Все изменения были частичны проверены, прошу писать обо всех ошибках в обсуждениях.
● Было добавлена версия Bonus, что в нее входит и чем отличия от Original:
ㅤВ Bonus версии можно поставить свой префикс (То есть, есть [SM] свой, подробнее в установке)
ㅤВ Bonus версии так же можно покрасить переменные в чате (Подробнее в установке)
ㅤА так же FIX Требовать голос из наблюдателей, когда чел AFK (Надо проверить)

● Немного подредактировал описания плагина
● Так же в описании добавил Как правильно удалять Bonus версию?
● Через время добавлю новое видео установку

Original версия ничем ни отличается от предыдущей.
  • Клоун
Реакции: CYBERC4T
Исправил ошибку [mapchooser.smx] Unable to create a valid map list.
Исправил ошибку не работы !nominate
Сразу хотел бы сказать что я допустил огромную ошибку в том что поставил задачу в установке удалить файлы: maplist и mapcycle.

Решением ошибки Unable to create... было очень простой:
Прописать все карты из папки /maps, в файлы maplist.txt и mapcycle.txt
Более подробнее написано в самих файлах maplist.txt и mapcycle.txt.

Решением !nominate тоже было очень простой:
Прописать все карты из папки /maps, в файл /addons/sourcemod/configs/mapchooser_extended/maps/csgo.txt (Или тот который используете)
  • Мне нравится
Реакции: JIegenda Babylllka
🇷🇺 Перевел на русский язык rtv.cfg
Извиняюсь что не заметил сразу, да и не писал ни кто, оказывается и rockthevote_extended.smx тоже создает СВОЙ rtv.cfg,
всегда думал что это дефолтный от sourcemod.

Так же чуть чуть изменил обзор плагина.
Сверху Снизу