Перейти к содержанию
Авторизация  
iMaximus

Эвенты Ласт Херо И Пекло Для Фрозен

Рекомендуемые сообщения

Есть у кого??? сколько не менял импорты никак не получается если есть у кого скинте пожалуйста)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Есть у кого??? сколько не менял импорты никак не получается если есть у кого скинте пожалуйста)

ап

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ап

 

---Last Hero---

Скрытый текст
import sys

from com.l2jfrozen.gameserver.model.quest import State

from com.l2jfrozen.gameserver.model.quest import QuestState

from com.l2jfrozen.gameserver.model.quest import Quest

from com.l2jfrozen.gameserver.datatables import DoorTable

from com.l2jfrozen.gameserver.datatables import SkillTable

from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest

from com.l2jfrozen.gameserver import Announcements

from com.l2jfrozen import L2DatabaseFactory

from com.l2jfrozen.gameserver.ai import CtrlIntention

from com.l2jfrozen.util.random import Rnd

from java.lang import System

from com.l2jfrozen.gameserver.model import L2World

from com.l2jfrozen.gameserver.model.actor.instance import L2DoorInstance

from com.l2jfrozen.gameserver.datatables import DoorTable;

 

qn = "777_LastHero"

# =======================================#

# Настройки #

# =======================================#

# Название Эвента (только английские символы)

Event_name = u"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0413\u0435\u0440\u043e\u0439"

 

# Город, в котором вы хотите поставить регистрирующего НПЦ.

StartLocation = u"\u0413\u0438\u0440\u0430\u043d"

 

# ID-номер регистрирующего нпц

Reg_Npc = 99998

 

# Координаты, где будет появляться регистрирующий НПЦ

StartNpcCoordinat = [82840,149361,-3469]

 

# Вещи, необходимый для участия в Эвенте.

# Формат записи [itemId1,itemId2,....]

Price = [6673]

 

# Сколько заданных вещей необходимых для участия в Эвенте. Если хотите чтобы участие было бесплатным - поставте 0.

# Формат записи [itemId1_count,itemId2_count,....]

Price_count = [0]

 

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

Min_level = 40

 

# Через какое время эвент запустится после рестарта сервера.(указывать в секундах)

Time_to_start_after_restart = 300

 

# Через какое время после телепортации на эвент начнеться битва.(указывать в секундах)

Time_to_wait_battle = 30

 

# Длительность эвента. (указывать в минутах)

EVENT_INTERVAL = 7

 

# Время между Эвентами.(указывать в минутах)

Time_to_next_start = 360

 

# Время на регистрацию.(указывать в минутах)

Time_for_regestration = 10

 

# Как часто аннонсить о регистрации на Эвент.(указывать в секундах)

Announce_reg_delay = 60

 

# Минимальное количество игроков(не меньше 2).

Min_participate_count = 2

 

# Максимальное количество игроков.

Max_participate_count = 80

 

# Список наград при победе в эвенте. Выдаётся каждому игроку.

# Формат записи: [[itemId1,count1,chance1],[itemId2,count2,chanceN],...]

Rewards = [[4356,500,100],[6393,100,100]]

 

# Координаты точки куда будут телепортироваться игроки.

Teleport_coordinat = [149438, 46785, -3413]

 

# Двери которые будут закрываться на периоод прохождения эвента.

# Формат записи: [Door_id1,Door_id2,...]

Doors = [24190002,24190003]

 

 

# ================Неизменять================ #

lastPlayers = []

lastX = []

lastY = []

lastZ = []

closed = 1

Players = []

Deadplayers = []

annom = 1

f = 0

# ========================================== #

 

print "LastHero:....................................Initialized"

 

class Quest (JQuest) :

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

 

def init_LoadGlobalData(self) :

self.startQuestTimer("open_reg", Time_to_start_after_restart *1000, None, None)

return

 

def onTalk (Self,npc,player):

global Players,closed

st = player.getQuestState(qn)

npcId = npc.getNpcId()

if npcId == Reg_Npc:

if closed<>1:

if not player.isInOlympiadMode() :

if player.getLevel() >= Min_level:

if player.getName() not in Players:

if len(Players) <= Max_participate_count :

if Price_count[0]<>0:

if st.getQuestItemsCount(Price[0])>Price_count[0]:

st.takeItems(Price[0],Price_count[0])

Players.append(player.getName())

return "reg.htm"

else:

st.exitQuest(1)

return "noPrice.htm"

else:

Players.append(player.getName())

return "reg.htm"

else:

return "max.htm"

else:

return "yje.htm"

else:

return "lvl.htm"

else:

return "You register in olympiad games now"

else:

return "noreg.htm"

return

 

def onAdvEvent (self,event,npc,player):

global Deadplayers,Players,annom,closed,Doors,lastPlayers,lastX,lastY,lastZ,f,n

if event == "open_reg" :

closed = 0

annom = 1

lastPlayers = []

Players = []

Deadplayers = []

lastX = []

lastY = []

lastZ = []

npc = self.addSpawn(Reg_Npc,StartNpcCoordinat[0],StartNpcCoordinat[1],StartNpcCoordina

t[2],30000,False,0)

self.startQuestTimer("wait_battle", Time_for_regestration*60000, npc, None)

self.startQuestTimer("announce", Announce_reg_delay*1000, None, None)

Announcements.getInstance().announceToAll(u"\u041e\u0442\u043a\u0440\u044b\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0430 \u044d\u0432\u0435\u043d\u0442 "+str(Event_name)+ u"! \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0432 \u0433\u043e\u0440\u043e\u0434\u0435 "+str(StartLocation)+".")

if event == "start_event":

if len(Players)< Min_participate_count :

closed=1

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(Event_name)+ u" \u0431\u044b\u043b \u043e\u0442\u043c\u0435\u043d\u0451\u043d \u0438\u0437-\u0437\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432!!!")

self.startQuestTimer("set_winner", 1000, None, None)

self.startQuestTimer("open_reg", Time_to_next_start*60000, None, None)

else:

closed=1

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(Event_name)+ u" \u043d\u0430\u0447\u0430\u043b\u0441\u044f!!!")

self.startQuestTimer("konec", EVENT_INTERVAL*60000, None, None)

f=0

for nm in Players :

i=L2World.getInstance().getPlayer(nm)

if i<>None:

if i.isOnline() :

i.getAppearance().setVisible()

i.broadcastStatusUpdate()

i.broadcastUserInfo()

while len(Players)>1 :

for nm in Players :

i=L2World.getInstance().getPlayer(nm)

if i<>None:

if i.isDead():

i.reviveAnswer(0)

Deadplayers.append(i.getName())

Players.remove(i.getName())

self.startQuestTimer("set_winner", 1000, None, None)

if event == "announce" and closed==0 and (Time_for_regestration*60 - Announce_reg_delay * annom)>0:

Announcements.getInstance().announceToAll(str(Time_for_regestration*60 - Announce_reg_delay * annom ) + u" \u0441\u0435\u043a\u0443\u043d\u0434(\u044b) \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u044d\u0432\u0435\u043d\u0442\u0430 "+str(Event_name)+u"! \u041f\u043e\u0441\u043f\u0435\u0448\u0438\u0442\u0435!!! \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0432 \u0433\u043e\u0440\u043e\u0434\u0435 "+str(StartLocation)+".")

annom=annom+1

self.startQuestTimer("announce", Announce_reg_delay*1000, None, None)

if event == "set_winner" :

if len(Players) > 0 and len(Players + Deadplayers) >= Min_participate_count:

winner=L2World.getInstance().getPlayer(Players[0])

Deadplayers.append(Players[0])

if winner.isDead():

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(Event_name)+ u" \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f. \u0412\u0441\u0435 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043c\u0435\u0440\u0442\u0432\u044b. \u041f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044c \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d!")

else :

f=1

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(Event_name)+ u" \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f. \u041f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044c `"+str(Players[0])+"`")

for nm in Deadplayers :

i=L2World.getInstance().getPlayer(nm)

if i<>None and i.isOnline():

if i.isDead():

i.doRevive()

i.setCurrentCp(i.getMaxCp())

i.setCurrentHp(i.getMaxHp())

i.setCurrentMp(i.getMaxMp())

i.stopAllEffects()

i.broadcastStatusUpdate()

i.broadcastUserInfo()

if len(Deadplayers)>0:

n = 0

for nm in lastPlayers :

i=L2World.getInstance().getPlayer(nm)

i.teleToLocation(lastX[n],lastY[n],lastZ[n])

n = n + 1

if winner<>None:

if winner.isOnline() :

L2World.getInstance().getPlayer(Players[0]).setHero(True)

Announcements.getInstance().announceToAll(u"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 "+str(Time_to_next_start)+ u" \u043c\u0438\u043d\u0443\u0442")

for d in Doors:

door = DoorTable.getInstance().getDoor(d)

door.openMe()

lastPlayers = []

Players = []

Deadplayers = []

lastX = []

lastY = []

lastZ = []

self.startQuestTimer("open_reg", Time_to_next_start*60000, None, None)

if event == "exit" :

if player.getName() in Players:

Players.remove(player.getName())

return "exit.htm"

else:

return "default.htm"

 

if event == "konec" :

if f==0:

for nm in Players :

i=L2World.getInstance().getPlayer(nm)

if i<>None:

if i.isOnline() :

i.teleToLocation(82698,148638,-3468)

i.broadcastStatusUpdate()

i.broadcastUserInfo()

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(Event_name)+ u" \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u043d\u0438\u0447\u044c\u0435\u0439!")

self.startQuestTimer("open_reg", Time_to_next_start*60000, None, None)

 

if event == "wait_battle":

npc.deleteMe()

if len(Players) >= Min_participate_count:

for nm in Players:

i=L2World.getInstance().getPlayer(nm)

if i<>None:

if not i.isOnline() or i.isInOlympiadMode() or i.isInJail():

Players.remove(nm)

else:

Players.remove(nm)

for nm in Players:

i=L2World.getInstance().getPlayer(nm)

if i<>None:

if i.isOnline() :

if i.isDead():

i.doRevive()

i.setCurrentCp(i.getMaxCp())

i.setCurrentHp(i.getMaxHp())

i.setCurrentMp(i.getMaxMp())

i.stopAllEffects()

i.getAppearance().setInvisible();

i.broadcastStatusUpdate()

i.broadcastUserInfo()

lastPlayers.append(nm)

lastX.append(i.getX())

lastY.append(i.getY())

lastZ.append(i.getZ())

i.teleToLocation(Teleport_coordinat[0],Teleport_coordinat[1],Teleport_coordinat[

2])

for d in Doors:

door = DoorTable.getInstance().getDoor(d)

door.closeMe()

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(Event_name)+ u": \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u043a\u0440\u044b\u0442\u0430. \u0423 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c "+str(Time_to_wait_battle)+u" \u0441\u0435\u043a\u0443\u043d\u0434 \u0434\u043b\u044f \u043d\u0430\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0430\u0444\u0444\u0430\u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u043d\u0451\u0442\u0441\u044f \u0431\u043e\u0439!!!")

self.startQuestTimer("start_event", Time_to_wait_battle*1000, None, None)

else :

self.startQuestTimer("start_event", 1000, None, None)

 

QUEST = Quest(777, qn, "Custom")

 

QUEST.addStartNpc(int(Reg_Npc))

QUEST.addTalkId(int(Reg_Npc))

 

---Пекло---

Скрытый текст
import sys

from com.l2jfrozen.gameserver.model.quest import State

from com.l2jfrozen.gameserver.model.quest import QuestState

from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest

from com.l2jfrozen.gameserver import Announcements

from com.l2jfrozen import L2DatabaseFactory

from com.l2jfrozen.gameserver.ai import CtrlIntention

from com.l2jfrozen.util import Rnd

from java.lang import System

from com.l2jfrozen.gameserver.model import L2World

from com.l2jfrozen.gameserver.network.serverpackets import CreatureSay

from java.util import Date

 

qn = "5555_Peklo"

# =======================================

# НЕ ТРОГАЕМ

# =======================================

annom=1

ATTAKERS = []

tek = 0

nyj = 1

closed = 1

# =======================================

# КОНФИГ

# =======================================

 

NAME = u"\u041f\u0435\u043a\u043b\u043e" # Название (только английские символы)

LOC = u"\u0413\u0438\u0440\u0430\u043d" # Место, где вы поставили регистрирующего НПЦ.

REGISTER = 99998 # Регистрирующий нпц. НЕ ЗАБЫВАЕМ ДЕЛАТЬ ЕГО БЕССМЕРТНЫМ.

locr = [[82840,149361,-3469]] # Соответственно координаты, где будет появляться НПЦ. Сколько угодно различных точек

PENI = 1164 # Итем, необходимый для участия

PENI_KOL = 0 # Сколько итемов необходимо для участия. Если хотите чтобы участие было бесплатным - поставте 0

LEVEL = 80 # Минимальный уровень, на котором игрок сможет принять участие в ивенте.

AFTER_RESTART = 2 # Время, которое пройдёт от запуска сервера(перезагрузки скрипта) до начала ивента.

TIME_FOR_WAIT = 50 # Время между ивентами в минутах

TIME_FOR_REG = 3 # Время на регистрацию в минутах

ANNOUNCE_INTERVAL = 1 # Как часто аннонсить о регистрации на ивент в минутах.

MOB = 55556 # Моб, которого надо убивать. С него ничего не должно дропаться. Желательно не менять, т.к. есть защита от незарегистрированных игроков.

locf = [-88957,136220,-3085] # Соответственно координаты, где будет появляться 1 моб

locfp = [-88651,136535,-3118] # Соответственно координаты, куда телепортируются игроки. Здесь же и ресаются.

RADIUS = 10 # Радиус появления мобов относительно 1 моба

MOB_R = 55555 # Моб, при помощи которого выдаётся награда. Здесь должен быть прописан дроп.

YCH_MIN = 1 # Минимальное количество участников

YCH_MAX = 35 # Максимальное количество участников.

MOBS_TO_CHEL = 1 # Количество мобов на человека. Максимальное количество мобов, которое придётся убить участникам за последний заход= кл-во участников * на MOBS_TO_CHEL.

CANCEL_TIME = 10 # Если в течение этого времени (минуты) мобы не атакуются - ивент считается проигранным. Пишется, что мобы выиграли и все они исчезают.

REWARD =[[4037,20,25,100]] # Список наград. Выдайтся каждому участнику. Формат записи: [[itemId1,countMIN1,countMAX1,chance1],[itemId2,countMIN2,countMAX2,chanceN],...

[itemIdN,countMINN,countMAXN,chanceN]]

TIM = [] # Часы, в течение которых ивент не начнётся. Т.е если написано 20, то в период с 20:00:00 до 20:59:59 ивент не стартует.

RAD = 10000 # Если в момент выдачи награды игрок находится вне этого радиуса, то награда не выдаётся.

 

print "Event IIeklo:................................Initialized"

 

class Quest (JQuest) :

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

 

def init_LoadGlobalData(self) :

self.startQuestTimer("open", AFTER_RESTART *60000, None, None)

return

 

def onTalk (Self,npc,player):

global closed

st = player.getQuestState(qn)

global ATTAKERS

npcId = npc.getNpcId()

if npcId == REGISTER:

if closed<>1 and int(Date().getHours()) not in TIM :

if not player.isInOlympiadMode() :

if player.getLevel() >= LEVEL:

if player.getName() not in ATTAKERS :

kolych = len(ATTAKERS)

if kolych <= YCH_MAX :

if PENI_KOL<>0:

if st.getQuestItemsCount(PENI)>PENI_KOL:

st.takeItems(PENI,PENI_KOL)

ATTAKERS.append(player.getName())

return "reg.htm"

else:

st.exitQuest(1)

return "nopeni.htm"

else:

ATTAKERS.append(player.getName())

return "reg.htm"

else:

return "max.htm"

else:

return "yje.htm"

else:

return "lvl.htm"

else:

return "You register in olympiad games now"

else:

return "noreg.htm"

return

 

def onAdvEvent (self,event,npc,player):

global tek,nyj,ATTAKERS,kolych,annom,closed

if event == "open" :

ATTAKERS=[]

closed=0

annom=1

spawncoord=locr[Rnd.get(len(locr))]

npc=self.addSpawn(REGISTER,spawncoord[0],spawncoord[1],spawncoord[2],30000,False

,0)

npc.startAbnormalEffect(8192)

self.startQuestTimer("close", TIME_FOR_REG*60000, npc, None)

self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None)

Announcements.getInstance().announceToAll(str(TIME_FOR_REG - ANNOUNCE_INTERVAL * annom ) + u" \u043c\u0438\u043d\u0443\u0442(\u044b) \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u044d\u0432\u0435\u043d\u0442\u0430 "+str(NAME)+u" \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0412\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0430 \u0433\u043e\u0440\u043e\u0434\u0435 "+str(LOC)+".")

annom=annom+1

if event == "close":

tek=0

nyj=1

self.startQuestTimer("open", TIME_FOR_WAIT*60000, None, None)

kolych = len(ATTAKERS)

if kolych < YCH_MIN :

npc.deleteMe()

closed=1

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+u" \u043e\u0442\u043c\u0435\u043d\u0451\u043d \u0438\u0437-\u0437\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432!!!")

else:

closed=1

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+u" \u043d\u0430\u0447\u0430\u043b\u0441\u044f!!!")

npc.deleteMe()

self.addSpawn(MOB,locf[0],locf[1],locf[2],30000,False,CANCEL_TIME*60000)

self.startQuestTimer("return_l", CANCEL_TIME*60000, None, None)

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

if event == "announce" and closed==0 and (TIME_FOR_REG - ANNOUNCE_INTERVAL * annom)<>0:

Announcements.getInstance().announceToAll(str(TIME_FOR_REG - ANNOUNCE_INTERVAL * annom ) + u" \u043c\u0438\u043d\u0443\u0442(\u044b) \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u044d\u0432\u0435\u043d\u0442\u0430 "+str(NAME)+u" \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0432 \u0433\u043e\u0440\u043e\u0434\u0435 "+str(LOC)+".")

annom=annom+1

self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None)

if event == "return" :

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+u" \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f. \u0418\u0433\u0440\u043e\u043a\u0438 \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438!!!")

for nm in ATTAKERS :

i=L2World.getInstance().getPlayer(nm)

try :

if i.isOnline() :

i.teleToLocation(83456,148208,-3406)

except : pass

if event == "return_l" :

Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+u" \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f. \u041c\u043e\u043d\u0441\u0442\u0440\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438!!!")

for nm in ATTAKERS :

i=L2World.getInstance().getPlayer(nm)

try :

if i.isOnline() :

i.teleToLocation(83456,148208,-3406)

except : pass

if event == "exit" :

ATTAKERS.remove(player.getName())

return "exit.htm"

return

 

def onAttack (self,npc,player,damage,isPet):

if player.getName() not in ATTAKERS :

try:

player.teleToLocation(147725,-56517,9999)

except : pass

return

 

def onKill(self,npc,player,isPet):

global tek,nyj,kolych

mobcount=(MOBS_TO_CHEL * kolych)+15

tek=tek+1

if tek==nyj and (2*nyj) < mobcount:

for i in range(0,2*tek) :

randx = 25*(20-Rnd.get(40))

randy = 25*(20-Rnd.get(40))

self.addSpawn(MOB,locf[0] + randx, locf[1] + randy, locf[2]+100,30000,False,CANCEL_TIME*60000)

nyj=2*tek

tek=0

self.cancelQuestTimer("return_l",None,None)

self.startQuestTimer("return_l", CANCEL_TIME*60000, None, None)

npcppc=self.addSpawn(MOB,locf[0],locf[1],locf[2]+100,30000,False,CANCEL_TIME*600

00)

npcppc.broadcastPacket(CreatureSay(npcppc.getObjectId(), 1, u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+": ",u"\u0423 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c "+str(CANCEL_TIME)+u" \u043c\u0438\u043d\u0443\u0442 \u0447\u0442\u043e\u0431\u044b \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u043c\u043e\u043d\u0441\u0442\u0440\u043e\u0432!!!"))

npcppc.deleteMe()

elif tek==nyj and (2*nyj) >= mobcount:

for i in range(0,mobcount) :

randx = 25*(20-Rnd.get(40))

randy = 25*(20-Rnd.get(40))

mobb=self.addSpawn(MOB,locf[0] + randx, locf[1] + randy, locf[2]+100,30000,False,CANCEL_TIME*60000)

mobb.startAbnormalEffect(8192)

nyj=mobcount+1

tek=0

self.cancelQuestTimer("return_l",None,None)

self.startQuestTimer("return_l", (CANCEL_TIME)*60000, None, None)

npcppc=self.addSpawn(MOB,locf[0],locf[1],locf[2]+100,30000,False,CANCEL_TIME*600

00)

npcppc.broadcastPacket(CreatureSay(npcppc.getObjectId(), 1, u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+": ",u"\u0423 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c "+str(CANCEL_TIME)+u" \u043c\u0438\u043d\u0443\u0442 \u0447\u0442\u043e\u0431\u044b \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u043c\u043e\u043d\u0441\u0442\u0440\u043e\u0432!!!"))

npcppc.deleteMe()

elif tek==mobcount:

for nm in ATTAKERS :

player=L2World.getInstance().getPlayer(nm)

if player<>None:

if abs(abs(player.getX())-abs(locf[0]))>RAD or abs(abs(player.getY())-abs(locf[1]))>RAD :

ATTAKERS.remove(nm)

else:

ATTAKERS.remove(nm)

for nm in ATTAKERS :

i=L2World.getInstance().getPlayer(nm)

try:

for id, countmin, countmax, chance in REWARD :

if Rnd.get(100)<=chance :

count=Rnd.get(countmin,countmax)

i.getQuestState(qn).giveItems(id,count)

except : pass

self.startQuestTimer("return", 30000, None, None)

self.cancelQuestTimer("return_l",None,None)

return

 

QUEST = Quest(5555, qn, "Peklo")

 

QUEST.addKillId(int(MOB))

QUEST.addAttackId(int(MOB))

QUEST.addStartNpc(int(REGISTER))

QUEST.addTalkId(int(REGISTER))

 

 

С тебя Спасибко!

 

Если что то нужно под фрозенов могу сделать за валюту icq 5-302-414

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мои эвенты выложил, даже точки не поменял

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А на сколько хиро дается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А на сколько хиро дается?

 

не вижу время тут, возможно до релога

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пожайлуста скинте рабочий ластхеро под ФРОЗЕН

Кто скинет всем дам ++++

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У кого какие эвенты есть на яве, скиньте плиз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давали выше.

Изменено пользователем Warox

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неработает више

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...