Пишу евент (Буду просби помощи писать сюда) - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:Чтобы не создавать 9999 разных тем

Ответ
Опции темы
Непрочитано 01.04.2012, 17:25   #1
Аватар для La2Riviera
Пользователь

Автор темы (Топик Стартер) Пишу евент (Буду просби помощи писать сюда)

Такс пишу евент аля ДоТа.
За исходник взял ctf евент так как больше всего подходит.
Сделал спавн турелек и зданий. Защитил их.
1 что мне надо помочь:

Код:
 def onAttack (self,npc,player,damage,isPet):
  npcId = npc.getNpcId()
  if npcId == BASE2 and player.getName() not in TEAM1 :
     player.reduceCurrentHp(9999,player)
Как мне сделеать нечто похожее

Код:
 def onAttack (self,npc,player,damage,isPet):
  npcId = npc.getNpcId()
  if npcId == BASE2 and npcId == TURD1 "Как написать тут проверку на то жив ли тот нпц или нет" :
     player.reduceCurrentHp(9999,player)
Мне надо сделать так чтобы люди не били базу пока Турельки живи.
сли нпцид == база2 и нпцид == турелька1 жива
то хп чудика который атакует ее -9999
La2Riviera вне форума Ответить с цитированием
Непрочитано 01.04.2012, 17:27   #2
Изгнанные

По умолчанию Re: Пишу евент (Буду просби помощи писать сюда)

npcId == BASE2 and npcId == TURD1

Так не будет никогда если BASE2 != TURD1

А вообще возможно проверить если жив или нет с помощью !npc.isDead()
Может помочь.
L2scripts-Guard вне форума Отправить сообщение для L2scripts-Guard с помощью Skype™ Ответить с цитированием
Непрочитано 01.04.2012, 17:28   #3
Аватар для La2Riviera
Пользователь

Автор темы (Топик Стартер) Re: Пишу евент (Буду просби помощи писать сюда)

iqman, это что такое? О_О
Код:
//delete 2min
La2Riviera вне форума Ответить с цитированием
Непрочитано 01.04.2012, 17:30   #4
Изгнанные

По умолчанию Re: Пишу евент (Буду просби помощи писать сюда)

Опять не совсем то пишу, что же такое со мной сегодня ))

Добавлено через 2 минуты
У меня вопрос, турелька одна в мире или несколько?

Добавлено через 2 минуты
Так-же в скрипте ее спавните? вообще как ее спавн происходит?

Последний раз редактировалось L2scripts-Guard; 01.04.2012 в 17:32. Причина: Добавлено сообщение
L2scripts-Guard вне форума Отправить сообщение для L2scripts-Guard с помощью Skype™ Ответить с цитированием
Непрочитано 01.04.2012, 17:34   #5
Аватар для La2Riviera
Пользователь

Автор темы (Топик Стартер) Re: Пишу евент (Буду просби помощи писать сюда)

еще вопрос.
Код:
 def onAttack (self,npc,player,damage,isPet):
  npcId = npc.getNpcId()
  if npcId == BASE2 and player.getName() not in TEAM1 :
     player.reduceCurrentHp(9999,player)
  if npcId == TURD1 and player.getName() not in TEAM1 :
     player.reduceCurrentHp(9999,player)
  if npcId == TURD2 and player.getName() not in TEAM1 :
     player.reduceCurrentHp(9999,player)
  if npcId == TURD3 and player.getName() not in TEAM1 :
     player.reduceCurrentHp(9999,player)
  if npcId == INHD and player.getName() not in TEAM1 :
     player.reduceCurrentHp(9999,player)
  if npcId == BASE1 and player.getName() not in TEAM2 :
     player.reduceCurrentHp(9999,player)
  if npcId == TURL1 and player.getName() not in TEAM2 :
     player.reduceCurrentHp(9999,player)
  if npcId == TURL2 and player.getName() not in TEAM2 :
     player.reduceCurrentHp(9999,player)
  if npcId == TURL3 and player.getName() not in TEAM2 :
     player.reduceCurrentHp(9999,player)
  if npcId == INHL and player.getName() not in TEAM2 :
     player.reduceCurrentHp(9999,player)
  return
Почему эта фишка работает ток на BASE1/2.
Просто когда я в команде 1 и бью свою вышку то мну не убивает 0_0 (думал мб напутал тим1/2 но нет когда бью вышку противника то тоже не убивает)

Добавлено через 48 секунд
iqman, Спавн вот так.
Код:
      Announcements.getInstance().announceToAll("Event "+str(NAME)+" has started!")
      npc.deleteMe()
      npc1=self.addSpawn(BASE1,t1[0],t1[1],t1[2],30000,False,0)
      npc2=self.addSpawn(BASE2,t2[0],t2[1],t2[2],30000,False,0)
      npc3=self.addSpawn(TURL1,lt1[0],lt1[1],lt1[2],3600000,False,0)
      npc4=self.addSpawn(TURL2,lt2[0],lt2[1],lt2[2],3600000,False,0)
      npc5=self.addSpawn(TURL3,lt3[0],lt3[1],lt3[2],3600000,False,0)
      npc6=self.addSpawn(INHL,li[0],li[1],li[2],900000,False,0)
      npc7=self.addSpawn(TURD1,dt1[0],dt1[1],dt1[2],3600000,False,0)
      npc8=self.addSpawn(TURD2,dt2[0],dt2[1],dt2[2],3600000,False,0)
      npc9=self.addSpawn(TURD3,dt3[0],dt3[1],dt3[2],3600000,False,0)
      npc10=self.addSpawn(INHD,di[0],di[1],di[2],900000,False,0)
И их всего 6 + инхибитора 2 + 2 базы

Последний раз редактировалось La2Riviera; 01.04.2012 в 17:35. Причина: Добавлено сообщение
La2Riviera вне форума Ответить с цитированием
Непрочитано 01.04.2012, 17:36   #6
Изгнанные

По умолчанию Re: Пишу евент (Буду просби помощи писать сюда)

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

Добавлено через 2 минуты
Ок, обозначаем спавны как глобалы, и тогда можем ими пользоваться в любом методе (нужно вроде в каждом методе их декларировать), и используем !npcX.isDead()
X = Ваш обозначенный НПЦ
НЕ работал года 2 с путоном, забыл уже почти все, буду рад если кто-то сможет помочь тут больше меня =)

Последний раз редактировалось L2scripts-Guard; 01.04.2012 в 17:38. Причина: Добавлено сообщение
L2scripts-Guard вне форума Отправить сообщение для L2scripts-Guard с помощью Skype™ Ответить с цитированием
Непрочитано 01.04.2012, 17:42   #7
Аватар для La2Riviera
Пользователь

Автор темы (Топик Стартер) Re: Пишу евент (Буду просби помощи писать сюда)

iqman, спс щас попробуем )

Добавлено через 1 минуту
У нас тут ! задает параметр НЕ да?

Добавлено через 7 минут
Разобрался почему не работало
Код:
 if npcId == TURD3 and player.getName() not in TEAM1 :
     player.reduceCurrentHp(9999,player)
Забыл
Код:
QUEST.addKillId(int(TURD3))
QUEST.addAttackId(int(TURD3))
QUEST.addSkillUseId(int(TURD3))
Добавлено через 29 минут
!npcX.isDead()
Вместо Х
должен быть именно ИД нпц да? нельзя вписать переменную что я ввел
TURD3

Последний раз редактировалось La2Riviera; 01.04.2012 в 18:11. Причина: Добавлено сообщение
La2Riviera вне форума Ответить с цитированием
Непрочитано 01.04.2012, 18:14   #8
Изгнанные

По умолчанию Re: Пишу евент (Буду просби помощи писать сюда)

npc1 - npc10
Смотря какой НПЦ инстанс проверяете.
L2scripts-Guard вне форума Отправить сообщение для L2scripts-Guard с помощью Skype™ Ответить с цитированием
Непрочитано 01.04.2012, 18:37   #9
Аватар для La2Riviera
Пользователь

Автор темы (Топик Стартер) Re: Пишу евент (Буду просби помощи писать сюда)

А все врубился спс )
La2Riviera вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не знаю куда уже писать?? 1pts Игровой клиент 2 30.01.2012 18:33
Какие статы сюда писать для х75 сервер Franklin World of WarCraft 8 18.09.2011 18:28
Буду спонсором Проекта WoW Ivan112 Рынок / Marketplace 0 25.09.2010 18:39
Я больше так не буду... =) Рамзессусс О форуме / About Zone-Game 2 07.02.2010 13:56
немогут законектица на мой серв // нимагу в чат писать по-русски sheff Lineage II 7 24.08.2009 22:21


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 07:04. Часовой пояс GMT +3.

Вверх