Новости

[Event] Нападение монстров на город (Python)

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

[СКриптт !!!!!] 
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("Толпы монстров собираются возле Гирана, нужно защитить жителей!")
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("Монстры прорвались внутрь Гирана, нужно защитить жителей!")
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("Монстры уже на площади Гирана, город осажден, нужно защитить жителей!")
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("Предводитель монстров прорвался в церковь Гирана, нужно защитить жителей!")
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("Главарь монстров повержен, игрок "+name+" нанес последний удар!")
Announcements.getInstance().announceToAll("Монстры отступают!")
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")
CREATED = State('Start',QUEST)

QUEST.setInitialState(CREATED)

QUEST.addKillId(29065)

for i in MOBS:
QUEST.addKillId(i)

Ссылки на скачивания дотупны только зарегистрированным пользователям.
[ Регистрация | Вход ]
1 2 »
anahrona
anahrona | Среда 10.07.2013 02:46
тю ..... автор всех обманул из всего списка евентов 2 какието левые пойдут и то на интерлюдях если в серве порыться они там стандартные будут, опять народ разводят, а я уж было обрадовалась))

anahrona
anahrona | Среда 10.07.2013 02:30
Да ни как обычным блокнотом такое не скоректируешь скрипт можь и пашет, но данной кодировкой он кританет сервер или лог с ошибкой создаст. автор крепи к вышесказаному txt с норм кодировкой.

Shwarz
Shwarz | Понедельник 24.09.2012 09:27
Quote
Это скрипт копируйте и вставляйте !

- Вопрос был "Куда это заливать.." Ответ оригинальный, копируйте скрипт )

hlorka
hlorka | Суббота 28.01.2012 22:03
Добрая Хлора сделал скрипт более наглядным. Скачиваем и ставим:
Доступно только для пользователей

pratotip
pratotip | Воскресенье 29.01.2012 18:28
Привет а скрипт нападение монстров на город рабочий
и есть ещё какие скрипты

kronl2
kronl2 | Среда 13.02.2013 01:03
Добрая хлора, не могла бы ты перезалить файл )))

hrach9779
hrach9779 | Суббота 24.12.2011 16:42
ПОМОГИТЕ КАК ПОСТАВИТЬ ЭТОТ СКРИПТ((( Скайп hrach9779 я плачу 200Р если поможете((

Goldi
Goldi | Понедельник 31.10.2011 12:02
Отличный скрипт.

klopsik
klopsik | Воскресенье 25.09.2011 08:43
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) Вот тут пишет не тот синтаксисхотя в других квестах тоже самое но работает!Кто самій умній может переделает? cry

klopsik
klopsik | Воскресенье 25.09.2011 08:41
А на high five че то не идет

ifromusa
ifromusa | Воскресенье 18.09.2011 23:19
небось без исходников не обойтись?)

name23
name23 | Воскресенье 18.09.2011 15:52
Но евент оч хороший украсит сервер !

1-10 11-13

HTML

BB-Code

Ссылка

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Minecraft


Lineage 2


Кто тут онлайн


Онлайн всего: 1
Гостей: 1
Пользователей: 0