Jak niektórzy wiedzą tworzę swojego npc buffera, chciałem go trochę rozwinąć i dodać takie funkcje jak 'Cancel' i 'Resore All'. Zacząłem pisać kod, trochę wziąłem z kodu Maślana a trochę wzorowałem się na innych bufferach.
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.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
qn = "60000_NPCBuffer"
NPC=[11]
QuestId = 60000
QuestName = "NPCBuffer"
QuestDesc = "custom"
print "importing custom: 60000: NPCBuffer"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onAdvEvent (self,event,npc,player) :
st = player.getQuestState(QUEST_LOADING_INFO)
htmltext = event
if event == "1":
st.getPlayer().stopAllEffects()
st.getPlayer().restoreHPMP()
return "1.htm"
st.setState(COMPLETED)
def onTalk (self,npc,player):
return "1.htm"
QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)
http://pastebin.com/m16f67d85 - tu lepiej widać cały kod
Kiedy odpalam serwer pokazuje błąd: Failed executing sricpt: (..) See __init__.py.error.log for details.
No więc otwieram plik i pokazuję, że błąd jest w linijce 34, 2, ale ja tam błędu nie widzę:
Error on: D:\Serwer\Gameserver\data\scripts\custom\60000_NPCBuffer\__init__.py.error.log
Line: -1 - Column: -1
Traceback (innermost last):
(no code object) at line 0
SyntaxError: ('inconsistent dedent', ('__init__.py', 34, 2, ' def onTalk (self,npc,player):'))
Linjka 34:
34.
def onTalk (self,npc,player):35. return "1.htm"