ArcaneGame Custom Rounds Core

Плагин кастомных раундов для CS:GO серверов на SourceMod. Администраторы выбирают режим на следующий раунд через меню — и весь сервер играет в изменённых условиях.

Функции

  • 11 режимов кастомных раундов:
    • AWP Only — только AWP + нож
    • AWP NoScope — AWP без прицела (zoom заблокирован)
    • Scout Only — только SSG-08 + нож
    • Scout NoScope — Scout без прицела
    • Deagle Only — только Deagle + нож
    • Deagle HS Only — только Deagle, в тело — 0 урона, только хедшоты
    • HE Only — только гранаты HE с бесконечным боезапасом
    • Ножевой раунд — только ножи
    • Низкая гравитация — гравитация уменьшена (настраивается)
    • 1 HP — у всех игроков минимальное здоровье
    • 1 vs All (от 15 игроков) — 1 ТТшник против всех CT. У ТТшника 5000 HP, 500 брони, +25% скорости, $16000 на покупку любого оружия. CT — XM1014 + 4 гранаты (HE, флеш, смок, инсентари). Админ выбирает игрока вручную или рандомно.
  • Полное сохранение и восстановление инвентаря после кастомного раунда (основное оружие + патроны, запасное + патроны, нож, все гранаты, броня, шлем, дефузер)
  • Блокировка покупок во время режима
  • Блокировка зума для NoScope-режимов (через CommandListener + OnPlayerRunCmd)
  • Показ MOTD-картинки во freezetime в начале кастомного раунда (HTTP-страница, авто-закрытие через 12с)
  • Кулдаун 5 раундов для обычных админов между запусками. Группы DEIDARA / TESTER и флаг z (Root) обходят кулдаун
  • Логирование действий админов (выбор/отмена режима) в addons/sourcemod/logs/custom_rounds.log
  • Защита от спама: один и тот же режим нельзя поставить в очередь дважды подряд
  • Интеграция AG Coins (награда за победу / убийства / хедшоты / выживание)
  • Объявления в чат о текущем и следующем режиме

Зависимости

  • SourceMod 1.10+
  • agcoins_bridge — библиотека AG Coin (входит в систему ArcaneGame)

Установка

  1. Скомпилировать scripting/ArcaneGame_CustomRounds_Core.sp
  2. Положить .smx в addons/sourcemod/plugins/
  3. Убедиться, что agcoins_bridge загружен на сервере
  4. Перезапустить сервер — конфиг создастся автоматически в cfg/sourcemod/ArcaneGame_CustomRounds_Core.cfg

Команды

Команда Доступ Описание
!cr / sm_cr Группы DEIDARA / TESTER или по флагу Открыть меню кастомных раундов
!cr_status / sm_cr_status Любой админ с доступом к меню Показать текущий/следующий режим и кулдаун

ConVars

ConVar По умолчанию Описание
sm_cr_access_flag b Флаг доступа для sm_cr (fallback)
sm_cr_access_use_overrides 1 Разрешить доступ через admin_overrides.cfg
sm_cr_coins_enable 1 Включить AG Coin награды
sm_cr_coins_win 0 Монеты за победу в кастомном раунде
sm_cr_coins_kill 0 Монеты за убийство
sm_cr_coins_headshot 0 Монеты за хедшот
sm_cr_coins_survive 0 Монеты за выживание победителю
sm_cr_lowgravity_value 0.40 Значение гравитации (Low Gravity)
sm_cr_onehp_value 1 Здоровье игроков в режиме 1 HP
sm_cr_announce 1 Показывать объявления в чат
sm_cr_show_motd 1 Показывать картинку режима во freezetime
sm_cr_cooldown_rounds 5 Кулдаун в раундах для обычных админов (DEIDARA/TESTER/z обходят)

Уровни доступа

Уровень Кулдаун Возможности
Группа DEIDARA Нет Все режимы, все запуски
Группа TESTER Нет Все режимы, все запуски
Флаг z (Root) Нет Все режимы, все запуски
Любой другой админ с флагом sm_cr_access_flag 5 раундов Все режимы, но запуск раз в 5 раундов
Без флага Нет доступа

Уведомление о начале режима

Когда стартует кастомный раунд, всем игрокам показывается PrintHintText — большое уведомление в правом нижнем углу экрана со звуком. Содержит название режима и краткое описание.

Управляется ConVar sm_cr_show_motd 1/0.

Логирование

Все запуски и отмены кастомных раундов пишутся в:

addons/sourcemod/logs/custom_rounds.log

Формат:

[YYYY-MM-DD HH:MM:SS] [FULL|REG] АдминИмя (STEAM_X:Y:Z) -> ВЫБРАЛ/ОТМЕНИЛ режим: <название> [раунд N]

Где:

  • FULL — DEIDARA / TESTER / Root (без кулдауна)
  • REG — обычный админ (с кулдауном)

Версия

1.3.1 — Автор: deidara.dev

Changelog

  • 1.3.1
    • Фикс компиляции: CSRoundEnd_RoundDrawCSRoundEnd_Draw (правильное имя константы в cstrike.inc)
  • 1.3.0
    • Добавлен режим 1 vs All (требуется 15+ активных игроков):
      • 1 ТТшник против всех CT
      • Админ выбирает игрока вручную через подменю или рандомно
      • У ТТшника: 5000 HP, 500 брони, +25% скорости, $16000 (свободная покупка)
      • У CT: XM1014 + HE + флеш + смок + incgrenade, покупка отключена
      • Если ТТшник умрёт — CT побеждают (стандартная логика CSGO)
      • Если ТТшник вышел — раунд завершается ничьёй (CS_TerminateRound), оружие восстанавливается
      • После раунда команды восстанавливаются в исходные (CT возвращаются к T если были T до 1vAll)
      • Если игроков стало <15 в момент старта — режим автоматически отменяется с уведомлением в чат
  • 1.2.4
    • Убраны ShowMOTDPanel и PrintCenterText (на CSGO/MyArena не показывались стабильно)
    • Оставлен только PrintHintText — он работает у всех игроков
    • Удалён мёртвый код: GetRoundUrlSlug, CR_MOTD_BASE_URL, Timer_RepeatOverlay
  • 1.2.3
    • Замена ShowHudText (для HL2, не работал в CSGO) на надёжные PrintHintText + PrintCenterText
    • Уведомление о кастомном раунде показывается всем игрокам тремя способами одновременно: MOTD-картинка, hint-text в углу со звуком, большой центральный текст
    • Центральный текст повторяется таймерами на 2/4/6 секундах чтобы держать сообщение видимым на протяжении всего freezetime
  • 1.2.2
    • Фикс лога: переход с LogToFileEx(absolute_path) на OpenFile("addons/sourcemod/logs/custom_rounds.log", "a"). На MyArena LogToFileEx с absolute путём от BuildPath молча не создавал файл.
    • Фикс MOTD: используется стандартный ShowMOTDPanel (правильно сериализует KeyValues с типом как строкой)
    • Добавлен гарантированный HUD-overlay с названием и описанием режима в центре экрана (~6 секунд), показывается всегда независимо от клиентского cl_disablehtmlmotd
  • 1.2.1
    • Фикс: жёсткая проверка прав в HasCustomRoundsAccess — теперь обязательно требуется хотя бы один админ-флаг (раньше при пустом флаге в admin_overrides.cfg sm_cr мог пропускать обычных игроков)
    • Защитные re-check вызовы в MenuHandler_Main, QueueCustomRound, CancelPendingRound — даже если меню каким-то образом окажется у игрока без прав, действия не выполнятся
    • Добавлен IsFakeClient в проверку (боты заблокированы)
    • Дополнительный LogMessage в стандартный SM-лог при логировании действий — для надёжности на shared-хостингах
  • 1.2.0
    • Добавлены режимы: Scout NoScope, Deagle Only, Deagle HS Only (только хедшоты)
    • Полное сохранение/восстановление инвентаря: гранаты, броня, шлем, дефузер, патроны
    • Фикс: при заходе нового игрока на освободившийся слот не выдаётся чужой инвентарь
    • Фикс: убрано двойное применение режима в начале раунда
    • Фикс: m_iFOV восстанавливается в 90 (а не 0)
    • Фикс: удалён мёртвый код GiveDefaultCombatLoadout
    • MOTD-картинка во freezetime при старте кастомного раунда
    • Логирование действий в custom_rounds.log (с тегом FULL/REG)
    • Кулдаун 5 раундов для обычных админов (DEIDARA/TESTER/Root обходят)
    • Защита от спама очереди: один и тот же режим нельзя поставить дважды
    • Команда sm_cr_status
    • Унифицирован стиль API (методмапы вместо GetConVarBool)
  • 1.1.0 — Базовая версия с 7 режимами
S
Description
No description provided
Readme 196 KiB
Languages
SourcePawn 100%