Would be helpful if you said what you changed already. What did you change to what value ?For example, values like mana reg, etc.They all have a value in their respective dbc for each level.
enum LevelLimit{ // Client expected level limitation, like as used in DBC item max levels for "until max player level" // use as default max player level, must be fit max level for used client // also see MAX_LEVEL and STRONG_MAX_LEVEL define DEFAULT_MAX_LEVEL = 555, // client supported max level for player/pets/etc. Avoid overflow or client stability affected. // also see GT_MAX_LEVEL define MAX_LEVEL = 555, // Server side limitation. Base at used code requirements. // also see MAX_LEVEL and GT_MAX_LEVEL define STRONG_MAX_LEVEL = 555,};
MaxPlayerLevel = 555
characters (changed column "level" to SMALLINT so it can go over 255).creature_classlevelstatscreature_template (changed column "minlevel" and "maxlevel" to SMALLINT so it can go over 255).player_classlevelstatsplayer_levelstatsplayer_xp_for_level
https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Entities/Player/Player.cpp#L1992To load up.I think there is an additional lua setting.
*data << uint8(fields[7].GetUInt8()); // level
*data << uint16(fields[7].GetUInt16()); // level
Uh.. That line you point to sends a network packet, thus raw data. Changing the variable type will break the packet structure and do nothing but overwrite half of the following field (zone). So, before you had levels from 0x0 to 0xFF. If your level is in that range, you now have level 0 and zone 0xFF??. If you then come to level 0x100, you are now level 1 and zone 0x00??. You also only level up once every 0x100 levels clientside.I'm not entirely sure how this is supposed to work, unless I am missing something obvious here entirely.
All you have to do is add the level stats to the DB and set the max level in the config. Hard coding it is an excessive amount of work for the same result. Unless you're adding custom stuff to the game, like new classes or textures, etc., you never really need to modify the client.Also, the level cap is 255 due to it being an unsigned 8-bit integer (0-255). You'd have to modify the core and change the data type to something like a 16-bit unsigned integer (Max = 65535) in .srcgameEntitiesUnitUnits.h as well as defining the hard max level in .srcservergameDataStoresDBCEnums.h as well as changing the data type for levels in the DB tables from an unsigned tinyint3 (0-255) to something like an unsigned smallint6 (Max = 65535). There's actually a lot more core components that would need to be edited like .srcgameEntitiesPlayerPlayer.cpp. You actually need to change the data type for levels in EVERY core component it's defined in and EVERY DB table. It's way more work than it's worth.
Yes, as far as I know the problem was never the server, neither on ArcEmu nor on TC.The client accepts only a 8bit package for the level and this results in a max. of 255 levels.Would be very surprised if sombody really could have changed this.
The only one question I have...:What the hell for?