Hi, i've got this event "Raid Event" from Freya, which automatic respawns a random raid and then gives a reward.
import math
import sys
from com.l2jserver.gameserver import Announcements
from com.l2jserver.util import Rnd
from java.lang import System
from com.l2jserver.gameserver.model.actor.appearance import PcAppearance
from com.l2jserver.gameserver import GameTimeController
from com.l2jserver.gameserver.model.quest import State
from com.l2jserver.gameserver.model.quest import QuestState
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jserver.gameserver.model.actor.instance import L2PcInstance
from com.l2jserver.gameserver.model.actor.instance import L2NpcInstance
qn = "2002_EventRaid"
QuestDesc = "custom"
Raids = [ 22799,18792,18863 ]
#time between events in milliseconds
eventInterval = 7200000 # 2 hours after the first event there is the second one and the others after are 2 hours too
FirstStart = 60000 #1 minute after each restart there is the first event
class Quest (JQuest):
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.RaidBosses ={
0: {'name':"Gabriel" , 'id':22799},
1: {'name':"Draken" , 'id':18792},
2: {'name':"Ugoros" , 'id':18863},
}
self.RbCoords ={
0: {'name':"in A Raid Zone" , 'X':115191 , 'Y':16607 , 'Z':10085},
1: {'name':"in A Raid Zone" , 'X':115191 , 'Y':16607 , 'Z':10085},
2: {'name':"in A Raid Zone" , 'X':115191 , 'Y':16607 , 'Z':10085},
}
self.startQuestTimer("EventTrigger", FirstStart, None, None)
self.RbSpawn = []
self.rewards ={
0: {'prize':7609 , 'number':1},
}
self.Event = []
def onAdvEvent (self,event,npc,player):
if event == "EventTrigger" :
self.Event = 1
#the spawn coords and which raidboss are both random and
#independant from each other
ra = int(Rnd.get(3))
rb = int(Rnd.get(3))
raidboss = self.RaidBosses[ra]['name']
location = self.RbCoords[rb]['name']
Announcements.getInstance().announceToAll(raidboss + " spawned " + location + " you have 30 minutes!")
self.RbSpawn = self.addSpawn(self.RaidBosses[ra]['id'],self.RbCoords[rb]['X'],self.RbCoords[rb]['Y'],self.RbCoords[rb]['Z'],0,False,0)
self.startQuestTimer("RbDespawn", 1800000, npc, player)
if event == "RbDespawn":
self.RbSpawn.deleteMe()
Announcements.getInstance().announceToAll("The Raid has survived!")
self.startQuestTimer("EventTrigger", eventInterval, npc, player)
def onKill (self,npc,player,isPet):
npcId = npc.getNpcId()
if npcId in Raids:
Announcements.getInstance().announceToAll("RaidBoss event ended, the Raid has been killed, good job!")
self.cancelQuestTimer("RbDespawn", None, None)
self.startQuestTimer("EventTrigger", eventInterval, npc, player)
# Quest class and state definition
QUEST = Quest(-1,qn,QuestDesc)
for i in Raids:
QUEST.addKillId(i)
print "Event Manager loaded!!!"
i need something like this for Interlude (Frozen) .. more specific, what i just need is the auto spawn/despawn of a certain NPC every xxxxx time with an announcement.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Hello, I would like to create the same quest as in the video but I will need help because this is my first time doing something like this. Any advice and tutorial would be helpful.
My opinion there is nothing close to official package. As muche we developers try to update + fix skills quests and many other shit on all those packages , we never or they never gonna succeed!!
all packs use the same l2j base just different emmprovments.
dose it matter what is l2jmobius / Acis / Lucera and many many more that we see 15 years now all are the same packs with similar problems a and many issues..... the difference is some smart people make money from
newbies that they believe that if they purchase a pack from premium projects
they will have something special they really stupid themselves...
any way Lineage2 is dead many years now so.
hapy Christmas to all and peace
The Ultimate Winter Skin for Lineage 2
Experience frosty armor that melds luxurious furs, glacial spikes, and breathtaking metallic finishes - all designed to strike fear into your foes.
2 Epic Roman Skins for Lineage 2 | Any protocol | All classes
Inspired by the unstoppable might of the ancient legions, these skins feature towering crests, ornate shields, and fearsome metal plating that radiates authority from regal red capes to radiant golden finishes.
Question
IvanLabonia
Hi, i've got this event "Raid Event" from Freya, which automatic respawns a random raid and then gives a reward.
import math import sys from com.l2jserver.gameserver import Announcements from com.l2jserver.util import Rnd from java.lang import System from com.l2jserver.gameserver.model.actor.appearance import PcAppearance from com.l2jserver.gameserver import GameTimeController from com.l2jserver.gameserver.model.quest import State from com.l2jserver.gameserver.model.quest import QuestState from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest from com.l2jserver.gameserver.model.actor.instance import L2PcInstance from com.l2jserver.gameserver.model.actor.instance import L2NpcInstance qn = "2002_EventRaid" QuestDesc = "custom" Raids = [ 22799,18792,18863 ] #time between events in milliseconds eventInterval = 7200000 # 2 hours after the first event there is the second one and the others after are 2 hours too FirstStart = 60000 #1 minute after each restart there is the first event class Quest (JQuest): def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) self.RaidBosses ={ 0: {'name':"Gabriel" , 'id':22799}, 1: {'name':"Draken" , 'id':18792}, 2: {'name':"Ugoros" , 'id':18863}, } self.RbCoords ={ 0: {'name':"in A Raid Zone" , 'X':115191 , 'Y':16607 , 'Z':10085}, 1: {'name':"in A Raid Zone" , 'X':115191 , 'Y':16607 , 'Z':10085}, 2: {'name':"in A Raid Zone" , 'X':115191 , 'Y':16607 , 'Z':10085}, } self.startQuestTimer("EventTrigger", FirstStart, None, None) self.RbSpawn = [] self.rewards ={ 0: {'prize':7609 , 'number':1}, } self.Event = [] def onAdvEvent (self,event,npc,player): if event == "EventTrigger" : self.Event = 1 #the spawn coords and which raidboss are both random and #independant from each other ra = int(Rnd.get(3)) rb = int(Rnd.get(3)) raidboss = self.RaidBosses[ra]['name'] location = self.RbCoords[rb]['name'] Announcements.getInstance().announceToAll(raidboss + " spawned " + location + " you have 30 minutes!") self.RbSpawn = self.addSpawn(self.RaidBosses[ra]['id'],self.RbCoords[rb]['X'],self.RbCoords[rb]['Y'],self.RbCoords[rb]['Z'],0,False,0) self.startQuestTimer("RbDespawn", 1800000, npc, player) if event == "RbDespawn": self.RbSpawn.deleteMe() Announcements.getInstance().announceToAll("The Raid has survived!") self.startQuestTimer("EventTrigger", eventInterval, npc, player) def onKill (self,npc,player,isPet): npcId = npc.getNpcId() if npcId in Raids: Announcements.getInstance().announceToAll("RaidBoss event ended, the Raid has been killed, good job!") self.cancelQuestTimer("RbDespawn", None, None) self.startQuestTimer("EventTrigger", eventInterval, npc, player) # Quest class and state definition QUEST = Quest(-1,qn,QuestDesc) for i in Raids: QUEST.addKillId(i) print "Event Manager loaded!!!"
i need something like this for Interlude (Frozen) .. more specific, what i just need is the auto spawn/despawn of a certain NPC every xxxxx time with an announcement.
Does somebody has this?
Edited by IvanLabonia2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.