Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Source średnie obrażenia i umiejętności


Rekomendowane odpowiedzi

Opublikowano

Witam siedze sobie w item_addon.cpp i chce edytować średnie obrażenia maksymalne i obrażenia umiejętności ale za cholere nie potrafię odczytać zawartości pliku:

https://pastebin.com/C3jjDNN7

 

rozumiem że ta linijka odpowiada za obrażenia

int iSkillBonus = MINMAX(-30, (int) (gauss_random(0, 5) + 0.5f), 30);

po zmianie liczby 30 zmieni nam max umki a 0,5 to szansa ( procentowo 20% )

 

ale pytanie jest jak zmienić średnie obrażenia?

Opublikowano

Średnie obrażenia są obliczane od obrażeń umiejętności. Poniżej masz:

    if (abs(iSkillBonus) <= 20)
        iNormalHitBonus = -2 * iSkillBonus + abs(number(-8, 8) + number(-8, 8)) + number(1, 4);
    else
        iNormalHitBonus = -2 * iSkillBonus + number(1, 5);

iNormalHitBonus to średnie obrażenia i tutaj obliczenia musisz dostosować pod siebie.

Opublikowano
7 godzin temu, Denshiro napisał:

Średnie obrażenia są obliczane od obrażeń umiejętności. Poniżej masz:


    if (abs(iSkillBonus) <= 20)
        iNormalHitBonus = -2 * iSkillBonus + abs(number(-8, 8) + number(-8, 8)) + number(1, 4);
    else
        iNormalHitBonus = -2 * iSkillBonus + number(1, 5);

iNormalHitBonus to średnie obrażenia i tutaj obliczenia musisz dostosować pod siebie.

Czyli jeżeli zmienie wartość obrazen umiejetnosci na np 50 to średnie będe mial 100? 
No bo teraz umki = 30

średnie max 60

 

więc jeżeli średnie pobierane są ze wzoru (coś tam coś) *  umki co w podsumowaniu daje nam średnie = 2 * umki

 

wiesz o co mi chodzi?

 

int iSkillBonus = MINMAX(-30, (int) (gauss_random(0, 5) + 0.5f), 30);

int iNormalHitBonus = 0;

if (abs(iSkillBonus) <= 20)

iNormalHitBonus = -2 * iSkillBonus + abs(number(-8, 8) + number(-8, 8)) + number(1, 4);

      else

iNormalHitBonus = -2 * iSkillBonus + number(1, 5);

 

 

na zielono min i max umki 

a na pomaranczowo wzór na średnie obrażenia 

 



Jeżeli cos pomieszałem to może mi ktos to tak wypełnic abym uzyskał max umki 50 i max SR 100 a juz sam dojde w jaki sposób bez męczenia drugiej strony

Opublikowano
18 godzin temu, neversayyes napisał:

Czyli jeżeli zmienie wartość obrazen umiejetnosci na np 50 to średnie będe mial 100? 
No bo teraz umki = 30

średnie max 60

 

więc jeżeli średnie pobierane są ze wzoru (coś tam coś) *  umki co w podsumowaniu daje nam średnie = 2 * umki

 

wiesz o co mi chodzi?

 

int iSkillBonus = MINMAX(-30, (int) (gauss_random(0, 5) + 0.5f), 30);

int iNormalHitBonus = 0;

if (abs(iSkillBonus) <= 20)

iNormalHitBonus = -2 * iSkillBonus + abs(number(-8, 8) + number(-8, 8)) + number(1, 4);

      else

iNormalHitBonus = -2 * iSkillBonus + number(1, 5);

 

 

na zielono min i max umki 

a na pomaranczowo wzór na średnie obrażenia 

 



Jeżeli cos pomieszałem to może mi ktos to tak wypełnic abym uzyskał max umki 50 i max SR 100 a juz sam dojde w jaki sposób bez męczenia drugiej strony

Musisz kombinować też z gauss_random(), bo jak zwiększysz -30 i 30 to raczej to nic nie da. Jak Ci wylosuje umki -30 to średnie mogą być od 60 do 65, a szansa na wylosowanie czegoś takiego to chyba mniejsza niż trafienie w totka bądź też zerowa.

Ja bym ustawił min -50 i max 50, a potem kombinował z liczbami w gauss_random(). Nie opiszę Ci jak to losuje, bo sam do końca nie wiem. Na pw Ci podeśle coś co może pomóc.

Opublikowano
Dnia 12.06.2017 o 15:20, Denshiro napisał:

Musisz kombinować też z gauss_random(), bo jak zwiększysz -30 i 30 to raczej to nic nie da. Jak Ci wylosuje umki -30 to średnie mogą być od 60 do 65, a szansa na wylosowanie czegoś takiego to chyba mniejsza niż trafienie w totka bądź też zerowa.

Ja bym ustawił min -50 i max 50, a potem kombinował z liczbami w gauss_random(). Nie opiszę Ci jak to losuje, bo sam do końca nie wiem. Na pw Ci podeśle coś co może pomóc.

Jak już to nie kombinować tylko normalnie obliczyć, wyróżniony przez Ciebie zakres limituje jedynie wynik.
Odsyłam do odświeżenia wiedzy czym jest rozkład normalny lub jak kto woli rozkład gaussa.

Co do funkcji "gauss_random()" w src jest jej pełny zapis więc sprawdzenia w jaki sposób losuje jest łatwe, dla leniwych wystarczy podpiąć to sobie pod zewnętrzną aplikacje lub funkcje do questa.

Opublikowano
Dnia 6/14/2017 o 10:10, Revastia.pl napisał:

Jak już to nie kombinować tylko normalnie obliczyć, wyróżniony przez Ciebie zakres limituje jedynie wynik.
Odsyłam do odświeżenia wiedzy czym jest rozkład normalny lub jak kto woli rozkład gaussa.

Co do funkcji "gauss_random()" w src jest jej pełny zapis więc sprawdzenia w jaki sposób losuje jest łatwe, dla leniwych wystarczy podpiąć to sobie pod zewnętrzną aplikacje lub funkcje do questa.

Pisałem tak, żeby kolega mógł lepiej wszystko zrozumieć. Niekoniecznie każdy kto zaczyna będzie potrafił sobie wyliczyć z gauss_random() wszystko jak mu się podoba czy podpiąć tą funkcję gdzieś do testów, więc "kombinowanie" z argumentami w tej funkcji powinno przynieść lepsze efekty (powiększanie, pomniejszanie). Wyróżniony zakres limituje wynik? No kurde nie wiedziałem xD

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...