←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
zmiana poziomu

  • +
  • -
Maciuś20 - zdjęcie Maciuś20 26.03.2018

Witam czy da się zrobić jakiś zamiennik by zrobić np 100k lvl ale bez tabeli exp

Odpowiedz

  • +
  • -
Pavlox. - zdjęcie Pavlox. 26.03.2018

To zależy już od ciebie jak ma lecieć exp, wszystko określasz w codmod.cfg
Odpowiedz

  • +
  • -
Maciuś20 - zdjęcie Maciuś20 27.03.2018

To zależy już od ciebie jak ma lecieć exp, wszystko określasz w codmod.cfg


Chyba Pan nie wie ze po przekroczeni bodajże 46k lvl poziom się buguje i jest ujemny
Użytkownik Maciuś20 edytował ten post 27.03.2018 12:18
Odpowiedz

  • +
  • -
AwIlL^^ - zdjęcie AwIlL^^ 30.03.2018

Raczej każdy o tym wie, że występuje błąd przy dużych lvl bez tabeli.

Wynika to z tego, że zmienna, która przechowuje expa gracza ma ograniczenie do 4 294 967 296, gracz osiąga tyle expa kiedy przelicznik expa jest ustawiony na 2 a lvl gracza wynosi 46 340 i wbija kolejny.

najlepszym rozwiązaniem byłoby zmienienie obliczania lvl i potrzebnego expa.

 

obliczany exp dla poziomu wynosi poziom*poziom*przelicznik_expa
do wbicia lvl potrzeba zawsze tyle expa: poziom*poziom*przelicznik-(poziom-1)*(poziom-1)*przelicznik
dlatego zawsze zastanawiałem się dlaczego jest to zrobione tak dziwnie...

 

Równanie wyżej da się przekształcić do prostszej postaci: przelicznik*(poziom*poziom-(poziom-1)*(poziom-1))

i już wygląda lepiej, ale dalej jest przekroczenie, ale jest na to rozwiązanie bo chyba każdy się domyśla, że jest jakiś wzór na skrócone odejmowanie potęg liczb obok siebie :D

x^2-(x-1)^2 = x+x-1

tak więc najłatwiej obliczyć potrzebny exp na podstawie takiego wzoru:
przelicznik*(poziom+poziom-1)

 

taki wzór oblicza expa jaki jest potrzebny do następnego poziom, a oryginalny wzór oblicza jaki exp powinien być na danym poziomie...
Tak więc po wbiciu danego poziomu musiałbyś odejmować ilość expa jaki był wymagany.

 

Niby rozwiązanie skomplikowane, ale zadziała...
Sporo zmian jakie musisz zrobić tu nie wypisałem i raczej też nikomu nie będzie się chciało tego robić za ciebie :)

 

Powodzenia :D 

Odpowiedz