Исправление квестов !

Теги:
 
1 2 3 4

Adrio

новичок
> seller_0.9.1.zip,

а можно куда нить ближе выложить (на рапиду или аналог) ... ! а то блин не могу русский прокси найти
 

x-net

втянувшийся
Ссылка запрещена по требованию [показать]
http://laii.ru  

x-net

втянувшийся
...исправление квеста на 4 лвл клана...


глюк был в самих ящиках... которых.. не было вообще в таблице нпс.............

необходимо проверить... позже потправлю если будет необходимость...

глюк был ещё в хтмле ..копаю дальше...
Прикреплённые файлы:
501_ProofOfClanAlliance.zip (скачать) [36,92 кбайт, 57 загрузок] [attach=59840]
 
 
http://laii.ru  
Это сообщение редактировалось 28.06.2007 в 08:06

x-net

втянувшийся
всё млин 100% рабочий квест на 4 лвл клана.. проверял долго и нудно
с ящиками затянуто часа 2 но проходится...
http://laii.ru  
+
-
edit
 

Balancer

администратор
★★★★☆
x-net, письмо получил?
 

x-net

втянувшийся
Да..получил.. )
http://laii.ru  

x-net

втянувшийся
кто подскажет в чём глюк у квестов
605_AllianceWithKetraOrcs и
611_AllianceWithVarkaSillenos
при нажатии
[Quest 605_AllianceWithKetraOrcs first-2.htm|"I'll do it!"]
не срабатывает...у простых юзеров ...
у гмов всё открывается...
долго мучил код..по разному пытался... до функции онЕвент инфа не доходит...прерывается в этом хтмле.... наверно нужно в саммом сервере смотреть .. проверки...
http://laii.ru  

Drac

разработчик l2j-сервера

Я подскажу, т.к. я писал... Либо кто-то правил, либо я тогда ошибся, там не хватает:
CREATED.addTalkId(31378) в 611-ом
и
CREATED.addTalkId(31371) в 605-ом.

Надо нафиг систему стейтов снести... Сколько я об этом думал.
 
+
-
edit
 
Ну у нас это вполне реально - стейты пережиток старой системы, на груви никакой нужды в нем нету.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  

x-net

втянувшийся
Drac> Я подскажу, т.к. я писал... Либо кто-то правил, либо я тогда ошибся, там не хватает:
Drac> CREATED.addTalkId(31378) в 611-ом
Drac> и
Drac> CREATED.addTalkId(31371) в 605-ом.
Drac> Надо нафиг систему стейтов снести... Сколько я об этом думал.


Реально...

сенкс..
http://laii.ru  

Drac

разработчик l2j-сервера

Abaddon: так я согласен, что нэту систему либо донельзя упростить, либо новое что-то присобачивать на Фортрессе.
 

x-net

втянувшийся
36: Make A Sewing Kit
34: In Search of Clothes
35: Find Glittering Jewelry
33: Make A Pair Of Dress Shoes

они относятся к квесту

37: Please Make Me Formal Wear

у всех у них один глюк... в конце квеста не даётся квест итем .. в тех чате пишется.. что он положен в инвентарь...а его там нет..


например в 36 квесте ...

if st.getQuestItemsCount(ORIHARUKON) >= 10 and st.getQuestItemsCount(ARTISANS_FRAME) >= 10 :
st.takeItems(ORIHARUKON,10)
st.takeItems(ARTISANS_FRAME,10)
st.giveItems(SEWING_KIT,1) — глюк тут
st.playSound("ItemSound.quest_finish")
st.exitCurrentQuest(True)
else :

влюбом другом месте в оневент работает норм..
может проверите функцию гивеитемс...
http://laii.ru  

Diаmond

втянувшийся

Drac> Abaddon: так я согласен, что нэту систему либо донельзя упростить, либо новое что-то присобачивать на Фортрессе.
У сф уже избавились от них. Опиши концепцию, сделаю. Диффами разумеется поделюсь :)
Ядро квестовое у нас одинаковое.
 
+
-
edit
 

Diаmond

втянувшийся

x-net> 36: Make A Sewing Kit
x-net> 34: In Search of Clothes
x-net> 35: Find Glittering Jewelry
x-net> 33: Make A Pair Of Dress Shoes
x-net> они относятся к квесту
x-net> 37: Please Make Me Formal Wear
x-net> у всех у них один глюк... в конце квеста не даётся квест итем .. в тех чате пишется.. что он положен в инвентарь...а его там нет..
x-net> например в 36 квесте ...
x-net> if st.getQuestItemsCount(ORIHARUKON) >= 10 and st.getQuestItemsCount(ARTISANS_FRAME) >= 10 :
x-net> st.takeItems(ORIHARUKON,10)
x-net> st.takeItems(ARTISANS_FRAME,10)
x-net> st.giveItems(SEWING_KIT,1) — глюк тут
x-net> st.playSound("ItemSound.quest_finish")
x-net> st.exitCurrentQuest(True)
x-net> else :
x-net> влюбом другом месте в оневент работает норм..
x-net> может проверите функцию гивеитемс...

В методе giveItems есть нехорошее место:
code text
  1.                 L2Item template = ItemTable.getInstance().getTemplate(itemId);
  2.                 if(template == null)
  3.                         return;

Если темплейт у итема отсутствует, то оно просто выйдет из метода, и промолчит :)
Нужно добавить туда сообщение в лог хотя-бы. И проверь, правильно ли прописан итем SEWING_KIT в базе.

PS: Реализация квестового двига просто ужасная, интеграция с jython еще хуже. Ну а про сам jython я молчу, может быть у него и есть преимущества, но я их не вижу...
 
+
-
edit
 

x-net

втянувшийся
Diаmond> В методе giveItems есть нехорошее место:
Diаmond> Если темплейт у итема отсутствует, то оно просто выйдет из метода, и промолчит :)
Diаmond> Нужно добавить туда сообщение в лог хотя-бы. И проверь, правильно ли прописан итем SEWING_KIT в базе.
Diаmond> PS: Реализация квестового двига просто ужасная, интеграция с jython еще хуже. Ну а про сам jython я молчу, может быть у него и есть преимущества, но я их не вижу...


прописано всё в квесте правильно....... просто функцию надо переделывать.. Диаз.. исправь эту фигню..у тебя есть доступ к жаве...
http://laii.ru  

Drac

разработчик l2j-сервера

x-net: по моим подозрениям (в код лень посмотреть) при переходе на новый метод, по которому заканчивается квест (он вроде exitCurrentQuest называется), возможно удаляются квестовые вещи. Если это так, то надо из код КВЕСТА убрать строчку **.dropItems(NNNN) - что написана в конце и где указаны выдаваемые вещи НПЦ или падаемые с мобов, где ***** - какой-то стейт, NNNN- номер вещи.

Diamond: я все ленюсь даже в СФ заглянуть по этому поводу, я видел только самую первую реализацию нового квестового движка. В нем они не избавились от стейтов, но был сделан большой шаг к этому. Тем более, как я уже неоднократно говорил, надо придти полностью к классовому ИИ. Ну может если только оставить возможность квесты писать отдельно, что несомненно удобнее, когда нет под рукой готовой программы для редактирования ИИ (по классами или целиком - это не имеет значения).
 

x-net

втянувшийся
ок...ток не понятно зачем.. туда.. это впихнули ..типа убей того кто тебе дал квест и получиш вешь без прохождения))
http://laii.ru  

Drac

разработчик l2j-сервера

Описался в том посте - addQuestDrop а не дропИтемс.
addQuestDrop не влияет на конкретно дроп при убиении. Оно только составляет ФастЛист из этих вещей, чтобы потом знать, что удалять при отмене квеста. А зачем там шансы и номера НПЦ непонятно, вероятно они хотели сделать эту фичу без функции giveItems после убивания моба, чтобы выдавать сразу после убийства при определенном шансе.
И ещё, x-net, ты в курсе как коммить все изменения сразу?
 

x-net

втянувшийся
Drac> Описался в том посте - addQuestDrop а не дропИтемс.
Drac> addQuestDrop не влияет на конкретно дроп при убиении. Оно только составляет ФастЛист из этих вещей, чтобы потом знать, что удалять при отмене квеста. А зачем там шансы и номера НПЦ непонятно, вероятно они хотели сделать эту фичу без функции giveItems после убивания моба, чтобы выдавать сразу после убийства при определенном шансе.
Drac> И ещё, x-net, ты в курсе как коммить все изменения сразу?

я вкурсе просто все квесты скачивать лишнего трафа нет...
выбав несколько и закамитить.. выдаёт ошибку...
скоро скачаю полностью свн..
http://laii.ru  

Diаmond

втянувшийся

Drac> Diamond: я все ленюсь даже в СФ заглянуть по этому поводу, я видел только самую первую реализацию нового квестового движка. В нем они не избавились от стейтов, но был сделан большой шаг к этому. Тем более, как я уже неоднократно говорил, надо придти полностью к классовому ИИ. Ну может если только оставить возможность квесты писать отдельно, что несомненно удобнее, когда нет под рукой готовой программы для редактирования ИИ (по классами или целиком - это не имеет значения).
Вот сейчас смотрю - стейтов у них в квестах вообще нет, везде пишут QUEST.blablabla вместо CREATED.blablabla
 

Drac

разработчик l2j-сервера

Ну значит перешли они, я же смотрел уж очень давно, а сейчас пока некогда заниматься этим. Но я все равно ратую за нормальную классовую систему ИИ.
 
UA SoulKeeper #30.06.2007 22:51
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

А чем старая классовая система не устраивает :)?
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  

Diаmond

втянувшийся

Drac> Ну значит перешли они, я же смотрел уж очень давно, а сейчас пока некогда заниматься этим. Но я все равно ратую за нормальную классовую систему ИИ.
Там очень большой обьем работы... Все никак не решусь начать :)
Но квесты будут точно отдельно, и дроп тоже. Так удобней, а писать АИ с помощью конструкторов различных... бред :)
Тут разница только в том, где информация лежит, результат одинаков.
 

Drac

разработчик l2j-сервера

Почему же бред? Вполне нормально. Связать это все с базой скиллов этого НПЦ, миньон он или нет, групповое АИ. И можно будет писать все быстро и просто.
 

Diаmond

втянувшийся

Drac> Почему же бред? Вполне нормально. Связать это все с базой скиллов этого НПЦ, миньон он или нет, групповое АИ. И можно будет писать все быстро и просто.
Наша система - где раздельно АИ, квесты, параметры - занимает в десятки раз меньше кода. А фнукционирует не хуже (не хуже - если АИ сделать расширяемый и для каждого моба описать).
Правда она нуждается в рефакторинге, чтобы привести все к общему виду.
 
1 2 3 4

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru