Jak to działa?
Na początku rundy wyszukuje na serwerze gracza który ma największy level. Jego Lvl mnoży przez ustawiony procent (w zmiennej) i przy spawnie gdy gracz ma mniejszy lvl niż obliczony - dostaje go. Rzecz ta dzieje się co rundę. Przykład działania.
Gracz A - Komandos 80 Lvl.
Gracz B - Rambo 2 lvl.
------- gracz a ma największy lvl więc 20 % (domyślnie ustawiony procent najwyzszego którego gracze mają dostać) więc Gracz B Dostanie 16 lvli.
Gracz A Zmieia z Komandosa (80 Lvli) na Rambo gdzie ma 1 lvl.
Gracz B Gra Rambo z 16 LVLem.
------- po odrodzeniu Największym Lvlem na serwerze jest 16 lvl więc Gracz A dostanie jego 20%.
Ilość procentów można ustawić.
Otwieramy Silnik Coda i dodajemy przed plugin_init
new min_lvl = 0; new Float:procent = 0.20; // liczba 0.20 oznacza 20 % max lvl'u. Dajac 0.5 damy 50 % a 1.0 - 100 % lvlu
Szukamy public NowaRunda() i przed
freezetime = true;dodajemy
FindMaxLvl();Szukamy Odrodzenie(id) i przed
if(punkty_gracza[id] > 0) PrzydzielPunkty(id);
dodajemy
if(poziom_gracza[id] < min_lvl)
{
client_print(id,print_chat,"[Balans Cod] Wykrylem duze problemy z balansem lvli na serwerze");
client_print(id,print_chat,"[Balans Cod] W ramach tego dostales %i na start",min_lvl);
UstawDoswiadczenie(id,PobierzDoswiadczeniePoziomu(min_lvl)+1);
poziom_gracza[id] = min_lvl;
SprawdzPoziom(id);
}
Do pluginu dodajemy funkcje.
public FindMaxLvl()
{
min_lvl = 0;
new max_lvl=0;
for(new id=1;id<=32;id++)
{
if(poziom_gracza[id] > max_lvl)
max_lvl = poziom_gracza[id];
}
min_lvl = floatround(max_lvl*procent);
}
Kod nie jest Młody - kilka miechów temu zrobiłem go dla Siebie ale Widząc prośby o "lvl na star" postanowiłem opublikować. Jak jakieś błędy są proszę o napisanie. Ta wersja działała na moim serwerze.


Dodatki SourceMod







QTM_CodMod.amxx







