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.
Wholesale buyers - special terms!
Looking for a profitable bulk deal?
We’ll let you choose numbers from our pool - and find the ones that fit your needs perfectly.
Message us here 👉 [https://t.me/vibe_sms_admin] - we’ll discuss, agree on the price, and offer a discount if needed!
Our website: https://vibe-sms.net/
Our Telegram channel: https://t.me/vibe_sms
🎉 **OPENING — Lineage 2 x17 MULTIPROF COMFORT SERVER!**
🔥 **October 31, 2025 at 20:00 (MSK)**
(OBT starts **October 27, 2025 at 20:00**)
💎 **Multeria** invites you to join the brand-new **Multiprof server** — built with care, balance, and community feedback in mind!
⚔️ **COMFORT RATES:**
• EXP ×17 (with PA ×25.5)
• SP ×8.5 (with PA ×17)
• Drop / Spoil ×1 (with PA ×2.5)
• Adena ×1 (with PA ×2)
🚀 **WHAT’S NEW:**
• New max level — **100**
• **100% Craft System** for armor, weapons, belts (incl. Power Belt), bracelets & talismans
• New epic accessory — **Frintezza’s Necklace**
• **Mass skills cooldown reduced ×10** (Defense Instinct, Magic Impulse, Fanatic, etc.)
• Fair play — HWID limits on global instances and rebirth-based party checks
• **New 90+ dungeons** (60/120 min time limits)
• **New PvP zones:** Varka, FoG, LoA, Stakato (battle zones active)
• **Extra game window** available for in-game currency (Gold Einhasad)
💬 Everything you love about Lineage 2 — **balance, comfort, and fairness**.
🔗 More info: https://hf.multeria.world/
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
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now