# 🏆 Система MVP — плагин CounterStrikeSharp
**Мощный и многофункциональный** плагин **«MVP System»** для Counter-Strike 2, который в конце каждого раунда объявляет самого ценного игрока (MVP) с подробной статистикой, красивыми цветными сообщениями в чате, **а также потрясающими уведомлениями на экране и в интерфейсе**!




---
## ✨ Особенности
- **🎯 Несколько критериев определения MVP** — выбирайте MVP по количеству убийств, нанесённому урону, выстрелам в голову или ассистам
- **📊 Подробная статистика** — отслеживает количество убийств, гибелей, выстрелов в голову, нанесённого урона, ассистов и многое другое
- **🔪 Отслеживание особых убийств** — убийства ножом, убийства через стену, убийства без прицела, убийства гранатой
- **🎨 Полностью настраиваемые сообщения** — во всех сообщениях поддерживаются цветовые заполнители
- **📺 Объявления HUD** — красивое экранное отображение в формате HTML с настраиваемым стилем
- **⚙️ Настройка JSON** — простая настройка без перекомпиляции
- **🤖 Фильтрация ботов** — возможность включать или исключать ботов из расчётов MVP
- **🏅 Лучший игрок матча по команде** — возможность учитывать только игроков из команды-победителя
- **💬 Красивые объявления** — яркие цветные сообщения в чате с поддержкой смайликов
---
## 📦 Установка
1. **Скачать** скомпилированный плагин (`MVPSystem.dll`)
2. **Создайте** папку в каталоге плагинов CounterStrikeSharp:
```
csgo/addons/counterstrikesharp/plugins/MVPSystem/
```
3. **Скопировать** `MVPSystem.dll`в папку
4. **Перезапустите** сервер или загрузите плагин с помощью команды администрирования
---
## ⚙️ Настройка
При первом запуске плагин автоматически создает файл конфигурации по адресу:
```
csgo/addons/counterstrikesharp/configs/plugins/MVPSystem/MVPSystem.json
```
### Параметры настройки
| Вариант | Тип | По умолчанию | Описание |
| -------------------------- | ------ | --------- | ----------------------------------------------------------------- |
| `plugin_enabled` | bool | `true` | Включить или отключить плагин |
| `chat_prefix` | строка | `""` | Префикс для всех сообщений в чате |
| `mvp_criteria` | строка | `"kills"` | Критерии выбора MVP: `kills`, `damage`, `headshots`, `assists` |
| `only_winning_team` | bool | `false` | Учитывайте только игроков из команды-победительницы |
| `include_bots` | bool | `false` | Включить ботов в расчеты MVP |
| `count_team_damage` | bool | `false` | Включить урон команды в статистику урона |
| `show_no_mvp_message` | bool | `true` | Отображать сообщение, если MVP не найден |
| `show_detailed_stats` | bool | `true` | Показать подробную статистику в объявлении |
| `show_extra_stats` | bool | `true` | Показать дополнительные статистические данные (нож, стрельба через стены, стрельба без прицела) |
| `show_separator_lines` | bool | `true` | Показать разделительные линии вокруг объявления |
| `enable_chat_announcement` | bool | `true` | Включить уведомления в чате |
| `enable_hud_announcement` | bool | `true` | Включить HUD/экранные сообщения |
### Настройки HUD
| Вариант | Тип | По умолчанию | Описание |
| ------------------- | ------ | ---------------------- | ------------------------------------- |
| `display_duration` | float | `5.0` | В течение какого времени отображать HUD (в секундах) |
| `title_color` | строка | `"#FFD700"` | Цвет заголовка (золотой) |
| `player_name_color` | строка | `"#00FF00"` | Цвет имени игрока (зеленый) |
| `stats_color` | строка | `"#FFFFFF"` | Цвет текста статистики (белый) |
| `accent_color` | строка | `"#FF4444"` | Акцентный цвет (красный) |
| `background_color` | строка | `"rgba(0, 0, 0, 0.8)"` | Цвет фона с прозрачностью |
| `hud_template` | строка | _HTML-шаблон_ | Полностью настраиваемый HTML-шаблон |
### Пример конфигурации
```json
{
"plugin_enabled": true,
"chat_prefix": "",
"mvp_criteria": "kills",
"only_winning_team": false,
"include_bots": false,
"count_team_damage": false,
"show_no_mvp_message": true,
"show_detailed_stats": true,
"show_extra_stats": true,
"enable_chat_announcement": true,
"enable_hud_announcement": true,
"show_separator_lines": true,
"hud_settings": {
"display_duration": 5.0,
"title_color": "#FFD700",
"player_name_color": "#00FF00",
"stats_color": "#FFFFFF",
"accent_color": "#FF4444",
"background_color": "rgba(0, 0, 0, 0.8)",
"hud_template": "<div style='background: linear-gradient(135deg, {hud_bg_color}, rgba(30, 30, 30, 0.95)); border: 2px solid {hud_title_color}; border-radius: 15px; padding: 20px 40px; text-align: center; box-shadow: 0 0 30px rgba(255, 215, 0, 0.5);'><div style='font-size: 24px; color: {hud_title_color}; font-weight: bold; text-shadow: 0 0 10px {hud_title_color}; margin-bottom: 10px;'>★ ROUND MVP ★</div><div style='font-size: 32px; color: {hud_player_color}; font-weight: bold; text-shadow: 0 0 15px {hud_player_color}; margin-bottom: 15px;'>🏆 {player}</div><div style='font-size: 18px; color: {hud_stats_color}; margin-bottom: 8px;'><span style='color: #00FF00;'>{kills}</span> Kills • <span style='color: {hud_accent_color};'>{headshots}</span> Headshots ({hspercent}%) • <span style='color: #4488FF;'>{damage}</span> Damage</div><div style='font-size: 14px; color: #888888;'>K/D: {kd} • Assists: {assists}</div></div>"
},
"messages": {
"separator_line": "{gold}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
"mvp_title_line": "{yellow}★ {gold}ROUND MVP {yellow}★",
"mvp_announcement_message": "{lime}🏆 {gold}{player} {white}is the {yellow}MVP {white}of this round!",
"mvp_stats_line": "{grey}» {green}{kills} Kills {white}| {red}{headshots} Headshots ({hspercent}%) {white}| {blue}{damage} Damage {white}| {purple}{assists} Assists",
"mvp_extra_stats_line": "{grey}» {orange}Special: {lightred}🔪 {knifekills} Knife {white}| {magenta}⊛ {wallbangkills} Wallbang {white}| {lightblue}⌖ {noscopekills} Noscope",
"no_mvp_message": "{grey}No MVP this round - no kills recorded."
},
"version": 1
}
```
---
## 🎨 Заполнители цвета в чате
Используйте эти заполнители в своих сообщениях в чате, чтобы добавить цвета:
| Заполнитель | Цвет |
| --------------- | ------------ |
| `{default}` | По умолчанию |
| `{white}` | Белый |
| `{red}` | Красный |
| `{lightred}` | Светло-красный |
| `{darkred}` | Тёмно-красный |
| `{green}` | Зелёный |
| `{lime}` | Лайм |
| `{olive}` | Оливковый |
| `{yellow}` | Жёлтый |
| `{lightyellow}` | Светло-желтый |
| `{gold}` | Золото |
| `{orange}` | Оранжевый |
| `{blue}` | Синий |
| `{lightblue}` | Светло-голубой |
| `{darkblue}` | Тёмно-синий |
| `{purple}` | Фиолетовый |
| `{lightpurple}` | Светло-лиловый |
| `{magenta}` | Маджента |
| `{grey}` | Серый |
| `{silver}` | Серебро |
| `{bluegrey}` | Сине-серый |
---
## 🖥️ Заполнители цвета HUD
Используйте эти заполнители в своём шаблоне HUD:
| Заполнитель | Описание |
| -------------------- | ----------------------------- |
| `{hud_title_color}` | Цвет заголовка из файла настроек |
| `{hud_player_color}` | Цвет имени игрока из файла настроек |
| `{hud_stats_color}` | Цвет текста статистики из файла конфигурации |
| `{hud_accent_color}` | Акцентный цвет из файла конфигурации |
| `{hud_bg_color}` | Цвет фона из файла настроек |
---
## 📝 Заполнители сообщений
Используйте эти заполнители в своих сообщениях:
| Заполнитель | Описание |
| ----------------- | ------------------------ |
| `{player}` | Имя игрока, удостоенного звания MVP |
| `{kills}` | Количество убийств |
| `{deaths}` | Число погибших |
| `{headshots}` | Количество попаданий в голову |
| `{damage}` | Общий нанесённый урон |
| `{assists}` | Количество голевых передач |
| `{flashassists}` | Количество вспышек |
| `{knifekills}` | Количество убийств с применением ножа |
| `{wallbangkills}` | Количество убийств с помощью «wallbang» |
| `{noscopekills}` | Количество убийств без прицела |
| `{grenadekills}` | Количество убийств с помощью гранат |
| `{kd}` | Соотношение «убийств/смертей» |
| `{hspercent}` | Процент точных выстрелов в голову |
---
## 📸 Предварительный просмотр
### Объявление в чате
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★ ROUND MVP ★
🏆 PlayerName is the MVP of this round!
» 5 Kills | 3 Headshots (60%) | 450 Damage | 1 Assists
» Special: 🔪 1 Knife | ⊛ 0 Wallbang | ⌖ 1 Noscope
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### Сообщение HUD (в центре экрана)
```
┌─────────────────────────────────────┐
│ ★ ROUND MVP ★ │
│ 🏆 PlayerName │
│ 5 Kills • 3 Headshots (60%) │
│ 450 Damage │
│ K/D: 2.50 • Assists: 1 │
└─────────────────────────────────────┘
```
---
## 🛠️ Сборка из исходного кода
### Требования
- .NET 8.0 SDK
- API CounterStrikeSharp
### Команды сборки
```bash
# Restore dependencies
dotnet restore
# Build the plugin
dotnet build --configuration Release
```
Скомпилированный файл будет`MVPSystem.dll` находиться в:
```
bin/Release/net8.0/MVPSystem.dll
```
---
## 📄 Лицензия
Данный плагин предоставляется «как есть» для использования на ваших серверах CS2.
---
## 👨💻 Автор
**illusion @ CodeStrike.STORE**
- 🌐 Сайт: [CodeStrike.STORE](https://codestrike.store)
- 💬 Discord: ссылка доступна на сайте
---
## 🤝 Поддержка
По вопросам технической поддержки, предложений по улучшению функционала или сообщений об ошибках:
- Посетите [CodeStrike.STORE](https://codestrike.store)
- Присоединяйтесь к нашему сообществу в Discord
---
## 📝 Список изменений
### v1.1.0
- **НОВОЕ: Объявления HUD** — красивое отображение MVP на экране в формате HTML
- Настраиваемый шаблон HUD с полной поддержкой HTML/CSS
- Настраиваемая продолжительность отображения HUD
- Отдельные настройки включения/выключения уведомлений в чате и на HUD
- Настраиваемые цвета HUD (заголовок, имя игрока, статистика, акцент, фон)
### v1.0.0
- Первый выпуск
- Полная система отслеживания MVP
- Настраиваемые сообщения через JSON
- Варианты критериев для определения MVP
- Отслеживание особых убийств (нож, выстрел через стену, без прицела)
- Красивые цветные объявления в чате
---
_Создано с любовью ❤️ от illusion @ CodeStrike.STORE_