This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: [TrinityCore] Max Level over 255?  (Read 7846 times)

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
[TrinityCore] Max Level over 255?
« on: March 16, 2015, 06:20:59 pm »
Hello Everyone!

I've seen servers out there before that are over the level of 255.
However, they could have been running on ArcEmu, because I remember back in the day when I had a ArcEmu server, and I made the max level 1000, and it worked.

However, I was wondering how can I do this on a TrinityCore server?
I know it's possible, because if it was set to level 255 somehow, then it has to be possible to set it to something else.

What I know so far is that you have to edit the DBCEnum.h.
So I know what to edit in there, it's really simple.

But what else would I have to edit on the TrinityCore Core side?


Please help with any kind of help you can give.

Thank You!


P.S
----
I already know that it is really difficult/a lot of work to do.
« Last Edit: March 20, 2015, 01:01:49 pm by Admin »

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
Re: [TrinityCore] MAX LEVEL OVER 255???
« Reply #1 on: March 17, 2015, 12:34:13 pm »
Bump!

I would appreciate any help at all. :)
« Last Edit: March 19, 2015, 09:47:54 pm by Admin »

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
Re: [TrinityCore] MAX LEVEL OVER 255???
« Reply #2 on: March 19, 2015, 01:18:48 pm »
Bump...
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Ascathos

  • Moderators
  • Creator of Worlds
  • *****
  • Posts: 1129
    • View Profile
Re: [TrinityCore] MAX LEVEL OVER 255???
« Reply #3 on: March 19, 2015, 01:42:31 pm »
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.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
Re: [TrinityCore] MAX LEVEL OVER 255???
« Reply #4 on: March 19, 2015, 09:38:08 pm »
Quote from: "Ascathos"
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.

So far I only edited the following:

DBCEnum.h:
Quote
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,
};

worldserver.conf:
Quote
MaxPlayerLevel = 555

Database Tables Edited:
Quote
characters (changed column "level" to SMALLINT so it can go over 255).
creature_classlevelstats
creature_template (changed column "minlevel" and "maxlevel" to SMALLINT so it can go over 255).
player_classlevelstats
player_levelstats
player_xp_for_level


These are the only changes/edits that I have done.
I know that there is still a lot more, but I'm not 100% sure what else to do.

Please help if you can, thank you.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Ascathos

  • Moderators
  • Creator of Worlds
  • *****
  • Posts: 1129
    • View Profile
Re: [TrinityCore] MAX LEVEL OVER 255???
« Reply #5 on: March 19, 2015, 10:17:15 pm »
https://github.com/TrinityCore/TrinityC ... .cpp#L1992

To load up.

I think there is an additional lua setting.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
Re: [TrinityCore] MAX LEVEL OVER 255???
« Reply #6 on: March 20, 2015, 12:47:17 pm »
Quote from: "Ascathos"
https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Entities/Player/Player.cpp#L1992

To load up.

I think there is an additional lua setting.


So I need to change:
Quote
*data << uint8(fields[7].GetUInt8());                   // level
to
Quote
*data << uint16(fields[7].GetUInt16());                   // level
Correct?

Anything else I need to change in player.cpp?


Also, you said a lua file needs to be edited?
Do you happen to know which lua file?
And since it's lua, I believe that this is on the client side of WoW, correct?

Thank You. :)
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

schlumpf

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 2967
    • View Profile
Re: [TrinityCore] Max Level over 255?
« Reply #7 on: March 20, 2015, 04:27:29 pm »
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.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
Re: [TrinityCore] Max Level over 255?
« Reply #8 on: March 20, 2015, 06:21:23 pm »
Quote from: "schlumpf"
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.

Take a look at this post:
http://forum.ragezone.com/f114/trinityc ... p-1049019/

Darkicon wrote this:
Quote
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.

So from my understanding, I need to change everything that has to do with level from 8bit to 16bit.

However, I need to also do DB edits.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

schlumpf

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 2967
    • View Profile
Re: [TrinityCore] Max Level over 255?
« Reply #9 on: March 20, 2015, 06:53:39 pm »
The issue is that level is transported over network, thus interpreted in the client. You can't change interpretation there, thus you are limited.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Magnus

  • Moderators
  • Wiki Incarnate
  • *****
  • Posts: 147
    • View Profile
Re: [TrinityCore] Max Level over 255?
« Reply #10 on: March 21, 2015, 01:14:10 am »
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.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
Re: [TrinityCore] Max Level over 255?
« Reply #11 on: March 21, 2015, 01:35:56 pm »
The only one question I have...:
What the hell for?
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
Re: [TrinityCore] Max Level over 255?
« Reply #12 on: March 21, 2015, 03:41:07 pm »
Quote from: "Magnus"
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.

I remember on my ArcEmu old server (back in the day... lol), I changed the level cap to 1000 in the configs, and it was as simple as that to make it over 255.
I will download a ArcEmu repack and test what I'm saying again...
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
Re: [TrinityCore] Max Level over 255?
« Reply #13 on: March 21, 2015, 03:42:41 pm »
Quote from: "Amaroth"
The only one question I have...:
What the hell for?

Because I want to be different than 255...
All FunServers out there (or most) and 255. When a new 255 server comes out, people always will just say something like, "Ohh, well it's just another 255 server...".
But not only for that reason, but also because I have a big new leveling system plan for a FunServer that requires my max level to be 555. :P
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

spiderwaseem

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 154
    • View Profile
    • http://anarchy-wow.com/
Re: [TrinityCore] Max Level over 255?
« Reply #14 on: March 22, 2015, 12:29:31 am »
Ok, so apparently now it doesn't work when I change the level cap on ArcEmu to 1000 or over 255...
Maybe I'm just remembering wrong... idk.

I'm sure though that this is possible without WoW Client Changes, only core/server side.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »