View Full Version : [SOLVED] Level Past 255 help

10-15-2014, 05:14 AM
i wanted to make the level 300 to test some stuff and i was wondering if anyone knows what to edit i did edit the core and i am able to get to level 255 but anything past it i get a error in the world about level stats and using level 255 stats instead because 256 is miss its but i have added level xp stats and info for levels 255 to 300 kinda stuck

Thanks in advance!

10-15-2014, 05:35 AM
Afaik the client doesn't support level over 255 because the datatype is something like unsigned uint8_t

10-15-2014, 04:00 PM
Afaik the client doesn't support level over 255 because the datatype is something like unsigned uint8_t

ya i know that i had to mod my wow.exe so i dont crash when checking my stats or other things i tested it with arcemu and i was able to get to any level from 1 to 1000(or higher) without crashs

but now i wanna know how to mod trinitycore past 255 i have done alot of core mods and adding stuff to the DB and i am still stuck..

10-15-2014, 09:04 PM
325 this is the Error i get in the Core. i cant seem to fix it..like i said i have the level stats added for 81 to 300 added. my configs i set the max level to 256 just to see if i can get it to go past 255

10-16-2014, 05:50 AM
Did you modify the tables, so the fields aren't unsigned tinyint (0-255) anymore?
You can see here http://collab.kpsn.org/display/tc/player_classlevelstats that the first two fields are unsigned tinyint. Change it to smallint or better to unsigned smallint.

10-16-2014, 06:07 AM
ya in mine there set to int so -2147483648 to 2147483648 bit i still get the error..

10-19-2014, 04:11 AM
i tryed editing some things recompiling the core and testing it out still no luck just looking at all the files and reading them hoping to get lucky and find it!

10-20-2014, 03:57 AM
i was able to make it so if i set myself to level 1000 in the Database and log on and ingame it showed my level as 1000 but once i logged out it reset it to 232..i edited something in player.cpp player.h unit.cpp and unit.h

but still working on it...

10-21-2014, 12:13 PM
I haven't done something like this, but maybe we can analyze it.

Did you try to edit the packages too?
e.g. in Player.cpp

*dataBuffer << uint8(level);

to uint16 or smth like that.
I would try to edit everything that has to do with the playerlevel from uint8 to uint16. If it doesn't work or the client or server will crash -> revert it.

10-23-2014, 11:09 PM
i gave up...i ended up getting mobs working before they would reset there level so once they got to level 255 it would reset them so i i made a level 260 it would be level 5. and i found something that made it so they wouldnt do that..but for the player level i found something that let me edit my level in the DB but after logging out it would just reset my level so if i was level 1000 it would put me to level 232

10-23-2014, 11:53 PM
Changing the column type to uint16, changing all Field getuint8() to 16 and editing the member variable and how it is passed to uint16 should do the trick though

10-24-2014, 05:31 AM
He said he already did this, but the error is exactly this problem.
uint8_t (unsigned smallint in mysql afaik) = 0-255, if a mob now gets level 260 it will be level 5, because the variable will count from 0 after it's maximum. (i know this explanation sounds dumb, but i don't know how i should describe it)
1) You didn't changed every type in your database
2) You didn't changed every type in your core

10-26-2014, 03:36 PM
If you are running a 255 server i would lower your level cap to 245, leave the last 10 levels for Bosses. The tables and Math in the DB does not like going above 255, you will have more heartache and pain trying to get things to work. its just more stable to have it the way i listed above. i have worked on a few servers that have tried to push it above 255 and a few servers shutdown because the couldnt get it to work.