All pastes #87779 Raw Edit

Someone

public text v1 · immutable
·published 2006-07-14 05:34 UTC
rendered paste body
print "importing custom data: 5010_AgradeIsland"
import sys
from java.util                                import Iterator
from net.sf.l2j.gameserver                    import SkillTable
from net.sf.l2j.gameserver.serverpackets      import CreatureSay 
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

class Quest (JQuest) :

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

 def onEvent (self,event,st) :
    htmltext = event
#Give them an item to give to Alchemist
    if event == "1":
        if st.getQuestItemsCount(7620) == 0 and st.getQuestItemsCount(3467) == 0:
            st.giveItems(7620,1)
            htmltext = "Take this to Matild I've heard she is somewhere around Ivory Tower."
        else:
                htmltext = "<html><head><body>You already have my letter to Matild.</body></html>"
        if st.getQuestItemsCount(3467) >= 1:
            st.takeItems(3467,1)
            htmltext = "4.htm"
        else:
                htmltext = "<html><head><body>I need only one. Please just give me that.</body></html>"

    elif event == "2":
        if st.getQuestItemsCount(7620) == 1 and st.getQuestItemsCount(3467) == 0:
            htmltext = "2.htm"
        else:
                htmltext = "<html><head><body>I have nothing to say to you.</body></html>"
            
    elif event == "3":
        if st.getQuestItemsCount(7620) == 1 and st.getQuestItemsCount(57) >= 500000 and st.getQuestItemsCount(881) >= 1 and st.getQuestItemsCount(1864) >= 5 and st.getQuestItemsCount(726) >= 50 and st.getQuestItemsCount(395) >= 2 and st.getQuestItemsCount(1869) >= 5 and st.getQuestItemsCount(1867) >= 5 and st.getQuestItemsCount(736) >= 1 and st.getQuestItemsCount(13) >= 5 :
            st.takeItems(7620,1)
            st.takeItems(726,50)
            st.takeItems(395,1)
            st.takeItems(395,1)
            st.takeItems(1869,5)
            st.takeItems(1867,5)
            st.takeItems(736,1)
            st.takeItems(13,1)
            st.takeItems(13,1)
            st.takeItems(13,1)
            st.takeItems(13,1)
            st.takeItems(13,1)
            st.takeItems(1864,5)
            st.takeItems(881,1)
            st.takeItems(57,500000)
            st.giveItems(3467,5)
            htmltext = "<html><head><body>There you go, give this to Kyle.  Good Luck.</body></html>"
        else:
                htmltext = "<html><head><body>You don't have everything I need.</body></html>"

    elif event == "4":
        if st.getQuestItemsCount(3467) == 1:
            st.takeItems(3467,1)
            htmltext = "4.htm"
        else:
                htmltext = "<html><head><body>Go to Matild.</body></html>"

    elif event == "0":
        htmltext = "Something has gone wrong."
    
    if htmltext != event:
        st.setState(COMPLETED)
        st.exitQuest(1)

    return htmltext

 def onTalk (Self,npc,st):

     npcId = npc.getNpcId()
     htmltext = "<html><head><body>I have nothing to say to you.</body></html>"
     st.setState(STARTED)
     if npcId == 7467 :
         return "1.htm"
     elif npcId == 7738 and st.getQuestItemsCount(7620) == 1: 
         return "2.htm"
     
     return htmltext

QUEST       = Quest(5010,"5010_AgradeIsland","custom")
CREATED     = State('Start',     QUEST)
STARTED     = State('Started',   QUEST)
COMPLETED   = State('Completed', QUEST)

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(7738)
QUEST.addStartNpc(7467)
STARTED.addTalkId(7467)
STARTED.addTalkId(7738)