на примере l2jserver
================================================== ===============
заходим в
java/net/sf/l2j/gamaserver/clientpackets/CharacterCreate.java
файл создания персонажа
далее после:
Код:
newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
добавляем:
Код:
if(Config.STARTING_LEVEL > 1)
{
newChar.getStat().addLevel((byte)(Config.STARTING_LEVEL - 1));
}
сохраняем, закрываем
================================================== ===============
заходим в
java/net/sf/l2j/gamaserver/model/base/SubClass.java
создание саб класса
заменяем уровень на переменную
было:
Код:
private long _exp = Experience.LEVEL[40];
стало:
Код:
private long _exp = Experience.LEVEL[Config.CUSTOM_SUBCLASS_LVL];
здесь делаем тоже самое
было:
Код:
private byte _level = 40;
стало:
Код:
private byte _level = (byte)Config.CUSTOM_SUBCLASS_LVL;
сохраняем, закрываем
================================================== ===============
далее приписываем функции в конфиг ядра
заходим:
java/net/sf/l2j/Config.java
после:
Код:
public static int STARTING_ADENA;
добавляем:
Код:
public static byte STARTING_LEVEL; // начальный уровень персонажа
public static byte STARTING_LEVEL_SUB; // начальный уровень саба
далее после:
Код:
STARTING_ADENA = Integer.parseInt(otherSettings.getProperty("StartingAdena", "100"));
добавляем:
Код:
STARTING_LEVEL = Byte.parseByte(VoicedCommand.getProperty("StartingLevel", "1")); // начальный уровень персонажа (default 1)
STARTING_SUBCLASS_LEVEL = Integer.parseInt(VoicedCommand.getProperty("StartingSubclassLevel", "40")); // начальный уровень саба (default 40)
сохраняем, закрываем
================================================== ===============
заходим в конфиг сервера
data/config/other.properties
добавляем переменные:
Код:
# начальный уровень персонажа (default 1)
StartingLevel = 1
# начальный уровень саба (default 40)
StartingSubclassLevel = 40
сохраняем, закрываем, компилируем
================================================== ===============
на других сборках смысл тот же