# 🏆 Sistemul MVP – Pluginul CounterStrikeSharp
Un plugin **MVP System brutal și plin de funcții** pentru Counter-Strike 2, care anunță cel mai valoros jucător (MVP) la sfârșitul fiecărei runde, cu statistici detaliate, mesaje de chat colorate și frumoase, **precum și anunțuri uimitoare afișate pe ecran (HUD)**!




---
## ✨ Caracteristici
- **🎯 Criterii multiple pentru MVP** – Alege MVP-ul pe baza numărului de ucideri, a daunelor provocate, a loviturilor în cap sau a asistențelor
- **📊 Statistici complete** – Înregistrează uciderile, decesele, loviturile în cap, daunele, asistențele și multe altele
- **🔪 Urmărirea uciderilor speciale** – ucideri cu cuțitul, ucideri prin perete, ucideri fără vizare, ucideri cu grenade
- **🎨 Mesaje complet personalizabile** – Toate mesajele acceptă substituenți de culoare
- **📺 Anunțuri HUD** – Afișaj pe ecran frumos, formatat în HTML, cu stil personalizabil
- **⚙️ Configurație JSON** – Ușor de configurat fără a fi necesară recompilarea
- **🤖 Filtrarea boturilor** – Opțiune de a include sau exclude boturile din calculele MVP
- **🏅 Cel mai valoros jucător (MVP) al echipei** – Opțiunea de a lua în considerare doar jucătorii din echipa câștigătoare
- **💬 Anunțuri frumoase** – Mesaje de chat colorate, uimitoare, cu suport pentru emoji
---
## 📦 Instalare
1. **Descărcați** pluginul compilat (`MVPSystem.dll`)
2. **Creează** un folder în directorul de pluginuri al CounterStrikeSharp:
```
csgo/addons/counterstrikesharp/plugins/MVPSystem/
```
3. **Copiați** `MVPSystem.dll`în folder
4. **Reporniți** serverul sau încărcați pluginul folosind comanda de administrare
---
## ⚙️ Configurare
La prima rulare, pluginul creează automat un fișier de configurare în:
```
csgo/addons/counterstrikesharp/configs/plugins/MVPSystem/MVPSystem.json
```
### Opțiuni de configurare
| Opțiune | Tip | Implicit | Descriere |
| -------------------------- | ------ | --------- | ----------------------------------------------------------------- |
| `plugin_enabled` | bool | `true` | Activează sau dezactivează pluginul |
| `chat_prefix` | șir de caractere | `""` | Prefix pentru toate mesajele din chat |
| `mvp_criteria` | șir de caractere | `"kills"` | Criterii de selecție pentru titlul de MVP: `kills`, `damage`, `headshots`, `assists` |
| `only_winning_team` | bool | `false` | Să se ia în considerare doar jucătorii din echipa câștigătoare |
| `include_bots` | bool | `false` | Includeți roboții în calculele MVP |
| `count_team_damage` | bool | `false` | Includeți daunele provocate de echipă în statisticile privind daunele |
| `show_no_mvp_message` | bool | `true` | Afișează un mesaj atunci când nu se găsește niciun MVP |
| `show_detailed_stats` | bool | `true` | Afișează statistici detaliate în anunț |
| `show_extra_stats` | bool | `true` | Afișează statistici suplimentare (cuțit, lovituri prin perete, fără vizor) |
| `show_separator_lines` | bool | `true` | Afișează linii de separare în jurul anunțului |
| `enable_chat_announcement` | bool | `true` | Activează anunțurile din chat |
| `enable_hud_announcement` | bool | `true` | Activează HUD-ul/anunțurile afișate pe ecran |
### Setări HUD
| Opțiune | Tip | Implicit | Descriere |
| ------------------- | ------ | ---------------------- | ------------------------------------- |
| `display_duration` | float | `5.0` | Cât timp să rămână afișat HUD-ul (secunde) |
| `title_color` | șir | `"#FFD700"` | Culoarea titlului (auriu) |
| `player_name_color` | șir | `"#00FF00"` | Culoarea numelui jucătorului (verde) |
| `stats_color` | șir de caractere | `"#FFFFFF"` | Culoarea textului statisticilor (alb) |
| `accent_color` | șir de caractere | `"#FF4444"` | Culoare de accent (roșu) |
| `background_color` | șir de caractere | `"rgba(0, 0, 0, 0.8)"` | Culoarea de fundal cu transparență |
| `hud_template` | șir de caractere | _Șablon HTML_ | Șablon HTML complet personalizabil |
### Exemplu de configurare
```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
}
```
---
## 🎨 Locuri rezervate pentru culorile din chat
Folosește aceste simboluri de substituție în mesajele tale de chat pentru a adăuga culori:
| Text provizoriu | Culoare |
| --------------- | ------------ |
| `{default}` | Implicit |
| `{white}` | Alb |
| `{red}` | Roșu |
| `{lightred}` | Roșu deschis |
| `{darkred}` | Roșu închis |
| `{green}` | Verde |
| `{lime}` | Lămâie verde |
| `{olive}` | Măslin |
| `{yellow}` | Galben |
| `{lightyellow}` | Galben deschis |
| `{gold}` | Aur |
| `{orange}` | Portocaliu |
| `{blue}` | Albastru |
| `{lightblue}` | Albastru deschis |
| `{darkblue}` | Albastru închis |
| `{purple}` | Violet |
| `{lightpurple}` | Violet deschis |
| `{magenta}` | Magenta |
| `{grey}` | Gri |
| `{silver}` | Argint |
| `{bluegrey}` | Albastru-gri |
---
## 🖥️ Locuri rezervate pentru culori în HUD
Folosește acești marcatori de poziție în șablonul tău HUD:
| Text provizoriu | Descriere |
| -------------------- | ----------------------------- |
| `{hud_title_color}` | Culoarea titlului din fișierul de configurare |
| `{hud_player_color}` | Culoarea numelui jucătorului din fișierul de configurare |
| `{hud_stats_color}` | Culoarea textului statisticilor din fișierul de configurare |
| `{hud_accent_color}` | Culoarea de accent din configurare |
| `{hud_bg_color}` | Culoarea de fundal din fișierul de configurare |
---
## 📝 Locuri rezervate pentru mesaje
Folosește aceste elemente de substituție în mesajele tale:
| Text provizoriu | Descriere |
| ----------------- | ------------------------ |
| `{player}` | Numele jucătorului MVP |
| `{kills}` | Numărul de victime |
| `{deaths}` | Numărul deceselor |
| `{headshots}` | Numărul de lovituri la cap |
| `{damage}` | Daune totale provocate |
| `{assists}` | Numărul de pase decisive |
| `{flashassists}` | Numărul de pase decisive cu flash |
| `{knifekills}` | Numărul de omoruri comise cu cuțitul |
| `{wallbangkills}` | Numărul de ucideri prin „wallbang” |
| `{noscopekills}` | Numărul de ucideri fără noscope |
| `{grenadekills}` | Numărul de victime provocate de grenade |
| `{kd}` | Raportul ucideri/decese |
| `{hspercent}` | Procentajul loviturilor la cap |
---
## 📸 Previzualizare
### Anunț în chat
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★ 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
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### Anunț HUD (pe ecranul central)
```
┌─────────────────────────────────────┐
│ ★ ROUND MVP ★ │
│ 🏆 PlayerName │
│ 5 Kills • 3 Headshots (60%) │
│ 450 Damage │
│ K/D: 2.50 • Assists: 1 │
└─────────────────────────────────────┘
```
---
## 🛠️ Compilare din sursă
### Cerințe
- SDK .NET 8.0
- API-ul CounterStrikeSharp
### Comenzi de compilare
```bash
# Restore dependencies
dotnet restore
# Build the plugin
dotnet build --configuration Release
```
Fișierul compilat `MVPSystem.dll`va fi în:
```
bin/Release/net8.0/MVPSystem.dll
```
---
## 📄 Licență
Acest plugin este furnizat „așa cum este” pentru a fi utilizat pe serverele dvs. CS2.
---
## 👨💻 Autor
**illusion @ CodeStrike.STORE**
- 🌐 Site web: [CodeStrike.STORE](https://codestrike.store)
- 💬 Discord: Disponibil pe site-ul web
---
## 🤝 Asistență
Pentru asistență, solicitări de funcționalități sau raportări de erori:
- Vizitați [CodeStrike.STORE](https://codestrike.store)
- Alătură-te comunității noastre de pe Discord
---
## 📝 Istoric modificări
### v1.1.0
- **NOU: Anunțuri HUD** – Afișare MVP frumoasă pe ecran, în format HTML
- Șablon HUD personalizabil cu suport complet pentru HTML/CSS
- Durata de afișare a HUD-ului, configurabilă
- Opțiuni separate de activare/dezactivare pentru anunțurile din chat și din HUD
- Culori personalizabile pentru HUD (titlu, numele jucătorului, statistici, contur, fundal)
### v1.0.0
- Versiunea inițială
- Sistem complet de monitorizare a MVP-urilor
- Mesaje personalizabile prin JSON
- Opțiuni multiple privind criteriile pentru MVP
- Urmărirea uciderilor speciale (cu cuțitul, prin perete, fără vizor)
- Anunțuri frumoase și colorate pe chat
---
_Realizat cu ❤️ de illusion @ CodeStrike.STORE_