# 🏆 System MVP – wtyczka CounterStrikeSharp
**Potężna i bogata w funkcje** wtyczka **MVP System** do gry Counter-Strike 2, która pod koniec każdej rundy ogłasza Najbardziej Wartościowego Gracza (MVP), przedstawiając szczegółowe statystyki, piękne, kolorowe komunikaty na czacie **ORAZ oszałamiające komunikaty wyświetlane na ekranie (HUD)**!




---
## ✨ Funkcje
- **🎯 Różne kryteria wyboru MVP** – wybierz MVP na podstawie liczby zabójstw, zadawanych obrażeń, strzałów w głowę lub asyst
- **📊 Kompleksowe statystyki** – śledzą liczbę zabójstw, zgonów, strzałów w głowę, zadawanych obrażeń, asyst i nie tylko
- **🔪 Śledzenie specjalnych zabójstw** – zabójstwa nożem, zabójstwa przez ścianę, zabójstwa bez celowania, zabójstwa granatem
- **🎨 W pełni konfigurowalne komunikaty** – wszystkie komunikaty obsługują kolorowe symbole zastępcze
- **📺 Komunikaty HUD** — piękny wyświetlacz ekranowy w formacie HTML z możliwością dostosowania stylu
- **⚙️ Konfiguracja JSON** – łatwa konfiguracja bez konieczności ponownej kompilacji
- **🤖 Filtrowanie botów** – opcja uwzględnienia lub wykluczenia botów z obliczeń MVP
- **🏅 Najlepszy gracz drużyny** – możliwość uwzględnienia wyłącznie zawodników z drużyny zwycięskiej
- **💬 Piękne ogłoszenia** – niesamowite kolorowe wiadomości na czacie z obsługą emoji
---
## 📦 Instalacja
1. **Pobierz** skompilowaną wtyczkę (`MVPSystem.dll`)
2. **Utwórz** folder w katalogu wtyczek CounterStrikeSharp:
```
csgo/addons/counterstrikesharp/plugins/MVPSystem/
```
3. **Skopiuj** do`MVPSystem.dll` folderu
4. **Uruchom ponownie** serwer lub załaduj wtyczkę za pomocą polecenia administracyjnego
---
## ⚙️ Konfiguracja
Wtyczka automatycznie tworzy plik konfiguracyjny przy pierwszym uruchomieniu w lokalizacji:
```
csgo/addons/counterstrikesharp/configs/plugins/MVPSystem/MVPSystem.json
```
### Opcje konfiguracji
| Opcja | Typ | Domyślnie | Opis |
| -------------------------- | ------ | --------- | ----------------------------------------------------------------- |
| `plugin_enabled` | bool | `true` | Włącz lub wyłącz wtyczkę |
| `chat_prefix` | ciąg znaków | `""` | Przedrostek dla wszystkich wiadomości na czacie |
| `mvp_criteria` | ciąg znaków | `"kills"` | Kryteria wyboru MVP: `kills`, `damage`, `headshots`, `assists` |
| `only_winning_team` | bool | `false` | Należy brać pod uwagę wyłącznie zawodników z drużyny, która wygrała |
| `include_bots` | bool | `false` | Uwzględnij boty w obliczeniach dotyczących MVP |
| `count_team_damage` | bool | `false` | Uwzględnij obrażenia zadane przez drużynę w statystykach obrażeń |
| `show_no_mvp_message` | bool | `true` | Wyświetl komunikat, jeśli nie znaleziono MVP |
| `show_detailed_stats` | bool | `true` | Pokaż szczegółowe statystyki w ogłoszeniu |
| `show_extra_stats` | bool | `true` | Pokaż dodatkowe statystyki (noż, strzały przez ścianę, strzały bez celownika) |
| `show_separator_lines` | bool | `true` | Wyświetl linie oddzielające wokół ogłoszenia |
| `enable_chat_announcement` | bool | `true` | Włącz powiadomienia na czacie |
| `enable_hud_announcement` | bool | `true` | Włącz HUD/komunikaty wyświetlane na ekranie |
### Ustawienia HUD
| Opcja | Typ | Domyślnie | Opis |
| ------------------- | ------ | ---------------------- | ------------------------------------- |
| `display_duration` | float | `5.0` | Jak długo ma być wyświetlany HUD (w sekundach) |
| `title_color` | ciąg znaków | `"#FFD700"` | Kolor tytułu (złoty) |
| `player_name_color` | ciąg znaków | `"#00FF00"` | Kolor nazwy gracza (zielony) |
| `stats_color` | ciąg znaków | `"#FFFFFF"` | Kolor tekstu statystyk (biały) |
| `accent_color` | ciąg znaków | `"#FF4444"` | Kolor akcentujący (czerwony) |
| `background_color` | ciąg znaków | `"rgba(0, 0, 0, 0.8)"` | Kolor tła z przezroczystością |
| `hud_template` | ciąg znaków | _Szablon HTML_ | W pełni konfigurowalny szablon HTML |
### Przykładowa konfiguracja
```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
}
```
---
## 🎨 Symbole zastępcze kolorów w czacie
Aby dodać kolory do wiadomości na czacie, użyj poniższych symboli zastępczych:
| Zastępczy tekst | Kolor |
| --------------- | ------------ |
| `{default}` | Domyślnie |
| `{white}` | Biały |
| `{red}` | Czerwony |
| `{lightred}` | Jasnoczerwony |
| `{darkred}` | Ciemnoczerwony |
| `{green}` | Zielony |
| `{lime}` | Limonka |
| `{olive}` | Oliwka |
| `{yellow}` | Żółty |
| `{lightyellow}` | Jasnożółty |
| `{gold}` | Złoto |
| `{orange}` | Pomarańczowy |
| `{blue}` | Niebieski |
| `{lightblue}` | Jasnoniebieski |
| `{darkblue}` | Ciemnoniebieski |
| `{purple}` | Fioletowy |
| `{lightpurple}` | Jasnofioletowy |
| `{magenta}` | Magenta |
| `{grey}` | Szary |
| `{silver}` | Srebro |
| `{bluegrey}` | Niebieskoszary |
---
## 🖥️ Zastępcze elementy koloru w HUD-zie
W szablonie HUD użyj następujących symboli zastępczych:
| Zastępczy tekst | Opis |
| -------------------- | ----------------------------- |
| `{hud_title_color}` | Kolor tytułu z pliku konfiguracyjnego |
| `{hud_player_color}` | Kolor nazwy gracza z pliku konfiguracyjnego |
| `{hud_stats_color}` | Kolor tekstu statystyk z pliku konfiguracyjnego |
| `{hud_accent_color}` | Kolor akcentujący z pliku konfiguracyjnego |
| `{hud_bg_color}` | Kolor tła z pliku konfiguracyjnego |
---
## 📝 Symbole zastępcze w wiadomościach
W swoich wiadomościach używaj poniższych symboli zastępczych:
| Zastępczy tekst | Opis |
| ----------------- | ------------------------ |
| `{player}` | Nazwisko gracza MVP |
| `{kills}` | Liczba zabójstw |
| `{deaths}` | Liczba zgonów |
| `{headshots}` | Liczba strzałów w głowę |
| `{damage}` | Łączna zadana szkoda |
| `{assists}` | Liczba asyst |
| `{flashassists}` | Liczba asyst z użyciem błysku |
| `{knifekills}` | Liczba zabójstw nożem |
| `{wallbangkills}` | Liczba zabójstw metodą „wallbang” |
| `{noscopekills}` | Liczba zabójstw bez celownika |
| `{grenadekills}` | Liczba zabójstw granatami |
| `{kd}` | Współczynnik zabójstw na śmierć |
| `{hspercent}` | Procent trafień w głowę |
---
## 📸 Podgląd
### Ogłoszenie na czacie
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★ 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
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### Komunikat HUD (na środku ekranu)
```
┌─────────────────────────────────────┐
│ ★ ROUND MVP ★ │
│ 🏆 PlayerName │
│ 5 Kills • 3 Headshots (60%) │
│ 450 Damage │
│ K/D: 2.50 • Assists: 1 │
└─────────────────────────────────────┘
```
---
## 🛠️ Kompilacja z kodu źródłowego
### Wymagania
- Pakiet SDK .NET 8.0
- Interfejs API CounterStrikeSharp
### Polecenia kompilacji
```bash
# Restore dependencies
dotnet restore
# Build the plugin
dotnet build --configuration Release
```
Skompilowany plik znajdzie`MVPSystem.dll` się w:
```
bin/Release/net8.0/MVPSystem.dll
```
---
## 📄 Licencja
Ta wtyczka jest udostępniana w obecnej postaci do użytku na serwerach CS2.
---
## 👨💻 Autor
**illusion @ CodeStrike.STORE**
- 🌐 Strona internetowa: [CodeStrike.STORE](https://codestrike.store)
- 💬 Discord: Dostępny na stronie internetowej
---
## 🤝 Pomoc
W sprawie pomocy technicznej, zgłoszeń dotyczących nowych funkcji lub błędów:
- Odwiedź stronę [CodeStrike.STORE](https://codestrike.store)
- Dołącz do naszej społeczności na Discordzie
---
## 📝 Lista zmian
### wersja 1.1.0
- **NOWOŚĆ: Komunikaty HUD** – piękna, sformatowana w HTML-u graficzna prezentacja MVP na ekranie
- Szablon HUD-u z możliwością dostosowania, z pełną obsługą HTML/CSS
- Możliwość konfiguracji czasu wyświetlania HUD
- Oddzielne opcje włączania/wyłączania komunikatów na czacie i w interfejsie HUD
- Możliwość dostosowania kolorów interfejsu HUD (tytuł, nazwa gracza, statystyki, akcenty, tło)
### wersja 1.0.0
- Pierwsze wydanie
- Kompleksowy system monitorowania MVP
- Komunikaty z możliwością dostosowania za pomocą JSON
- Różne opcje kryteriów wyboru MVP
- Specjalne statystyki zabójstw (nożem, strzał przez ścianę, bez celowania)
- Piękne, kolorowe ogłoszenia na czacie
---
_Stworzone z ❤️ przez illusion @ CodeStrike.STORE_