adv1453 60 Posted September 28, 2022 Share Posted September 28, 2022 The level limit is max 120 on the server, but I want the player to gain up to 100% of exp, how can I do it? Link to comment Share on other sites More sharing options...
BadGrecee 4 Posted September 28, 2022 Share Posted September 28, 2022 char.cpp open and search: if (exp + amount >= next_exp) { iExpBalance = (exp + amount) - next_exp; amount = next_exp - exp; SetExp(0); exp = next_exp; } else { SetExp(exp + amount); exp = GetExp(); } add before if (gPlayerMaxLevel == GetLevel()) { if ((amount + exp) > (next_exp / 4)) amount = ((next_exp / 4) - exp); } Fills only one cube (50%) in this addon. If there is no gPlayerMaxLevel in your files, enter the maximum level number. Example: gPlayerMaxLevel change to 120 or int gPlayerMaxLevel = 120; if (gPlayerMaxLevel == GetLevel()) { if ((amount + exp) > (next_exp / 4)) amount = ((next_exp / 4) - exp); } 1 Link to comment Share on other sites More sharing options...
adv1453 60 Posted September 29, 2022 Author Share Posted September 29, 2022 (edited) 7 hours ago, BadGrecee said: char.cpp open and search: if (exp + amount >= next_exp) { iExpBalance = (exp + amount) - next_exp; amount = next_exp - exp; SetExp(0); exp = next_exp; } else { SetExp(exp + amount); exp = GetExp(); } add before if (gPlayerMaxLevel == GetLevel()) { if ((amount + exp) > (next_exp / 4)) amount = ((next_exp / 4) - exp); } Fills only one cube (50%) in this addon. If there is no gPlayerMaxLevel in your files, enter the maximum level number. Example: gPlayerMaxLevel change to 120 or int gPlayerMaxLevel = 120; if (gPlayerMaxLevel == GetLevel()) { if ((amount + exp) > (next_exp / 4)) amount = ((next_exp / 4) - exp); } I did it like this but I still can't get exp. https://metin2.download/picture/57LN8Cab3z2s9gv96jEmpiSj6Ke17mCz/.gif Edited September 29, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Solution BadGrecee 4 Posted September 29, 2022 Solution Share Posted September 29, 2022 (edited) 12 hours ago, adv1453 said: I did it like this but I still can't get exp. https://metin2.download/picture/57LN8Cab3z2s9gv96jEmpiSj6Ke17mCz/.gif constants.cpp open and search and replace const DWORD exp_table_common[PLAYER_MAX_LEVEL_CONST + 1] = { 0, // 0 300, 800, 1500, 2500, 4300, 7200, 11000, 17000, 24000, 33000, // 10 43000, 58000, 76000, 100000, 130000, 169000, 219000, 283000, 365000, 472000, // 20 610000, 705000, 813000, 937000, 1077000, 1237000, 1418000, 1624000, 1857000, 2122000, // 30 2421000, 2761000, 3145000, 3580000, 4073000, 4632000, 5194000, 5717000, 6264000, 6837000, // 40 7600000, 8274000, 8990000, 9753000, 10560000, 11410000, 12320000, 13270000, 14280000, 15340000, // 50 16870000, 18960000, 19980000, 21420000, 22930000, 24530000, 26200000, 27960000, 29800000, 32780000, // 60 36060000, 39670000, 43640000, 48000000, 52800000, 58080000, 63890000, 70280000, 77310000, 85040000, // 70 93540000, 102900000, 113200000, 124500000, 137000000, 150700000, 165700000, 236990000, 260650000, 286780000, // 80 315380000, 346970000, 381680000, 419770000, 461760000, 508040000, 558740000, 614640000, 676130000, 743730000, // 90 1041222000, 1145344200, 1259878620, 1385866482, 1524453130, 1676898443, 1844588288, 2029047116, 2050000000, 2150000000u, // 100 2210000000u, 2250000000u, 2280000000u, 2310000000u, 2330000000u, // 105 2350000000u, 2370000000u, 2390000000u, 2400000000u, 2410000000u, // 110 2420000000u, 2430000000u, 2440000000u, 2450000000u, 2460000000u, // 115 2470000000u, 2480000000u, 2490000000u, 2490000000u, 2500000000u, // 120 // extra 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 130 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 140 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 150 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 160 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 170 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 180 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 190 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 200 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 210 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 220 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 230 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 240 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 250 }; also int gPlayerMaxLevel = 120; delete. Because it exists in your files. and char.cpp open and search and delete: if (gPlayerMaxLevel <= GetLevel()) return; and paste: if (gPlayerMaxLevel == GetLevel() && (next_exp / 4) <= exp) return; Edited September 29, 2022 by BadGrecee 1 Link to comment Share on other sites More sharing options...
adv1453 60 Posted September 30, 2022 Author Share Posted September 30, 2022 15 hours ago, BadGrecee said: constants.cpp open and search and replace const DWORD exp_table_common[PLAYER_MAX_LEVEL_CONST + 1] = { 0, // 0 300, 800, 1500, 2500, 4300, 7200, 11000, 17000, 24000, 33000, // 10 43000, 58000, 76000, 100000, 130000, 169000, 219000, 283000, 365000, 472000, // 20 610000, 705000, 813000, 937000, 1077000, 1237000, 1418000, 1624000, 1857000, 2122000, // 30 2421000, 2761000, 3145000, 3580000, 4073000, 4632000, 5194000, 5717000, 6264000, 6837000, // 40 7600000, 8274000, 8990000, 9753000, 10560000, 11410000, 12320000, 13270000, 14280000, 15340000, // 50 16870000, 18960000, 19980000, 21420000, 22930000, 24530000, 26200000, 27960000, 29800000, 32780000, // 60 36060000, 39670000, 43640000, 48000000, 52800000, 58080000, 63890000, 70280000, 77310000, 85040000, // 70 93540000, 102900000, 113200000, 124500000, 137000000, 150700000, 165700000, 236990000, 260650000, 286780000, // 80 315380000, 346970000, 381680000, 419770000, 461760000, 508040000, 558740000, 614640000, 676130000, 743730000, // 90 1041222000, 1145344200, 1259878620, 1385866482, 1524453130, 1676898443, 1844588288, 2029047116, 2050000000, 2150000000u, // 100 2210000000u, 2250000000u, 2280000000u, 2310000000u, 2330000000u, // 105 2350000000u, 2370000000u, 2390000000u, 2400000000u, 2410000000u, // 110 2420000000u, 2430000000u, 2440000000u, 2450000000u, 2460000000u, // 115 2470000000u, 2480000000u, 2490000000u, 2490000000u, 2500000000u, // 120 // extra 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 130 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 140 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 150 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 160 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 170 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 180 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 190 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 200 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 210 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 220 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 230 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 240 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 250 }; also int gPlayerMaxLevel = 120; delete. Because it exists in your files. and char.cpp open and search and delete: if (gPlayerMaxLevel <= GetLevel()) return; and paste: if (gPlayerMaxLevel == GetLevel() && (next_exp / 4) <= exp) return; Thank you, solved. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now