Secret Experience

Secret Experience (https://secretexperience.net/index.php)
-   [L2J] Dúvidas Solucionadas (https://secretexperience.net/forumdisplay.php?f=653)
-   -   NPC Hero (https://secretexperience.net/showthread.php?t=5021)

_Dudu_1533 24-02-2009 11:00 PM

NPC Hero
 
Boa noite.
Estou tentando criar um NPC, que quando o char visita, e seleciona a opção Tornar HERO, o NPC dê hero à ele.
Claro, se tiver o ítem requirido.

Veja meu código .py

Código:

print "QUEST ISHERO carregada!"


import sys
from net.l2emuproject.gameserver.model.quest        import State
from net.l2emuproject.gameserver.model.quest        import QuestState
from net.l2emuproject.gameserver.model.quest.jython import QuestJython as JQuest
from net.l2emuproject.gameserver.datatables        import ItemTable

qn = "10000_ISHERO"
ITEM_ID = 21000
QuestId = 10000
QuestName = "ISHERO"
QuestDesc = "custom"
NPC=[40008]

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(ITEM_ID)
               
                if event == "1":
                        if count < 600 :
                                htmltext = "<html><head><title>ERRO</title></head><body>Voce precisa de 600 Tickets Donators para se tornar HERO</body></html>"
                               
                        else:
                                st.getPlayer().setTarget(st.getPlayer())
                                st.takeItems(ITEM_ID,600)
                                st.getPlayer.setHero(true)
                                htmltext = "<html><head></head><body>Parabens, voce acaba de se tornar HERO! <br>Divirta-se!</body></html>"               
                                st.setState(COMPLETED)
               
                if event == "2":
                        st.getPlayer().setTarget(st.getPlayer())
                        st.getPlayer.setHero(false)
                        htmltext = "<html><head></head><body>Voce escolheu por tirar seu HERO<br>Agora devera fazer a QUEST ou doar R$300,00 pro servidor.</body></html>"               
                        st.setState(COMPLETED)                       
               
                if htmltext != event:
                        st.setState(COMPLETED)
                        st.exitQuest(1)
                        return htmltext
                       
                return htmltext
               
        def onTalk (self,npc,player):
                st = player.getQuestState(qn)
                htmltext = "<html><head><body>Nao tenho nada para dizer.</body></html>"
                st.setState(State.STARTED)
                return htmltext

QUEST      = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)

for npcId in NPC:
        QUEST.addStartNpc(npcId)
        QUEST.addTalkId(npcId)


O HTML nem precisa postar, pois ele está certo.
Vale lembrar, que quando ligo o gameserver, ele carrega a quest perfeitamente, sem erro.

O que acham que pode ser?
Até mais!

christiand 25-02-2009 10:36 AM

qual sua revisão? l2jfree ou l2emu?


Horários baseados na GMT -3. Agora são 01:57 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.