------
Próbáld meg, hogy a PointChange függvényben (char.cpp) a
POINT_MALL_EXPBONUS
POINT_EXP_DOUBLE_BONUS
case-ek alól kiszeded a
if (GetPoint(type) + amount > 100)
{
sys_err("MALL_BONUS exceeded over 100!! point type: %d name: %s amount %d", type, GetName(), amount);
amount = 100 - GetPoint(type);
}
elágazást
Köszi, kipróbálom. :)
Üzenet összefésülés: 2018-04-08, 12:25:00
Illetve még annyi, hogy ugye ha sok exp-t ad egy mob, akkor elkezd visszafele menni. Úgy, tudom, hogy ezt a max_yang berakása megoldja, igaz ez?
fogalmam sincs, nem néztem mi van benne, de nem gondolnám, hogy van összefüggés köztük
írd át minden az exphez köthető változó típusát valami másra, ami nagyobb értéket képes tárolni
Hibás
Matematikailag úgy néz ki a dolog, hogy a mob_protoban meg van adva a mob exp dobás értéke, ezt szorozza fel az exp dobás +x%-kal. Kb 16-18millió exp-nél akad ki, ha sok mobot ölsz, akkor visszafelé megy az exp.
Még nem jutottam oda, hogy ránézzek, hogy mitől csinálja, de majd csak megtalálom. :D
Még asszem te írtad Pisti, hogy a max_yangtól elvileg nem akadt ki 18 milla után.
az csak rész megoldás, nem fix hanem tartomány bővítés, azaz nem pl 100 expnél akad ki, hanem 1000-nél remélem így érthető
Teljes mértékben. Nagyon nagy szükségem lenne rá, még akár fizetnék is érte, ha valaki megtudja csinálni.
szerintem igaz nem próbáltam, de ha értesz a forráshoz, próbáld meg átírni az exp adattipusait, amit mobokból kapsz, tippem az hogy pl -2000től 2000 -ig kezeli kapsz 2500-at akkor ad -500-at mert túlcsordul