Hey pals, i have a problem whit this event's Code, the same throws a error when the player teleport into the event.
#Instance Engine
from java.lang import System
from java.sql import Connection
from java.sql import PreparedStatement
from java.sql import ResultSet
from java.util.logging import Level
from java.util.logging import Logger
from com.l2jserver import L2DatabaseFactory
from com.l2jserver.gameserver.instancemanager import InstanceManager
from com.l2jserver.gameserver.model import L2Object
from com.l2jserver.gameserver.model import L2World
from com.l2jserver.gameserver.model.actor import L2Character
from com.l2jserver.gameserver.model.actor import L2Summon
from com.l2jserver.gameserver.model.entity import Instance
from com.l2jserver.gameserver.model.itemcontainer import PcInventory
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.network.serverpackets import CreatureSay
from com.l2jserver.gameserver.network.serverpackets import InventoryUpdate
from com.l2jserver.gameserver.network.serverpackets import MagicSkillUse
from com.l2jserver.gameserver.network.serverpackets import SystemMessage
from com.l2jserver.gameserver.network.serverpackets import ExShowScreenMessage
from com.l2jserver.gameserver.network.serverpackets import Earthquake
from com.l2jserver.gameserver.network import SystemMessageId
from com.l2jserver.gameserver.util import Util
from com.l2jserver.util import Rnd
qn = "Bloodshed2"
#Items
B_Eva = 30000
G_Bar = 57
STONE = 14008
Codex = 6622
#NPCs
ROSE = 40014
CHEST = 40015
#Monsters
NAGLFAR = 40019
SENTRY1 = 40016
SENTRY2 = 40017
HOUND = 40018
#Timelimit
TIMELIMIT = 2700000
#Instance Id
INSTANCEID = 500000
#Doors
DOOR1 = 17130043
DOOR2 = 17130045
DOOR3 = 17130046
class PyObject:
pass
def openDoor(doorId,instanceId):
for door in InstanceManager.getInstance().getInstance(instanceId).getDoors():
if door.getDoorId() == doorId:
door.openMe()
def closeDoor(doorId,instanceId):
for door in InstanceManager.getInstance().getInstance(instanceId).getDoors():
if door.getDoorId() == doorId:
door.closeMe()
def openDoor(doorId,instanceId):
for door in InstanceManager.getInstance().getInstance(instanceId).getDoors():
if door.getDoorId() == doorId:
door.openMe()
def checkConditions(player, new):
st = player.getQuestState(qn)
reentertime = InstanceManager.getInstance().getInstanceTime(player.getObjectId(), INSTANCEID);
party = player.getParty()
if party:
player.sendPacket(SystemMessage.sendString("You may not enter with a party."))
return False
if player.getLevel() >= 21:
player.sendPacket(SystemMessage.sendString("Tiene que ser 20 para poder entrar"))
return False
if not party:
return True
return False
def teleportplayer(self,player,teleto):
player.setInstanceId(teleto.instanceId)
player.teleToLocation(teleto.x, teleto.y, teleto.z)
pet = player.getPet()
if pet != None :
pet.setInstanceId(teleto.instanceId)
pet.teleToLocation(teleto.x, teleto.y, teleto.z)
return
def enterInstance(self,player,template,teleto):
instanceId = 0
party = player.getParty()
if party :
for partyMember in party.getPartyMembers().toArray():
st = partyMember.getQuestState(qn)
if not st : st = self.newQuestState(partyMember)
if partyMember.getInstanceId()!=0:
instanceId = partyMember.getInstanceId()
else :
if player.getInstanceId()!=0:
instanceId = player.getInstanceId()
if instanceId != 0:
if not checkConditions(player,False):
return 0
foundworld = False
for worldid in self.world_ids:
if worldid == instanceId:
foundworld = True
if not foundworld:
player.sendPacket(SystemMessage.sendString("You have entered another zone, therefore you cannot enter this one."))
return 0
teleto.instanceId = instanceId
teleportplayer(self,player,teleto)
return instanceId
else:
if not checkConditions(player,True):
return 0
instanceId = InstanceManager.getInstance().createDynamicInstance(template)
if not instanceId in self.world_ids:
world = PyObject()
world.rewarded=[]
world.instanceId = instanceId
world.templateId = INSTANCEID
self.worlds[instanceId]=world
self.world_ids.append(instanceId)
print "Instance Bloodshed.xml Started: " +str(instanceId) + " Lineage 2 " + str(player.getName())
st = player.getQuestState(qn)
InstanceManager.getInstance().setInstanceTime(player.getObjectId(), INSTANCEID, ((System.currentTimeMillis() + TIMELIMIT)))
teleto.instanceId = instanceId
teleportplayer(self,player,teleto)
return instanceId
return instanceId
def exitInstance(player,tele):
player.setInstanceId(0)
player.teleToLocation(tele.x, tele.y, tele.z)
pet = player.getPet()
if pet != None :
pet.setInstanceId(0)
pet.teleToLocation(tele.x, tele.y, tele.z)
class Bloodshed2(JQuest):
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.worlds = {}
self.world_ids = []
def onTalk (self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId == ROSE :
tele = PyObject()
tele.x = -87926
tele.y = -143042
tele.z = -9172
enterInstance(self, player, "Bloodshed2.xml", tele)
st.playSound("ItemSound.quest_middle")
elif npcId == CHEST :
npc.decayMe()
tele = PyObject()
tele.x = -47124
tele.y = 58932
tele.z = -3360
exitInstance(player,tele)
st.giveItems(B_Eva,1000)
st.giveItems(G_Bar,100000)
st.giveItems(STONE,0)
st.giveItems(Codex,0)
st.playSound("ItemSound.quest_finish")
player.sendPacket(ExShowScreenMessage("Felicitaciones", 8000))
return
def onKill(self,npc,player,isPet):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId == SENTRY1 :
if npc.getInstanceId() in self.worlds:
world = self.worlds[npc.getInstanceId()]
st.playSound("ItemSound.quest_middle")
player.sendPacket(CreatureSay(npc.getObjectId(), 0, npc.getName(), "Me Has Derrotado Puedes Pasar!"))
st.giveItems(B_Eva,4)
openDoor(DOOR1,npc.instanceId)
elif npcId == SENTRY2 :
if npc.getInstanceId() in self.worlds:
world = self.worlds[npc.getInstanceId()]
st.playSound("ItemSound.quest_middle")
player.sendPacket(CreatureSay(npc.getObjectId(), 0, npc.getName(), "Me Has Derrotado Puedes Pasar!"))
st.giveItems(B_Eva,4)
openDoor(DOOR2,npc.instanceId)
elif npcId == HOUND :
if npc.getInstanceId() in self.worlds:
world = self.worlds[npc.getInstanceId()]
st.playSound("ItemSound.quest_middle")
st.giveItems(B_Eva,5)
openDoor(DOOR3,npc.instanceId)
player.sendPacket(ExShowScreenMessage("Death Whisper a Aparecido Ten Cuidado!", 8000))
newNpc = self.addSpawn(NAGLFAR,-87785,-153302,-9179,337,False,0,False,npc.instanceId)
player.sendPacket(Earthquake(154323,144443,-12585,20,10))
elif npcId == NAGLFAR :
if npc.getInstanceId() in self.worlds:
world = self.worlds[npc.getInstanceId()]
player.sendPacket(CreatureSay(npc.getObjectId(), 0, npc.getName(), "Como eh sido Derrotado!?"))
player.sendPacket(ExShowScreenMessage("Felicitaciones! Tu Has Vencido a Death Whisper.", 12000))
st.playSound("ItemSound.quest_middle")
st.giveItems(B_Eva,6)
newNpc = self.addSpawn(CHEST,-87785,-153302,-9179,337,False,0,False,npc.instanceId)
return
QUEST = Bloodshed2(-1, qn, "Bloodshed2")
QUEST.addStartNpc(ROSE)
QUEST.addTalkId(ROSE)
QUEST.addTalkId(CHEST)
QUEST.addKillId(NAGLFAR)
QUEST.addKillId(HOUND)
QUEST.addKillId(SENTRY1)
QUEST.addKillId(SENTRY2)
DISCORD :
utchiha_market
telegram :
https://t.me/utchiha_market
SELLIX STORE :
https://utchihamkt.mysellix.io/
Join our server for more products :
https://discord.gg/hood-services
https://campsite.bio/utchihaamkt
Xmas Wolf Chariot Mount | Lineage 2 Mod
Celebrate the holiday spirit in Lineage 2 with this festive Xmas Wolf Chariot Mount! Created for protocol 166, this unique modification features majestic wolf mounts with holiday-themed harnesses pulling a decorative chariot.
If you have questions or want to add this updated skill to your game, feel free to contact me via Skype or Discord.
Download or in Discord Client Dev channel https://discord.gg/XdCb9dmTtf
06/12/2024 21:00 GMT +2
High Five - PvP server x45 - Aria Victoria Style 2004
NPC Buffer & Enchanted NPC Buffer.
Global Gatekeeper.
Clan Hall Teleports & Clan GM Shop (-20%).
Offline Shop.
GM shop up to B Grade.
Auto Farm system.
TvT - CTF - DM - Party Farm - Event Boss
Craftable Hero Weapon.
Instances Solo and Party, weekly and daily.
No kamael.
More informations can be found on our website including a "how to connect" greek guide
Valkyria is based on aCis
https://l2valkyria.com
Question
Enoc
Hey pals, i have a problem whit this event's Code, the same throws a error when the player teleport into the event.
Thanks all for the help.
4 answers to this question
Recommended Posts