←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Klasy z awansem posiadaja inny maksymalny...

  • +
  • -
1stADXionC - zdjęcie 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?
Odpowiedz

  • +
  • -
SP3D! - zdjęcie SP3D! 21.04.2017

Można tak, że klasa zwykła po osiągnięciu x lvl-a automatycznie przejdzie na klase po awansie.

Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 21.04.2017

Niestety takie rozwiązanie mnie nie interesuje ale dzięki :)
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 21.04.2017

Jest taka opcja możliwa.

Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 22.04.2017

A mogłbyś mnie nakierowac jak taki efekt osiagnac?
Odpowiedz

  • +
  • -
dredek - zdjęcie dredek 22.04.2017

podeślij silnik potestuje się

Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 22.04.2017

Używam czysty silnik z amxx + awanse ( podeśle jutro bo aktualnie jestem w pracy)
Odpowiedz

  • +
  • -
Linux' - zdjęcie 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.

Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 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);
}

???

 

Odpowiedz

  • +
  • -
Linux' - zdjęcie Linux' 22.04.2017

Pod zmienna

new limit_poziomu
if(equali(nazwy_klas[klasa_gracza[id]], "Nazwa Klasy"))
	limit_poziomu = nowa_wartosc;
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 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 ?

 

Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 23.04.2017

Teraz elitarny admiral ma limit 200 lvli

Jeżeli wszystkie awanse mają w nazwie elitarny, polecam skorzystać z funkcji containi

Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 23.04.2017

Możesz wyjaśnić?
Odpowiedz