О квестах

 
1 2 3
+
-
edit
 

Balancer

администратор
★★★★★
Нашёл в игре коды, отвечающие за обработку квестов.

Т.е. квесты в l2j есть! (Хотя, м.б., ещё не работают :D )

Нужны датапаки на квесты.

Думаю :)
 
+
-
edit
 

Balancer

администратор
★★★★★
Всё, раскопал я примеры работы квестового механизма.

Самих квестовых данных, правда, пока нет.

Думаю дальше :D
 
+
-
edit
 

Balancer

администратор
★★★★★
Пока ничего утешительного сказать не могу.

Как я понял, в имеющемся коде полной поддержки квестов ещё нет.

Но радует, что код по квестам есть и даже вызывается. Значит - люди работают над этим :)
 

Arisu

новичок
Ээ...программеры есть?%) Пиши квесты сами %)
Arisu | Elf Fighter ~Amber~  
+
-
edit
 

Balancer

администратор
★★★★★
Проблема не в написании квестов, а в доводке квестового движка :)
 
+
-
edit
 

Balancer

администратор
★★★★★
Сумел прикомпилить квестовый движок к C2-серверу.

Даже что-то кое-как работает :D

Теперь нужно как следует оттестировать - и можно обновлять наш сервер.

Но для программирования квестов понадобятся помощники. Сам я вряд ли смогу больше 1..2 квестов в день выдавать :D
 

Arisu

новичок
Я только на первом курсе программеров, помощник из меня врядли получится =)
Могу подумать над "сценариями" квестов %)
Только для этого мне нужна бд вещей ^^
Arisu | Elf Fighter ~Amber~  
+
-
edit
 

Balancer

администратор
★★★★★
Уф. 10 часов непрерывной работы, и в первом приближении квестовый движок можно считать работоспособным. Ещё очень сырой, но орковский квест на Necklace of Valor только что выполнил (не на этом сервере, пока только на своём домашнем).

Теперь нужно продумать как попроще оперативно патчить последние версии от разработчиков и тогда можно будет переносить движок сюда :)
 

-dc-

новичок
Balancer, 24.01.05 03:43:38:
Уф. 10 часов непрерывной работы, и в первом приближении квестовый движок можно считать работоспособным. Ещё очень сырой, но орковский квест на Necklace of Valor только что выполнил (не на этом сервере, пока только на своём домашнем).

Теперь нужно продумать как попроще оперативно патчить последние версии от разработчиков и тогда можно будет переносить движок сюда :)
snap: 923
 

привет вышел на этот форум через соурсфорж :)
я тоже долблюсь с проблемой поднятия С2 в нашей сети (г.Киев, сеть охватывает целый раен, оптоволокном)
одна из проблем с которой я столкнулся это тексты квестов на англиском, есть на какомто корейско-китайском а на анлиском найти немогу.
как только нормально подыму сервер займусь квестами.
невижу смысла делать дурную работу дважды можна будет скооперироватся и делать разные квесты.
 
+
-
edit
 

Balancer

администратор
★★★★★
Тут бы протолкнуть этот квестовый движок в официальные сорцы. А то каждую ночь патчить очередной найтбилд вручную - руки опускются :D

А так - да. Лучше, конечно, квесты коллективно делать.

Вот сделаю пару квестов от и до (чтобы всё работало) - тогда можно будет попытаться эту задачу распределённо делать :)

А тексты квестов есть. В каком-то из датапаков, сгенерённом из исходников C1 они лежат. Так что нужно только файлы переименовывать и ссылки внутри файлов переписывать. И, самое сложное, делать описание квеста в quests.csv :) Я пока до конца сам не разобрался. Т.е. квест для орков на Anguish of Valor сделал и прошёл, но его ещё вылизывать нужно, реализовывать повторное прохождение и т.п. :)
 

-dc-

новичок
Balancer, 25.01.05 14:17:25:
Тут бы протолкнуть этот квестовый движок в официальные сорцы. А то каждую ночь патчить очередной найтбилд вручную - руки опускются :D

А так - да. Лучше, конечно, квесты коллективно делать.

Вот сделаю пару квестов от и до (чтобы всё работало) - тогда можно будет попытаться эту задачу распределённо делать :)

А тексты квестов есть. В каком-то из датапаков, сгенерённом из исходников C1 они лежат. Так что нужно только файлы переименовывать и ссылки внутри файлов переписывать. И, самое сложное, делать описание квеста в quests.csv :) Я пока до конца сам не разобрался. Т.е. квест для орков на Anguish of Valor сделал и прошёл, но его ещё вылизывать нужно, реализовывать повторное прохождение и т.п. :)
snap: 962
 

если несложно вспомни где именно ты тексты видел плиииз :) .
 
+
-
edit
 

Balancer

администратор
★★★★★
Во, нашёл! http://uzipp.com/tf/html.rar [2.8Мб]


Имена типа 7039-q0257_01.htm

Только не стоит их сразу в рабочий каталог распаковывать, там внутри бОльшая часть ссылок битая :)
 

-dc-

новичок
Balancer, 25.01.05 14:41:02:
Во, нашёл! http://uzipp.com/tf/html.rar [2.8Мб]
Имена типа 7039-q0257_01.htm

Только не стоит их сразу в рабочий каталог распаковывать, там внутри бОльшая часть ссылок битая :)
snap: 966
 

сенкс,
попробую написать пару квестов раскажу что получилось и выложу их
жалко шо на работе ща аврал раньше выходных занятся не получится :(
 

-dc-

новичок
проаплаил твой патч
эклипс некомпилит матерится
[javac] C:\Work\Java\workspase\Chronicles02\java\net\sf\l2j\gameserver\model\L2Quest.java:201: incompatible types
[javac] found : <nulltype>
[javac] required: int
[javac] sm.addItemName( (item != null) ? item.getItemId() : null );
[javac] ^
[javac] C:\Work\Java\workspase\Chronicles02\java\net\sf\l2j\gameserver\model\L2QuestCondition.java:58: getQuestVariables(java.lang.Object) in net.sf.l2j.gameserver.model.L2PcInstance cannot be applied to (int)
[javac] HashMap playerVars = player.getQuestVariables(_questId);
[javac] ^
[javac] C:\Work\Java\workspase\Chronicles02\java\net\sf\l2j\gameserver\model\L2QuestCondition.java:167: getQuestVariables(java.lang.Object) in net.sf.l2j.gameserver.model.L2PcInstance cannot be applied to (int)
[javac] HashMap var = player.getQuestVariables(_questId);
[javac] ^
[javac] C:\Work\Java\workspase\Chronicles02\java\net\sf\l2j\gameserver\model\L2QuestCondition.java:234: setQuestVariables(java.lang.Object,java.lang.Object) in net.sf.l2j.gameserver.model.L2PcInstance cannot be applied to (int,java.util.HashMap)
[javac] player.setQuestVariables(_questId, var);
[javac] ^
[javac] 4 errors
 
в чем может быть трабла ?
 
+
-
edit
 

Balancer

администратор
★★★★★
Странно. У меня на эту строку не ругается.

Замени её просто на
code text
  1.       sm.addItemName( item.getItemId());


Это у меня там была попытка избегать некоторых эксепшнов...
 

-dc-

новичок
Balancer, 26.01.05 00:14:44:
Странно. У меня на эту строку не ругается.

Замени её просто на
code text
  1.       sm.addItemName( item.getItemId());


Это у меня там была попытка избегать некоторых эксепшнов...
snap: 978
 

это я обошел таким способом  sm.addItemName( (item != null) ? item.getItemId() : 0 );

больше беспокоит HashMap var = player.getQuestVariables(_questId); кричит что нехочет инт жевать я поменял _questId на Object но проверить ща немого токо попозже ночью
 
+
-
edit
 

Balancer

администратор
★★★★★
Кхм. У меня функция getQuestVariables вообще не определена. Но при этом в L2QuestCondition.java вызывается. И компилятор ошибку не выдаёт. Чего-то я в этой жизни не понимаю... :D

Попробуй вообще удалить L2QuestCondition.java
 

-dc-

новичок
Balancer, 26.01.05 13:08:10:
Кхм. У меня функция getQuestVariables вообще не определена. Но при этом в L2QuestCondition.java вызывается. И компилятор ошибку не выдаёт. Чего-то я в этой жизни не понимаю... :D

Попробуй вообще удалить L2QuestCondition.java
snap: 988
 

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

З.Ы. обновились сорцы с соурсфоржа теперь патч на них не ставится :(
 
+
-
edit
 

Balancer

администратор
★★★★★
Квесты в списке квестов у юзера - да, не пишутся.
Про квестовые вещи не понял. У меня они показываются в соответствующей закладке инвентаря.
После выполнения квеста квестовый шмот удаляется.
Это настраивается в описании квеста.
 

-dc-

новичок
Balancer, 26.01.05 19:53:44:
Квесты в списке квестов у юзера - да, не пишутся.
Про квестовые вещи не понял. У меня они показываются в соответствующей закладке инвентаря.
После выполнения квеста квестовый шмот удаляется.
Это настраивается в описании квеста.
snap: 1002
 

они должны показыватся еще и там где квесты писатся должны там тож закладка для них есть.
я поищу как добаляются квесты в закладку и вещи.

пока самая большая проблема с обновлением сорцов :(
 
+
-
edit
 

Balancer

администратор
★★★★★
-dc-, 26.01.05 20:13:14:
пока самая большая проблема с обновлением сорцов :(
snap: 1003
 


Вчера и сегодня - занят был сильно.
Завтра, наверное, также будет.
Послезавтра постараюсь сделать универсальный HowTo с пошаговым описанием прикрутки патча на текущую версию исходников. М.б. постараюсь побольше кода вынести в отдельные файлы.
 

-dc-

новичок
Balancer, 26.01.05 20:58:23:
Вчера и сегодня - занят был сильно.
Завтра, наверное, также будет.
Послезавтра постараюсь сделать универсальный HowTo с пошаговым описанием прикрутки патча на текущую версию исходников. М.б. постараюсь побольше кода вынести в отдельные файлы.
snap: 1005
 

Былобы просто супер :)
Я тож занят до выходных с работы домой в пол первого припераюсь :(.
 
+
-
edit
 

Balancer

администратор
★★★★★
Сегодня повозился несколько часов с квестами.

С одной стороны - добился того, что корректно отображались активные квесты в списке и подошёл к показу квестового шмота в отдельном диалоге.

Натолкнулся на проблему и начал очень многое серьёзно переписывать. Уткнулся в несколько кривостей исходной модели l2j и в необходимость под это дело перекраивать немного формат БД. А на это я уже пояти не могу, патчи не должны трогать БД, иначе никому не будут нужны :D

В результате временно всё забросил, отдыхаю и завтра опять буду по основной работе заниматься.

Если в голову по квестам ничего не придёт, то придётся отказаться от показа квестового шмота в закладке по Ctrl-U и оставить его показ только в закладке, на которую можно переключиться из обычного инвентори (по TAB'у).

А, вообще, разработчики l2j неплохо зная (кажется) Java, довольно плохо работают с MySQL :)
 

-dc-

новичок
Balancer, 28.01.05 00:27:12:
Сегодня повозился несколько часов с квестами.

С одной стороны - добился того, что корректно отображались активные квесты в списке и подошёл к показу квестового шмота в отдельном диалоге.

Натолкнулся на проблему и начал очень многое серьёзно переписывать. Уткнулся в несколько кривостей исходной модели l2j и в необходимость под это дело перекраивать немного формат БД. А на это я уже пояти не могу, патчи не должны трогать БД, иначе никому не будут нужны :D

В результате временно всё забросил, отдыхаю и завтра опять буду по основной работе заниматься.

Если в голову по квестам ничего не придёт, то придётся отказаться от показа квестового шмота в закладке по Ctrl-U и оставить его показ только в закладке, на которую можно переключиться из обычного инвентори (по TAB'у).

А, вообще, разработчики l2j неплохо зная (кажется) Java, довольно плохо работают с MySQL :)
snap: 1047
 

а в чем проблема с вещами ?

поповоду БД они с MySql на мой взгляд вобще не работают они его используют :( запросы типа select * from имхо полный бред, никакой оптимизации нафиг нужна такая БД если из нее в самом начале вычитывать все значения и хранить их в памяти, да и структура БД тож не блещет практически теже текстовики :(
 
+
-
edit
 

Balancer

администратор
★★★★★
Это да. Уже писал разработчикам на форуме, мол, есть куча запросов, которые нужны редко (скажем, то же телепортирование и т.п.) и не смотря на некоторое снижение скорости (пренебрежимое в нормальной игре) лучше параметры всегда запрашивать в БД. Это и гибкость даёт (параметры можо менять без перезагрузки сервера), и память экономит, да и программировать проще :) Нет, говорят, что у них всё правильно... ИМХО, просто опыта построения запросов нету :)

А про вещи - ну, например, из-за какой-то фигни (не понял с какого момента) у них разные кучки стекующихся вещей хранятся по отдельности. Вместо того, чтобы объединять их в единый объект, они хранят их в несколько записей, а когда надо считать их число - суммируют.

Я на этом очень долго не мог разобраться с глюком "размножения" квестовых шмотов. То после перезагрузок их число удваивается, то выкинешь всё, а после перезахода выясняется, что выкинул только несколько штук.... Когда начал разбираться - чуть кондрашка не хватила. Тех же "Kasha fungs" оказалось штук 10 записей :)

Если по сути проблемы, то сейчас я вожусь вот с чем.

В изначальном патче, который я стал дорабатывать, хранились шмотки отдельно обычные, отдельно - квестовые. В двух объектах одного класса. Тот патч был совсем недоведён, ещё более сырым, чем у меня. В итоге, методом тыка, разобрался, что квестовый шмот показывается в закладке квестовых вещей (в обычно инвентори) сам по себе, без ведения отдельного хранилища, даже если его просто в общую кучу запихивать. А если хранить отдельно - начинаются лавинообразные размножения шмота :)

Сперва отказался от отдельного хранилища, собрав всё в кучу.

Но уткнулся в невозможность распознать, какой это шмот, квестовый или простой, для выдачи списка квестовых вещей в диалог квеста (Ctrl-U). В результате засел за попытки сделать, всё же, два харнилища.

Проблема ещё в том, что нет реализации метода типа QuestInventoryUpdate.java (по аналогии с InventoryUpdate.java). Я просто напрочь не разбираюсь в тамошнем формате пакетов, особенно - ответных от серера (клиентские хоть перехватить можно).

Так что или без него придётся (вообще, о его надобности только комментарии разработчика изначальной версии квест-патча говорят), или ещё как-то... :)

Чую я, нужно будет свернуть всё нафиг до последней рабочей версии, добавить показ только списка квестов, и отказаться временно от списка квестовых вещей (их всё равно посомтреть в Inventory можно будет).

Думаю, надо чтобы сперва оно просто работало. А потом, если реализация приживётся, кто-нибудь, может, и разберётся с этими проблемами :D
 
1 2 3

в начало страницы | новое
 
1918: С Днём советской армии и военно-морского флота! (100 лет).
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru