Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Juthon
#1
Подскажите что не так

import sys
from kugel.actyon.gs.model.quest import State
from kugel.actyon.gs.model.quest import QuestState
from kugel.actyon.gs.model.quest.jython import QuestJython as JQuest

class Quest (JQuest) :

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

qn = "10283_DoNotMakePeopleWait"

#NPC
Isael_Silvershadow = 30655
Valley_Trader_Kitzka = 31045

#REWARDS
Large_Dragon_Bone = 17248
Will_of_Antharas = 17266
Sealed_Blood_Crystal = 17267


def onEvent (self,event,st) :
htmltext = event
if event == "30655-1.htm" :
st.set("cond","1")
st.setState(STARTED)
st.playSound("ItemSound.quest_accept")
elif event == "31045-1.htm" :
if cond = 1 :
st.set("cond","2")
elif event in ["Large Dragon Bone","Will of Antharas","Sealed Blood Crystal"] :
if st.cond == 2 :
if event == "Large Dragon Bone":
item=Large_Dragon_Bone
elif event == "Will of Antharas":
item=Will_of_Antharas
elif event == "Sealed Blood Crystal":
item=Sealed_Blood_Crystal
st.giveItems(item,1)
st.exitQuest(False)
st.unset("cond")
st.playSound)"ItemSound.quest_finish")
htmltext = "31045-2.htm"
else :
htmltext="???"

return htmltext

def onTalk (self,npc, player)
st = player.getQuestState(qn)
htmltext = Quest.getNoQuestMsg(player)
if not st : return htmltext
npcId = npc.getNpcId()
id = st.getState()
cond=st.getInt("cond")
if id == State.COMPLETED :
htmltext = Quest.getAlreadyCompletedMsg(Player)
elif npcId == Isael_Silvershadow :
if id == State.CREATED :
htmltext = "30655-0.htm"
else:
htmltext= "30655-0a.htm"
st.exitQuest(1)
elif cond == 1 :
htmltext == "30655-2.htm"
elif id == State.STARTED :
if npcId == Valley_Trader_Kitzka :
if cond == 1 :
htmltext = "31045-3.htm"
return htmltext

QUEST = Quest(10283,qn,"DoNotMakePeopleWait")

QUEST.addStartNpc(Isael_Silvershadow)
QUEST.addTalkId(Isael_Silvershadow)

QUEST.addTalkId(Valley_Trader_Kitzka)


Вот что в логе:
Traceback (innermost last):
(no code object) at line 0
SyntaxError: ('invalid syntax', ('__init__.py', 23, 2, ' def onEvent (self,event,st):'))


Просьба модеров сменить название темы на "Python" ошибся)
Ответ
#2
Питон - позиционно-зависимый язык. Так что, контролируйте отступы и главное, начали определять класс - не "разбавляйте" его внеклассовыми переменными
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)