• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Mana Ots

laglas

New Member
Joined
Mar 15, 2009
Messages
7
Reaction score
0
Witam,

Dziwna sprawa, mamy tutaj evo ots, reborny, wielki exp itd.
I teraz tak, ludzie mają już wysokie reby, niektórzy mają po 1,700,000,000 many. A jeżeli mana przekroczy 2,000,000,000 to się po prostu zeruje, tak jakby to była maksymalna, dostępna ilość.
Wie ktoś jak i gdzie to zwiększyć?
To byłaby po prostu najprostsza opcja, bo nie ma sensu wszystkim zmniejszać many, czy też zmieniać itemów, jeżeli dostępne jest łatwiejsze wyjście.
Z góry dzieki :)
 
O ile się nie mylę to ilość many jest przechowywana w int32_t, a więc może maksymalnie wynosić 2,147,483,647. Musiałbyś zastosować inny typ zmiennej w creature.h (w source).
 
A dasz rade trochę jaśniej? Rozwinąć to bardziej?

szukasz tam gdzie masz manę czyli chyba w creature i szukasz tam gdzie jest typ zapisu many i zmieniasz na zapis umożliwiający przechowywanie większej liczby cyfer
 
Ok, dzięki, a macie jakies propozycje, na jaki typ zapisu zmienić? Tzn, żeby mógł przechować jak największą ilość cyfr + żeby się nic nie spieprzylo.

Do tego, czy wystarczy zmienić w tym miejscu, czy jeszcze w jakiś innych?

int32_t health, healthMax;
int32_t mana, manaMax;
 
Last edited:
unsigned __int64 do many może byc, nie ma wartości minusowych tam, jest to rówen z unsigned long long
 
Last edited:
Dobra panowie, jeszcze jedna prośba, teraz trochę trudniejsza. Dałby ktoś radę wytłumaczyć to krok po kroku? Po prostu gdzie dokładnie to zmienić, na co najlepiej itd

Z góry dzięki :)
 
Dobra panowie, jeszcze jedna prośba, teraz trochę trudniejsza. Dałby ktoś radę wytłumaczyć to krok po kroku? Po prostu gdzie dokładnie to zmienić, na co najlepiej itd

Z góry dzięki :)

no te wartosci co podales...
zamiast int32_t musisz wpisać zmienną która może przechowywać większe liczby, nie znam się na zmiennych ale poprostu zamiast int32_t sprubój wpisać int64_t
I napisz czy pomogło
 
Tylko, że te sama zmienna jest przechowywana w kliencie, więc musisz dodać komendę, która będzie wyświetlała "prawdziwą" ilość manny.
 
Myślę, że najlepszym wyjściem byłoby wyświetlanie HP i MP w procentach (tzn pasek z wartościami od 0 do 100)
 
mam taki sam problem. Nie jestem akurat dobry w tym, mógłbym ktoś mi krok po kroku wyjaśnic i pomoc jaki najlepsza byla by zmienna do tej many?

A w tych procentach jak to zrobic? Potem juz nie bede mial problemu z maksymalna mana?
 
mam taki sam problem. Nie jestem akurat dobry w tym, mógłbym ktoś mi krok po kroku wyjaśnic i pomoc jaki najlepsza byla by zmienna do tej many?

A w tych procentach jak to zrobic? Potem juz nie bede mial problemu z maksymalna mana?

Traktujesz max mane jako 100%, a aktualna mane jako % z liczby max i takie liczby wysylasz do klienta :p
 
tak to mam juz. Tylko problem w tym że doszedłem do maksymalnej many 2,1 mld i po przekroczeniu tej liczby restartuje mi się do zera i teraz pytanie czy da się ten zapis jakąś inną zmienną zastąpic?
 
zamiast tak utrudniac moglbys od razu napisac co i jak gdzie mam zamienic etc ; d
 
nie bo było by za łatwo, a ty i tak dostajesz w kij większą pomoc niż, którykolwiek z nas kiedyś gdy byliśmy niedoświadczeni

wpisz sobie w google typy zmiennych w c++
 
Back
Top