Files
CS2-SuperPowers/README.md
T

285 lines
4.4 KiB
Markdown

# CS2 Super Powers
Moderní plugin pro **Counter-Strike 2 (CounterStrikeSharp)**, který přidává unikátní schopnosti hráčům. Plugin je navržen s důrazem na modularitu, výkon a snadné rozšiřování.
---
# ✨ Funkce
- 🦸 Modulární systém schopností
- ⚡ Jednoduché přidávání nových Powers
- 🔄 Automatická registrace schopností
- 🎯 Event-based architektura
- 🚀 Optimalizované callbacky
- 🛡️ Opravené GC (Garbage Collector) problémy
- 📦 Přehledná struktura projektu
- ⚙️ Jednoduchá konfigurace
- 🧩 Podpora CounterStrikeSharp API
- 🔥 Optimalizováno pro vysoký počet hráčů
---
# Dostupné schopnosti
## Double Jump
- druhý skok ve vzduchu
## Jetpack
- létání pomocí jetpacku
- řízení směru letu
- omezení rychlosti
## Wallhack
- zvýraznění hráčů skrz zdi
- bezpečná implementace CheckTransmit
## Shield
- dočasný ochranný štít
## Explosive Bullets
- výbušné střely
- poškození v okolí zásahu
## Random Teleport
- náhodný teleport
## Time Slowdown
- zpomalení času
- ovlivnění okolních hráčů
---
# Architektura
Projekt byl kompletně přepracován.
```
Plugin
│
├── BasePower
│
├── Powers
│ ├── DoubleJump
│ ├── Jetpack
│ ├── Shield
│ ├── Wallhack
│ ├── ExplosiveBullets
│ ├── RandomTeleport
│ └── TimeSlowdown
│
├── Managers
│
├── Helpers
│
└── Utilities
```
Každá schopnost dědí ze společné třídy **BasePower**, která poskytuje:
- inicializaci
- registraci eventů
- správu timerů
- NextFrame callbacky
- cleanup
- správu hráčů
---
# Refaktoring
Projekt prošel rozsáhlým refaktoringem.
### Změny
- nová architektura BasePower
- sjednocení všech Powers
- odstranění duplicitního kódu
- centralizovaná registrace eventů
- lepší organizace projektu
- jednodušší údržba
- vyšší rozšiřitelnost
---
# Optimalizace
Bylo provedeno mnoho optimalizací.
- méně alokací
- efektivnější callbacky
- rychlejší registrace eventů
- opětovné využití handlerů
- nižší využití paměti
- lepší výkon serveru
---
# Opravy
## Garbage Collector
Opraven kritický problém, kdy .NET Garbage Collector uvolňoval delegáty registrované do CounterStrikeSharp.
Vyřešeno:
- CheckTransmit
- NextWorldUpdate
- PlayerSpawn
- PlayerDeath
- PlayerDisconnect
- PlayerTeamChange
Používají se persistentní delegate instance.
---
## FunctionReference
Opraveny pády způsobené:
- FunctionReference
- Callback disposed
- Invalid delegate
- GC Collection
---
## Wallhack
Kompletně přepsaná implementace.
Novinky:
- bezpečné callbacky
- persistentní CheckTransmit
- lepší výkon
- vyšší stabilita
---
# Event systém
Kompletně přepracovaný event systém.
Podporuje:
- automatickou registraci
- automatické odregistrování
- bezpečné callbacky
- správu životního cyklu
- jednodušší implementaci nových Powers
---
# Build
Opraveny problémy s kompilací.
Vyřešeno:
- .NET 8
- CounterStrikeSharp API
- Callback registrace
- Build Errors
- Compiler Warnings
Projekt se nyní sestavuje bez chyb.
---
# Výkon
Po refaktoringu bylo dosaženo:
- vyšší stability
- menší spotřeby paměti
- rychlejší registrace
- menší počet alokací
- lepší práce s callbacky
- bezpečnější práce s delegáty
---
# Přidání nové schopnosti
Stačí vytvořit novou třídu:
```csharp
public class MyPower : BasePower
{
}
```
a zaregistrovat ji do pluginu.
---
# Použité technologie
- C#
- .NET 8
- CounterStrikeSharp
- CounterStrikeSharp.API
---
# Stav projektu
✅ Kompletně refaktorováno
✅ Opraveny kritické pády
✅ Optimalizován výkon
✅ Nová architektura
✅ Modulární systém schopností
✅ Stabilní callback systém
✅ Připraveno pro další rozšiřování
---
# Changelog
## Přidáno
- BasePower
- nové Powers
- systém registrace
- helper utility
- timer management
- NextFrame helpery
## Změněno
- architektura pluginu
- registrace eventů
- správa callbacků
- životní cyklus Powers
- inicializace pluginu
## Opraveno
- Garbage Collector crash
- FunctionReference crash
- CheckTransmit
- NextWorldUpdate
- Build chyby
- Wallhack
- callbacky
- delegate reference
---
# Licence
Tento projekt je určen pro Counter-Strike 2 servery využívající CounterStrikeSharp.