Jump to content
  • 0

[Help]Nobless npc Fix


Question

Posted

Hi guys...I want to fix nobless npc....If one char want to be nobless i want to have only 4 items...I don't want to have subclass or anything else can explain me how can do this?? :/ ty

 

 

 

qn = "6666_NoblessTrader"

 

NPC=[66666]

NOBLESS_TIARA=7694

GOLD_BAR=3470

QuestId    = 6666

QuestName  = "NoblessTrade"

QuestDesc  = "custom"

InitialHtml = "31739-1.htm"

 

print "Nobless Trader (66666) Enabled..."

 

class Quest (JQuest) :

 

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

 

def onEvent(self,event,st):

              htmltext = "<html><head><body>I have nothing to say you</body></html>"

              cond = st.getInt("cond")

              count=st.getQuestItemsCount(GOLD_BAR)

              if event == "31739-3.htm" :

                  if cond == 0 and st.getPlayer().isSubClassActive() :

                      if st.getPlayer().getLevel() >= 70 and count > 1:

                            htmltext=event

                            st.set("cond","0")

                            st.getPlayer().setNoble(True)

                            st.giveItems(NOBLESS_TIARA,1)

                            st.playSound("ItemSound.quest_finish")

                            st.setState(COMPLETED)

                            st.takeItems(GOLD_BAR,2)

                      else :

                            htmltext="31739-2.htm"

                            st.exitQuest(1)

                  else :

                      htmltext="31739-2.htm"

                      st.exitQuest(1)

              return htmltext

 

def onTalk (self,npc,player):

  htmltext = "<html><head><body>I have nothing to say you</body></html>"

          st = player.getQuestState(qn)

          if not st : return htmltext

          npcId = npc.getNpcId()

          id = st.getState()

          if id == CREATED :

              st.set("cond","0")

              htmltext="31739-1.htm"

          elif id == COMPLETED :

              htmltext = "<html><head><body>This quest have already been completed.</body></html>"

          else :

              st.exitQuest(1)

          return htmltext

 

 

QUEST = Quest(6666,qn,"custom")

CREATED    = State('Start', QUEST)

STARTING    = State('Starting', QUEST)

STARTED    = State('Started', QUEST)

COMPLETED  = State('Completed', QUEST)

QUEST.setInitialState(CREATED)

 

for npcId in NPC:

QUEST.addStartNpc(npcId)

QUEST.addTalkId(npcId)

6 answers to this question

Recommended Posts

  • 0
Posted

Hi guys...I want to fix nobless npc....If one char want to be nobless i want to have only 4 items...I don't want to have subclass or anything else can explain me how can do this?? :/ ty

 

 

 

qn = "6666_NoblessTrader"

 

NPC=[66666]

NOBLESS_TIARA=7694

GOLD_BAR=3470

QuestId    = 6666

QuestName  = "NoblessTrade"

QuestDesc  = "custom"

InitialHtml = "31739-1.htm"

 

print "Nobless Trader (66666) Enabled..."

 

class Quest (JQuest) :

 

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

 

def onEvent(self,event,st):

              htmltext = "<html><head><body>I have nothing to say you</body></html>"

              cond = st.getInt("cond")

              count=st.getQuestItemsCount(GOLD_BAR)

              if event == "31739-3.htm" :

                  if cond == 0 and st.getPlayer().isSubClassActive() :

                      if st.getPlayer().getLevel() >= 70 and count > 1:

                            htmltext=event

                            st.set("cond","0")

                            st.getPlayer().setNoble(True)

                            st.giveItems(NOBLESS_TIARA,1)

                            st.playSound("ItemSound.quest_finish")

                            st.setState(COMPLETED)

                            st.takeItems(GOLD_BAR,2)

                      else :

                            htmltext="31739-2.htm"

                            st.exitQuest(1)

                  else :

                      htmltext="31739-2.htm"

                      st.exitQuest(1)

              return htmltext

 

def onTalk (self,npc,player):

  htmltext = "<html><head><body>I have nothing to say you</body></html>"

          st = player.getQuestState(qn)

          if not st : return htmltext

          npcId = npc.getNpcId()

          id = st.getState()

          if id == CREATED :

              st.set("cond","0")

              htmltext="31739-1.htm"

          elif id == COMPLETED :

              htmltext = "<html><head><body>This quest have already been completed.</body></html>"

          else :

              st.exitQuest(1)

          return htmltext

 

 

QUEST = Quest(6666,qn,"custom")

CREATED    = State('Start', QUEST)

STARTING    = State('Starting', QUEST)

STARTED    = State('Started', QUEST)

COMPLETED  = State('Completed', QUEST)

QUEST.setInitialState(CREATED)

 

for npcId in NPC:

QUEST.addStartNpc(npcId)

QUEST.addTalkId(npcId)

 

 

 

GOLD_BAR=3470 change id  and name :)

 

st.takeItems(GOLD_BAR,2) name and count

 

 

  • 0
Posted

yeah but when i change it i must have go one subclass....I don't want to have subclass only item...How change that?? :/

 

if cond == 0 and st.getPlayer().isSubClassActive() : remove it

  • 0
Posted

if you don't know you try that:

 

 if cond == 0 and st.getPlayer() :

that is false:)

 

the true code is :

 if cond == 0 :

if cond == 0  (if condition equals 0 and st.getPlayer() i didnt know that this will cause error ok sorry for this

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock