v1.2.0: 3 новых режима, полный save/restore инвентаря, MOTD, логирование, кулдаун
Новые режимы: - Scout NoScope (Scout без зума) - Deagle Only - Deagle HS Only (только хедшоты наносят урон) Багфиксы: - Полное сохранение инвентаря (гранаты, броня, шлем, дефузер, патроны) - Сброс state на disconnect/connect (новый игрок не получает чужой инвентарь) - Убрано двойное применение режима в начале раунда - m_iFOV=90 вместо 0 при сбросе зума - Удалён мёртвый GiveDefaultCombatLoadout Новый функционал: - Показ MOTD-картинки во freezetime (http://37.228.88.57/cr/<slug>.html) - Логирование запусков/отмен в addons/sourcemod/logs/custom_rounds.log - Кулдаун 5 раундов для обычных админов (DEIDARA/TESTER/z обходят) - Защита от спама очереди - Команда sm_cr_status
This commit is contained in:
@@ -4,19 +4,26 @@
|
||||
|
||||
## Функции
|
||||
|
||||
- 7 режимов кастомных раундов:
|
||||
- 10 режимов кастомных раундов:
|
||||
- **AWP Only** — только AWP + нож
|
||||
- **AWP Only [NoScope]** — AWP без прицела (zoom заблокирован)
|
||||
- **AWP NoScope** — AWP без прицела (zoom заблокирован)
|
||||
- **Scout Only** — только SSG-08 + нож
|
||||
- **Scout NoScope** — Scout без прицела
|
||||
- **Deagle Only** — только Deagle + нож
|
||||
- **Deagle HS Only** — только Deagle, **в тело — 0 урона, только хедшоты**
|
||||
- **HE Only** — только гранаты HE с бесконечным боезапасом
|
||||
- **Ножевой раунд** — только ножи
|
||||
- **Scout Only** — только SSG-08 + нож
|
||||
- **Низкая гравитация** — гравитация уменьшена (настраивается)
|
||||
- **1 HP** — у всех игроков минимальное здоровье
|
||||
- Сохранение и восстановление снаряжения игроков после кастомного раунда
|
||||
- Полное сохранение и восстановление инвентаря после кастомного раунда (основное оружие + патроны, запасное + патроны, нож, **все гранаты**, **броня**, **шлем**, **дефузер**)
|
||||
- Блокировка покупок во время режима
|
||||
- Блокировка зума для NoScope-режимов (через CommandListener + OnPlayerRunCmd)
|
||||
- Показ **MOTD-картинки** во freezetime в начале кастомного раунда (HTTP-страница, авто-закрытие через 12с)
|
||||
- Кулдаун **5 раундов** для обычных админов между запусками. Группы DEIDARA / TESTER и флаг `z` (Root) обходят кулдаун
|
||||
- Логирование действий админов (выбор/отмена режима) в `addons/sourcemod/logs/custom_rounds.log`
|
||||
- Защита от спама: один и тот же режим нельзя поставить в очередь дважды подряд
|
||||
- Интеграция AG Coins (награда за победу / убийства / хедшоты / выживание)
|
||||
- Объявления в чат о текущем и следующем режиме
|
||||
- Настройка через ConVars и AutoExecConfig
|
||||
|
||||
## Зависимости
|
||||
|
||||
@@ -35,6 +42,7 @@
|
||||
| Команда | Доступ | Описание |
|
||||
|---|---|---|
|
||||
| `!cr` / `sm_cr` | Группы DEIDARA / TESTER или по флагу | Открыть меню кастомных раундов |
|
||||
| `!cr_status` / `sm_cr_status` | Любой админ с доступом к меню | Показать текущий/следующий режим и кулдаун |
|
||||
|
||||
## ConVars
|
||||
|
||||
@@ -50,13 +58,67 @@
|
||||
| `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 обходят) |
|
||||
|
||||
## Уровни доступа
|
||||
|
||||
Доступ к меню имеют:
|
||||
- Группы SM **DEIDARA** и **TESTER**
|
||||
- Любой игрок с флагом, указанным в `sm_cr_access_flag` (если `sm_cr_access_use_overrides = 1`)
|
||||
| Уровень | Кулдаун | Возможности |
|
||||
|---|---|---|
|
||||
| Группа **DEIDARA** | Нет | Все режимы, все запуски |
|
||||
| Группа **TESTER** | Нет | Все режимы, все запуски |
|
||||
| Флаг `z` (Root) | Нет | Все режимы, все запуски |
|
||||
| Любой другой админ с флагом `sm_cr_access_flag` | **5 раундов** | Все режимы, но запуск раз в 5 раундов |
|
||||
| Без флага | Нет доступа | — |
|
||||
|
||||
## MOTD-картинка во freezetime
|
||||
|
||||
Когда стартует кастомный раунд, всем игрокам отображается HTML-страница на время freezetime+несколько секунд. Страница хостится по адресу:
|
||||
|
||||
```
|
||||
http://37.228.88.57/cr/<slug>.html
|
||||
```
|
||||
|
||||
Slug-ы: `awp`, `awp-noscope`, `scout`, `scout-noscope`, `deagle`, `deagle-hs`, `he`, `knife`, `lowgrav`, `onehp`.
|
||||
|
||||
По умолчанию страницы — стилизованные баннеры с заголовком режима. Чтобы заменить на реальные изображения — отредактируйте `<тег img>` в HTML на сервере по пути `/srv/cr-images/cr/<slug>.html`. URL картинок плагин дёргает динамически по slug-у, так что менять плагин не нужно.
|
||||
|
||||
Отключить показ полностью — `sm_cr_show_motd 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.1.0` — Автор: deidara.dev
|
||||
`1.2.0` — Автор: deidara.dev
|
||||
|
||||
### Changelog
|
||||
|
||||
- **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 режимами
|
||||
|
||||
Reference in New Issue
Block a user