Jump to content

Question

Posted

I spent the following script in freya server

import sys
from com.l2jserver.gameserver.instancemanager        import InstanceManager
from com.l2jserver.gameserver.model                  import L2ItemInstance
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 = "BloodEmpires"

#Items
E_APIGA	= 14720
ADENA	= 57
STONE	= 9576
SCROLL	= 960

#NPCs
ROSE = 65051
CHEST = 65052

#Monsters
NAGLFAR = 65053
SENTRY1 = 65054
SENTRY2 = 65055
HOUND = 65056
#Doors
DOOR1	= 12240001
DOOR2	= 12240002

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 checkConditions(player, new):
party = player.getParty()
if party:
	player.sendPacket(SystemMessage.sendString("You may not enter with a party."))
	return False
if not player.getLevel() >= 84:
	player.sendPacket(SystemMessage.sendString("You must be level 84 or higher to enter."))
	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
		self.worlds[instanceId]=world
		self.world_ids.append(instanceId)
		print "Instance: Started " + template + " Instance: " +str(instanceId) + " created by " + str(player.getName())
	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 TrueFight(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 = -238599
		tele.y = 219983
		tele.z = -10144
		enterInstance(self, player, "BloodEmpires.xml", tele)
		st.playSound("ItemSound.quest_middle")
	elif npcId == CHEST :
		npc.decayMe()
		tele = PyObject()
		tele.x = 82200
		tele.y = 148347
		tele.z = -3467
		exitInstance(player,tele)
		st.giveItems(ADENA,27500000)
		st.giveItems(STONE,2)
		st.giveItems(SCROLL,2)
		st.playSound("ItemSound.quest_finish")
		player.sendPacket(ExShowScreenMessage("Solo Instance Event (84+): Completed", 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(), "Master, Fight or Die!!!"))
			st.giveItems(E_APIGA,2)
			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(), "Master, Fight or Die!!!"))
			st.giveItems(E_APIGA,2)
			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(E_APIGA,3)
			player.sendPacket(ExShowScreenMessage("Demonic Lord Naglfar Has Appeared!", 8000))
			newNpc = self.addSpawn(NAGLFAR,-242754,219982,-9985,306,False,0,False,npc.instanceId)
			player.sendPacket(Earthquake(240826,219982,-9985,20,10))
	elif npcId == NAGLFAR :
		if npc.getInstanceId() in self.worlds:
			world = self.worlds[npc.getInstanceId()]
			player.sendPacket(CreatureSay(npc.getObjectId(), 0, npc.getName(), "-beep-!-beep-!-beep-!!!... Defeated... How!???"))
			player.sendPacket(ExShowScreenMessage("Congratulations Adventurer! You Have Defeated Demonic Lord Naglfar.", 12000))
			st.playSound("ItemSound.quest_fanfare_2")
			st.giveItems(E_APIGA,6)
			newNpc = self.addSpawn(CHEST,-242754,219982,-9985,306,False,0,False,npc.instanceId)
	return

QUEST = BloodEmpires(-1, qn, "BloodEmpires")

QUEST.addStartNpc(65051)

QUEST.addTalkId(65051)
QUEST.addTalkId(65052)

QUEST.addKillId(65053)
QUEST.addKillId(65056)
QUEST.addKillId(65054)
QUEST.addKillId(65054)

and I caused the error below

Error on: C:\Users\Jimmat0s\Desktop\sever1\gameserver\data\scripts\instances\BloodEmpires\__init__.py.error.log
Line: -1 - Column: -1

Traceback (innermost last):
  File "__init__.py", line 189, in ?
NameError: BloodEmpires

plz help me...

5 answers to this question

Recommended Posts

  • 0
Posted

now have this error

Error on: C:\Users\Jimmat0s\Desktop\sever1\gameserver\data\scripts\instances\BloodEmpires\__init__.py.error.log
Line: -1 - Column: -1

Traceback (innermost last):
  File "__init__.py", line 189, in ?
NameError: Quest

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 account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • ***DO NOT BUY WHAT IS POSTED HERE FOR FREE*** https://www.mediafire.com/file/mhjiaoipe6hohjm/Extender_Rev_222_by_Guytis.rar/file   It has everything Devs is offering for $450 USD with a license. Here it is, free and with source code. 
    • Hello, well obviously i dont have access to the server side, and neither have those guys in the picture, i thought it was something client side since they manage to have that...    Here is another example, Its essence server btw  
    • So according to you, you found a bug so hidden that nobody can discover it — not even by analyzing the source code with modern tools.   Is that really what you're trying to say?   Because what you're basically claiming is that: The files contain an error But nobody can find it Nobody can fix it Not even by analyzing the code with tools like ChatGPT So… a magical invisible bug that only you can see.   Do you realize how absurd that sounds?   If there was actually a real problem, it would be very easy to demonstrate: Open the server. Show the error. Point to the exact place in the code where it happens.   But instead of doing that, the only thing you've done so far is write vague messages and say “I'll make a video.” Perfect. Go ahead and make the video. Show the error. Show the code.   Because up to this point, all we have here are accusations without a single piece of technical evidence. And in a development forum, that has absolutely no value.   Regards.   ***DO NOT BUY WHAT IS POSTED HERE FOR FREE*** https://www.mediafire.com/file/mhjiaoipe6hohjm/Extender_Rev_222_by_Guytis.rar/file   It has everything Devs is offering for $450 USD with a license. Here it is, free and with source code.  ------------------------------------------------------------------------------------------------------   I would like to ask if a moderator or administrator could please review the thread and consider closing it.   The user involved keeps posting misleading statements and accusations without providing any technical proof. The discussion has stopped being a constructive technical conversation and has turned into repeated attempts to spread misinformation about the files.   Despite being asked multiple times to provide evidence (such as a reproducible error, logs, or code analysis), none has been presented. Instead, the thread continues with vague claims that only generate confusion within the community.   From my perspective, the purpose seems to be discouraging users from using the freely available files while promoting alternative products.   Since no technical evidence has been provided and the thread is no longer productive, I believe it would be better for the community if the discussion were closed.   Thank you for your time and attention.   Best regards. --------------------------------------------------------------------------------------------------------   ***DO NOT BUY WHAT IS POSTED HERE FOR FREE*** https://www.mediafire.com/file/mhjiaoipe6hohjm/Extender_Rev_222_by_Guytis.rar/file   It has everything Devs is offering for $450 USD with a license. Here it is, free and with source code.   
    • What ChatGPT? Dont think ChatGPT will fix your problem :d You will never figure out where the problem actually is. Don’t try to twist things. Just open the server and write here.. i will make a video for you showing how everything goes to hell with “your files”
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..