Skip to content

help in quest custom generator jythom

Featured Replies

hi. i make a custom quest and i have this problems

 

this is my code

 

#
# Quest generated by L2J Jython Quest generator V 0.43 Beta
#

print "importing quests: GoldDragon"
import sys
from com.l2jserver.gameserver.model.quest import State
from com.l2jserver.gameserver.model.quest import QuestState
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest

# variable definition part
MITHRIL_ALLOY = 1890
GHOST_OF_A_GATEKEEPER = 21799
MITHRIL_ALLOY_DROP = 1000000
GOLD_DRAGON = 3481
EVERT = 30633

# Count Code part
def getCount_1890(st) :
  return st.getQuestItemsCount(MITHRIL_ALLOY)

# Complete code part
def completed(st) :
  st.setState(COMPLETED)
  st.clearQuestDrops()
  st.takeItems(MITHRIL_ALLOY,-1)
  st.giveItems(GOLD_DRAGON,250)
  st.exitQuest(False)
  return

def check(st) :
  if getCount_1890(st) >= 1000 : 
    completed(st)
    return "<HTML><BODY>You''ve got all items, here is your reward</BODY></HTML>"
  return "<HTML><BODY>You don''t have enough item, continue your quest</BODY></HTML>"
# Condition check for the Quest
def st_check(st) :
  if st.getPlayer().getLevel() < 1 :
    st.exitQuest(True)
    return "<HTML><BODY>Sorry, your level is too low for this quest</BODY></HTML>"
  return "Start.htm"

# Main Quest Code
class Quest (JQuest):

  def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

  def onEvent (self,event,st):
    id = st.getState()
    if   id == CREATED  :
      if event == "agree" :
        st.setState(STARTED)
        st.set("cnt","0")
        return "<HTML><BODY>Quest initialized</BODY></HTML>"
      return st_check(st)
    elif id == COMPLETED: pass
    elif id == STARTED  :
      return check(st)
      return

  def onTalk (self,npcid,st):
    if npcid == EVERT : 
      if st.getQuestItemsCount(MITHRIL_ALLOY) >= 1000 :
        st.takeItems(MITHRIL_ALLOY,-1)
        st.giveItems(GOLD_DRAGON,250)
    return

# Quest class and state definition
QUEST     = Quest(100000,"GoldDragon", "GoldDragon")
CREATED   = State('Start',     QUEST)
STARTED   = State('Started',   QUEST)
COMPLETED = State('Completed', QUEST)
# Quest initialization
QUEST.setInitialState(CREATED)

# Quest NPC starter initialization
QUEST.addStartNpc(30633)

# Quest Item Drop initialization
STARTED.addQuestDrop(GHOST_OF_A_GATEKEEPER,MITHRIL_ALLOY,MITHRIL_ALLOY_DROP)

# Quest mob initialization
STARTED.addKillId(GHOST_OF_A_GATEKEEPER)

# Quest NPC initialization
STARTED.addTalkId(30633)
#
# L2J Jython Quest generator V 0.43 Beta created by LightofLife
#

 

and this is my error

 

TypeError: com.l2jserver.gameserver.model.quest.State(): expected 0 args; got 2

 

any can help me fix it? i used l2jserver epilogue

  • Author

OMG!! no ppl help me here?

The error message kinda says it all. State method takes no args, but you are calling it with two args

Your code is really outdated. Better take a quest from current server and compare it whit yours and see what things were changed. GL

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.