All pastes #424491 Raw Edit

Mine

public text v1 · immutable
·published 2007-04-04 20:42 UTC
rendered paste body
# Maked by Mr. Have fun! Version 0.2
import sys
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 = "1_LettersOfLove1"

#NPCs 
DARIN  = 30048 
ROXXY  = 30006 
BAULRO = 30033 

#ITEMS 
DARINGS_LETTER     = 687 
RAPUNZELS_KERCHIEF = 688 
DARINGS_RECEIPT    = 1079 
BAULS_POTION       = 1080 
 
#REWARD 
NECKLACE = 906
 
class Quest (JQuest) :

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

 def onEvent (self,event,st) :
   htmltext = event 
   if event == "30048-06.htm" : 
     st.set("cond","1") 
     st.set("id","1") 
     st.setState(STARTED) 
     st.playSound("ItemSound.quest_accept") 
     if st.getQuestItemsCount(DARINGS_LETTER) == 0 : 
       st.giveItems(DARINGS_LETTER,1) 
   return htmltext 

 def onTalk (Self,npc,st):
   htmltext = "<html><head><body>I have nothing to say you</body></html>" 
   npcId = npc.getNpcId()
   id = st.getState()
   if id == CREATED :
     st.setState(STARTING)
     st.set("cond","0")
     st.set("onlyone","0")
     st.set("id","0")
 
   cond = st.getInt("cond") 
   onlyone = st.getInt("onlyone") 
   ItemsCount_DL = st.getQuestItemsCount(DARINGS_LETTER) 
   ItemsCount_RK = st.getQuestItemsCount(RAPUNZELS_KERCHIEF) 
   ItemsCount_DR = st.getQuestItemsCount(DARINGS_RECEIPT) 
   ItemsCount_BP = st.getQuestItemsCount(BAULS_POTION) 
 
   if npcId == DARIN and cond == 0 and onlyone == 0 : 
     if st.getPlayer().getLevel() >= 2 : 
       if cond < 15 : 
         htmltext = "30048-02.htm" 
       else: 
         htmltext = "30048-01.htm" 
         st.exitQuest(1) 
     else: 
       htmltext = "<html><head><body>Quest for characters level 2 and above.</body></html>" 
       st.exitQuest(1) 
   elif npcId == DARIN and cond == 0 and onlyone == 1 : 
     htmltext = "<html><head><body>This quest have already been completed.</body></html>" 
   elif npcId == ROXXY and cond and onlyone == 0 : 
     if ItemsCount_RK == 0 and ItemsCount_DL : 
       htmltext = "30006-01.htm" 
       st.takeItems(DARINGS_LETTER,-1) 
       st.giveItems(RAPUNZELS_KERCHIEF,1) 
       st.set("cond","2") 
       st.set("id","2") 
       st.playSound("ItemSound.quest_middle") 
     elif ItemsCount_BP or ItemsCount_DR : 
       htmltext = "30006-03.htm" 
     elif ItemsCount_RK : 
       htmltext = "30006-02.htm" 
   elif npcId == DARIN and cond and ItemsCount_RK > 0 and onlyone == 0 : 
     htmltext = "30048-08.htm" 
     st.takeItems(RAPUNZELS_KERCHIEF,-1) 
     st.giveItems(DARINGS_RECEIPT,1) 
     st.set("cond","3") 
     st.set("id","3") 
     st.playSound("ItemSound.quest_middle") 
   elif npcId == BAULRO and cond and onlyone == 0 : 
     if ItemsCount_DR > 0 : 
       htmltext = "30033-01.htm" 
       st.takeItems(DARINGS_RECEIPT,-1) 
       st.giveItems(BAULS_POTION,1) 
       st.set("cond","4") 
       st.set("id","4") 
       st.playSound("ItemSound.quest_middle") 
     elif ItemsCount_BP > 0 : 
       htmltext = "30033-02.htm" 
   elif npcId == DARIN and cond and ItemsCount_RK == 0 and onlyone == 0 : 
     if ItemsCount_DR > 0 : 
       htmltext = "30048-09.htm" 
     elif ItemsCount_BP > 0 : 
       htmltext = "30048-10.htm" 
       st.takeItems(BAULS_POTION,-1) 
       st.giveItems(NECKLACE,1) 
       st.set("cond","0") 
       st.set("onlyone","1") 
       st.setState(COMPLETED)
       st.playSound("ItemSound.quest_finish") 
     else: 
       htmltext = "30048-07.htm" 
   return htmltext

QUEST     = Quest(1,qn,"Letters of Love") 
CREATED   = State('Start',     QUEST) 
STARTING  = State('Starting',  QUEST) 
STARTED   = State('Started',   QUEST) 
COMPLETED = State('Completed', QUEST) 

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(DARIN) 

STARTING.addTalkId(DARIN) 

STARTED.addTalkId(ROXXY) 
STARTED.addTalkId(BAULRO) 
STARTED.addTalkId(DARIN) 

STARTED.addQuestDrop(DARIN,DARINGS_LETTER,1) 
STARTED.addQuestDrop(DARIN,RAPUNZELS_KERCHIEF,1) 
STARTED.addQuestDrop(DARIN,DARINGS_RECEIPT,1) 
STARTED.addQuestDrop(DARIN,BAULS_POTION,1) 

print "importing quests: 1: Letters Of Love"