Пользователи
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
|
|
|
|
|