Klasy z awansem posiadaja inny maksymalny...
1stADXionC
20.04.2017
Witam
Czy jest możliwość zrobienia aby zwykła klasa posiadała x max lvl i klasa z awansem y max lvl?
Czy jest możliwość zrobienia aby zwykła klasa posiadała x max lvl i klasa z awansem y max lvl?
SP3D!
21.04.2017
Można tak, że klasa zwykła po osiągnięciu x lvl-a automatycznie przejdzie na klase po awansie.
1stADXionC
22.04.2017
Używam czysty silnik z amxx + awanse ( podeśle jutro bo aktualnie jestem w pracy)
Linux'
22.04.2017
Tam gdzie pobierasz wartosc cvaru z limitem poziomu, sprawdzaj czy gracz gra okreslona klasa i w taki wypadku ustalaj inna wartosc.
1stADXionC
22.04.2017
Tam gdzie pobierasz wartosc cvaru z limitem poziomu, sprawdzaj czy gracz gra okreslona klasa i w taki wypadku ustalaj inna wartosc.
Czyli w funki " public SprawdzPoziom(id) "
public SprawdzPoziom(id) { if(!is_user_connected(id)) return; new limit_poziomu = get_pcvar_num(cvar_limit_poziomu); new bool:zdobyl_poziom = false, bool:stracil_poziom = false; while(doswiadczenie_gracza[id] >= PobierzDoswiadczeniePoziomu(poziom_gracza[id]) && poziom_gracza[id] < limit_poziomu) { poziom_gracza[id]++; punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]; zdobyl_poziom = true; } while(doswiadczenie_gracza[id] < PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1)) { poziom_gracza[id]--; stracil_poziom = true; } if(poziom_gracza[id] > limit_poziomu) { poziom_gracza[id] = limit_poziomu; ResetujPunkty(id); } if(stracil_poziom) { ResetujPunkty(id); set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0); ShowSyncHudMsg(id, SyncHudObj2,"Spadles do %i poziomu!", poziom_gracza[id]); } else if(zdobyl_poziom) { punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]; set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0); ShowSyncHudMsg(id, SyncHudObj2,"Awansowales do %i poziomu!", poziom_gracza[id]); client_cmd(id, "spk QTM_CodMod/levelup"); } ZapiszDane(id); }
A dokładnie:
if(poziom_gracza[id] > limit_poziomu) { poziom_gracza[id] = limit_poziomu; ResetujPunkty(id); }
???
Linux'
22.04.2017
Pod zmienna
new limit_poziomu
if(equali(nazwy_klas[klasa_gracza[id]], "Nazwa Klasy")) limit_poziomu = nowa_wartosc;
1stADXionC
22.04.2017
Czyli w .cfg ustawiam max lvl - 100 a w silniku:
if(equali(nazwy_klas[klasa_gracza[id]], "Elitarny Admiral")) limit_poziomu = 200;
Dzięki temu zwykłe klasy będą posiadały max 100 a klasy z awansem 200 ?
d0naciak
23.04.2017
Teraz elitarny admiral ma limit 200 lvli
Jeżeli wszystkie awanse mają w nazwie elitarny, polecam skorzystać z funkcji containi