Page 1 of 1

Level 50-60

PostPosted: Fri Mar 01, 2013 2:11 pm
by Tarragon22
Hello guys, i've a question:
is possible to raise the level cap from 50 to 60?? I mean a way to let you exp till the level 60 instead of 50..

Thanks in advance!

Re: Level 50-60

PostPosted: Fri Mar 01, 2013 2:42 pm
by Tolakram
Yes, but you have to define additional XP amounts for each of your extra levels.

If you are running a recent (12 months) version of the DOL core then you can override this in your custom gameplayer class:
Code: Select all
public override long GetExperienceNeededForLevel(int level) { if (level > MaxLevel) return XPForLevel[MaxLevel]; if (level <= 0) return XPForLevel[0]; return XPForLevel[level - 1]; }
Our code plugin is useless and needs to be removed. Here's what the above should look like.

public override long GetExperienceNeededForLevel(int level)
{
if (level > MaxLevel)
return XPForLevel[MaxLevel];

if (level <= 0)
return XPForLevel[0];

return XPForLevel[level - 1];
}

You'll also want to override GamePlayer MaxLevel
Code: Select all
public override byte MaxLevel { get { return 80; } }

To use your own custom XP array. Here's one I defined for D2 all the way up to level 80. You probably don't want to use this directly since I made changes to some of the lower levels as well.
Code: Select all
private static readonly long[] XPForLevel = { // GamePlayer MOB XP 0, // 0, // xp to level 1 5, 100, // 50, // xp to level 2 10, 400, // 250, // xp to level 3 20, 1200, // 850, // xp to level 4 40, 3200, // 2300, // xp to level 5 80, 8000, // 6350, // xp to level 6 160, 19200, // 15950, // xp to level 7 320, 44800, // 37950, // xp to level 8 640, 102400, // 88950, // xp to level 9 1280, 243200, // 203950, // xp to level 10 2560, 563200, // 459950, // xp to level 11 5120, 905000, // 839950, // xp to level 12 7240, 1433600, // 1399950, // xp to level 13 10240, 2244400, // 2199950, // xp to level 14 14480, 3481600, // 3399950, // xp to level 15 20480, 5361300, // 5199950, // xp to level 16 28980, 8192000, // 7899950, // xp to level 17 40960, 13034250, // 11799950, // xp to level 18 57930, 20480000, // 17499950, // xp to level 19 81920, 31858750, // 25899950, // xp to level 20 115850, 49152000, // 38199950, // xp to level 21 163840, 67091375, // 54699950, // xp to level 22 206435, 81096750, // 76999950, // xp to level 23 231705, 122880000, // 106999950, // xp to level 24 327680, 165140000, // 146999950, // xp to level 25 412850, 234072000, // 199999950, // xp to level 26 520160, 327680000, // 269999950, // xp to level 27 655360, 454136100, // 359999950, // xp to level 28 825702, 624191400, // 479999950, // xp to level 29 1040319, 851968000, // 639999950, // xp to level 30 1310720, 1155982800, // 849999950, // xp to level 31 1651404, 1560478500, // 1119999950, // xp to level 32 2080638, 2097152000, // 1469999950, // xp to level 33 2621440, 2807385950, // 1929999950, // xp to level 34 3302807, 3745149300, // 2529999950, // xp to level 35 4161277, 4980736000, // 3319999950, // xp to level 36 5242880, 6022488000, // 4299999950, // xp to level 37 6022488, 7609824200, // 5499999950, // xp to level 38 6918022, 9536064000, // 6899999950, // xp to level 39 7946720, 11866899200, // 8599999950, // xp to level 40 9128384, 14680064000, // 12899999950, // xp to level 41 10485760, 18067462500, // 20699999950, // xp to level 42 12044975, 23521273100, // 29999999950, // xp to level 43 13836043, 30197536000, // 40799999950, // xp to level 44 15893440, 38343414900, // 53999999950, // xp to level 45 18258769, 48234496000, // 69599999950, // xp to level 46 20971520, 60224877500, // 88499999950, // xp to level 47 24089951, 77481843600, // 110999999950, // xp to level 48 27672087, 98038247100, // 137999999950, // xp to level 49 31625241, 124146025800, // 169999999950, // xp to level 50 36513537, 155189248000, // 41943040, 192719644000, // 48179911, 230686720000, // 52428800, 305154048000, // 63573760, 379740784800, // 73027074, 469762048000, // 83886080, 578158812000, // 96359802, 719474249000, // 110688346, 890032647000, // 127147521, 1095406110000, // 146054148, 1342177280000, // 167772160, 1686296535000, // xp to level 62 192719604, 2103078574000, // xp to level 63 221376692, 2606524180500, // xp to level 64 254295042, 3213191256000, // xp to level 65 292108296, 4026531840000, // xp to level 66 335544320, 5010709704000, // xp to level 67 385439208, 6198547376000, // xp to level 68 442753384, 7628851260000, // xp to level 69 508590084, 9931682081000, // xp to level 70 584216593, 12750684160000, // xp to level 71 671088640, 16188446736000, // xp to level 72 770878416, 21252162456000, // xp to level 73 885506769, 28481044732000, // xp to level 74 1017180169, 38558295171000, // xp to level 75 1168433187, 51002736640000, // xp to level 76 1342177280, 66295543819000, // xp to level 77 1541756833, 85008649824000 , // xp to level 78 1771013538, 107821097914000 , // xp to level 79 2034360338, 135538249692000 , // xp to level 80 2336866374, 99999999999999999 // The END };
Please understand there may be more adjustments needed if you are trying to stay live like with additional levels, but this is a start.

Re: Level 50-60

PostPosted: Fri Mar 01, 2013 2:55 pm
by Tarragon22
Thank you very much Tolakram!! Could u tell me which script i've to change for that? I'm not so practice about coding... :(

Re: Level 50-60

PostPosted: Fri Mar 01, 2013 4:03 pm
by Tolakram
You need to make your own GamePlayer class as a script and inherit from GamePlayer, then override these methods.

You really need to know how to code to be able to modify the game. :)

Re: Level 50-60

PostPosted: Fri Mar 01, 2013 6:05 pm
by Tolakram
One thing I left out was the serverproperty to set to use your custom gameplayer class.

change player_class to be the custom class you create, in a script file, with the methods overridden that I indicated above.

So if your class is named:

public class CustomGamePlayer : Gameplayer

and it's in the DOL.GS namespace then you would set the server property to

DOL.GS.CustomGamePlayer

and then any player that joins your server will be your new class.

Remember that all your script files need to be placed in the scripts directory off of your servers home directory. It's usually a good idea to make a sub directory off of scripts to organize your files.

This is all the help I can give in the limited time I have. Like I said above, you must know how to code. What I described is really basic stuff. :)

Re: Level 50-60

PostPosted: Fri Mar 01, 2013 11:17 pm
by bryon
Oh very good. I had been wondering myself about something similar to this. Thanks.