Не компелируется квест где может быть косяк?

Теги:
 
+
-
edit
 

Delta_Q

новичок
Написал я квест
СОздал папку в gameserver\data\jscript\quests\
предположим 801_pk
В этой папке лежит _init_.py
В gameserver\data\jscript\quests\__init__.py
внес изменения^
code text
  1. ...
  2. '801_pk',
  3. '999_C3Tutorial'
  4. ]
  5. print ""
  6. print "importing quests (Edit) ..."
  7. from data.jscript.quests import *
  8. print"... done"

Но в папке gameserver\data\jscript\quests\801_pk
всеравно не формируется код в __init__$py.class
Почему ?
Где может быть косяк?
 
Это сообщение редактировалось 08.11.2006 в 18:46
+
-
edit
 

llirik

новичок
99,999999999% - в самом коде ;)
 
RU кщееш #08.11.2006 16:34
+
-
edit
 

кщееш

аксакал
★★★★
ошибка в слове компЕлируется.
 
+
-
edit
 

llirik

новичок
кщееш> ошибка в слове компЕлируется.
мог бы ставить рейтинг - поставил бы +1 :D
 
+
-
edit
 

Delta_Q

новичок
Вот текст квеста что я не так делаю?
code text
  1. import sys
  2. from net.sf.l2j.gameserver.model.quest import State
  3. from net.sf.l2j.gameserver.model.quest import QuestState
  4. from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
  5.  
  6. #---------------------------------------
  7. #NPCs
  8. Judge = 7981
  9. QuestId     = 8000
  10. QuestName   = "Pk"
  11. QuestDesc   = "custom"
  12. #Item
  13. ADENS_PAY_ID = 57
  14. PRICE = 1000000
  15. PayHtml = "7981-01.htm"
  16. EndHtml = "1.html"
  17.  
  18. #---------------------------------------
  19.  
  20. class Quest (JQuest) :
  21.  
  22.  def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
  23.  
  24.  def onEvent (self,event,st) :
  25.     htmltext = event
  26.     Pk = st.getPlayer().getPkKills()
  27.     if event == "7981-01.htm" :
  28.         if PK > 0 && st.getPlayer().getAdena() >= PRICE:
  29.            st.takeItems(ADENS_PAY_ID,PRICE)
  30.            st.getPlayer().setPkKills(PK - 1)
  31.        st.setState(COMPLETED)
  32.        st.exitQuest(1)
  33.     if htmltext != event :
  34.       st.setState(COMPLETED)
  35.       st.exitQuest(1)
  36.     return htmltext
  37.  
  38.  def onTalk (Self,npc,st):
  39.    htmltext = "<html><head><body>I have nothing to say with you</body></html>"
  40.    return InitialHtml
  41.  
  42. #---------------------------------------
  43. ### class and state definition
  44. QUEST       = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
  45. CREATED     = State('Start',     QUEST)
  46. COMPLETED   = State('Completed', QUEST)
  47.  
  48. ### Quest initialization
  49. QUEST.setInitialState(CREATED)
  50.  
  51. QUEST.addStartNpc(7981)
  52.  
  53. print "importing Event: 8000: Palayer PK"
 

Drac

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

Если честно - все не так. Скажи, что ты хочешь получить - попробую помочь. И на какой сборке пытаешься сделать.
 
+
-
edit
 
Как же приходится извращаться людям :)

1000000 adena? not if "You have not adena!" . drop 2drop exit then adena_pay player@ "getPkKills" 0 jget 1 - player@ "setPkKills" " { int.class } jexec
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
UA SoulKeeper #11.11.2006 21:50
+
-
edit
 

SoulKeeper

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

Abaddon> Как же приходится извращаться людям :)
Abaddon> 1000000 adena? not if "You have not adena!" . drop 2drop exit then adena_pay player@ "getPkKills" 0 jget 1 - player@ "setPkKills" " { int.class } jexec


Ну эт тоже извращения =)
code text
  1.         else if (actualCommand.equalsIgnoreCase("reducePk")) {
  2.                 if (player.getPkKills() > 0 && player.getAdena() >= "цена") {
  3.                         player.setPkKills(player.getPkKills() -1);
  4.                         player.reduceAdena("цена");
  5.                 }
  6.             else player.sendMessage("Not enought adena.");
  7.         }


А вот это быстро и нормально :D

P.S. Судя по названию "Judge" Sin Eater"ом попахивает. Только неполным Sin Eater"ом...
P.P.S. Это у Балансера форум перекриволо или у меня под оперой???
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
+
-
edit
 
На яве конечно проще, но тут речь шла о скрипте :)
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

Delta_Q

новичок
Сборка SVN ревизия: 2309, ДатаПак: 2077
Пытаюсь написать простой диалог по отмыванию ПК за деньги (одновременно разобраться как с методикой напсиания скриптов на ДЖУТОНЕ).
Пока вот что получилось:
code text
  1. import sys
  2. from net.sf.l2j.gameserver.model.quest import State
  3. from net.sf.l2j.gameserver.model.quest import QuestState
  4. from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
  5.  
  6. #---------------------------------------
  7. #NPCs
  8. Judge = 7981
  9. QuestId     = 8000
  10. QuestName   = "Pk"
  11. QuestDesc   = "custom"
  12. #Item
  13. ADENS_PAY_ID = 57
  14. PRICE = 1000000
  15. PayHtml = "7981-00.htm"
  16. TexHtml = "7981-02.htm"
  17. EndHtml = "7981-01.htm"
  18.  
  19. #---------------------------------------
  20.  
  21. class Quest (JQuest) :
  22.  
  23.  def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
  24.  
  25.  def onEvent (self,event,st) :
  26.     if event == "0" :
  27.        return PayHtml
  28.     if event == "1" :
  29.        Pk = st.getPlayer().getPkKills()
  30.        if PK > 0 and st.getPlayer().getAdena() >= PRICE:
  31.           st.takeItems(ADENS_PAY_ID,PRICE)
  32.           st.getPlayer().setPkKills(PK - 1)
  33.           st.playSound("ItemSound.quest_accept")
  34.           htmltext = EndHtml
  35.        st.setState(COMPLETED)
  36.        st.exitQuest(1)
  37.     if htmltext != event :
  38.       st.setState(COMPLETED)
  39.       st.exitQuest(1)
  40.     return htmltext
  41.  
  42.  def onTalk (Self,npc,st):
  43.    htmltext = "<html><head><body>BBBBBB</body></html>"
  44.    return PayHtml
  45.  
  46. #---------------------------------------
  47. ### Quest class and state definition
  48. QUEST       = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
  49. CREATED     = State('Start',     QUEST)
  50. COMPLETED   = State('Completed', QUEST)
  51.  
  52. ### Quest initialization
  53. QUEST.setInitialState(CREATED)
  54. QUEST.addStartNpc(Judge)
  55. CREATED.addTalkId(Judge)
  56.  
  57. print "importing Event: 8000: Player PK"

Этот уже собирается при запуске и диалоги выдает, но при использовани ХТМЛ фале на пункт
code text
  1. <a action="bypass -h Quest 8000_pk 1">Pay - 1,000,000 Aden</a>

нифига не выполняется и джава ругается в момент когда пользовтель жмет диалог в игре.
(продолжаю думать как это вылечить)
 
Это сообщение редактировалось 11.11.2006 в 22:29
+
-
edit
 

Delta_Q

новичок
По какойто причине не обрабатывается def onEvent (Self,event,st): Просто в эту функцию не заходит и все. Я по всякому пробуюу передать переменную или как-то активизировать ее.. но пока безуспшно....
code text
  1.  def onEvent (Self,event,st):
  2.     return "Test Event - onEvent"

Как сделать чтобы заходил в эту функцию при обработке?

Я делал все на примере Евента: 3995_echo, но безуспешно.. Евент 3995_echo работает а мой скрипт нет.
 
+
-
edit
 

Delta_Q

новичок
Ну что? есть мысли? почему не выполянется функция def onEvent (Self,event,st) ?
Я для теста взял и сдела дубликат 3995_echo евента на ЭХОКРИСТАЛЫ, просто переправил один к одному, тока папку назвал 8000_pk и приписал этот евент к неписю 7981. НЕПАШИ!!!! Почмеум? Бред....
 
UA SoulKeeper #16.11.2006 21:38
+
-
edit
 

SoulKeeper

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

Эхх, давай сюда свой L2NpcInstance.java втулю тебе туда обработку на яве.


А не пашет хотя бы по той причине что элементарно неправильная ссылка у NPC может быть =)
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
+
-
edit
 

Delta_Q

новичок
Спасибо... я думаю не стоит исходники карежить... да и всеравно я Элипсом пользоватся не умею и Черепахой.
Я с уже готовой сборкой работаю.. хотя если даш ссылку как нстроить Элипс или Черепаху, буду очень пирзнателен :) (зарание спасибо :) )

А по повду скрипта это не совсем то..
Сам подумай, если я буду писать Евенты на ДЖУТОНЕ мне че каждый раз карежить исходники? В том и фокус ЖДУТОНА писать отдельно от самого движка.
Тут просто парадоксальная ситуация. Я решил разобраться как работает ДЖУТОН, для примера взял скрипт указанный выше для ЭХОКРИСТАЛОВ..
Написал тестовый фрагмент, что при нажти на диалог выдавала надпсиь в Чат игры Типа "Test 1!!" в функции def onEvent (Self,event,st): в готовом скрипте и все там ОК, "if" обрабатывается надпсиь высвечивается в игре. А в копии которую я сделал такого не происходит, хотя я сделал полную копию тока изменил айди неписей и создал паралельную папку с другим мименем и прописал ее в корневом файле.
Но в тоже время функция def onTalk (Self,npc,st): реагирует. Т.е. елси делать условные опреации в ней то он видит и обрабатывает ее. ПОчему ХЗ.
Я уж давно заметил что ДЖУТОН хитро выпуклый и что у него подуровни указываются отступами от края но я то это все соблюдаю т.к. биру точную копию скрипта.... может где че прописывать надо?
 
UA SoulKeeper #17.11.2006 02:44
+
-
edit
 

SoulKeeper

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

http://forum.lineage2.ws/forumdisplay.php?f=50

Есть что почитать. Конечно здесь когда-то мануалы полутше были, но, увы, уплыли.
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
+
-
edit
 

Delta_Q

новичок
Черепаху поставиЛ :)
Порадовала, дружественный инетрфейс однако :)
Мой респект для SoulKeeper.
 

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru