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

Перенос квэста, сборка pw

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

Доброго времени суток, столкнулся с такой проблемой, пытаюсь перенести квэст на сборку пв, кв самописный, вроде бы все перенес, в гс пишет все квэсты имортированы, но при попытке взять квэст ничего не происходит просто закрывается диалог, и в гс ошибка .
post-21935-0-61568000-1423396436_thumb.png

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

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


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

быть может ошибки в коде квеста есть,на предыдущей сборке адекватно себя ведет ?

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


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

быть может ошибки в коде квеста есть,на предыдущей сборке адекватно себя ведет ?

да на другой сборке норм, но сборка другая, и он прописывался в sborka/config/scripts.cfg а на этой нужно в /sborka/data/jscript/quest/ini.py

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


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

Правь квест. Скорее всего неправильно стадию квеста присваивает.

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


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

Правь квест. Скорее всего неправильно стадию квеста присваивает.

Поэтому и нужна помощь, квэст писал не я, и даже не знаю что где править в нем

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


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

Поэтому и нужна помощь, квэст писал не я, и даже не знаю что где править в нем

 

Что за квест?

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


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

Что за квест?

На крылья, и на шмот, из шары la2onix 

Там сборка l2j-evo(eonsw)

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

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


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

На крылья, и на шмот, из шары la2onix 

Там сборка l2j-evo(eonsw)

Дай фаил я тебе поправлю

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


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

1.квест

 

import sys
from net.sf.l2j import Config
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
 
qn = "q902_FeatherGathering"
 
## нпц
NPC = 77777
 
## Мобы
MOBS = [22126,22124,22123]
#босс
BOSS = 70020
 
## Дроп
#id перьев с мобов в мос
FEATHER = 9983
#сколько нужно?
FEATHER_NEED = 300
#шанс дропа, %
FEATHER_CHANCE = 50
#id итема с босса
BOSS_ITEM = 9984
 
##Награда
#id крыльев
WINGS = 9996
 
class Quest (JQuest) :
 
 def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr)
 
 def onEvent (self,event,st) :
   htmltext = event
   if event == "accept.htm":
     st.setState(State.STARTED)
     st.playSound("ItemSound.quest_accept")
     st.set("cond","1")
   elif event == "finish.htm":
     if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
       st.takeItems(FEATHER, -1)
       st.takeItems(BOSS_ITEM, -1)
       st.giveItems(WINGS, 1)
       st.set("cond","0")
       st.playSound("ItemSound.quest_finish")
       st.setState(State.COMPLETED)
     else:
       htmltext = "mobs.htm"
   return htmltext
 
 def onTalk (self,npc,player):
   st = player.getQuestState(qn)
   if not st: 
     return "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
   npcId = npc.getNpcId()
   idd = st.getState()
   cond = st.getInt("cond")
   if npcId == NPC:
     if idd == State.COMPLETED :
       htmltext = "completed.htm"
     if idd == State.CREATED :
       htmltext = "hello1.htm"
     elif cond == 1:
       if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
         htmltext = "mobs2.htm"
       else:
         htmltext = "mobs.htm"
   return htmltext
 
 def onKill(self,npc,player,isPet):
   st = player.getQuestState(qn)
   if not st or st.getInt("cond") != 1:
     return
   npcId = npc.getNpcId()
   reward = 0
   limit = 1
   chance = 100
   if npcId in MOBS:
     reward = FEATHER
     limit = FEATHER_NEED
     chance = FEATHER_CHANCE
   if npcId == BOSS:
     reward = BOSS_ITEM
     limit = 1
   if reward > 0:
     party = player.getParty()
     if party:
       for member in party.getPartyMembers():
         if not member.isAlikeDead():
           st = member.getQuestState("q902_FeatherGathering")
           if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
             st.giveItems(reward, 1)
             st.playSound("ItemSound.quest_itemget")
             if st.getQuestItemsCount(reward) >= limit:
               st.playSound("ItemSound.quest_middle")
     else:
       if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
         st.giveItems(reward, 1)
         st.playSound("ItemSound.quest_itemget")
   return  
 
QUEST = Quest(902, qn, "Feather Gathering")
 
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
QUEST.addKillId(BOSS)
 
for m in MOBS:
  QUEST.addKillId(m)
 
2. квест 
import sys
from net.sf.l2j import Config
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
 
qn = "q903_FeatherGathering"
 
## нпц
NPC = 77778
 
## Мобы
MOBS = [21377,21652,21376,21378,21394]
#босс
BOSS = 70021
 
## Дроп
#id сплавов с мобов в мос
FEATHER = 10596
#сколько нужно?
FEATHER_NEED = 1000
#шанс дропа, %
FEATHER_CHANCE = 100
#id итема с босса
BOSS_ITEM = 10598
 
##Награда
#id крыльев
VESPER = 10599
 
class Quest (JQuest) :
 
 def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr)
 
 def onEvent (self,event,st) :
   htmltext = event
   if event == "accept.htm":
     st.setState(State.STARTED)
     st.playSound("ItemSound.quest_accept")
     st.set("cond","1")
   elif event == "finish.htm":
     if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
       st.takeItems(FEATHER, -1)
       st.takeItems(BOSS_ITEM, -1)
       st.giveItems(VESPER, 5)
       st.set("cond","0")
       st.playSound("ItemSound.quest_finish")
       st.setState(State.COMPLETED)
     else:
       htmltext = "mobs.htm"
   return htmltext
 
 def onTalk (self,npc,player):
   st = player.getQuestState(qn)
   if not st: 
     return "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
   npcId = npc.getNpcId()
   idd = st.getState()
   cond = st.getInt("cond")
   if npcId == NPC:
     if idd == State.COMPLETED :
       htmltext = "completed.htm"
     if idd == State.CREATED :
       htmltext = "hello1.htm"
     elif cond == 1:
       if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
         htmltext = "mobs2.htm"
       else:
         htmltext = "mobs.htm"
   return htmltext
 
 def onKill(self,npc,player,isPet):
   st = player.getQuestState(qn)
   if not st or st.getInt("cond") != 1:
     return
   npcId = npc.getNpcId()
   reward = 0
   limit = 1
   chance = 100
   if npcId in MOBS:
     reward = FEATHER
     limit = FEATHER_NEED
     chance = FEATHER_CHANCE
   if npcId == BOSS:
     reward = BOSS_ITEM
     limit = 1
   if reward > 0:
     party = player.getParty()
     if party:
       for member in party.getPartyMembers():
         if not member.isAlikeDead():
           st = member.getQuestState("q903_FeatherGathering")
           if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
             st.giveItems(reward, 1)
             st.playSound("ItemSound.quest_itemget")
             if st.getQuestItemsCount(reward) >= limit:
               st.playSound("ItemSound.quest_middle")
     else:
       if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
         st.giveItems(reward, 1)
         st.playSound("ItemSound.quest_itemget")
   return  
 
QUEST = Quest(903, qn, "Feather Gathering")
 
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
QUEST.addKillId(BOSS)
 
for m in MOBS:
  QUEST.addKillId(m)
 

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


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

 

1.квест

 

import sys
from net.sf.l2j import Config
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
 
qn = "q902_FeatherGathering"
 
## нпц
NPC = 77777
 
## Мобы
MOBS = [22126,22124,22123]
#босс
BOSS = 70020
 
## Дроп
#id перьев с мобов в мос
FEATHER = 9983
#сколько нужно?
FEATHER_NEED = 300
#шанс дропа, %
FEATHER_CHANCE = 50
#id итема с босса
BOSS_ITEM = 9984
 
##Награда
#id крыльев
WINGS = 9996
 
class Quest (JQuest) :
 
 def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr)
 
 def onEvent (self,event,st) :
   htmltext = event
   if event == "accept.htm":
     st.setState(State.STARTED)
     st.playSound("ItemSound.quest_accept")
     st.set("cond","1")
   elif event == "finish.htm":
     if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
       st.takeItems(FEATHER, -1)
       st.takeItems(BOSS_ITEM, -1)
       st.giveItems(WINGS, 1)
       st.set("cond","0")
       st.playSound("ItemSound.quest_finish")
       st.setState(State.COMPLETED)
     else:
       htmltext = "mobs.htm"
   return htmltext
 
 def onTalk (self,npc,player):
   st = player.getQuestState(qn)
   if not st: 
     return "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
   npcId = npc.getNpcId()
   idd = st.getState()
   cond = st.getInt("cond")
   if npcId == NPC:
     if idd == State.COMPLETED :
       htmltext = "completed.htm"
     if idd == State.CREATED :
       htmltext = "hello1.htm"
     elif cond == 1:
       if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
         htmltext = "mobs2.htm"
       else:
         htmltext = "mobs.htm"
   return htmltext
 
 def onKill(self,npc,player,isPet):
   st = player.getQuestState(qn)
   if not st or st.getInt("cond") != 1:
     return
   npcId = npc.getNpcId()
   reward = 0
   limit = 1
   chance = 100
   if npcId in MOBS:
     reward = FEATHER
     limit = FEATHER_NEED
     chance = FEATHER_CHANCE
   if npcId == BOSS:
     reward = BOSS_ITEM
     limit = 1
   if reward > 0:
     party = player.getParty()
     if party:
       for member in party.getPartyMembers():
         if not member.isAlikeDead():
           st = member.getQuestState("q902_FeatherGathering")
           if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
             st.giveItems(reward, 1)
             st.playSound("ItemSound.quest_itemget")
             if st.getQuestItemsCount(reward) >= limit:
               st.playSound("ItemSound.quest_middle")
     else:
       if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
         st.giveItems(reward, 1)
         st.playSound("ItemSound.quest_itemget")
   return  
 
QUEST = Quest(902, qn, "Feather Gathering")
 
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
QUEST.addKillId(BOSS)
 
for m in MOBS:
  QUEST.addKillId(m)
 
2. квест 
import sys
from net.sf.l2j import Config
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
 
qn = "q903_FeatherGathering"
 
## нпц
NPC = 77778
 
## Мобы
MOBS = [21377,21652,21376,21378,21394]
#босс
BOSS = 70021
 
## Дроп
#id сплавов с мобов в мос
FEATHER = 10596
#сколько нужно?
FEATHER_NEED = 1000
#шанс дропа, %
FEATHER_CHANCE = 100
#id итема с босса
BOSS_ITEM = 10598
 
##Награда
#id крыльев
VESPER = 10599
 
class Quest (JQuest) :
 
 def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr)
 
 def onEvent (self,event,st) :
   htmltext = event
   if event == "accept.htm":
     st.setState(State.STARTED)
     st.playSound("ItemSound.quest_accept")
     st.set("cond","1")
   elif event == "finish.htm":
     if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
       st.takeItems(FEATHER, -1)
       st.takeItems(BOSS_ITEM, -1)
       st.giveItems(VESPER, 5)
       st.set("cond","0")
       st.playSound("ItemSound.quest_finish")
       st.setState(State.COMPLETED)
     else:
       htmltext = "mobs.htm"
   return htmltext
 
 def onTalk (self,npc,player):
   st = player.getQuestState(qn)
   if not st: 
     return "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
   npcId = npc.getNpcId()
   idd = st.getState()
   cond = st.getInt("cond")
   if npcId == NPC:
     if idd == State.COMPLETED :
       htmltext = "completed.htm"
     if idd == State.CREATED :
       htmltext = "hello1.htm"
     elif cond == 1:
       if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
         htmltext = "mobs2.htm"
       else:
         htmltext = "mobs.htm"
   return htmltext
 
 def onKill(self,npc,player,isPet):
   st = player.getQuestState(qn)
   if not st or st.getInt("cond") != 1:
     return
   npcId = npc.getNpcId()
   reward = 0
   limit = 1
   chance = 100
   if npcId in MOBS:
     reward = FEATHER
     limit = FEATHER_NEED
     chance = FEATHER_CHANCE
   if npcId == BOSS:
     reward = BOSS_ITEM
     limit = 1
   if reward > 0:
     party = player.getParty()
     if party:
       for member in party.getPartyMembers():
         if not member.isAlikeDead():
           st = member.getQuestState("q903_FeatherGathering")
           if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
             st.giveItems(reward, 1)
             st.playSound("ItemSound.quest_itemget")
             if st.getQuestItemsCount(reward) >= limit:
               st.playSound("ItemSound.quest_middle")
     else:
       if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
         st.giveItems(reward, 1)
         st.playSound("ItemSound.quest_itemget")
   return  
 
QUEST = Quest(903, qn, "Feather Gathering")
 
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
QUEST.addKillId(BOSS)
 
for m in MOBS:
  QUEST.addKillId(m)

 

Попробуй  вот

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


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

Те же ошибки (

Ты скорей что то не правильно делаешь....Хочешь кинь кв я переделаю под pw

Изменено пользователем kama
  • Upvote 1

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


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

Попробуй http://rghost.ru/6rnRtF7JK
кидать в data/scripts/quests/

 

Чтобы добавить в прогрузку пропиши в  data/scripts.cfg :

quests/Wings/Wings.java
quests/Vesper/Vesper.java

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


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

теперь пишет "на данный момент у меня для вас ничего нет"

Скинь квесты куда можешь без разницы

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


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

Кидай сюда gameserver\data\jscript\custom

И не забудь их прописать!

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


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

Кидай сюда gameserver\data\jscript\custom

И не забудь их прописать!

Та же ошибка в ГСе

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


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

post-21935-0-57302000-1423483709_thumb.png

Кидай сюда gameserver\data\jscript\custom

И не забудь их прописать!

 

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


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

Да как так???

Кинь мне папку jscript  и фаил scripts.cfg

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


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

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

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

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

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

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

Войти

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

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

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

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

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