# 🏆 MVP System - CounterStrikeSharp Plugin
A **brutal and feature-rich MVP System** plugin for Counter-Strike 2 that announces the Most Valuable Player at the end of each round with detailed statistics, beautiful colored chat messages, **AND stunning HUD/on-screen announcements**!




---
## ✨ Features
- **🎯 Multiple MVP Criteria** - Select MVP based on kills, damage, headshots, or assists
- **📊 Comprehensive Statistics** - Tracks kills, deaths, headshots, damage, assists, and more
- **🔪 Special Kill Tracking** - Knife kills, wallbang kills, noscope kills, grenade kills
- **🎨 Fully Customizable Messages** - All messages support color placeholders
- **📺 HUD Announcements** - Beautiful HTML-formatted on-screen display with customizable styling
- **⚙️ JSON Configuration** - Easy to configure without recompiling
- **🤖 Bot Filtering** - Option to include or exclude bots from MVP calculations
- **🏅 Team-Based MVP** - Option to only consider players from the winning team
- **💬 Beautiful Announcements** - Stunning colored chat messages with emoji support
---
## 📦 Installation
1. **Download** the compiled plugin (`MVPSystem.dll`)
2. **Create** a folder in your CounterStrikeSharp plugins directory:
```
csgo/addons/counterstrikesharp/plugins/MVPSystem/
```
3. **Copy** `MVPSystem.dll` into the folder
4. **Restart** your server or load the plugin using the admin command
---
## ⚙️ Configuration
The plugin automatically creates a configuration file on first run at:
```
csgo/addons/counterstrikesharp/configs/plugins/MVPSystem/MVPSystem.json
```
### Configuration Options
| Option | Type | Default | Description |
| -------------------------- | ------ | --------- | ----------------------------------------------------------------- |
| `plugin_enabled` | bool | `true` | Enable or disable the plugin |
| `chat_prefix` | string | `""` | Prefix for all chat messages |
| `mvp_criteria` | string | `"kills"` | MVP selection criteria: `kills`, `damage`, `headshots`, `assists` |
| `only_winning_team` | bool | `false` | Only consider players from the winning team |
| `include_bots` | bool | `false` | Include bots in MVP calculations |
| `count_team_damage` | bool | `false` | Count team damage in damage statistics |
| `show_no_mvp_message` | bool | `true` | Show message when no MVP is found |
| `show_detailed_stats` | bool | `true` | Show detailed statistics in announcement |
| `show_extra_stats` | bool | `true` | Show extra stats (knife, wallbang, noscope) |
| `show_separator_lines` | bool | `true` | Show separator lines around announcement |
| `enable_chat_announcement` | bool | `true` | Enable chat announcements |
| `enable_hud_announcement` | bool | `true` | Enable HUD/on-screen announcements |
### HUD Settings
| Option | Type | Default | Description |
| ------------------- | ------ | ---------------------- | ------------------------------------- |
| `display_duration` | float | `5.0` | How long to display the HUD (seconds) |
| `title_color` | string | `"#FFD700"` | Title color (gold) |
| `player_name_color` | string | `"#00FF00"` | Player name color (green) |
| `stats_color` | string | `"#FFFFFF"` | Stats text color (white) |
| `accent_color` | string | `"#FF4444"` | Accent color (red) |
| `background_color` | string | `"rgba(0, 0, 0, 0.8)"` | Background color with transparency |
| `hud_template` | string | _HTML template_ | Fully customizable HTML template |
### Example Configuration
```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
}
```
---
## 🎨 Chat Color Placeholders
Use these placeholders in your chat messages to add colors:
| Placeholder | Color |
| --------------- | ------------ |
| `{default}` | Default |
| `{white}` | White |
| `{red}` | Red |
| `{lightred}` | Light Red |
| `{darkred}` | Dark Red |
| `{green}` | Green |
| `{lime}` | Lime |
| `{olive}` | Olive |
| `{yellow}` | Yellow |
| `{lightyellow}` | Light Yellow |
| `{gold}` | Gold |
| `{orange}` | Orange |
| `{blue}` | Blue |
| `{lightblue}` | Light Blue |
| `{darkblue}` | Dark Blue |
| `{purple}` | Purple |
| `{lightpurple}` | Light Purple |
| `{magenta}` | Magenta |
| `{grey}` | Grey |
| `{silver}` | Silver |
| `{bluegrey}` | Blue Grey |
---
## 🖥️ HUD Color Placeholders
Use these placeholders in your HUD template:
| Placeholder | Description |
| -------------------- | ----------------------------- |
| `{hud_title_color}` | Title color from config |
| `{hud_player_color}` | Player name color from config |
| `{hud_stats_color}` | Stats text color from config |
| `{hud_accent_color}` | Accent color from config |
| `{hud_bg_color}` | Background color from config |
---
## 📝 Message Placeholders
Use these placeholders in your messages:
| Placeholder | Description |
| ----------------- | ------------------------ |
| `{player}` | MVP player name |
| `{kills}` | Number of kills |
| `{deaths}` | Number of deaths |
| `{headshots}` | Number of headshots |
| `{damage}` | Total damage dealt |
| `{assists}` | Number of assists |
| `{flashassists}` | Number of flash assists |
| `{knifekills}` | Number of knife kills |
| `{wallbangkills}` | Number of wallbang kills |
| `{noscopekills}` | Number of noscope kills |
| `{grenadekills}` | Number of grenade kills |
| `{kd}` | Kill/Death ratio |
| `{hspercent}` | Headshot percentage |
---
## 📸 Preview
### Chat Announcement
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★ 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 Announcement (Center Screen)
```
┌─────────────────────────────────────┐
│ ★ ROUND MVP ★ │
│ 🏆 PlayerName │
│ 5 Kills • 3 Headshots (60%) │
│ 450 Damage │
│ K/D: 2.50 • Assists: 1 │
└─────────────────────────────────────┘
```
---
## 🛠️ Building from Source
### Requirements
- .NET 8.0 SDK
- CounterStrikeSharp API
### Build Commands
```bash
# Restore dependencies
dotnet restore
# Build the plugin
dotnet build --configuration Release
```
The compiled `MVPSystem.dll` will be in:
```
bin/Release/net8.0/MVPSystem.dll
```
---
## 📄 License
This plugin is provided as-is for use on your CS2 servers.
---
## 👨💻 Author
**illusion @ CodeStrike.STORE**
- 🌐 Website: [CodeStrike.STORE](https://codestrike.store)
- 💬 Discord: Available on website
---
## 🤝 Support
For support, feature requests, or bug reports:
- Visit [CodeStrike.STORE](https://codestrike.store)
- Join our Discord community
---
## 📝 Changelog
### v1.1.0
- **NEW: HUD Announcements** - Beautiful HTML-formatted on-screen MVP display
- Customizable HUD template with full HTML/CSS support
- Configurable HUD display duration
- Separate enable/disable options for chat and HUD announcements
- Customizable HUD colors (title, player name, stats, accent, background)
### v1.0.0
- Initial release
- Full MVP tracking system
- Customizable messages via JSON
- Multiple MVP criteria options
- Special kill tracking (knife, wallbang, noscope)
- Beautiful colored chat announcements
---
_Made with ❤️ by illusion @ CodeStrike.STORE_