У кого есть квест на крылья для сборки l2jfrozen ? 
Ибо на этой сборке квест криво работает который лежит в шаре.... 
  
вот чё пишет когда пытаюсь взять кв в ГС: 
  
 
Скрытый текстTraceback (innermost last):  File "__init__.py", line 61, in onTalk 
AttributeError: class 'com.l2jfrozen.gameserver.model.quest.State' has no attribute 'COMPLETED' 
  
	at org.python.core.Py.AttributeError(Unknown Source) 
	at org.python.core.PyObject.noAttributeError(Unknown Source) 
	at org.python.core.PyObject.__getattr__(Unknown Source) 
	at org.python.pycode._pyx407.onTalk$4(__init__.py:61) 
	at org.python.pycode._pyx407.call_function(__init__.py) 
	at org.python.core.PyTableCode.call(Unknown Source) 
	at org.python.core.PyTableCode.call(Unknown Source) 
	at org.python.core.PyTableCode.call(Unknown Source) 
	at org.python.core.PyFunction.__call__(Unknown Source) 
	at org.python.core.PyMethod.__call__(Unknown Source) 
	at org.python.core.PyObject.__call__(Unknown Source) 
	at org.python.core.PyObject._jcallexc(Unknown Source) 
	at org.python.core.PyObject._jcall(Unknown Source) 
	at org.python.proxies.main$Quest$405.onTalk(Unknown Source) 
	at com.l2jfrozen.gameserver.model.quest.Quest.notifyTalk(Quest.java:512) 
	at com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance.showQuestWindow(L2Np 
cInstance.java:1877) 
	at com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance.showQuestWindow(L2Np 
cInstance.java:1956) 
	at com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance.onBypassFeedback(L2N 
pcInstance.java:1132) 
	at com.l2jfrozen.gameserver.network.clientpackets.RequestBypassToServer.runImpl(Req 
uestBypassToServer.java:237) 
	at com.l2jfrozen.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClie 
ntPacket.java:75) 
	at com.l2jfrozen.gameserver.network.L2GameClient.run(L2GameClient.java:1197) 
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
	at java.lang.Thread.run(Unknown Source) 
  
 
Скрытый текст
import sys
from com.l2jfrozen import Config
from com.l2jfrozen.gameserver.model.quest import State
from com.l2jfrozen.gameserver.model.quest import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest
qn = "906_Wings1"
## нпц
NPC = 80028
## Мобы
MOBS = [21376,21377,21378,21394,21652,21379,21653,21380,21383,21654,21382]
#босс
BOSS = 25450
## Дроп
#id Сплава
ADAMANIT = 10596
#сколько нужно?
ADAMANIT_NEED = 1000
#шанс дропа, %
ADAMANIT_CHANCE = 100
#id итема с босса
BOSS_ITEM = 10598
##Награда
#id Коина
COIN = 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(ADAMANIT) >= ADAMANIT_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
      st.takeItems(ADAMANIT, -1)
      st.takeItems(BOSS_ITEM, -1)
      st.giveItems(COIN, 1)
      st.set("cond","0")
      st.playSound("ItemSound.quest_finish")
      st.setState(State.CREATED)
    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(ADAMANIT) >= ADAMANIT_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 = ADAMANIT
    limit = ADAMANIT_NEED
    chance = ADAMANIT_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("905_GoddnessArmor")
          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(906, qn, "Wings1")
CREATED     = State('Start',     QUEST)
STARTED     = State('Started',   QUEST)
COMPLETED   = State('Completed', QUEST)
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
QUEST.addKillId(BOSS)
for m in MOBS:
 QUEST.addKillId(m)