Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Запись фракции
#11
L2J Написал:Привязка не по аккаунту, создал новый аккаунт, создал опять чара, и он опять за ту же сторону.
:confused:

Значит определенно статик переменная в Player-модели. Убирайте статик и можно радоваться Wink
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#12
Вообще как-то странно, один аккаунт дается выбор фракции, другой аккаунт уже выбранная фракция:eek:
Ответ
#13
есть ли дифф файл? что бы можно было проследить где запись и где не так работает.
Ответ
#14
Нету диффа, скачал исходники.
Хотя нет, убрал статик, все так же, и, когда кто-нибудь онлайн и без фракции, ему сразу дается фракция, которую выбрал один человек.
Теперь вопрос с записью фракции, куда она идет и в виде чего?
В Player ничего не увидел:confused:
Помогите пожалуйста, вот файл Player.java
http://pastebin.com/fc4j6h6V
Ответ
#15
Куда записывается фракция - в базу чарам поле faction

Странность
Код:
    @Override
    public void setFaction(FactionManager.Faction f)
    {
        super.setFaction(f);

        switch (getFaction())
        {
            case EVIL:
                setTitleColor(255, 62, 44); // red
                setNameColor(255, 62, 44); // red
                break;

            case GOOD:
                setTitleColor(99, 240, 79);
                setNameColor(99, 240, 79); // green
                break;

            case ADMIN:
                setTitleColor(248, 175, 0); // orange
                break;

            default:
                setTitleColor(Config.NORMAL_NAME_COLOUR);
        }
    }
Оверрайдит метод с пред класса - там нужно смотреть как объявлена переменная.
Ответ
#16
Если в поле faction, там должны быть цифры, а в получение фракции я вижу только GOOD / EVIL
Откуда эти цифры берутся?
Ответ
#17
L2J Написал:Если в поле faction, там должны быть цифры, а в получение фракции я вижу только GOOD / EVIL
Откуда эти цифры берутся?
Цифра это ordinal перечислимого типа.
Ответ
#18
Исходники от акуму. Скачивал не с макси. Вот отсюда .
Ответ
#19
Забрал свои слова обратно
Ответ
#20
такс, фракция записывается в таблицу characters. Дальше сохранение фракции идет в объект Creature.

Вот проблема может быть в том, что оно зачем то записывает фракцию в PlayerTemplate, думаю что проблема именно в этом.

[SRC="java"]
PlayerTemplate t = CharTemplateTable.getInstance().getTemplate(id, getSex() == 1);
if(t == null)
{
_log.error("Missing template for classId: " + id);
// do not throw error - only print error
return;
}

// чтобы не терялась фракция, ибо она живет в CharTeplate
t.setFaction(getFaction());
[/SRC]
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 8 Гость(ей)