# Muzyka na zamówienie MVP
**Twoi gracze sami wybierają hymn dla MVP. Słyszy go cały serwer. Wybór ten pozostaje w pamięci na zawsze.**
Runda się kończy, pojawia się panel MVP – i zamiast tego samego, oklepanego motywu muzycznego po raz tysięczny
W tym momencie serwer odtwarza utwór wybrany przez gracza. W tym czasie wyciszana jest muzyka MVP właściwa dla tej gry
runda, więc nic nie zagłusza tej muzyki. Na czacie pojawia się informacja, kto zdobył tytuł MVP, jaki utwór jest odtwarzany i jak
Ten zawodnik wielokrotnie zdobywał tytuł MVP.
Gracze dokonują wyboru za pomocą `!mvp`. Ich wybór jest zapisywany w bazie danych MySQL, dzięki czemu pozostaje zachowany po zmianach mapy, ponownym połączeniu oraz
ponowne uruchomienie serwera.
---
## Zanim dokonasz zakupu – przeczytaj tę część
**Utwory pochodzą z dodatku do Steam Workshop, który sam tworzysz i publikujesz.** Ta wtyczka
nie przesyła plików muzycznych i nie może samodzielnie dodawać muzyki na serwer – CS2 odtwarza wyłącznie pliki audio, które są
już zainstalowane na komputerze klienta.
W praktyce oznacza to, że: umieszczasz swoje pliki`.mp3` w dodatku CS2 Workshop Tools, kompilujesz go,
opublikuj to w Workshopie, a MultiAddonManager przekaże to graczom, gdy się zalogują. To
zawiera szczegółowe instrukcje krok po kroku wraz z działającym `.vsndevts`przykładem i jest to
czynność jednorazowa – potem wystarczy dodawać utwory, edytując jeden plik konfiguracyjny.
Jeśli na swoim serwerze korzystasz już z dodatku „workshop”, to większość pracy masz już za sobą. Jeśli masz
Jeśli jeszcze nigdy nie korzystałeś z Workshop Tools, zarezerwuj sobie popołudnie na zainstalowanie pierwszego dodatku.
Wszystko inne – menu, uprawnienia, baza danych, ogłoszenia – jest załatwiane za Ciebie.
---
## Jak to działa
**Każdy gracz wybiera swój własny hymn.** Menu oparte jest na klasie MenuManager, więc dziedziczy wszystkie właściwości menu
styl, z którego korzysta już twój serwer. Jeden wybór na gracza, zapisywany na SteamID.
**Kategorie z własnymi uprawnieniami.** Pogrupuj utwory w podmenu – Hip Hop, Chalga, Premium,
cokolwiek chcesz. Przypisz kategorię do flagi, a wszystkie utwory w niej zawarte zostaną przypisane do tej flagi. Świetnie
w sekcjach przeznaczonych wyłącznie dla VIP-ów.
**Losowe odtwarzanie.** Użytkownik może wybrać „losowy utwór” zamiast konkretnego, albo z całej listy, albo
z jednej kategorii. Za każdym razem, gdy zdobywają tytuł MVP, wybrany jest inny hymn.
**Bezpłatny pakiet dla użytkowników niebędących członkami VIP.** Niech każdy może korzystać z pierwszych N utworów, a pełną listę odblokuje za
flaga według własnego wyboru. Jedno ustawienie, nie jest wymagana żadna osobna wtyczka VIP – wystarczy dowolna wtyczka, która zapewnia
CounterStrikeSharp obsługuje flagi, w tym SimpleAdmin `admins.json`oraz wszystkie popularne wtyczki VIP.
**Gracze, którzy nie chcą słuchać muzyki innych osób**, **mogą ją wyłączyć.** Ustawienia dla każdego gracza są zapisywane w pliku
baza danych. Ich hymn wciąż rozbrzmiewa.
**Komunikaty, które coś znaczą.** W oknie czatu pojawia się imię gracza, tytuł utworu oraz
licznik – „Illusion po raz 23. zdobywa tytuł MVP”. W pełni nadający się do ponownego zapisu, z kolorowymi żetonami, a ponadto
może również migać na środku ekranu.
**Podgląd.** Wybranie utworu powoduje jego natychmiastowe odtworzenie na danym odtwarzaczu i przerywa podgląd, który był właśnie
już działa, więc nic się nie pokrywa.
**Zestawy muzyczne również są wyciszone.** Nie chodzi tylko o domyślny hymn – o ile MVP posiada taki zestaw muzyczny, oczywiście
zostanie również wyciszony, więc będzie odtwarzana tylko twoja piosenka.
**Każdy ciąg znaków należy do Ciebie.** Nazwy opcji menu, odpowiedzi na czacie, komunikat, prefiks – wszystko to znajduje się w pliku
konfiguracja, wszystko z użyciem tokenów kolorów. Żadna część nie jest zakodowana na stałe w języku angielskim.
---
## Stworzony z myślą o pracy na serwerze produkcyjnym
To są rzeczy, które zauważasz dopiero wtedy, gdy ich brakuje:
- **Awaria bazy danych nie powoduje uszkodzenia wtyczki.** Wybory nadal działają w pamięci przez
W ramach sesji każde wywołanie jest ponawiane automatycznie, a system przywraca poprawną pracę bez konieczności ponownego ładowania strony. Błędy są rejestrowane w pliku
najwyżej raz na minutę, zamiast zasypywać konsolę wiadomościami.
- **Wpisy nigdy nie blokują wątku gry.** Trafiają one do uporządkowanej kolejki działającej w tle, więc dwa szybkie
Ruchy tego samego gracza nigdy nie mogą pojawić się w nieprawidłowej kolejności, a pod koniec rundy nie występują żadne zacięcia.
- **Uprawnienia są sprawdzane ponownie, a nie uznawane za wiarygodne za pierwszym razem.** Gdy status VIP wygaśnie, gracz powraca do
domyślną muzykę i dowiaduje się, dlaczego – a to dlatego, że wtyczki administracyjne oparte na bazie danych pozwalają na chwilowe wyświetlanie flag
Po nawiązaniu połączenia w pierwszych sekundach sesji wybór nigdy nie jest błędnie kasowany.
- **Ścieżka MVP nie wykorzystuje funkcji skrótu ani alokacji pamięci.** Stan gracza jest indeksowany według slotu.
- **Konfiguracja jest odświeżana na bieżąco.** Ponownie odczytuje`css_mvp_reload` listę utworów, a nawet nazwy poleceń na czacie.
bez konieczności ponownego uruchamiania serwera.
- **Boty, HLTV i gracze korzystający z domyślnej muzyki pozostają całkowicie nietknięci** – wtyczka nie ingeruje w ich działanie
w takim razie w ogóle nie zorganizować tego wydarzenia.
---
## Wymagania
| | |
|---|---|
| CounterStrikeSharp | `1.0.368` lub nowsza wersja |
| [MenuManagerCS2](https://github.com/NickFox007/MenuManagerCS2) | w menu utworów |
| [MultiAddonManager](https://github.com/Source2ZE/MultiAddonManager) | instaluje dodatek „workshop” na serwerze i na klientach |
| MySQL / MariaDB | zapisuje wybrane pozycje |
| Dodatek do serwisu Steam Workshop zawierający Twoje utwory | zobacz powyższy punkt |
---
## Polecenia
| Polecenie | Kto |
|---|---|
| `!mvp` `/mvp` `!music` `/music` | players – otwiera menu. Nazwy poleceń można dostosować, a dostęp do menu można zablokować za pomocą flagi. |
| `css_mvp_test` | admin – wyświetla listę utworów lub odtwarza jeden z nich, aby umożliwić sprawdzenie nazwy zdarzenia dźwiękowego |
| `css_mvp_stop` | admin – zatrzymuje nadal uruchomiony podgląd |
| `css_mvp_reload` | admin – ponowne wczytanie konfiguracji z dysku |
---
## Co otrzymujesz
- Skompilowana wtyczka, gotowa do umieszczenia w `addons/counterstrikesharp/plugins/`.
- Kompletny podręcznik: objaśnienie wszystkich kluczy konfiguracyjnych oraz instrukcja tworzenia dodatku „Workshop”
(w tym praktyczny przykład`.vsndevts`) oraz tabelę dotyczącą rozwiązywania problemów.
- Tabele bazy danych są tworzone automatycznie przy pierwszym połączeniu. Nie ma potrzeby importowania żadnych zapytań SQL.
Kod źródłowy nie jest dołączony.
---
## Opcjonalnie: połącz to ze stroną internetową
Wtyczka jest samowystarczalna. Jeśli prowadzisz również oddzielną **stronę internetową MVP Music**, skieruj obie
w tej samej bazie danych, a gracze mają dostęp do strony logowania Steam, na której mogą przeglądać utwory i odsłuchiwać ich fragmenty
w przeglądarce i wybrać tam swój hymn – a także panel administracyjny do zarządzania utworami i kategoriami, z
historia rozgrywek i tabele wyników. Zmiany wprowadzone w przeglądarce są uwzględniane w grze bez konieczności ponownego łączenia się, a
na odwrót.
Sprzedawane osobno. Wtyczka nie wymaga żadnego elementu z tego zestawu.
---
## Wersja
**1.3.1** – aktualna wersja.
Najnowsze zmiany: kategorie jako podmenu z własnymi ustawieniami losowego wyświetlania i uprawnieniami, dla każdego gracza
wyciszenie podczas hymnów innych graczy, limit w wersji darmowej dla użytkowników niebędących VIP-ami, liczniki MVP w
ogłoszenie oraz opcjonalna synchronizacja ze stroną internetową.
---
## Licencja i wsparcie techniczne
- Zabrania się dalszego rozpowszechniania, odsprzedaży, udostępniania lub publikowania tych plików, zarówno w całości, jak i w części.
- Aktualizacje tej głównej wersji są bezpłatne.
- Po dostarczeniu plików nie przysługuje zwrot kosztów – powyższe wymagania zostały wymienione w całości, więc
Przed zakupem upewnij się, że Twoja konfiguracja jest zgodna.
Zapraszamy do zadawania pytań przed zakupem. Jeśli potrzebujesz pomocy po zakupie, skontaktuj się ze mną pod adresem **[dodaj Discord / profil]**
wraz z wynikami wyświetlanymi na konsoli serwera.
---
*Muzyka MVP na zamówienie – autorstwa illusion @ CodeStrike*