Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Квесты/L2base платная. Эвент Пекло
Search

L2base платная. Эвент Пекло

17 replies618 viewsCurrently viewing: 1
mihey888
mihey888

User

Бывалый

Posts: 358

На форуме с: 06/27/2007

Репутация: +64

Рейтинг: 0

· 08/24/2009, 10:11 AM

Собственно после запуска сервера эвент провелся нормально, но второй раз народ не портануло, после проверки места телепортации оказалось что моб стоит и ждет своих бойцов. Ниже выкладываю ошибку и сам __init__.py

Раскрывающийся текст
Цитата
WARNING: D:\Lineage II\x3333\data\scripts\quests\5555_Peklo\__init__.py
java.lang.NullPointerException
at net.sf.l2j.gameserver.model.L2Character.teleToLocation(L2Character.java:401)
at net.sf.l2j.gameserver.model.L2Character.teleToLocation(L2Character.java:425)
at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(Unknown Source)
at org.python.core.PyMethod.__call__(Unknown Source)
at org.python.core.PyObject.__call__(Unknown Source)
at org.python.core.PyObject.invoke(Unknown Source)
at org.python.pycode.serializable._pyx1251098604648.onAdvEvent$5(__init__.py:108)
at org.python.pycode.serializable._pyx1251098604648.call_function(__init__.py)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyTableCode.call(Unknown Source)
at org.python.core.PyFunction.__call__(Unknown Source)
at org.python.core.PyMethod.__call__(Unknown Source)
at org.python.core.PyObject.__call__(Unknown Source)
at org.python.core.PyObject._jcallexc(Unknown Source)
at org.python.core.PyObject._jcall(Unknown Source)
at org.python.proxies.main$Quest$286.onAdvEvent(Unknown Source)
at net.sf.l2j.gameserver.model.quest.Quest.notifyEvent(Quest.java:299)
at net.sf.l2j.gameserver.model.quest.QuestTimer$ScheduleTimerTask.run(QuestTimer.java:38)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Сам инит:

Код
import sys
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.datatables import DoorTable
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
from net.sf.l2j.gameserver import Announcements
from net.sf.l2j import L2DatabaseFactory
from net.sf.l2j.gameserver.ai import CtrlIntention
from net.sf.l2j.util import Rnd
from java.lang import System

qn = "5555_Peklo"
ATTAKERS = []
tek = 0
nyj = 1
NAME = "peklo" # Название (только английские символы)
REGISTER = 55557 # Регистрирующий нпц. НЕ ЗАБЫВАЕМ ДЕЛАТЬ ЕГО БЕССМЕРТНЫМ.
locr = [82698,148638,-3473] # Соответственно координаты, где будет появляться НПЦ
PENI = 4037 # Итем, необходимый для участия
PENI_KOL = 0 # Сколько итемов необходимо для участия. Если хотите чтобы участие было бесплатным - поставте 0
TIME_FOR_WAIT = 90 # Время между ивентами в минутах
TIME_FOR_REG = 14 # Время на регистрацию в минутах
TEST_AFTER_RESTART = 10 # Время, через которое начнётся ивент после рестарта в минутах.
ANNOUNCE_INTERVAL = 2 # Как часто аннонсить о регистрации на ивент в минутах.
MOB = 55556 # Моб, которого надо убивать. С него ничего не должно дропаться. Желательно не менять, т.к. есть защита от незарегистрированных игроков.
locf = [98992,149040,-3240] # Соответственно координаты, где будет появляться 1 моб
RADIUS = 400 # Радиус появления мобов относительно 1 моба
MOB_R = 55555 #  Моб, при помощи которого выдаётся награда. Здесь должен быть прописан дроп.
YCH_MIN = 1 # Минимальное количество участников
YCH_MAX = 20 # Максимальное количество участников.
MOBS_TO_CHEL = 5 # Количество мобов на человека. Максимальное количество мобов, которое придётся убить участникам за последний заход= кл-во участников * на MOBS_TO_CHEL.
DOORS = [] # Пишем сюда список DoorId дверей через запятую, которые необходимо закрывать/открывать по началу/окончанию ивента. Или оставляем пустым.

class Quest (JQuest) :
tek=0
nyj=1
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

def init_LoadGlobalData(self) :
   self.saveGlobalQuestVar("annom", "1")
   closed = self.loadGlobalQuestVar("closed")
   self.saveGlobalQuestVar("count", "0")
   self.startQuestTimer("open", TEST_AFTER_RESTART *60000, None, None)
   return

def onTalk (Self,npc,player):
   npcId = npc.getNpcId()
   if npcId == REGISTER:
    if player not in ATTAKERS :
     kolych = 0
     for i in ATTAKERS :
      kolych = kolych + 1
     if kolych <= YCH_MAX :
      if PENI_KOL<>0:  
       if st.getQuestItemsCount(PENI)>PENI_KOL:
         st.takeItems(PENI,PENI_KOL)
         ATTAKERS.append(player)
         Self.saveGlobalQuestVar(str(player.getObjectId()), "in")
         return "reg.htm"
       else:
         st.exitQuest(1)
         return "nopeni.htm"
      else:
         ATTAKERS.append(player)
         Self.saveGlobalQuestVar(str(player.getObjectId()), "in")
         return "reg.htm"
     else:        
       return "max.htm"
    else:
     return "yje.htm"
   return

def onAdvEvent (self,event,npc,player):
   global tek
   global nyj
   global ATTAKERS
   closed = self.loadGlobalQuestVar("closed")
   annom = int(self.loadGlobalQuestVar("annom"))
   if event == "open" :
     self.saveGlobalQuestVar("closed", "0")
     self.saveGlobalQuestVar("annom", "1")
     npc=self.addSpawn(REGISTER,locr[0],locr[1],locr[2],30000,False,0)
     self.startQuestTimer("close", TIME_FOR_REG*60000, npc, None)
     self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None)
     Announcements.getInstance().announceToAll("Opened registration for "+str(NAME)+" event!")
   if event == "close":
    tek=0
    nyj=1
    self.startQuestTimer("open", TIME_FOR_WAIT*60000, None, None)
    kolych = 0
    for i in ATTAKERS :
      kolych = kolych + 1
    if kolych < YCH_MIN :
      npc.deleteMe()
      self.saveGlobalQuestVar("closed", "1")
      Announcements.getInstance().announceToAll("Event "+str(NAME)+" was canceled.")
    else:
      self.saveGlobalQuestVar("kolych", str(kolych))
      self.saveGlobalQuestVar("closed", "1")
      if DOORS<>[]:
       for i in DOORS:
        DoorTable.getInstance().getDoor(int(i)).closeMe()
      Announcements.getInstance().announceToAll("Event "+str(NAME)+" has started!")
      npc.deleteMe()
      self.addSpawn(MOB,locf[0],locf[1],locf[2],30000,False,600000)
      for i in ATTAKERS :
       if i.isOnline() :
        i.teleToLocation(98992,149040,-3240)
   if event == "announce" and closed=="0" and (TIME_FOR_REG - ANNOUNCE_INTERVAL * int(annom))<>0:
     Announcements.getInstance().announceToAll(str(TIME_FOR_REG - ANNOUNCE_INTERVAL * int(annom) ) + " minutes until event "+str(NAME)+" start!")
     self.saveGlobalQuestVar("annom", str(annom+1))
     self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None)
   if event == "return" :
     if DOORS<>[]:
       for i in DOORS:
        DoorTable.getInstance().getDoor(int(i)).openMe()
     self.saveGlobalQuestVar("count", "0")
     con=L2DatabaseFactory.getInstance().getConnection()
     delchars=con.prepareStatement("DELETE FROM `quest_global_data` WHERE quest_name='5555_Peklo' AND value='in'")
     try :
        delchars.executeUpdate()
        delchars.close()
        con.close()
     except :
        try : con.close()
        except : pass
     Announcements.getInstance().announceToAll("Event "+str(NAME)+" has ended!")
     for i in ATTAKERS :
       if i.isOnline() :
        i.teleToLocation(locr[0],locr[1],locr[2])
     ATTAKERS=[]
   if event == "exit" :
     ATTAKERS.remove(player)
     con=L2DatabaseFactory.getInstance().getConnection()
     delchars=con.prepareStatement("DELETE FROM `quest_global_data` WHERE quest_name='5555_Peklo' AND var=?")
     delchars.setString(1, str(player.getObjectId()))
     try :
        delchars.executeUpdate()
        delchars.close()
        con.close()
     except :
        try : con.close()
        except : pass
     return "exit.htm"
   return

def onAttack (self,npc,player,damage,isPet):
  if player not in ATTAKERS :
   if self.loadGlobalQuestVar(str(player.getObjectId())) == "in" :
     ATTAKERS.append(player)
   else:
     player.teleToLocation(147725,-56517,9999)
  return

def onKill(self,npc,player,isPet):
  global tek
  global nyj
  mobcount=(MOBS_TO_CHEL * int(self.loadGlobalQuestVar("kolych")))
  tek=tek+1
  if tek==nyj and (2*nyj) < mobcount:
   for i in range(0,2*tek) :
      rand = Rnd.get(7)
      if rand in [0,4] :
        randx = 25*Rnd.get(20)
        randy = 25*Rnd.get(20)
      elif rand in [1,5] :
        randx = -25*Rnd.get(20)
        randy = -25*Rnd.get(20)
      elif rand in [2,6] :
        randx = 25*Rnd.get(20)
        randy = -25*Rnd.get(20)
      elif rand in [3,7] :
        randx = -25*Rnd.get(20)
        randy = 25*Rnd.get(20)
      self.addSpawn(MOB,locf[0] + randx, locf[1] + randy, locf[2]+100,30000,False,600000)
   nyj=2*tek
   tek=0
  elif tek==nyj and (2*nyj) > mobcount:
   for i in range(0,mobcount) :
      rand = Rnd.get(7)
      if rand in [0,4] :
        randx = 25*Rnd.get(20)
        randy = 25*Rnd.get(20)
      elif rand in [1,5] :
        randx = -25*Rnd.get(20)
        randy = -25*Rnd.get(20)
      elif rand in [2,6] :
        randx = 25*Rnd.get(20)
        randy = -25*Rnd.get(20)
      elif rand in [3,7] :
        randx = -25*Rnd.get(20)
        randy = 25*Rnd.get(20)
      self.addSpawn(MOB,locf[0] + randx, locf[1] + randy, locf[2]+100,30000,False,600000)
   nyj=mobcount+1
   tek=0
  elif tek==mobcount:
   for i in range(0,mobcount) :
      rand = Rnd.get(7)
      if rand in [0,4] :
        randx = 25*Rnd.get(20)
        randy = 25*Rnd.get(20)
      elif rand in [1,5] :
        randx = -25*Rnd.get(20)
        randy = -25*Rnd.get(20)
      elif rand in [2,6] :
        randx = 25*Rnd.get(20)
        randy = -25*Rnd.get(20)
      elif rand in [3,7] :
        randx = -25*Rnd.get(20)
        randy = 25*Rnd.get(20)
      npc = self.addSpawn(MOB_R,locf[0] + randx, locf[1] + randy, locf[2]+100,30000,False,600000)
      npc.reduceCurrentHp(9999999,player)
      npc.deleteMe()
   self.startQuestTimer("return", 120000, None, None)  
  return
    
QUEST = Quest(5555, qn, "Peklo")

QUEST.addKillId(int(MOB))
QUEST.addAttackId(int(MOB))
QUEST.addStartNpc(int(REGISTER))
QUEST.addTalkId(int(REGISTER))


Мои соображения:

Вот эта строчка: at org.python.pycode.serializable._pyx1251098604648.onAdvEvent$5(__init__.py:108)

а 108 строчка в инит.ру это: i.teleToLocation(98992,149040,-3240)

Но, перед ней стоит : if i.isOnline() :

Может ошибка возникает из за того что игрок зарегистрировался но вышел из игры? И как бы портовать его нужно, но его нету.

0
Baium
Baium

User

Бывалый

Posts: 103

На форуме с: 04/17/2009

Репутация: +292

Рейтинг: 0

· 08/24/2009, 10:32 AM

а ты добавь в квест проверку на онлайн, если его нет то удаляем его из участников
вот по примеру этого
i=L2World.getInstance().getPlayer()
if i<>None:
if not i.isOnline():
ATTAKERS.remove()

0
mihey888
mihey888

User

Бывалый

Posts: 358

На форуме с: 06/27/2007

Репутация: +64

Рейтинг: 0

· 08/24/2009, 02:28 PM

Baium: а ты добавь в квест проверку на онлайн, если его нет то удаляем его из участников
вот по примеру этого
i=L2World.getInstance().getPlayer()
if i<>None:
if not i.isOnline():
ATTAKERS.remove()


Помоги вставить, не могу понять в какое именно место.

0
Gradesk
Gradesk

User

Ветеран

Posts: 639

На форуме с: 04/09/2008

Репутация: +619

Рейтинг: 0

· 08/24/2009, 02:34 PM

Baium: а ты добавь в квест проверку на онлайн, если его нет то удаляем его из участников
вот по примеру этого
i=L2World.getInstance().getPlayer()
if i<>None:
if not i.isOnline():
ATTAKERS.remove()

Идейка хорошая но как раз проверка на онлайн по словам автора есть.
Тут в чём то другом.
Пока не могу более точно сказать, беглый взгляд.

Хотя...
Я правильно понял что после рестарта сервера эвент перестаёт работать? Или просто при повторном использовании?

0
mihey888
mihey888

User

Бывалый

Posts: 358

На форуме с: 06/27/2007

Репутация: +64

Рейтинг: 0

· 08/24/2009, 03:00 PM

При повторном использовании, тоесть первый раз после рестарта он прошел нормально, потом через 90 минут опять обьявления о начале. Все записались, но портануть игроков не портануло, хотя на месте где должен стоять моб, он стоял, причем все работает - имею ввиду защиту от левых незарегестрированных игроков.

Градеск, проверка на онлайн такая что:

если онлайн то дальше портуем туда то, НО!!!!!! если не онлайн то что? Данного параметра нету:

Код
      for i in ATTAKERS :
       if i.isOnline() :
        i.teleToLocation(locf[0],locf[1],locf[2])


Только что решил проверить на домашнем компе этот эвент.
В этот раз убрал проверку онлайна, тоесть просто стер эту строчку, чтобы её не было. Загрузил 2 чаров, записался обоими, одним вышел. Второй остался в игре. Эвент начался - чара не портануло.

Ошибка:

Код
24.08.2009 18:53:09 net.sf.l2j.gameserver.model.quest.Quest showError
WARNING: E:\Server La2Base PvP\data\scripts\quests\5555_Peklo\__init__.py
java.lang.NullPointerException
    at net.sf.l2j.gameserver.model.L2Character.teleToLocation(L2Character.java:401)
    at net.sf.l2j.gameserver.model.L2Character.teleToLocation(L2Character.java:425)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.python.core.PyReflectedFunction.__call__(Unknown Source)
    at org.python.core.PyMethod.__call__(Unknown Source)
    at org.python.core.PyObject.__call__(Unknown Source)
    at org.python.core.PyObject.invoke(Unknown Source)
    at org.python.pycode.serializable._pyx1251124148156.onAdvEvent$5(__init__.py:107)
    at org.python.pycode.serializable._pyx1251124148156.call_function(__init__.py)
    at org.python.core.PyTableCode.call(Unknown Source)
    at org.python.core.PyTableCode.call(Unknown Source)
    at org.python.core.PyTableCode.call(Unknown Source)
    at org.python.core.PyFunction.__call__(Unknown Source)
    at org.python.core.PyMethod.__call__(Unknown Source)
    at org.python.core.PyObject.__call__(Unknown Source)
    at org.python.core.PyObject._jcallexc(Unknown Source)
    at org.python.core.PyObject._jcall(Unknown Source)
    at org.python.proxies.main$Quest$18.onAdvEvent(Unknown Source)
    at net.sf.l2j.gameserver.model.quest.Quest.notifyEvent(Quest.java:299)
    at net.sf.l2j.gameserver.model.quest.QuestTimer$ScheduleTimerTask.run(QuestTimer.java:38)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)


И еще, может ошибка в том что тут указаны координаты:

Код
        i.teleToLocation(98992,149040,-3240)


вначале было так:

Код
        i.teleToLocation(locf[0],locf[1],locf[2])

0
Gradesk
Gradesk

User

Ветеран

Posts: 639

На форуме с: 04/09/2008

Репутация: +619

Рейтинг: 0

· 08/24/2009, 03:05 PM

нет, то что координаты указаны это нормально. Есть предположение что просто после повторного включения эвента не удаляются первоначальные параметры (список не чистится, моб не удаляется и тд и тп).
А то что иф не имеет конца это мелоч. Просто если чар не онлайн то ничего с ним делать и ненадо, по этому и действие описывать не стоит, ну можно допустим удалить его из списка... но это так... мелочи.

0
mihey888
mihey888

User

Бывалый

Posts: 358

На форуме с: 06/27/2007

Репутация: +64

Рейтинг: 0

· 08/24/2009, 03:17 PM

Тоесть можно попробовать полностью очистить все данные которые загрузил квест?

Есть другая версия пекла, там вот что:

Код
      for nm in ATTAKERS :
       i=L2World.getInstance().getPlayer(nm)
       try :
        if i.isOnline() :
         i.stopAllEffects()
         i.teleToLocation(locfp[0],locfp[1],locfp[2])
       except : pass


Что такое except : pass не подскажите случаем?

0
Gradesk
Gradesk

User

Ветеран

Posts: 639

На форуме с: 04/09/2008

Репутация: +619

Рейтинг: 0

· 08/24/2009, 03:22 PM

ммм... видил часто но не вдавался в подробности :).
Вообще это почти тоже самое что и иф. если условие верно то одно, если нет то другое, просто выглядит иначе. Но я могу сильно заблуждаться.

0
mihey888
mihey888

User

Бывалый

Posts: 358

На форуме с: 06/27/2007

Репутация: +64

Рейтинг: 0

· 08/24/2009, 04:10 PM

И кстати, данная ошибка возникла только из за того что второго чара который записался на эвент не было в онлайне. Сейчас вставил эту гадость в квест, проверю. Чуть позже отпишусь.

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 08/24/2009, 04:33 PM

Инстанс игрока надо всегда проверять на нуль перед какими-либо действиями (!!!)
В ошибке ясно сказано NPE - указатель на уже несуществующий объект.
Например на яве.

Код
// Из цепочки ~L2GameClientPacket~AbstractPacket~
if(getClient().getActiveChar() == null) return;


Цитата
except : pass

Это обработка исключений (аля try-catch / try-except итд).
pass в данном случае напоминает NOP в ассемблере (оператор который ничего не делает).
В данном случае стоит тут чисто синтаксически.

т.е При возникновении исключения ничего не делает, соответственно никаких ошибок в консоль не валит, и скрипт продолжает свою работу.
Не обрабатываемые-же исключения останавливают работу скрипта или потока.

— &#197;lderdom - ingen gl&#228;dje..

0
mihey888
mihey888

User

Бывалый

Posts: 358

На форуме с: 06/27/2007

Репутация: +64

Рейтинг: 0

· 08/24/2009, 06:56 PM

А вот и хорошая новость, третий раз рестарт нормально прошел. Проверил сам, кто зарегестрировался тот из игры не выходил. Тоесть все упирается в этот параметр. Я взял вторую версию квеста и взял из него ту часть которая отвечает за проверку онлайна и телепорт:

Код
      for nm in ATTAKERS :
       i=L2World.getInstance().getPlayer(nm)
       try :
        if i.isOnline() :
          i.teleToLocation(locf[0],locf[1],locf[2])
        except : pass


Но постоянно какая то ошибка:

Код
Traceback (innermost last):
  (no code object) at line 0
SyntaxError: ('invalid syntax', ('__init__.py', 127, 7, '      for nm in ATTAKERS :'))


либо по поводу:

Код
        if i.isOnline() :


Так и не могу понять что не так, но во второй версии квеста при таком же написании все нормально.

Abst, тоесть except : pass в конце данной операции явно указывает на то что если все таки есть ошибка, то квест в любом случае продолжать грузить дальше. Но как правильно поставить этот "except : pass"?

Если сделать так:

Код
      for i in ATTAKERS :
       if i.isOnline() :
          i.teleToLocation(locf[0],locf[1],locf[2])
       except : pass


Если можно обьясни для чего это делается:

Код
      for i in ATTAKERS :
       i=L2World.getInstance().getPlayer()



Abst, тоесть except : pass в конце данной операции явно указывает на то что если все таки есть ошибка, то квест в любом случае продолжать грузить дальше. Но как правильно поставить этот "except : pass"?

Если сделать так:

Код
      for i in ATTAKERS :
       if i.isOnline() :
          i.teleToLocation(locf[0],locf[1],locf[2])
       except : pass


Если можно обьясни для чего это делается:

Код
      for i in ATTAKERS :
       i=L2World.getInstance().getPlayer()



Если так стоит:

Код
      for i in ATTAKERS :
       i=L2World.getInstance().getPlayer()
       try :
        if i.isOnline() :
          i.teleToLocation(locf[0],locf[1],locf[2])
       except : pass


то ошибка:

Код
Traceback (innermost last):
  (no code object) at line 0
SyntaxError: ('invalid syntax', ('__init__.py', 127, 7, '      for i in ATTAKERS :'))

0
Gradesk
Gradesk

User

Ветеран

Posts: 639

На форуме с: 04/09/2008

Репутация: +619

Рейтинг: 0

· 08/24/2009, 07:08 PM

Спасибо "AbsT".
Я понял что к чему.
Mihey™ - мне кажется у тебя ошибка в порядке строк.
Я не знаю пока как словами объяснить, стукни в асю, поглядимс, решим.

В рации получается так:

Код
try:
   некое условие, действие, вообще всё.
except:
   если условие или действие было не верным (выдало какую либо ошибку по какой либо причине) то делать то что тут описано, в данном случаее использовать "pass" что означает ничего не делать :).


Но у тебя ошибки в отступах есть. И мне кажется строка "for i in ATTAKERS :" должна быть под строкой "i=L2World.getInstance().getPlayer()" и соответственно отступы правильно выставить надо.

Так что стукни в асю, разберёмся. Мне аш самому стало интересно...

0
Макс
Макс

User

Участник

Posts: 70

На форуме с: 09/30/2007

Репутация: +560

Рейтинг: 0

· 08/25/2009, 05:38 PM

for i in ATTAKERS :
o=L2World.getInstance().getPlayer(i)
if o.isOnline() :
i.teleToLocation(98992,149040,-3240)

0
U
Uphill
· 11/20/2009, 07:01 PM

ну как получилось? у меня проблема с ним такая.

1) Начинается евент, портует игроков. Если 1 зареган появляется 1 моб... если 2 портануло то все равно 1 моб...
2) Защита от незарегенных не работает... начался евент я присумонил второго чара и вместе убили мобов.
3) Если мобы убивают чаров - то ничего дальше не происходит...

0
U
Uphill
· 11/21/2009, 01:29 AM

чутка поделал, теперь у меня такая тема - убиваешь мобов, и все равно они выиггграли!!!

0
Игорь
Игорь

User

Бывалый

Posts: 184

На форуме с: 09/19/2007

Репутация: +280

Рейтинг: 0

· 11/21/2009, 04:01 AM

Uphill: чутка поделал, теперь у меня такая тема - убиваешь мобов, и все равно они выиггграли!!!

ну так смотри что ты там изменял

L2NextGen
http://www.l2nextgen.ru

0
U
Uphill
· 11/23/2009, 06:48 PM

поставил другую версию, все норм

0
Войдите или зарегистрируйтесь чтобы ответить