Własny Config :
• Zastanawiasz się jak zrobić swój własny plik konfiguracyjny ? (gameserwer/config/xxx.properties) Oto przykład :
- Dla przykładu, chce stworzyć config, który będzie zezwalał lub nie na nadawanie automatycznie 75 lvl każdej nowo stworzonej postaci, a więc :
- Otwórz plik
Config.java (java\net\sf\l2j)
- Chcemy zrobić plik konfiguracyjny z dwiema możliwościami (true lub false), a więc musimy zarejestrować public "
static boolean"
- otworzyliśmy plik Config.java i idziemy do linijki,w której zaczyna się Klasa "
Config" Zaczyna się tak :
public final class Config
{
protected static final Logger _log = Logger.getLogger(Config.class.getName());
...itd
- Rejestrujemy nasz config, dopiszmy go na początku, a więc ma to wyglądać tak :
public final class Config
{
/** Custom Starting Level*/
public static boolean ALLOW_CREATE_LVL;
protected static final Logger _log = Logger.getLogger(Config.class.getName());
...itd
- Ok to już dodaliśmy, teraz trzeba nasz config zarejestrować do któregoś pliku konfiguracyjnego, na początek dodamy do już jakiegoś gotowego . Niech będzie
other.properties- Jesteśmy dalej w pliku
Config.java, tym razem odszukaj tych linijek :
// other
try
{
Properties otherSettings = new Properties();
InputStream is = new FileInputStream(new File(OTHER_CONFIG_FILE));
otherSettings.load(is);
is.close();
DEEPBLUE_DROP_RULES=Boolean.parseBoolean(otherSettings.getProperty("UseDeepBlueDropRules","True"));
...itd
- U mnie zaczynają się na linijce 1451, ale ja aktualnie bawię się na starszych plikach L2J - Interlude
- w tym pliku jak już mówiłem dodajemy configi do ... pliku konfiguracyjnego - w tym przypadku
other.properties- nasz config dodajemy na początku czyli nad :
DEEPBLUE_DROP_RULES=Boolean.parseBoolean(otherSettings.getProperty("UseDeepBlueDropRules","True"));
- Ma to wyglądać tak :
// other
try
{
Properties otherSettings = new Properties();
InputStream is = new FileInputStream(new File(OTHER_CONFIG_FILE));
otherSettings.load(is);
is.close();
ALLOW_CREATE_LVL = Boolean.parseBoolean(otherSettings.getProperty("CostumStartLvl", "False"));
DEEPBLUE_DROP_RULES = Boolean.parseBoolean(otherSettings.getProperty("UseDeepBlueDropRules", "True"));
... itd
- Tłumaczyć co do czego i jak działa nie będę, wszystko można logicznie wywnioskować . Dodatkowo przeglądając plik
Config.java szybko domyślicie się jak zrobić osobny plik konfiguracyjny ( np.
matim.properties )
- Ok, a więc rejestracje naszego configa zakończyliśmy !
- Kolejnym krokiem jest zdefiniowanie naszego configa, ma on dawać doświadczenie dla nowych postaci, a więc odszukaj plik :
CharacterCreate.java- Odszukać należy te linijki :
// cSdddddddddddd
private String _name;
private int _race;
private byte _sex;
private int _classId;
private int _int;
private int _str;
private int _con;
private int _men;
private int _dex;
private int _wit;
private byte _hairStyle;
private byte _hairColor;
private byte _face;
i dodać nowy wpis mówiący o doświadczeniu :
private long _exp;
- teraz należy zdefiniować "_exp" w tym przypadku jego ilość
- szukamy takich linijek :
@Override
protected void readImpl()
{
_name = readS();
_race = readD();
_sex = (byte)readD();
_classId = readD();
_int = readD();
_str = readD();
_con = readD();
_men = readD();
_dex = readD();
_wit = readD();
_hairStyle = (byte)readD();
_hairColor = (byte)readD();
_face = (byte)readD();
i dodajemy :
_exp = 804219972;
}
- (804219972;) = ilość doświadczenia potrzebna na 75 lvl, jeśli chcesz inny poziom to zwyczajnie wpisz inną ilość doświadczenia .
- Teraz szukamy jednie tej linijki :
newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
i pod nią dodajemy taki wpis :
if(Config.ALLOW_CREATE_LVL)
{
newChar.removeExpAndSp(newChar.getExp(), 0);
newChar.addExpAndSp(_exp, 0);
}
- Tego wpisu tłumaczyć chyba też nie trzeba . Sprawdza on po prostu czy config zezwala na "customowy poziom startowy" i jeśli tak to każdej nowej postaci automatycznie dodaje tyle doświadczenia ile zdefiniowaliśmy w (
_exp; )
- Proste, prawda
?
- Ostatni krok do dodanie wpisu do pliku konfiguracyjnego
other.properties- Otwieramy go i na początku dodajemy :
# Zezwalaj na custom początkowy poziom nowych postaci, docelowo = false
# Gdy wpiszesz True , każda nowa postać otrzyma automatycznie 75 poziom
CostumStartLvl = False
- No i gdy chcemy aby każda nowa postać otrzymywała automatycznie 75 poziom dajemy True
- Kompilujemy Serwer i gotowe, cieszymy się własnym configiem