CSSHARP RetakesAllocator 2.6

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

CSSHARP RetakesAllocator 2.6

Post by greenie »

Caracteristici principale
Sistem avansat de alocare a armamentului pentru B3none/cs2-retakes.


Functionalitati
Round Types
Acest plugin implementeaza 3 tipuri diferite de runde:
Pistol
Arme: doar pistoale
Armura: Kevlar, fara casca
Utilitare: o grenada flash sau smoke, cu exceptia unui CT care primeste kit de defuse
HalfBuy (shotguns si SMG-uri)
Arme: shotguns si SMG-uri
Armura: Kevlar si casca
Utilitare: o grenada + 50% sansa pentru o a doua grenada. Fiecare CT are kit de defuse
FullBuy (pusti, snipere, mitraliere)
Arme: pusti, snipere, mitraliere
Armura: Kevlar si casca
Utilitare: o grenada + 50% sansa pentru o a doua grenada. Fiecare CT are kit de defuse
Modul in care sunt alese aceste tipuri de runde poate fi configurat. Vezi detalii in sectiunea „Configurare” de mai jos.

Weapon Preferences
Exista mai multe moduri de a seta preferintele pentru arme:

1. Meniu de cumparare integrat
(Vezi sectiunea „Buy Menu” pentru instructiuni de configurare)

2. Comenzi chat:
!gun <arma> — seteaza preferinta pentru o arma specifica (plugin-ul detecteaza automat tipul rundei)
!awp — activeaza/dezactiveaza preferinta pentru AWP (runde de fullbuy)
!ssg — activeaza/dezactiveaza preferinta pentru SSG (runde de fullbuy)
!zeus — activeaza/dezactiveaza primirea unui Zeus la fiecare runda
!guns — deschide un meniu in chat pentru setarea preferintelor de arme
AWP Queue
In prezent, doar un singur jucator din fiecare echipa poate folosi AWP, atata timp cat cel putin un jucator a ales optiunea AWP.

SSG Queue
Jucatorii care prefera SSG (Scout) pot intra intr-o lista de asteptare dedicata. In rundele de fullbuy, plugin-ul efectueaza un rol separat pentru disponibilitatea SSG, aplica limitarile specifice SSG, apoi combina lista rezultata cu cea a jucatorilor AWP inainte de alocarea armelor.

Consulta sectiunea „Configurare” pentru optiunile care controleaza comportamentul listei de asteptare pentru SSG.

Buy Menu
Daca cvar-urile sunt setate astfel incat jucatorii sa primeasca bani si sa poata cumpara, selectia armelor se poate face prin meniul de cumparare. Meniul va afisa toate armele disponibile, insa va permite achizitia doar a armelor potrivite tipului de runda curent.

Cvar-urile pot fi ajustate pentru a personaliza experienta. De exemplu, daca nu doresti ca jucatorii sa poata folosi meniul de cumparare pe durata intregii runde, poti modifica valoarea variabilei mp_buytime conform preferintei.


Comenzi disponibile
!gun <arma> [T|CT]— Seteaza preferinta pentru arma aleasa pentru echipa in care te afli in prezent sau pentru T/CT daca este specificat
Exemplu: daca esti in echipa Teroristilor si tastezi !gun galil, preferinta ta pentru rundele de tip rifle va fi Galil
!guns — Deschide un meniu bazat pe chat pentru setarea preferintelor de arme
!awp — Activeaza sau dezactiveaza optiunea de a primi AWP
!zeus — Activeaza sau dezactiveaza primirea unui Zeus in fiecare runda
!removegun <arma> [T|CT]– Elimina preferinta pentru arma aleasa, pentru echipa pe care te afli in prezent, sau pentru T/CT daca este specificat
Exemplu: daca anterior ai folosit !gun galil in timp ce erai Terorist, iar acum folosesti !removegun galil tot ca Terorist, nu vei mai prefera Galil, iar arma primita va fi una aleatoare
!nextround — Permite votarea pentru urmatorul tip de runda. Poate fi activata din configuratia EnableNextRoundTypeVoting (valoare default: false)
!setnextround <P|H|F> — Doar pentru administratori. Forteaza urmatoarea runda sa fie de tipul selectat
!reload_allocator_config — Doar pentru administratori. Reincarca fisierul de configuratie JSON fara repornirea server-ului
!print_config <nume> — Doar pentru administratori. Afiseaza in consola continutul configuratiei corespunzatoare numelui specificat


Configurare
Round Type Configuration
RoundTypeSelection — sistemul folosit pentru alegerea tipului de runda. Optiuni disponibile:
Random — selecteaza aleator un tip de runda, in functie de procentele definite in RoundTypePercentages
RandomFixedCounts — fiecare runda este aleasa aleator pe baza unui set fix de runde per tip, configurat prin RoundTypeRandomFixedCounts
ManualOrdering — rundele urmeaza exact ordinea definita manual
RoundTypePercentages — frecventa fiecarui tip de runda; valorile trebuie sa insumeze 100
Se foloseste doar cand RoundTypeSelection este setat pe Random
RoundTypeRandomFixedCounts — numarul fix de runde pentru fiecare tip Exemplu: {"Pistol": 5, "HalfBuy": 10, "FullBuy": 15}
→ in urmatoarele 30 de runde, exact 5 vor fi de pistol, 10 halfbuy si 15 de fullbuy, dar ordinea acestora va fi aleatorie
Folosit doar cand RoundTypeSelection e setat pe RandomFixedCounts
Ordinea aleatoare se va relua de la inceput daca harta nu s-a terminat
O noua ordine aleatoare este generata la inceputul fiecarei harti
RoundTypeManualOrdering — ordinea exacta a tipurilor de runde si numarul lor. Exemplu: [{"Type": "Pistol", "Count": 5}, {"Type": "FullBuy", "Count": 25}, {"Type": "Pistol", "Count": 1}] → vor fi 5 runde de pistol, 25 de fullbuy, apoi una singura de pistol, dupa care secventa se reia; fiecare harta noua incepe de la inceputul ordinii definite
Weapon Configuration
Pentru orice configuratie de arme, numele valide ale armelor provin din definitiile de aici. De exemplu:
Code:
[EnumMember(Value = "item_kevlar")]
Kevlar = 000,
In acest caz, Kevlar este numele valid al obiectului, nu item_kevlar. Mai apoi:
Code:
[EnumMember(Value = "weapon_m4a1_silencer")]
M4A1S = 401,
SilencedM4 = M4A1S,
Atat M4A1S, cat si SilencedM4 sunt nume valide, insa weapon_m4a1_silencer nu este acceptat.

Mai jos regasiti configuratiile pentru arme:
UsableWeapons: Defineste lista armelor care pot fi alocate. Orice arma eliminata din aceasta lista devine indisponibila pentru utilizare
DefaultWeapons: Permite configurarea armelor implicite pentru fiecare tip de alocare. Structura acestui parametru este de tipul: Team => TipAlocareArma => Item
Cheile valide pentru DefaultWeapons sunt: Terrorist si CounterTerrorist
Sub fiecare dintre acestea, cheile valide sunt:
PistolRound — arma principala pentru rundele de pistoale
Secondary — pistolul folosit in rundele non-pistol
HalfBuyPrimary — arma principala pentru rundele de halfbuy
FullBuyPrimary — arma principala pentru rundele de fullbuy
Valorile valide pentru fiecare sub-cheie sunt orice CsItem care este o arma. Pentru a intelege mai bine cum functioneaza DefaultWeapons, iata configuratia implicita pentru DefaultWeapons:
{
"DefaultWeapons": {
"Terrorist": {
"PistolRound": "Glock",
"Secondary": "Deagle",
"HalfBuyPrimary": "Mac10",
"FullBuyPrimary": "AK47"
},
"CounterTerrorist": {
"PistolRound": "USPS",
"Secondary": "Deagle",
"HalfBuyPrimary": "MP9",
"FullBuyPrimary": "M4A1"
}
}
}
EnableZeusPreference: Activeaza optiunea pentru Zeus in meniul de loadout Kitsune. Cand este dezactivata, nimeni nu primeste Zeus, iar intrarea din meniu este ascunsa. Valoare default: false
EnableEnemyStuffPreference: Activeaza optiunea de arme inamice in meniul de loadout Kitsune pentru jucatorii care detin flagul de permisiune configurat. Jucatorii pot activa armele inamice separat pentru echipa Teroristilor, Counter-Teroristilor sau pentru ambele echipe. Valoare default: false
EnemyStuffPermission: Flagul de permisiune necesar pentru a vedea si a activa armele inamice atunci cand functia este activata. Valoare default: @css/vip
EnableAllWeaponsForEveryone: Cand este setat pe true, Counter-Teroristii si Teroristii pot echipa armele primare si secundare ale echipei adverse, in timp ce armele restrictionate pentru VIP isi pastreaza limitarile existente. Valoare default: false
AllowAwpWeaponForEveryone: Daca este setat pe true, toti jucatorii pot obtine AWP. Aceasta setare suprascrie orice alta preferinta de arma. Valoare implicita: false.
AllowSsgWeaponForEveryone: Daca este setat pe true, toti jucatorii care au preferinta pentru SSG pot primi una. Valoare default: false
MaxAwpWeaponsPerTeam: Numarul maxim de AWP-uri permis pentru fiecare echipa
MaxSsgWeaponsPerTeam: Numarul maxim de SSG-uri permis pentru fiecare echipa
MinPlayersPerTeamForAwpWeapon: Numarul minim de jucatori pe echipa necesar pentru ca cineva sa poata primi un AWP
MinPlayersPerTeamForSsgWeapon: Numarul minim de jucatori pe echipa necesar pentru ca cineva sa poata primi un SSG
ChanceForAwpWeapon: Procentul de sansa ca runda sa includa un AWP
ChanceForSsgWeapon: Procentul de sansa ca runda sa includa un SSG
ChanceForEnemyStuff: Procentul de sansa ca un jucator care a activat armele inamice sa primeasca echipament de la echipa adversa
MaxEnemyStuffPerTeam: Numarul maxim de jucatori pe echipa care pot primi arme inamice in fiecare runda. Seteaza pe -1 pentru nelimitat
Nade Configuration
MaxNades: Poti seta numarul maxim pentru fiecare tip de grenada, separat pentru fiecare echipa si pentru fiecare harta (sau default).
In mod implicit, configuratia include anumite limite pe care le poti modifica dupa nevoie. Mecanismul MaxNades functioneaza astfel: optiunea GLOBAL seteaza limita maxima pentru toate hartile, iar ulterior poti defini si subseturi de configuratie pentru harti specifice. De exemplu, daca configuratia ta este:
{
"MaxNades": {
"GLOBAL": {
"Terrorist": {
"Flashbang": 2,
"Smoke": 1,
"Molotov": 1,
"HighExplosive": 1
},
"CounterTerrorist": {
"Flashbang": 2,
"Smoke": 1,
"Molotov": 2,
"HighExplosive": 1
}
}
}
}
... si vrei in mod specific sa permiti doua grenade fumigene pentru echipa CT pe harta mirage, poti obtine asta astfel:
{
"MaxNades": {
"GLOBAL": {
"Terrorist": {
"Flashbang": 2,
"Smoke": 1,
"Molotov": 1,
"HighExplosive": 1
},
"CounterTerrorist": {
"Flashbang": 2,
"Smoke": 1,
"Incendiary": 2,
"HighExplosive": 1
}
},
"de_mirage": {
"CounterTerrorist": {
"Smoke": 2
}
}
}
}
Aceasta configuratie va pastra valorile default pentru toate celelalte setari, dar va suprascrie doar numarul de smoke-uri pentru echipa CT pe harta mirage.

Valorile valide pentru grenade la Terrorist sunt:
Flashbang
Smoke
Molotov
HighExplosive
Valorile valide pentru grenade la Counter-Terrorist sunt:
Flashbang
Smoke
Incendiary
HighExplosive
Daca inversezi Incendiary si Molotov, plugin-ul va corecta automat configuratia.
MaxTeamNades — Aceasta configuratie functioneaza similar cu MaxNades, insa afecteaza numarul maxim total de grenade pe care intreaga echipa le poate detine. Structura este aceeasi ca la MaxNades, cu diferenta ca, dupa cheile pentru harta si echipa, se mapeaza tipul de runda catre o setare maxima de grenade. Valorile posibile pentru setarile maxime de grenade sunt:
One, Two, pana la Ten
AveragePointFivePerPlayer (rotunjit in sus)
AverageOnePerPlayer (rotunjit in sus)
AverageOnePointFivePerPlayer (rotunjit in sus)
AverageTwoPerPlayer (rotunjit in sus)
None
Note
In prezent exista un bug prin care pluginul nu ofera intotdeauna numarul maxim de grenade, chiar daca jucatorii au loc disponibil pentru ele.


Other Configuration
EnableNextRoundTypeVoting: Stabileste daca se permite votarea pentru urmatorul tip de runda folosind comanda !nextround. Valoare default: false
NumberOfExtraVipChancesForAwpWeapon: Cand se selecteaza aleator AWP-urile pentru fiecare echipa (asa-numitul "AWP Queue"), defineste cate sanse suplimentare primesc jucatorii VIP. Valoarea default este 1, ceea ce inseamna ca VIP-urile primesc o sansa suplimentara
De exemplu, daca sunt 3 jucatori in echipa si aceasta valoare este setata la 1, in mod normal fiecare ar avea o sansa de 33% de a primi AWP, dar in acest caz jucatorul VIP va avea o sansa de 50%, iar ceilalti doi cate 25% fiecare
Daca setezi valoarea la 0, VIP-urile nu vor avea preferinta
Daca setezi la -1, doar VIP-urile pot primi AWP
ChanceForAwpWeapon: Permite setarea sanselor ca jucatorii sa primeasca AWP (ex.: 100 = 100%, 50 = 50%)
NumberOfExtraVipChancesForSsgWeapon: Cand se selecteaza aleator SSG-urile pentru fiecare echipa, defineste cate sanse suplimentare primesc jucatorii VIP
Comportamentul este identic cu cel din “AWP Queue”. Valoarea 1 ofera VIP-urilor o sansa suplimentara, 0 elimina bonusul, iar -1 restrictioneaza SSG-urile exclusiv pentru VIP-uri.
ChanceForSsgWeapon: Permite setarea sanselor ca jucatorii sa primeasca SSG (ex.: 100 = 100%, 50 = 50%)
AllowedWeaponSelectionTypes: Tipurile de alocare a armelor care sunt permise. Optiuni disponibile:
PlayerChoice — Permite jucatorilor sa isi aleaga preferintele pentru tipul de runda.
Random — Toti jucatorii primesc o arma aleatoare pentru tipul de runda.
Default— Toti jucatorii primesc arma implicita pentru tipul de runda. Armele default sunt:
T Pistol: Glock
CT Pistol: USPS
T HalfBuy: Mac10
CT HalfBuy: MP9
T Rifle: AK47
CT Rifle: M4A4
Acestea sunt aplicate in ordinea: PlayerChoice, apoi Random, apoi Default. Daca preferinta unui jucator nu este disponibila sau tipul a fost eliminat din configuratie, se va incerca alocarea unei arme aleatorie. Daca armele aleatorii sunt eliminate, se va incerca o arma default. Daca si armele default sunt eliminate, nu se va acorda nicio arma
DatabaseProvider: Tipul de baza de date utilizat. Valoare default: Sqlite, care nu necesita configurare. Optiuni disponibile:
Sqlite
MySql
DatabaseConnectionString: Cum te conectezi la baza de date.
Pentru Sqlite, de obicei nu necesita modificari fata de valoarea default, dar poate fi schimbat daca doresti ca fisierul bazei de date sa fie salvat intr-o alta locatie
Mai multe informatii despre format gasesti aici:
https://www.connectionstrings.com/sqlite/
Pentru MySql, stringul de conexiune trebuie configurat conform instructiunilor de aici: https://www.connectionstrings.com/mysql/
LogLevel: Nivelul dorit de logare. Poate fi setat la Debug sau Trace cand se colecteaza informatii pentru raportarea unui bug. Valoarea recomandata este Information. Se recomanda sa nu se seteze mai sus de Warning. Optiuni posibile:
Trace (spam de informatii)
Debug (informatii utile pentru depanare)
Information
Warning (doar avertismente si erori)
Error (doar erori)
Critical
None (fara loguri deloc; utilizati cu precautie)
ChatMessagePluginName: Numele care apare intre paranteze patrate [] in mesajele din chat trimise de plugin. Valoare default: Retakes
Exemplu: [Retakes] Next round will be a Terrorist round.
ChatMessagePluginPrefix: Prefixul complet care apare in fata mesajelor din chat. Daca este setat, acesta suprascrie ChatMessagePluginName. Daca vrei prefix colorat, configuratia trebuie sa includa si setarile de culoare. Trebuie de asemenea sa includa un spatiu dupa prefix daca vrei sa apara unul
MigrateOnStartup: Stabileste daca baza de date este migrata automat la pornirea server-ului. Valoare default: yes, insa serverele de productie pot seta pe false pentru a controla manual momentul aplicarii migrarilor bazei de date
EnableRoundTypeAnnouncement: Activeaza/Dezactiveaza anuntarea tipului de runda
EnableRoundTypeAnnouncementCenter: Activeaza/Dezactiveaza afisarea tipului de runda in centrul ecranului jucatorului. Se aplica doar daca EnableRoundTypeAnnouncement este setat pe true
UseOnTickFeatures: Seteaza pe falsedaca doresti performanta mai buna si nu vrei sa folosesti niciuna dintre functiile “OnTick”, incluzand:
Anuntarea pozitiei centrului bombsite-ului
Meniul avansat de arme
AutoUpdateSignatures: Cand este setat pe true, plugin-ul va incerca intotdeauna sa descarce cele mai recente custom game data/signatures la pornirea server-ului. Poate fi necesara repornirea server-ului pentru ca noile semnaturi sa se aplice Daca este dezactivat, plugin-ul va folosi semnaturile implicite din CS#
CapabilityWeaponPaints: Cand este setat pe true, plugin-ul va incerca sa foloseasca datele de joc personalizate GiveNamedItem2, care mentin skin-urile armelor in situatii neobisnuite. Aceasta optiune este activata by default pentru compatibilitate cu versiunile mai vechi, dar este mai putin stabila. Daca aceasta optiune este activata, este recomandat ca si AutoUpdateSignatures sa fie activat. Daca nu doresti sa folosesti AutoUpdateSignatures, asigura-te macar ca custom game data/signatures sunt actualizate corect, deoarece GiveNamedItem2 nu exista in default game data/signatures.

Cerinte de compatibilitate
Counter-Strike 2
CounterStrikeSharp
Metamod
Retakes

Instructiuni de instalare
Asigurati-va ca aveti deja instalat plugin-ul Retakes
Intrati in fisierul de configurare RetakesPlugin si dezactivati EnableFallbackAllocation
Descarcati cea mai recenta versiune a plugin-ului si extrageti folderul RetakesAllocator in /csgo/addons/metamod/counterstrikesharp/plugins
Fiecare build include doua runtime-uri necesare pentru sqlite3 — unul pentru linux64 si unul pentru win64. Daca aveti nevoie de un runtime diferit, deschideti un subiect pe GitHub si autorul va poate oferi alte variante
Daca va intrebati de ce exista atat de multe fisiere .DLL in build: acestea sunt necesare pentru Entity Framework, care permite utilizarea unor interfete moderne pentru baze de date
[Buy Menu – Optional] Daca vreti ca selectarea armelor din buy menu sa functioneze corect, asigurati-va ca urmatoarele cvar-uri sunt setate in partea de jos a fisierului /game/csgo/cfg/cs2-retakes/retakes.cfg:
mp_buy_anywhere 1
mp_buytime 60000
mp_maxmoney 65535
mp_startmoney 65535
mp_afterroundmoney 65535
Mai multe informatii despre aceasta functie se gasesc in sectiunea "Buy Menu" de mai sus.

https://laleagane.ro/forum/resources/re ... 7/download
𝑴𝒂𝒚𝒃𝒆 𝒕𝒉𝒆 𝑬𝒂𝒓𝒕𝒉 𝒊𝒔 𝒕𝒉𝒆 𝑯𝒆𝒍𝒍 𝒐𝒇 𝑨𝒏𝒐𝒕𝒉𝒆𝒓 𝑷𝒍𝒂𝒏𝒆𝒕... ☢️
Post Reply

Return to “Scripting CS2”