When i am trying to use Sailren's ai file:
Code: Select all
# Made by Vice [L2jOneo]# Updating Edoo import sysfrom com.l2jserver.gameserver.model.quest import Statefrom com.l2jserver.gameserver.model.quest import QuestStatefrom com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuestfrom com.l2jserver.gameserver.ai import CtrlIntentionfrom com.l2jserver.gameserver.model import L2CharPosition #NPCSTATUE = 32109VELOCIRAPTOR = 22196PTEROSAUR = 22199TYRANNOSAURUS = 22217SAILREN = 29065 #ITEMGAZKH = 8784 #POSITIONSSTARTX = 27852STARTY = -5536STARTZ = -1983STARTHDG = 44732GOTOX = 27628GOTOY = -6109GOTOZ = -1982GOTOHDG = 44732 #TIMERSTIMER1 = 30000TIMER2 = 3600000 #HTMLhtmlerror = """<html><body>Stone Statue of Shilen:<br><br>Shilen's protection is not with you -- go away! You are notqualified to fight against Sailren...<br>If you want to enter Sailren's nest, then you should find aparty leader who can fight against Sailren and join hisparty. Or you can complete my quest to become a partyleader, form your own party, and then return here.<br></body></html>""" # Boss: sailren def spawnMob(self,idMob) :self.vlk = self.addSpawn(idMob,STARTX,STARTY,STARTZ,STARTHDG,False,0)updateKnownList(self)self.vlk.setRunning()self.vlk.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO,self.pos)self.vlk.setSpawn(None);#updateKnownList(self) def updateKnownList(self) :self.vlk.getKnownList().getKnownPlayers().clear()party = self.partyLeader.getParty()if party :for partyMember in party.getPartyMembers().toArray() :self.vlk.getKnownList().getKnownPlayers().put(partyMember.getObjectId(), partyMember); class sailren (JQuest): def __init__(self,id,name,descr):JQuest.__init__(self,id,name,descr)self.isRaidStarted = 0self.pos = L2CharPosition(GOTOX,GOTOY,GOTOZ,GOTOHDG);self.vlk = Noneself.partyLeader = None def onAdvEvent (self,event,npc,player):objId=0if event == "sailren_timer1" :spawnMob(self,VELOCIRAPTOR)self.startQuestTimer("sailren_timer2",TIMER2, self.vlk,player)elif event == "sailren_timer2" :if self.isRaidStarted == 1 :self.vlk.reduceCurrentHp(16660000,self.vlk)self.isRaidStarted = 0self.vlk = Noneself.partyLeader = Noneif player :if not player.isInParty() :st = player.getQuestState("sailren")if st : st.exitQuest(1)returnparty = player.getParty()if party :for partyMember in party.getPartyMembers().toArray() :st = partyMember.getQuestState("sailren")if st : st.exitQuest(1)partyMember.teleToLocation(23677,-7673,-1241) return def onTalk (self,npc,player):st = player.getQuestState("sailren")if not st : return "<html><body>You are either not carrying out your quest or don't meet the criteria.</body></html>"npcId = npc.getNpcId()if npcId == STATUE :if st.getQuestItemsCount(GAZKH) < 1 :st.exitQuest(1)return htmlerrorif not player.isInParty() :st.exitQuest(1)return htmlerrorif player.getParty().getPartyLeaderOID() != player.getObjectId() :st.exitQuest(1)return htmlerrorif self.isRaidStarted == 1 :st.exitQuest(1)return "<html><body>Shilen's Stone Statue:<br>Another party is fighting with Sailren. You must wait.</body></html>"party = player.getParty()if party :for partyMember in party.getPartyMembers().toArray() :partyMember.teleToLocation(27291,-6899,-1974) if self.isRaidStarted == 0 :self.startQuestTimer("sailren_timer1",TIMER1, npc, player)self.isRaidStarted = 1 st.takeItems(GAZKH,1)self.partyLeader = playerreturn "<html><body>Shilen's Stone Statue:<br>Please seal the sailren by your ability.</body></html>" def onKill (self,npc,player,isPet):if not player.isInParty() :returnif player.getParty().getPartyLeaderOID() != self.partyLeader.getObjectId() :returnst = self.partyLeader.getQuestState("sailren")if not st: returnst = player.getQuestState("sailren")npcId = npc.getNpcId()xx = int(player.getX())yy = int(player.getY())zz = int(player.getZ())if xx >= 26095 and xx <= 28987 and yy >=-8084 and yy <= -5295 :if npcId == VELOCIRAPTOR :spawnMob(self,PTEROSAUR)elif npcId == PTEROSAUR :spawnMob(self,TYRANNOSAURUS)elif npcId == TYRANNOSAURUS :spawnMob(self,SAILREN)elif npcId == SAILREN :party = player.getParty()if party :for partyMember in party.getPartyMembers().toArray() :partyMember.teleToLocation(23677,-7673,-1241)self.isRaidStarted = 0st.exitQuest(1)self.vlk = Noneself.partyLeader = None return # Quest class and state definitionQUEST = sailren(-1, "sailren", "ai") # Quest NPC starter initializationQUEST.addStartNpc(STATUE)QUEST.addTalkId(STATUE)QUEST.addKillId(VELOCIRAPTOR)QUEST.addKillId(PTEROSAUR)QUEST.addKillId(TYRANNOSAURUS)QUEST.addKillId(SAILREN)
Code: Select all
# By L2J_JP SANDMANimport sysfrom com.l2jserver.gameserver.instancemanager.grandbosses import SailrenManagerfrom com.l2jserver.gameserver.model.quest import Statefrom com.l2jserver.gameserver.model.quest import QuestStatefrom com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuestfrom com.l2jserver.gameserver.network.serverpackets import SocialAction #ENTRY_SATAT 0 = Sailren is not spawned#ENTRY_SATAT 1 = Sailren is already dead#ENTRY_SATAT 2 = Sailren is already entered by a other party#ENTRY_SATAT 3 = Sailren is in interval#ENTRY_SATAT 4 = You have no Party #NPCSTATUE = 32109VELOCIRAPTOR = 22218PTEROSAUR = 22199TYRANNOSAURUS = 22217SAILREN = 29065 #ITEMGAZKH = 8784 # Boss: sailrenclass sailren (JQuest): def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onTalk (self,npc,player): st = player.getQuestState("sailren") if not st : return "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>" npcId = npc.getNpcId() if npcId == STATUE : if st.getQuestItemsCount(GAZKH) : ENTRY_SATAT = SailrenManager.getInstance().canIntoSailrenLair(player) if ENTRY_SATAT == 1 or ENTRY_SATAT == 2 : st.exitQuest(1) return "<html><body>Shilen's Stone Statue:<br>Another adventurers have already fought against the sailren. Do not obstruct them.</body></html>" elif ENTRY_SATAT == 3 : st.exitQuest(1) return "<html><body>Shilen's Stone Statue:<br>The sailren is very powerful now. It is not possible to enter the inside.</body></html>" elif ENTRY_SATAT == 4 : st.exitQuest(1) return "<html><body>Shilen's Stone Statue:<br>You seal the sailren alone? You should not do so! Bring the companion.</body></html>" elif ENTRY_SATAT == 0 : st.takeItems(GAZKH,1) SailrenManager.getInstance().setSailrenSpawnTask(VELOCIRAPTOR) SailrenManager.getInstance().entryToSailrenLair(player) return "<html><body>Shilen's Stone Statue:<br>Please seal the sailren by your ability.</body></html>" else : st.exitQuest(1) return "<html><body>Shilen's Stone Statue:<br><font color=""LEVEL"">Gazkh</font> is necessary for seal the sailren.</body></html>" def onKill (self,npc,player,isPet): st = player.getQuestState("sailren") npcId = npc.getNpcId() if npcId == VELOCIRAPTOR : SailrenManager.getInstance().setSailrenSpawnTask(PTEROSAUR) elif npcId == PTEROSAUR : SailrenManager.getInstance().setSailrenSpawnTask(TYRANNOSAURUS) elif npcId == TYRANNOSAURUS : SailrenManager.getInstance().setSailrenSpawnTask(SAILREN) elif npcId == SAILREN : SailrenManager.getInstance().setCubeSpawn() if not st: return st.exitQuest(1) return # Quest class and state definitionQUEST = sailren(-1, "sailren", "ai") # Quest NPC starter initializationQUEST.addStartNpc(STATUE)QUEST.addTalkId(STATUE)QUEST.addKillId(VELOCIRAPTOR)QUEST.addKillId(PTEROSAUR)QUEST.addKillId(TYRANNOSAURUS)QUEST.addKillId(SAILREN)
whats wrong? something with core?Line: -1 - Column: -1
compilation failed
only L2EMU`s one works.