nickerder 21 Опубликовано 17 февраля, 2016 (изменено) Здравствуйте, первый раз у вас на форуме. Сразу к делу, я задался идеей, написать себе на сервер квест, и начал с самого простого. разговор с двумя НПС и награда. Нормальных мануалов я не нашел, по этому мучился разбирая и втыкая часами в те квесты что стандартные. Вот то что я набросал:Gracia Epilogue, L2Open import sysfrom ru.l2open.gameserver.model.quest import Statefrom ru.l2open.gameserver.model.quest import QuestStatefrom ru.l2open.gameserver.model.quest.jython import QuestJython as JQuestqn = "9700_GopStop"#NPCCOOPER = 30829class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onAdvEvent (self,event,npc, player) : htmltext = event st = player.getQuestState(qn) if not st : return if event == "32497-1-2.htm" : st.set("cond","1") st.setState(State.STARTED) st.playSound("ItemSound.quest_accept") if st.getQuestItemsCount(57) >= 0 : st.giveItems(57,10) return htmltextdef onTalk (self,npc,player): st = player.getQuestState(qn) htmltext = "<html><head><body>I have nothing to say you</body></html>" if not st : return htmltext npcId = npc.getNpcId() id = st.getState() cond = st.getInt("cond") if id == State.COMPLETED : htmltext = "<html><body>This quest has already been completed.</body></html>" elif npcId == 30829 and id == State.CREATED: htmltext = "32497-1-1.htm" elif id == State.STARTED : if npcId == 32497 and cond: htmltext = "32497-101.htm" st.set("cond","2") st.playSound("ItemSound.quest_middle") elif npcId == 30829 and cond: htmltext = "32497-1-3.htm" st.giveItems(57,2466) st.giveItems(4357,1) st.addExpAndSp(5672,446) st.unset("cond") st.exitQuest(False) st.playSound("ItemSound.quest_finish") return htmltextQUEST = Quest(9700,qn,"Gop Stop")QUEST.addStartNpc(COOPER)QUEST.addTalkId(COOPER) QUEST.addTalkId(32497)QUEST.addTalkId(COOPER) ГС, ошибок не выдает. Проблема заключается в том что.. когда я персонажем подхожу к НПС дающему квест, кликаю и ввыбираю "Quest" Там мой квест отображается и еще два стандартных квеста. Когда жму по своему квест диалоговое окно просто пропадает и больше ничего не происходит.И еще, если кому не трудно, подскажите с чего начать или что читать, для более успешного понимания этого языка. Может быть там какие то книги для начинающих есть и подобное..Спасибо за внимание. Изменено 17 февраля, 2016 пользователем nickerder Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gvb 666 Опубликовано 17 февраля, 2016 Здравствуйте, первый раз у вас на форуме. Сразу к делу, я задался идеей, написать себе на сервер квест, и начал с самого простого. разговор с двумя НПС и награда. Нормальных мануалов я не нашел, по этому мучился разбирая и втыкая часами в те квесты что стандартные. Вот то что я набросал: Gracia Epilogue, L2Open ГС, ошибок не выдает. Проблема заключается в том что.. когда я персонажем подхожу к НПС дающему квест, кликаю и ввыбираю "Quest" Там мой квест отображается и еще два стандартных квеста. Когда жму по своему квест диалоговое окно просто пропадает и больше ничего не происходит. И еще, если кому не трудно, подскажите с чего начать или что читать, для более успешного понимания этого языка. Может быть там какие то книги для начинающих есть и подобное.. Спасибо за внимание. COOPER = 30829 if npcId == 32497 and cond: QUEST.addTalkId(32497) У вас нпц 32497? Или все же 30829 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 17 февраля, 2016 COOPER = 30829 if npcId == 32497 and cond: QUEST.addTalkId(32497) У вас нпц 32497? Или все же 30829 Начало квеста, разговор с НПС 30829, там нажать "ок" далее идти к НПС 32497 высветить окно и пойти назад к НПС 30829 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 18 февраля, 2016 Up. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Aslan 131 Опубликовано 21 февраля, 2016 htmltext = "<html><head><body>I have nothing to say you</body></html>"Что тут делает <head> ? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 21 февраля, 2016 htmltext = "<html><head><body>I have nothing to say you</body></html>" Что тут делает <head> ? Да, это лишнее было, убрал уже) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 21 февраля, 2016 С квестом разобрался, и смог написать свой первый квест, код что сверху я выложил, не совсем верный, точнее направление на htm не верные были, и условия запутал себе, перебрал весь квест и готово)Всем спасибо, тему можно закрывать. Теперь буду усложнять квесты, и продумывать более сложные сценарии) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты