Перейти к содержанию
Авторизация  
Roots

Мануал Квестописание Л2

Рекомендуемые сообщения

Прошу написать или дать ссылку на квестописание в л2. Только не тот что есть на всех порталах, там не чего не разберёшь. Хотелось бы видеть примерно такое. Пишем это, вставляем сюда - и обеснение что это значит. Думаю всем новичкам бы это помогло. Или кто может помочь по скайпу разобраться с этим, в самом банальном,типо убей столько мобов, от них выпадет мешки принеси мне,получи награду. Сборка l2rt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пишу. Как назвать книгу СИР? А по теме. Все там ясно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

допустим это

Первое что нужно сделать, это добавить необходимые Java классы в квест.

(net.sf.l2j.gameserver.model.quest).

Как их добавить через что?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первое, что нужно сделать, это установить эклипс или идею в такой ситуации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На работе установлен эклипс 3.7.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скачал. Дальше что? Можешь по скайпу помочь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тебе что, пошагово расписывать все? Скайпом я на работе не пользуюсь, да и лень тратить кучу времени. В кратце:

Если ты юзаешь сборки интерлюда, то там квесты на питоне, а питон я не знаю. :D

Если что-то позже, типа high five, то тут проще:

подключаешь проект в эклипс, создаешь новый класс в датапаке, скажем MyQuest.java,

лабаешь там примерно следующий скелет

 

public class MyQuest extends Quest{
public static String questName = "MyQuest";
public static int MOB = 123;
public static int ITEM = 123;

@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isPet){
if(npc.getNpcId() == MOB){
QuestState st = player.getQuestState(getName());
if(!st.isStarted())
return null;
if(Rng.get(100) > 50)
st.giveItems(ITEM, 1);
}
return null;

public MyQuest(int questId, String name, String descr)
{
super(questId, name, descr);
addKillId(MOB);
}

public static void main(String[] args)
{
new MyQuest(1234,, MyQuest.class.getSimpleName(), questName);
}
}

 

Эта штука будет при убийстве моба давать с шансом 50% итем при условии, что квест взят.

Что нужно допилить в интерлюд сборках, чтобы писать на джаве квесты я хз, не смотрел их даже.

Также помимо методов onKill, есть методы onTalk, onFirstTalk, onAdvEvent. Первые 2 по названиям думаю понятны, 3й реагирует на события. Чтобы в лыжеподобной сборке вызвать квест надо в диалоге написать

<a action="bypass -h Quest MyQuest event">нажми меня</a>

 

тогда квесту с именем MyQuest отправится событие с именем event, которое надо обработать в onAdvEvent.

 

Все, что я написал, без примерных знаний устройства квестов в л2ж и джавы ты не помешь, по этому я думаю, что написал зря :D

P.S. Все импорты эклипс подтянет за тебя

Изменено пользователем mouse

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...