# Powiadomienia Flash
Wtyczka do CS2, która informuje graczy na czacie, gdy oślepią kogoś lub sami zostaną oślepieni.
```
You flashed PlayerName for 2.5s
PlayerName flashed you for 2.5s
```
## Funkcje
- **Powiadomienie** **dla atakującego** – „Oślepiłeś PlayerName na 2,5 s”, gdy kogoś oślepisz
- **Powiadomienie dla ofiary** – „PlayerName pokazał ci swoje genitalia przez 2,5 s”, gdy zostaniesz oślepiony
- **Nazwiska w barwach drużyny** – nazwisko przeciwnika przybiera kolor jego drużyny
- **W pełni konfigurowalne komunikaty** – tekst, kolory i symbole zastępcze
- **Filtr minimalnego czasu trwania** – ignoruje drobne, częściowe błyski, które nikogo nie interesują
- **Tryb „tylko błysk kolegi z drużyny”** – opcjonalne powiadomienie tylko wtedy, gdy kolega z drużyny jest oślepiony
- **Lekki** – jeden hook zdarzenia, bez timerów, bez bazy danych, nic w każdym takcie
## Wymagania
[CounterStrikeSharp](https://github.com/roflmuffin/CounterStrikeSharp/releases) (wersja API 227 lub
(nowsza). Nic więcej.
## Instalacja
1. Skopiuj folder`FlashNotifier` do `addons/counterstrikesharp/plugins/`, tak aby w rezultacie powstał
`addons/counterstrikesharp/plugins/FlashNotifier/FlashNotifier.dll`.
CounterStrikeSharp ładuje wtyczkę wyłącznie z folderu nazwanego tak samo jak plik DLL — sam plik znajdujący się w
`plugins/` jest pomijane.
2. Uruchom ponownie serwer lub wykonaj polecenie `css_plugins load FlashNotifier`.
3. Konfiguracja jest generowana w pliku
`addons/counterstrikesharp/configs/plugins/FlashNotifier/FlashNotifier.json`.
## Konfiguracja
```json
{
"NotifyAttacker": true,
"NotifyVictim": true,
"AttackerMessage": "{GREEN}You flashed {TEAM}{VICTIM}{GREEN} for {YELLOW}{DURATION}s",
"VictimMessage": "{TEAM}{ATTACKER}{DEFAULT} flashed you for {YELLOW}{DURATION}s",
"MinDuration": 0.5,
"DurationDecimals": 1,
"NotifyTeamFlashOnly": false,
"ConfigVersion": 1
}
```
| Opcja | Domyślnie | Opis |
|--------|---------|-------------|
| `NotifyAttacker` | `true` | Wyślij wiadomość do gracza, który rzucił błyskawicę |
| `NotifyVictim` | `true` | Wyślij wiadomość do gracza, który stracił wzrok |
| `AttackerMessage` | patrz wyżej | Linia widziana przez napastnika |
| `VictimMessage` | patrz wyżej | Linia, którą widzi ofiara |
| `MinDuration` | `0.5` | Minimalny czas trwania ślepoty, w sekundach, który warto odnotować. Wartości ujemne są traktowane jako `0`. |
| `DurationDecimals` | `1` | Liczba miejsc po przecinku dla czasu trwania (`1`= 2,5 s, `2`= 2,50 s). Ograniczono do zakresu 0–3. |
| `NotifyTeamFlashOnly` | `false` | Powiadamiaj tylko wtedy, gdy gracz z zasłoniętymi oczami jest członkiem drużyny |
Samoczynne błyski nigdy nie są zgłaszane – przecież już to wiesz.
## Symbole zastępcze
| Zastępczy tekst | Zastąpiono przez |
|-------------|---------------|
| `{ATTACKER}` | Imię i nazwisko gracza, który wykonał rzut błyskawiczny |
| `{VICTIM}` | Imię gracza, który stracił żetony |
| `{DURATION}` | Czas trwania zaślepienia w sekundach |
| `{TEAM}` | Kolor drużyny **drugiego gracza** – ofiary w `AttackerMessage`, napastnika w `VictimMessage` |
| `{ATTACKERTEAM}` | Kolor drużyny napastnika, niezależnie od tego, w jakim komunikacie jest używany |
| `{VICTIMTEAM}` | Kolor drużyny ofiary, niezależnie od tego, w jakim komunikacie jest on używany |
Kolory drużyn to pomarańczowy dla T i niebieski dla CT. Gracz, który nie należy do żadnej drużyny, otrzymuje kolor domyślny
kolor.
Przed umieszczeniem w wierszu nazwy graczy są pozbawiane znaków sterujących, więc nazwa nie może
zmień kolor czatu lub podziel go na linie.
## Kody kolorystyczne
| Kod | Kolor |
|------|--------|
| `{DEFAULT}` / `{WHITE}` | Biały |
| `{DARKRED}` | Ciemnoczerwony |
| `{RED}` | Czerwony |
| `{LIGHTRED}` | Jasnoczerwony |
| `{GREEN}` | Zielony |
| `{LIME}` | Limonka |
| `{OLIVE}` / `{LIGHTGREEN}` | Oliwka |
| `{YELLOW}` / `{LIGHTYELLOW}` | Żółty |
| `{GOLD}` / `{ORANGE}` | Złoty / pomarańczowy |
| `{SILVER}` / `{BLUEGREY}` | Srebro |
| `{GREY}` / `{GRAY}` | Szary |
| `{BLUE}` / `{LIGHTBLUE}` | Niebieski |
| `{DARKBLUE}` | Ciemnoniebieski |
| `{PURPLE}` / `{MAGENTA}` | Fioletowy |
| `{LIGHTPURPLE}` | Jasnofioletowy |
Niektóre nazwy znajdują się w tym samym wierszu, ponieważ sama gra nadaje im ten sam kolor — są one zachowane jako
aliasów, dzięki czemu istniejące konfiguracje będą nadal działać.
## Przykłady wiadomości
Pokaż tylko czas trwania:
```json
"VictimMessage": "{YELLOW}{DURATION}s{DEFAULT} flash from {TEAM}{ATTACKER}"
```
Minimalistyczny:
```json
"AttackerMessage": "{GREEN}Flash hit {TEAM}{VICTIM}",
"VictimMessage": "{RED}Flashed by {TEAM}{ATTACKER}"
```
Obie nazwy w jednym wierszu, każda w barwie swojej drużyny:
```json
"VictimMessage": "{ATTACKERTEAM}{ATTACKER}{DEFAULT} flashed {VICTIMTEAM}{VICTIM}{DEFAULT} for {YELLOW}{DURATION}s"
```
## Co znajduje się w archiwum
```
addons/counterstrikesharp/plugins/FlashNotifier/
FlashNotifier.dll the plugin
FlashNotifier.deps.json dependency manifest - keep it next to the dll
README.md this file
```
Własne pliki assembly programu CounterStrikeSharp zostały celowo pominięte; serwer już je posiada i
druga kopia grozi jedynie konfliktem wersji.
## Lista zmian
### 1.1.0
- **Poprawiono kody kolorów.** Kilka tokenów wyświetlało kolor inny niż sugerowała ich nazwa —
`{RED}` był ciemnoczerwony, `{PURPLE}`był jasnofioletowy, `{GREY}`był srebrny, `{LIGHTBLUE}`był ciemny
niebieski i w ogóle nie był`{DARKBLUE}` to kolor. Teraz są one wyświetlane dzięki własnej technologii CounterStrikeSharp
stałe, więc są one dostosowywane do przebiegu gry, a nie są sztywno zakodowane jako konkretna liczba bajtów.
- **Poprawiono kolory drużyn.** Nazwy z literą „T” wyświetlały się na fioletowo zamiast pomarańczowo.
- **Naprawiono`{TEAM}`.** Zawsze używano koloru napastnika, więc w `AttackerMessage`przypadku ofiary
nazwa została pomalowana na kolor drużyny napastnika. Teraz jest umieszczona tuż obok nazwy, z którą się łączy, i
`{ATTACKERTEAM}` / `{VICTIMTEAM}`zostały dodane w celu zapewnienia pełnej kontroli.
- **Ponownie pojawiły się doniesienia o błyskach związanych z botami.** Wcześniej obecność bota w dowolnym miejscu w parze powodowała wyciszenie
przesłanie skierowane również do ludzi.
- **`DurationDecimals` jest ograniczona** do zakresu 0–3. Taka wartość `-1`powodowała kiedyś błysk przy każdym naciśnięciu spustu migawki.
- Nazwy graczy są oczyszczane przed umieszczeniem ich w wiadomości.
- Nowe żetony w nowych kolorach: `{DARKRED}`, `{LIGHTRED}`, `{OLIVE}`, `{GOLD}`, `{SILVER}`, `{BLUEGREY}`,
`{LIGHTPURPLE}`, `{MAGENTA}`, `{LIGHTYELLOW}`, `{GRAY}`.
### 1.0.0
- Pierwsze wydanie.
## Autor
**illusion @ CodeStrike**
## Licencja
Wszelkie prawa zastrzeżone.