CSSHARP Jailbreak 1.0.0

Spatiul dedicat dezvoltatorilor. Aici gasesti resurse pentru CounterStrikeSharp, ajutor pentru cod si scripting avansat.
Post Reply
User avatar
greenie
Full Member
Full Member
Posts: 2229
Joined: Sun Nov 21, 2021 4:55 pm
Jucator SA:MP ?: Nu
Nick:: greenie
Jucator CS ?: Nu

CSSHARP Jailbreak 1.0.0

Post by greenie »

Caracteristici principale
Jailbreak este un mod de joc in care jucatorii sunt impartiti in gardieni (wardens) si prizonieri. Gardienii controleaza regulile rundelor si pot folosi meniuri si actiuni pentru a gestiona prizonierii. Plugin-ul este conceput sa fie modular si extensibil:
Core: gestioneaza starea jucatorilor, rolurile (Warden, Prisoner, Guardian, Rebel, Freeday), schimbarile de rol, modelele si utilitatile comune.
Module: functii independente care se conecteaza la core pentru a oferi mecanici suplimentare de joc (de exemplu, LastRequests sau SpecialDays).
API: expune functii si evenimente astfel incat alte plugin-uri sau module sa poata interoga sau controla comportamentul Jailbreak in mod programatic.

Concept de baza
JBPlayer: reprezinta un jucator in cadrul Jailbreak. Contine referintele catre controller-ul si pawn-ul jucatorului, rolul acestuia si metode ajutatoare (SetWarden, SetRebel, SetFreeday, etc.). Foloseste IsValid pentru a verifica validitatea jucatorului si functiile Print(...) pentru afisarea mesajelor in HUD sau chat.

Roluri: jucatorii pot avea unul dintre rolurile definite in JBRole
Warden — rolul de gardian principal, cu acces la meniuri speciale
Prisoner — rolul standard de prizonier
Guardian — gardian obisnuit, fara privilegii de warden
Rebel — prizonier care se revolta
Freeday — prizonier care beneficiaza de o zi libera
None — rol implicit, fara atributii speciale
Meniuri: meniurile interactive (ex.: WardenMenu) sunt construite folosind sistemul comun T3Menu si sunt localizate individual pentru fiecare jucator prin sistemul de traduceri/localizare din CounterStrikeSharp.


Module
Modulele sunt functii mici si specifice care se aboneaza la evenimentele din core si folosesc API-ul de baza pentru a modifica gameplay-ul. Doua exemple din acest proiect sunt descrise mai jos — actualizate pentru a reflecta comportamentul exact:
LastRequests
Scop: disponibil pentru ultimul prizonier ramas intr-o runda. Acesta poate folosi comanda !lr (sau o comanda personalizata de tip css_) pentru a deschide meniul Last Request si a alege o cerere.
Cum functioneaza: intrarile din meniul Last Request sunt oferite de modulele LastRequest. Cand ramane un singur prizonier si acesta foloseste comanda (de obicei !lr), meniul este afisat, iar jucatorul poate selecta una dintre cererile disponibile furnizate de modulele LastRequest active.
SpecialDays
Scop: modificatori temporari, aplicati pe durata unei runde, care pot fi selectati de Warden (ex.: TeleportDay, Knife Fight).
Cum functioneaza: doar Warden-ul poate alege un Special Day din meniul Warden-ului. Selectia este supusa unui cooldown masurat in runde (valoarea cooldown-ului se poate configura in fisierul principal de configurare; valoarea implicita este de 3 runde). Cand Warden-ul selecteaza un Special Day, acesta este programat sa inceapa in runda urmatoare.

API
Plugin-ul expune urmatoarele tipuri de interfete API:
Gestionarea JBPlayer: crearea si obtinerea instantelor JBPlayer, interogarea rolului sau starii, setarea rolurilor (SetWarden, SetRebel, SetFreeday) si utilitare pentru jucatori, precum Print
Evenimente: posibilitatea de a te abona la evenimentele din ciclul rundelor (OnRoundStart, OnRoundEnd), evenimente legate de jucatori (OnPlayerSpawn, OnChangeTeam) si evenimente de schimbare a rolului
Utilitare pentru meniuri: functii ajutatoare pentru crearea de meniuri individuale per jucator sau pentru generarea de texte localizate prin sistemul de localizare CounterStrikeSharp
Acces la configuratie: citirea optiunilor de rulare din fisierul principal config.yaml
NOTA
Consulta tipurile publice C# si semnaturile evenimentelor din plugin pentru denumirile exacte ale metodelor si a tipurilor de parametri.


Fisier de configurare
Configuratia principala este incarcata din counterstrikesharp/configs/Jailbreak/config.yaml

Acest fisier unic contine majoritatea setarilor de rulare (modele, optiuni pentru warden, activarea sau dezactivarea modulelor). Configuratiile specifice fiecarui modul pot fi incluse in acelasi fisier (folosind namespace-uri) sau, daca se prefera, in fisiere de configurare separate.


Comenzi disponibile
Aceasta sectiune listeaza comenzile din consola sau chat pe care pluginul le inregistreaza (prefixate implicit cu css_ — cuvintele exacte ale comenzilor pot fi configurate in Config.*.Commands). Comenzile sunt implementate in directorul src/Commands.
Comenzi Warden (inregistrate din WardenCommands.cs):
Take Warden (css_<take>) — incearca sa devii Warden. Verifica daca jucatorul este in viata, nu este prizonier si daca nu este activa o SpecialDay sau LastRequest. Trimite notificari si reda sunete daca este configurat.
Give up Warden (css_<giveup>) — renunta la rolul de Warden. Anunta renuntarea si programeaza o selectie aleatorie a unui nou Warden daca nimeni nu preia rolul.
Warden Menu (css_<menu>) — deschide meniul Warden-ului curent (meniul este localizat individual pentru fiecare jucator).
Special Days Menu (css_<specialdays>) – deschide meniul de administrare a Special Days pentru Warden.
Toggle Box (css_<togglebox>) — activeaza sau dezactiveaza functia „box” (actiune disponibila doar pentru gardieni). Este ignorata daca este activa o SpecialDay sau LastRequest.
Color Prisoner (css_<color> <player> <color>) — coloreaza modelul unui prizonier (sau il reseteaza la culoarea implicita). Doar Warden-ul poate folosi aceasta comanda; verifica numele culorii si o aplica jucatorului tinta.
Comenzi Prizonier (din PrisonerCommands.cs):
Last Request (css_<lastrequest>) — poate fi folosita de ultimul prizonier in viata pentru a deschide meniul LastRequest; necesita cel putin un gardian in viata si ca jucatorul sa fie singurul prizonier ramas.
Surrender (css_<surrender>) — folosita de rebeli pentru a se preda Warden-ului. Are un numar limitat de incercari per rebel; necesita un Warden disponibil pentru a accepta predarea.
Comanda Guns Menu (din GunsMenuCommands.cs):
Guns Menu (css_<gunsmenu>) — deschide meniul de arme pentru gardieni/Wardeni (sau in anumite Special Days). Gardienii si Wardenii pot folosi aceasta comanda; prizonierii, in general, nu pot, exceptand cazurile in care un Special Day permite acest lucru.
NOTA
Cuvintele exacte ale comenzilor sunt definite in fisierul counterstrikesharp/configs/Jailbreak/config.yaml in sectiuni precum Warden.Commands, Prisoner.Commands si GunsMenu.GunsMenuCommands.

Cerinte de compatibilitate
Counter-Strike 2
CounterStrikeSharp

Instructiuni de instalare
Descarca ultima versiune a plugin-ului prin apasarea butonului de Download
Extrage continutul arhivei si copiaza cele doua foldere in addons/counterstrikesharp/configs/
Schimba harta sau reporneste server-ul pentru a incarca plugin-ul

https://laleagane.ro/forum/resources/ja ... 5/download
Post Reply

Return to “Scripting CS2”