Getnamecolor
Извините что пишу сюда - но как мне показалось, этот вопрос, ну никак не относится к "Форум для новичков". Тем более это близко к квэстописанию) Если что - перенесите тему туда, где ей подобает быть.
Итак, я решил сделать такую штуку на сервере, чтоб у всех расс были свои цвета ников. Т.е, хумы - феолетовые, эльфы - зелёные, де - синие итд.. Написал в L2PcInstance метод на это дело, и что-то ничего не изменилось. Надеюсь, истолкуете что, да как. Просьба не писать, если не знаете. Также надеюсь на дяденьку AbsT :)
Вот метод:
{
if (isGM())
return;
/** Updates name color of each race **/
if ((getRace() == Race.darkelf) && (getAppearance().getNameColor() == 0x0000FF))
{
getAppearance().setNameColor(0xFFFF00);
}
if ((getRace() == Race.elf) && (getAppearance().getNameColor() == 0x0000FF))
{
getAppearance().setNameColor(0x33FF99);
}
if ((getRace() == Race.human) && (getAppearance().getNameColor() == 0x0000FF))
{
getAppearance().setNameColor(0x994499);
}
if ((getRace() == Race.orc) && (getAppearance().getNameColor() == 0x0000FF))
{
getAppearance().setNameColor(0x0000FF);
}
if ((getRace() == Race.dwarf) && (getAppearance().getNameColor() == 0x0000FF))
{
getAppearance().setNameColor(0xA0A0A0);
}
}
Кстати, если кому идея помогла - кликаем пасибку.
ЗЫ да, у меня начальный цвет ника у всех чаров - красный)
Only God Can Judge Me
А собсна где этот метод вызывается и когда?
Ведь за время пребывания игрока в игре ник может много меняться...карма, реки итд.
— Ålderdom - ingen glädje..
В каком плане "где вызывается и когда". В классе L2PcInstance, по поводу "когда" - это я немножечко не понимаю. Карму и реки я убрал с сервера) На данный момент это не является игровым сервером, на котором играют игроки, а скорее тестовым с моими разработками.
Only God Can Judge Me
Метод, функция, класс...оно само собой не может быть вызвано.
Добавь вызов метода в серверном пакете который отвечает за статы каждого игрока.
Но ДО начала помещения данных на отправку, лучше в конструктор пакета.
— Ålderdom - ingen glädje..
Тоесть в CharInfo.java и UserInfo.java , вида: writeD(L2PcInstance.getNameColor()); ?
Only God Can Judge Me
В обоих, но лучше в конструкторах.
1 лишний вызов не помешает.
И сделать его нужно, до того как инфа будет готовится к отправке.
Ничего в WriteImpl менять НЕ нужно.
Точно щас сказать не могу, поздно уже, моск не варит.
А это малясь абсурд )
Во первых L2PcInstance - это лишнее совсем, указывает на пустой не определенный тип.
Во вторых метод getNameColor ничего не возвращает.
Так что отставить, и не трогать write*
////////////////////////////////
Стоп...гоню, туплю ))
Вот пример на UserInfo
{
_activeChar = character;
_moveMultiplier = _activeChar.getMovementSpeedMultiplier();
_runSpd = (int) (_activeChar.getRunSpeed() / _moveMultiplier);
_walkSpd = (int) (_activeChar.getWalkSpeed() / _moveMultiplier);
_swimRunSpd = _flRunSpd = _flyRunSpd = _runSpd;
_swimWalkSpd = _flWalkSpd = _flyWalkSpd = _walkSpd;
_relation = _activeChar.isClanLeader() ? 0x40 : 0;
if (_activeChar.getSiegeState() == 1) _relation |= 0x180;
if (_activeChar.getSiegeState() == 2) _relation |= 0x80;
_activeChar.getNameColor(); // <<<<----------
}
Аналогично сделай и на CharInfo.
Имхо должно работать.
— Ålderdom - ingen glädje..


