Итем на стигму(бишоп,ее,ше)

ares12

Знающий
Участник
Старожил I степени
Сообщения
215
Розыгрыши
0
Репутация
6
Реакции
49
Баллы
445
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
FirstTeam
Добрый вечер. Столкнулся с проблемой - после получения 3 профы бишопа, ее, и ше должен даваться предмет для изучения трансфер скилла(стигма и прочее). У меня почему-то он не выдаётся. Подскажите где искать решение проблемы.
 
Добрый вечер. Столкнулся с проблемой - после получения 3 профы бишопа, ее, и ше должен даваться предмет для изучения трансфер скилла(стигма и прочее). У меня почему-то он не выдаётся. Подскажите где искать решение проблемы.
Загляни в SagasSuperclass.java

в метод FinishQuest

есть такие строки?
Java:
        if(getPrevClass(player) == 43) // Shillien Elder
        {
            st.giveItems(15309, 4);
        }
        else if(getPrevClass(player) == 16) // Bishop
        {
            st.giveItems(15307, 1);
        }
        else if(getPrevClass(player) == 30) // Elven Elder
        {
            st.giveItems(15308, 1);
        }

если нет, то добавь после
Java:
st.giveItems(6622, 1);
 
  • Мне нравится
Реакции: kick
хз что за сборка.
Рекомендую сначало сделать поиск по всем сурсам (включая скрипты) на наличие ИД этих предметов и потом только предпринимать меры.

Решение могу предложить следующее, исходя с мобиус:
* Есть глобальный listener, который называетсч что-то типо "player class change". Можно написать код, который будет срабатывать при оповещении listener-а. Делаем проверку "Category.getInstance.isThirdClass(player.getClassId)" и смотрим по ИД классов ну и можем проверять нет ли у игрока итемов, чтоб не дублировались они.
Чисто мое видение
 
Загляни в SagasSuperclass.java

в метод FinishQuest

есть такие строки?
Java:
        if(getPrevClass(player) == 43) // Shillien Elder
        {
            st.giveItems(15309, 4);
        }
        else if(getPrevClass(player) == 16) // Bishop
        {
            st.giveItems(15307, 1);
        }
        else if(getPrevClass(player) == 30) // Elven Elder
        {
            st.giveItems(15308, 1);
        }

если нет, то добавь после
Java:
st.giveItems(6622, 1);
Java:
 private void FinishQuest(QuestState st, Player player)
    {
        st.addExpAndSp(2586527, 0);
        st.giveItems(ADENA_ID, 5000000);
        st.giveItems(6622, 1, true);
        st.exitCurrentQuest(true);
        player.setClassId(getClassId(player), false, true);
        if(!player.isSubClassActive() && player.getBaseClassId() == getPrevClass(player))
            player.setBaseClass(getClassId(player));
        player.broadcastCharInfo();
        Cast(st.findTemplate(NPC[0]), player, 4339, 1);
    }
Вот мой код, сделал как вы сказали - не помогло.

хз что за сборка.
Рекомендую сначало сделать поиск по всем сурсам (включая скрипты) на наличие ИД этих предметов и потом только предпринимать меры.

Решение могу предложить следующее, исходя с мобиус:
* Есть глобальный listener, который называетсч что-то типо "player class change". Можно написать код, который будет срабатывать при оповещении listener-а. Делаем проверку "Category.getInstance.isThirdClass(player.getClassId)" и смотрим по ИД классов ну и можем проверять нет ли у игрока итемов, чтоб не дублировались они.
Чисто мое видение
Ид предметов:
15307 бишоп
15308 ше
15309 ее
 
Java:
 private void FinishQuest(QuestState st, Player player)
    {
        st.addExpAndSp(2586527, 0);
        st.giveItems(ADENA_ID, 5000000);
        st.giveItems(6622, 1, true);
        st.exitCurrentQuest(true);
        player.setClassId(getClassId(player), false, true);
        if(!player.isSubClassActive() && player.getBaseClassId() == getPrevClass(player))
            player.setBaseClass(getClassId(player));
        player.broadcastCharInfo();
        Cast(st.findTemplate(NPC[0]), player, 4339, 1);
    }
Вот мой код, сделал как вы сказали - не помогло.
Странно, но по завершении квеста должно было выдать

Ид предметов:
15307 бишоп
15308 ше
15309 ее
ее и ше перепутали
по идее вот так
15307 Священное Благовоние - Кардинал
15308 Священное Благовоние - Жрец Евы
15309 Священное Благовоние - Жрец Шилен
 
  • Мне нравится
Реакции: kick
Странно, но по завершении квеста должно было выдать


ее и ше перепутали
по идее вот так
15307 Священное Благовоние - Кардинал
15308 Священное Благовоние - Жрец Евы
15309 Священное Благовоние - Жрец Шилен
Дело в том что квеста нет, есть покупка профы за адену.
 
  • Мне нравится
Реакции: Dara
Java:
// Удаляем скиллы трансфера
                    int item_id = 0;
                    switch(ClassId.values()[classId])
                    {
                        case cardinal:
                            item_id = 15307;
                            break;
                        case evaSaint:
                            item_id = 15308;
                            break;
                        case shillienSaint:
                            item_id = 15309;
                            break;
                    }

Java:
private void changeClass(Player player, int val)
    {
        if(player.getClassId().getLevel() == 3)
            player.sendPacket(SystemMsg.CONGRATULATIONS__YOUVE_COMPLETED_YOUR_THIRDCLASS_TRANSFER_QUEST); // для 3 профы
        else
            player.sendPacket(SystemMsg.CONGRATULATIONS__YOUVE_COMPLETED_A_CLASS_TRANSFER); // для 1 и 2 профы

        player.setClassId(val, false, true);
        player.broadcastCharInfo();
    }
Есть что-то такое, остальное не похоже на эти итемы.
 
Java:
private void changeClass(Player player, int val)
    {
        if(player.getClassId().getLevel() == 3)
            player.sendPacket(SystemMsg.CONGRATULATIONS__YOUVE_COMPLETED_YOUR_THIRDCLASS_TRANSFER_QUEST); // для 3 профы
        else
            player.sendPacket(SystemMsg.CONGRATULATIONS__YOUVE_COMPLETED_A_CLASS_TRANSFER); // для 1 и 2 профы

        player.setClassId(val, false, true);
        player.broadcastCharInfo();
    }
Есть что-то такое, остальное не похоже на эти итемы.

Ну вот к примеру в это условие и добавьте логику на выдачу итемов
Java:
if(player.getClassId().getLevel() == 3)
 
  • Мне нравится
Реакции: kick
Перепробовал все способы, не вышло..
в чем проблема добавить в указанное условие проверку класса и добавление соответствующего итема..
ну наверное ещё придется добавить классу extends Functions..
 
Последнее редактирование:
Всё равно не выдало предмет..
Значит ты выдал мне не те классы которые отвечают за выдачу проф в alt+B. Нужно больше инфы, потому что то что я тебе выдал- оно не может не выдавать помандеры :)
 
Я дал 2 файла, в которых хоть что-то похожее на помандеры было.
 
Назад
Сверху Снизу