e7f02da4a2
Новый режим 1 vs All (от 15 игроков): - 1 ТТшник против всех CT - Админ выбирает игрока вручную или рандомно (подменю) - ТТшник: 5000 HP, 500 брони, +25% скорости, $16000 - CT: XM1014 + HE + флеш + смок + incgrenade, покупка отключена - ТТшник умер → CT побеждают - ТТшник вышел → ничья (CS_TerminateRound), оружие восстанавливается - После раунда команды восстанавливаются в исходные - <15 игроков на старте → автоматическая отмена с уведомлением
11 KiB
11 KiB
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)
Установка
- Скомпилировать
scripting/ArcaneGame_CustomRounds_Core.sp - Положить
.smxвaddons/sourcemod/plugins/ - Убедиться, что
agcoins_bridgeзагружен на сервере - Перезапустить сервер — конфиг создастся автоматически в
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.0 — Автор: deidara.dev
Changelog
- 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 vs All (требуется 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"). На MyArenaLogToFileExс 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 режимами