PDA

Просмотр полной версии : [Руководство] Всё про уровни!


baks1
07.02.2010, 11:39
1 часть - исходники.
Ковырялся я в исходниках L2Emu(хотел помочь граниту), наткнулся на вот такой вот файлик: gameserver\model\base\Experience.java
Вот его код:
package net.l2emuproject.gameserver.model.base;

/**
*
*
*/
public class Experience
{
public final static long LEVEL[] =
{ -1L, // level 0 (unreachable)
0L,
68L,
363L,
1168L,
2884L,
6038L,
11287L,
19423L,
31378L,
48229L, //level 10
71201L,
101676L,
141192L,
191452L,
254327L,
331864L,
426284L,
539995L,
675590L,
835854L, //level 20
1023775L,
1242536L,
1495531L,
1786365L,
2118860L,
2497059L,
2925229L,
3407873L,
3949727L,
4555766L, //level 30
5231213L,
5981539L,
6812472L,
7729999L,
8740372L,
9850111L,
11066012L,
12395149L,
13844879L,
15422851L, //level 40
17137002L,
18995573L,
21007103L,
23180442L,
25524751L,
28049509L,
30764519L,
33679907L,
36806133L,
40153995L, //level 50
45524865L,
51262204L,
57383682L,
63907585L,
70852742L,
80700339L,
91162131L,
102265326L,
114038008L,
126509030L, //level 60
146307211L,
167243291L,
189363788L,
212716741L,
237351413L,
271973532L,
308441375L,
346825235L,
387197529L,
429632402L, //level 70
474205751L,
532692055L,
606319094L,
696376867L,
804219972L,
931275828L,
1151275834L,
1511275834L,
2099275834L,
4200000000L, //level 80
6300000000L, //level 81
8820000000L, //level 82
11844000000L, //level 83
15472800000L, //level 84
19827360000L, //level 85
25314000000L };

/**
* This is the first UNREACHABLE level.<BR>
* ex: If you want a max at 85 & 100.00%, you have to put 86.<BR><BR>
*/
public final static byte MAX_LEVEL = 86;

public final static byte MIN_NEWBIE_LEVEL = 6;
public final static byte MAX_NEWBIE_LEVEL = 39;
}

Я думаю сразу Всем стало ясно, что тут можно изменить максимальный лвл, опыт на каждый лвл, и даже с какого по какой лвл - ты новичок(тоесть бафаться у Newbie Helper от 6 до 39лвл и многие другие преимущества).
Добавляем к примеру лвл.
Ищем такой код:
2099275834L,
4200000000L, //level 80
6300000000L, //level 81
8820000000L, //level 82
11844000000L, //level 83
15472800000L, //level 84
19827360000L, //level 85
25314000000L };

Заменяем 25314000000L на 25314000000L, //level 86 и переносим скобки на конец кода...
Далее после этой строки добавляем
42314000000L
И закрываем его вот такой скобкой };
Далее ищем вот это:
public final static byte MAX_LEVEL = 86;
И заменяем на вот это:
public final static byte MAX_LEVEL = 87;
На строки:
/**
* This is the first UNREACHABLE level.<BR>
* ex: If you want a max at 85 & 100.00%, you have to put 86.<BR><BR>
*/
Внимание не обращаем, это просто коментарий, сохраняем, компилим!
Примечание: если у Вас сборка L2Emu и у Вас нету исходников, есть решение! Качаем сборку L2Emu сборку за сентябрь + исходники, распаковываем.
Заходим в ядро нашей сборки(у которой нету исходников), и смотрим пути, если пути совпадают с исходниками той сборки, то просто изменяем код, компилим, и этот файл Experience.class заменяем на Experience.class в ядре! Если же пути не совпадают, то изменяем их вручную, к примеру:
package net.l2emuproject.gameserver.model.base;
Заменяем на:
package net.l2emuproject.game.model.base;
2 часть - база данных.
Ищем таблицу: skill_trees.
По полю class_id ищем 3и профы, по полю level ищем наш бывший последний уровень(85), добавляем после 85 уровня новое поле, и заполняем, по примеру:
В class_id вписываем ID профы, у меня будет это 89(варлорд 3я профа), в skill_id вписываем ID скила, я впишу например 12(Switch), в level я впишу 12(уровень), в sp я впишу 1(сколько sp требуется для изучения), в minlevel я впишу 86(уровень с которого откроется для изучения скил).
Предупреждение: Если вы сделаете больше 100 уровней, то клиент будет отображать как 10, начиная с 111 уровня, как 11!