←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Bug expa

  • +
  • -
GoldenKill - zdjęcie GoldenKill 17.02.2013

Siema


Ostatnio dodałem na serwer klasę która zabiera expa i już były 2 przypadki że bugneło z lvl na + na lvl na - Załączam sma klasy

Załączone pliki

Odpowiedz

  • +
  • -
Vasto_Lorde - zdjęcie Vasto_Lorde 18.02.2013

Zamiast
cod_set_user_xp(ofiara[id], (cod_get_user_xp(ofiara[id]) - (xpv + cod_get_user_intelligence(id)*2)));
daj:
cod_set_user_xp(ofiara[id], floatround((cod_get_user_xp(ofiara[id]) - (xpv + cod_get_user_intelligence(id)*2))));
Exp nie może być floatem. A w cvarach mógł być właśnie float.
Odpowiedz

  • +
  • -
GoldenKill - zdjęcie GoldenKill 25.03.2013

Dalej jest na --
Odpowiedz

  • +
  • -
Vasto_Lorde - zdjęcie Vasto_Lorde 25.03.2013

Bo jak to zmienisz to exp się magicznie nie zmieni na plus z minusa...
W silniku coda przy sprawdzaniu expa dodaj warunek że jeśli level<0 to ustawia graczowi exp na 0 oraz level na 0.

@sebul - każdy może się pomylić, przeoczyć coś...
Odpowiedz

  • +
  • -
GoldenKill - zdjęcie GoldenKill 28.03.2013

Vasto ja już to zmieniłem i po zmienieniu znowu typkowi na - wskoczył (w klasie zmieniałem)
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 28.03.2013

Zamiast

cod_set_user_xp(ofiara[id], (cod_get_user_xp(ofiara[id]) - (xpv + cod_get_user_intelligence(id)*2)));
daj:
cod_set_user_xp(ofiara[id], floatround((cod_get_user_xp(ofiara[id]) - (xpv + cod_get_user_intelligence(id)*2))));
Exp nie może być floatem. A w cvarach mógł być właśnie float.

Głupota. Spójrz sobie na
new xpk = get_pcvar_num(xp_forkiller);
new xpv = get_pcvar_num(xp_fromvictim);

i gdzie tutaj widzisz, że może być float?
Odpowiedz

  • +
  • -
GoldenKill - zdjęcie GoldenKill 29.03.2013

Sebul to jak usunąć te bugi aby klasa nie bugowała
Odpowiedz