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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...