This part in your code is wrong..... (cant use more than 1 if ... for next events use elif... [1 wrong])
if event == "1":
if st.getPlayer().isNoble() :
return "noble.htm"
st.setState(COMPLETED)
if not st.getPlayer().isSubClassActive() :
return "noSub.htm"
st.setState(COMPLETED)
if st.getPlayer().getLevel() < 75 :
return "toLow.htm"
st.setState(COMPLETED)
if not st.getPlayer().isNoble() :
if st.getPlayer().isSubClassActive() :
if st.getPlayer().getLevel() >= 75 :
st.getPlayer().setNoble(True)
st.giveItems(NOBLESS_TIARA,1)
return "grat.htm"
st.setState(COMPLETED)
import sys
from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
from java.util import Iterator
from net.sf.l2j.gameserver.datatables import SkillTable
from net.sf.l2j import L2DatabaseFactory
from net.sf.l2j.gameserver.model.actor.appearance import PcAppearance
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.actor.appearance import PcAppearance
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
qn = "8204_NpcNoblesse"
NPC=[7202]
GOLDBAR= 3470
NOBLESS_TIARA = 7694
QuestId = 8204
QuestName = "NpcNoblesse"
QuestDesc = "custom"
InitialHtml = "1.htm"
print "INFO Loaded: Noblesse Manager"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(GOLDBAR)
if count < 10 and st.getPlayer().getLevel() < 80 :
htmltext = "<html><head><body>Sorry, but you dont have enought gb or u low lvl</body></html>"
elif st.getPlayer().isNoble() == 1 :
htmltext = "<html><head><body>Sorry, But you are alrdy nobles</body></html>"
else:
st.getPlayer().setTarget(st.getPlayer())
if event == "2":
st.takeItems(GOLDBAR,10)
st.getPlayer().setNoble(True)
st.giveItems(NOBLESS_TIARA,1)
st.playSound("ItemSound.quest_finish")
st.setState(State.COMPLETED)
return "End.htm"
st.exitQuest(1)
if htmltext != event:
st.setState(State.COMPLETED)
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
st = player.getQuestState(qn)
htmltext = "<html><head><body>I have nothing to say to you</body></html>"
st.setState(State.STARTED)
return InitialHtml
QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)