Авторизация

Войдите, используя свой логин и пароль:

  • Страница 1 из 1
  • 1
Модератор форума: BlesseNtumble  
Форум » Lineage 2 "Java" » Дополнения к серверам » Ивент Нападение монстров на город (Python) (Ивент)
Ивент Нападение монстров на город (Python)
Отправлено 17.07.2012 - 18:431
Пользователи
222 сообщений
Мужчина
Статус: Offline
Вот собственно скрипт

Code

#[script]
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.model.quest.jython import QuestJython as JQuest
from net.sf.l2j.util import Rnd
from java.lang import System
from net.sf.l2j.gameserver import Announcements
from net.sf.l2j.gameserver.model import L2CharPosition
from net.sf.l2j.gameserver.ai import CtrlIntention

MOBS = [18008,20830,21087,22123,22126,22132]

class ahosey(JQuest):   

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

    def init_LoadGlobalData(self) :
      self.startQuestTimer("gogogo", 600000, None, None) #600000
      return   

    def onAdvEvent (self,event,npc,player) :
      start = self.loadGlobalQuestVar("start")

      if event == "gogogo":   
        Announcements.getInstance().announceToAll(u"\u0422\u043E\u043B\u043F\u044B \u043C\u043E\u043D\u0441\u0442\
\u0440\u043E\u0432 \u0441\u043E\u0431\u0438\u0440\u0430\u044E\u0442\u0441\u044F \u0432\u043E\u0437\u043B\u0435 \
\u0413\u0438\u0440\u0430\u043D\u0430, \u043D\u0443\u0436\u043D\u043E \u0437\u0430\u0449\u0438\u0442\u0438\u0442\
\u044C \u0436\u0438\u0442\u0435\u043B\u0435\u0439")
        self.startQuestTimer("first", 1000, None, None)
        self.cancelQuestTimer("gogogo",None,None)

      elif event == "first":   
        self.addSpawn(18008,80870,142381,-3545,40240,False,600000)
        self.addSpawn(18008,81062,142356,-3558,40240,False,600000)
        self.addSpawn(18008,81311,142389,-3580,40240,False,600000)
        self.addSpawn(18008,80586,142520,-3544,40240,False,600000)
        self.addSpawn(18008,80699,143015,-3539,40240,False,600000)
        self.startQuestTimer("second", 90000, None, None)
        self.cancelQuestTimer("first",None,None)

      elif event == "second":
        Announcements.getInstance().announceToAll(u"\u041C\u043E\u043D\u0441\u0442\u0440\u044B \u043F\u0440\u043E\
\u0440\u0432\u0430\u043B\u0438\u0441\u044C \u0432\u043D\u0443\u0442\u0440\u044C \u0413\u0438\u0440\u0430\u043D\
\u0430, \u043D\u0443\u0436\u043D\u043E \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044C \u0436\u0438\u0442\u0435\
\u043B\u0435\u0439!")   
        self.addSpawn(20830,81501,144672,-3532,40240,False,600000)
        self.addSpawn(20830,81318,144467,-3532,40240,False,600000)
        self.addSpawn(20830,81691,144601,-3532,40240,False,600000)
        self.addSpawn(20830,81682,145161,-3532,40240,False,600000)
        self.addSpawn(20830,81494,145410,-3532,40240,False,600000)
        self.startQuestTimer("runners", 60000, None, None)
        self.cancelQuestTimer("second",None,None)

      elif event == "runners":   
        one = self.addSpawn(21087,84064,143774,-3404,40240,False,600000)
        one.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, L2CharPosition(84043,146812, -3404, 0 ))
        two = self.addSpawn(21087,83992,143770,-3404,40240,False,600000)
        two.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, L2CharPosition(84083,146882, -3404, 0 ))
        three = self.addSpawn(21087,83928,143864,-3404,40240,False,600000)
        three.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, L2CharPosition(84013,146907, -3404, 0 ))
        four = self.addSpawn(21087,83812,143816,-3404,40240,False,600000)
        four.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, L2CharPosition(83963,146907, -3404, 0 ))
        five = self.addSpawn(21087,83707,143796,-3404,40240,False,600000)
        five.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, L2CharPosition(83944,146860, -3404, 0 ))
        self.startQuestTimer("threee", 30000, None, None)
        self.cancelQuestTimer("runners",None,None)

      elif event == "threee":   
        Announcements.getInstance().announceToAll(u"\u041C\u043E\u043D\u0441\u0442\u0440\u044B \u0443\u0436\u0435 \
\u043D\u0430 \u043F\u043B\u043E\u0449\u0430\u0434\u0438 \u0413\u0438\u0440\u0430\u043D\u0430, \u0433\u043E\u0440\
\u043E\u0434 \u043E\u0441\u0430\u0436\u0434\u0435\u043D, \u043D\u0443\u0436\u043D\u043E \u0437\u0430\u0449\u0438\
\u0442\u0438\u0442\u044C \u0436\u0438\u0442\u0435\u043B\u0435\u0439!")
        self.addSpawn(22123,84044,147687,-3397,40240,False,600000) #22122   
        self.addSpawn(22126,83876,147619,-3397,40240,False,600000)
        self.addSpawn(22132,83645,147697,-3532,40240,False,600000)
        self.addSpawn(22132,83321,147765,-3461,40240,False,600000)
        self.addSpawn(22132,83147,147708,-3461,40240,False,600000)
        self.addSpawn(22132,82326,148188,-3495,40240,False,600000)
        self.addSpawn(22132,82292,148348,-3459,40240,False,600000)
        self.addSpawn(22132,82586,148586,-3461,40240,False,600000)
        self.startQuestTimer("fourr", 20000, None, None)
        self.cancelQuestTimer("threee",None,None)

      elif event == "fourr":
        self.addSpawn(22123,82499,148781,-3461,40240,False,600000) #22122   
        self.addSpawn(22126,82649,148956,-3461,40240,False,600000)
        self.addSpawn(18008,83042,149010,-3461,40240,False,600000)
        self.addSpawn(18008,83337,148802,-3397,40240,False,600000)
        self.addSpawn(18008,82942,148651,-3461,40240,False,600000)
        self.addSpawn(18008,82260,148478,-3459,40240,False,600000)
        self.addSpawn(18008,81795,148044,-3495,40240,False,600000)
        self.addSpawn(18008,81891,147743,-3461,40240,False,600000)
        self.startQuestTimer("fivee", 60000, None, None)
        self.cancelQuestTimer("fourr",None,None)

      elif event == "fivee":
        Announcements.getInstance().announceToAll(u"\u041F\u0440\u0435\u0434\u0432\u043E\u0434\u0438\u0442\u0435\u043B\
\u044C \u043C\u043E\u043D\u0441\u0442\u0440\u043E\u0432 \u043F\u0440\u043E\u0440\u0432\u0430\u043B\u0441\u044F \u0432 \
\u0446\u0435\u0440\u043A\u043E\u0432\u044C \u0413\u0438\u0440\u0430\u043D\u0430, \u043D\u0443\u0436\u043D\u043E \u0437\
\u0430\u0449\u0438\u0442\u0438\u0442\u044C \u0436\u0438\u0442\u0435\u043B\u0435\u0439!")   
        self.addSpawn(22123,84442,148621,-3428,40240,False,600000) #22122   
        self.addSpawn(22126,84440,148573,-3394,40240,False,600000)
        self.addSpawn(18008,84428,148680,-3394,40240,False,600000)
        self.addSpawn(22132,84534,148660,-3394,40240,False,600000)
        self.addSpawn(22132,84521,148618,-3428,40240,False,600000)   
        self.addSpawn(18008,84511,148571,-3394,40240,False,600000)
        self.startQuestTimer("boss", 10000, None, None)
        self.cancelQuestTimer("fivee",None,None)

      elif event == "boss":
        self.addSpawn(29065,85980,148619,-3428,40240,False,600000)
        self.cancelQuestTimer("boss",None,None)
      return

    def onKill(self,npc,player,isPet):
      st = player.getQuestState("airin")
      npcId = npc.getNpcId()
      name = player.getName()
      start = self.loadGlobalQuestVar("start")

      if npcId == 29065 and start == "1":   
        Announcements.getInstance().announceToAll(u"\u0413\u043B\u0430\u0432\u0430\u0440\u044C \u043C\u043E\u043D\u0441\
\u0442\u0440\u043E\u0432 \u043F\u043E\u0432\u0435\u0440\u0436\u0435\u043D, \u0438\u0433\u0440\u043E\u043A "+name+u" \u043D\
\u0430\u043D\u0435\u0441 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0443\u0434\u0430\u0440!")
        Announcements.getInstance().announceToAll(u"\u041C\u043E\u043D\u0441\u0442\u0440\u044B \u043E\u0442\u0441\u0442\u0443\u043F\u0430\u044E\u0442!")
        st.giveItems(4037,100)
        st.giveItems(4357,50)

      elif npcId in MOBS and start == "1":
        st.giveItems(4357,25)   
      return   

QUEST = ahosey(-1,"ahosey","tvtevent")   

QUEST.addKillId(29065)   

for i in MOBS:   
   QUEST.addKillId(i)

Добавлено (17.07.2012, 18:43)
---------------------------------------------
Суть: В определённое время (часы/минуты) появляется анонс о старте ивента, через 1 минуту (конфиг) появляется в случайном 1 городе мира Lineage (города указывать в конфиге) случайный 1 рейд босс/монстр (указывать в конфиге).
- На монстра нельзя использовать умения лечения (конфиг, и id умений тоже можно самостоятельно изменить).
- Игрок который попытался наложить умения хила или любое другое умение которое указано в конфиге - получает фриз(неподвижность).
- Игрок который нанёс последний удар по монстру получает свою награду (конфиг: (ид, количество, шанс)).
- Игрок который нанёс последний удар по монстру анонсируется в чат.
- перед появлением РБ сначало идет несколько волн мобов.
Разработка l2-scripts.ru

Профиль Личное сообщение Дом. страница icq
7
Отправлено 05.08.2012 - 08:142
Пользователи
26 сообщений
Мужчина
Статус: Offline
Всё запускается без ошибок,анонс проходит что мобы появились,но мобов нет.Куда копать подскажите,сборка L2jServer.
Профиль Личное сообщение Дом. страница icq
0
Отправлено 05.08.2012 - 12:383
Пользователи
120 сообщений
Мужчина
Статус: Offline
В скрипте же написаны id мобов. " MOBS = [18008,20830,21087,22123,22126,22132]" вот они, если у тебя их в базе нет то впиши туда id мобов которых есть. Ну а если хочешь что то свое то сделай своих мобов с такими id .
Профиль Личное сообщение Дом. страница icq
8
Отправлено 05.08.2012 - 18:494
Пользователи
26 сообщений
Мужчина
Статус: Offline
всё отработало на отлично но вот st.giveItems(4037,100) st.giveItems(4357,50) не выдаёт,данные итемы в базе имеются.
Профиль Личное сообщение Дом. страница icq
0
Отправлено 05.08.2012 - 21:155
Пользователи
128 сообщений
Мужчина
Статус: Offline
попробуй метод addItem(id, count) как правило импорт из functions.script , но советую посмотреть
Профиль Личное сообщение Дом. страница icq
12
Отправлено 06.08.2012 - 07:216
Пользователи
26 сообщений
Мужчина
Статус: Offline
ок попробую, отпишусь.

Добавлено (06.08.2012, 07:21)
---------------------------------------------
Какая строка в скрипте отвечает за продолжительность эвента и его повтор?Или он разовый только после рестарта?
Профиль Личное сообщение Дом. страница icq
0
Отправлено 06.08.2012 - 10:007
Пользователи
222 сообщений
Мужчина
Статус: Offline
он в день один раз происходит
Профиль Личное сообщение Дом. страница icq
7
Отправлено 06.08.2012 - 17:008
Пользователи
26 сообщений
Мужчина
Статус: Offline
У меня через час опять начался.В скрипте ничего не менял.Но это пол беды это я решу,а вот продолжительность сколько?

Добавлено (06.08.2012, 17:00)
---------------------------------------------
Очень надо подскажите.

Профиль Личное сообщение Дом. страница icq
0
Отправлено 06.08.2012 - 20:499
Пользователи
528 сообщений
Мужчина
Статус: Offline
self.addSpawn(18008,84511,148571,-3394,40240,False,600000) - время респавна
self.startQuestTimer("boss", 10000, None, None) - время спавна босса
регулируй увеличением/уменьшением времени спавна и т.п.
Нужна помощь? Обращайся!
http://flash-dev.in.ua
Профиль Личное сообщение Дом. страница icq
49
Отправлено 07.08.2012 - 13:3810
Пользователи
26 сообщений
Мужчина
Статус: Offline
А где настройка что он 1 раз в день происходит?
Профиль Личное сообщение Дом. страница icq
0
Отправлено 07.08.2012 - 13:5011
Пользователи
600 сообщений
Мужчина
Статус: Offline
kos777, тк ты эти конфигом и выстави.
Ставьте +, а то помогать не буду больше...
Профиль Личное сообщение Дом. страница icq
66
Отправлено 07.08.2012 - 13:5412
Пользователи
26 сообщений
Мужчина
Статус: Offline
Всё ясно спасибо за помощь.
Профиль Личное сообщение Дом. страница icq
0
Отправлено 08.08.2012 - 12:5213
Пользователи
6 сообщений
Мужчина
Статус: Offline
Я не пойму куда этот скрипт кидать?
Профиль Личное сообщение Дом. страница icq
0
Отправлено 09.08.2012 - 21:5514
Пользователи
41 сообщений
Мужчина
Статус: Offline
Если на Phoenix импорты изменить, работать будет?
Спрашивайте - чем смогу - тем помогу!
Заходите ко мне на BymerOK.3dn.Ru
Фильмы в HD Smo.3dn.ru бесплатно
Профиль Личное сообщение Дом. страница icq
0
Отправлено 09.08.2012 - 23:1915
Пользователи
222 сообщений
Мужчина
Статус: Offline
возможно тока там много чего переделать придеться)
Профиль Личное сообщение Дом. страница icq
7
Форум » Lineage 2 "Java" » Дополнения к серверам » Ивент Нападение монстров на город (Python) (Ивент)
  • Страница 1 из 1
  • 1
Поиск: