AiO Npc help pls

Support for the latest build of L2J Server, get help here with installations, upgrades, problems.
Do not post bugs reports here, use viewforum.php?f=77 instead.
There is no support for other server builds than the official provided by l2jserver.com
Forum rules
READ NOW: L2j Forums Rules of Conduct
Post Reply
MeisterLampe
Posts: 14
Joined: Wed Dec 12, 2007 9:40 pm

AiO Npc help pls

Post by MeisterLampe »

If you want to receive support we need this info to help you properly.
» Find Revision
L2J Revision 4110:
L2JDP Revision 7305:


Hi i just want to know someone can help me to fix this script pls ^^
i used it on the 2.3 Server but now it didnt work anymore.

It is an AiO Buffer.


1st.

Code: Select all

import sysfrom com.l2jserver. import Configfrom com.l2jserver.	import L2DatabaseFactoryfrom java.lang import Systemfrom java.util import Iteratorfrom com.l2jserver.gameserver.model.quest import Statefrom com.l2jserver.gameserver.model.quest import QuestStatefrom com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuestfrom com.l2jserver.gameserver.datatables import SkillTablefrom com.l2jserver.gameserver.datatables import SkillTreeTablefrom com.l2jserver.gameserver.datatables import ClanTablefrom com.l2jserver.gameserver.datatables import HennaTreeTablefrom com.l2jserver.gameserver.model import L2Objectfrom com.l2jserver.gameserver.model import L2HennaInstancefrom com.l2jserver.gameserver.model import L2Clanfrom com.l2jserver.gameserver.model.base import ClassIdfrom com.l2jserver.gameserver.model.actor import L2Characterfrom com.l2jserver.gameserver.model.actor.instance import L2PcInstancefrom com.l2jserver.gameserver.model.actor.instance import L2PetInstancefrom com.l2jserver.gameserver.model.actor.instance import L2SummonInstancefrom com.l2jserver.gameserver.instancemanager import QuestManagerfrom com.l2jserver.gameserver.instancemanager import TownManagerfrom com.l2jserver.gameserver.instancemanager import CastleManagerfrom com.l2jserver.gameserver.instancemanager import FortManagerfrom com.l2jserver.gameserver.instancemanager import FortSiegeManagerfrom com.l2jserver.gameserver.instancemanager import SiegeManagerfrom com.l2jserver.gameserver.network import SystemMessageIdfrom com.l2jserver.gameserver.network.serverpackets import SellListfrom com.l2jserver.gameserver.network.serverpackets import PackageToListfrom com.l2jserver.gameserver.network.serverpackets import ActionFailedfrom com.l2jserver.gameserver.network.serverpackets import WareHouseDepositListfrom com.l2jserver.gameserver.network.serverpackets import WareHouseWithdrawalListfrom com.l2jserver.gameserver.network.serverpackets import SystemMessagefrom com.l2jserver.gameserver.network.serverpackets import NpcHtmlMessagefrom com.l2jserver.gameserver.network.serverpackets import SetSummonRemainTimefrom com.l2jserver.gameserver.network.serverpackets import SetupGaugefrom com.l2jserver.gameserver.network.serverpackets import MagicSkillLaunchedfrom com.l2jserver.gameserver.network.serverpackets import MagicSkillUsefrom com.l2jserver.gameserver.network.serverpackets import AcquireSkillListfrom com.l2jserver.gameserver.network.serverpackets import AcquireSkillDonefrom com.l2jserver.gameserver.network.serverpackets import HennaEquipList  ##############################AllowVIP = False             ###############################VIPaccesLevel = 1            ###############################CLASSMASTER_GIFT = 6622      ###############################CLASSMASTER_ITEM_NUM= 1      # ##############################NOBLE_ITEMID = 6673          ###############################NOBLE_NumITEM = 20000        ###############################NOBLE_Level = 80             # ##############################NOBLESS_TIARA = 7694         ###############################ALLOW_KARMA_PLAYER=True      ###############################FREE_TELEPORT = False        ###############################ShowReloadScriptPanel = False###############################FREE_BUFFS = False           ###############################CONSUMABLE_ID = 57           ###############################BUFFS_PRICE = 100000         ###############################BUFF_REMOVE_PRICE = 10000    ###############################HEAL_PRICE = 10000           ###############################TIME_OUT = False             ###############################TIME_OUT_TIME = 1            ###############################BlockTime = 20               ############################### npcId         = 955QuestId       = 955QuestName     = "NpcService"QUEST_INFO    = str(QuestId)+"_"+QuestNameQuestDesc     = "custom" print "============================="print "INFO Loaded SERVICES MANAGER"print "=============================" def MainHtml3(st) : 	MAIN_HTML = "<html><title>Services Manager</title><body><center>"	MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"	MAIN_HTML += "<font color=\"FF0000\">.::Subclass Master Options::.</font><br><br1>"	if st.player.getTotalSubClasses() < Config.MAX_SUBCLASS :		MAIN_HTML += "<button value=\"Add Subclass\" action=\"bypass -h Quest " +QUEST_INFO+ " getracemenu addsub 0 0\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"	MAIN_HTML += "<button value=\"Change Subclass\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass changesub 0 0\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"	MAIN_HTML += "<button value=\"Remove Subclass\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass deletesub 0 0\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"	MAIN_HTML += "<br><font color=\"303030\">"+getmaster()+"</font>"		MAIN_HTML += "</center></body></html>"	return MAIN_HTML def MainHtml4(st) : 	MAIN_HTML = "<html><title>Services Manager</title><body><center>"	MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"	MAIN_HTML += "<font color=\"FF0000\">.::Clan Options::.</font><br><br1>"	if st.player.getClanId() == 0:		MAIN_HTML += "<button value=\"Create New Clan\" action=\"bypass -h Quest " +QUEST_INFO+ " createclan 0 0 0\" width=140 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"	else:		MAIN_HTML += "<button value=\"Delegate Clan Leader\" action=\"bypass -h Quest " +QUEST_INFO+ " giveclanl 0 0 0\" width=140 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		MAIN_HTML += "<button value=\"Increase Clan Level\" action=\"bypass -h Quest " +QUEST_INFO+ " increaseclan 0 0 0\" width=140 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		MAIN_HTML += "<button value=\"Disband Clan\" action=\"bypass -h Quest " +QUEST_INFO+ " DisbandClan 0 0 0\" width=140 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		MAIN_HTML += "<button value=\"Restore Clan\" action=\"bypass -h Quest " +QUEST_INFO+ " RestoreClan 0 0 0\" width=140 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		MAIN_HTML += "<button value=\"Acquire Clan Skill\" action=\"bypass -h Quest " +QUEST_INFO+ " learn_clan_skills 0 0 0\" width=140 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		MAIN_HTML += "<br><font color=\"FF0000\">.::Alliance Options::.</font><br><br1>"		clan=st.player.getClan()		if clan.getAllyId() == 0:			MAIN_HTML += "<button value=\"Create a Alliance\" action=\"bypass -h Quest " +QUEST_INFO+ " createally 0 0 0\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		else:			MAIN_HTML += "<button value=\"Dissolve Alliance\" action=\"bypass -h Quest " +QUEST_INFO+ " dissolve_ally 0 0 0\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"	MAIN_HTML += "<br><font color=\"303030\">"+getmaster()+"</font>"		MAIN_HTML += "</center></body></html>"	return MAIN_HTML def RaceMenu(st,case,case2) :	temp = getVarcharacters(st,"race")	if temp == "5":		return subclassopcions(st, case, "5", case2)	else:		MAIN_HTML = "<html><title>Services Manager</title><body><center>"		MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"		MAIN_HTML += "<font color=\"FF0000\">.::Chooce a Race::.</font><br><br1>"		MAIN_HTML += "<button value=\"Human\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass "+case+" 0 "+case2+"\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		if temp != "2": MAIN_HTML += "<button value=\"Elf\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass "+case+" 1 "+case2+"\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		if temp != "1": MAIN_HTML += "<button value=\"Dark Elf\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass "+case+" 2 "+case2+"\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		MAIN_HTML += "<button value=\"Orc\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass "+case+" 3 "+case2+"\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		MAIN_HTML += "<button value=\"Dwarf\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass "+case+" 4 "+case2+"\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"		MAIN_HTML += "<br><font color=\"303030\">"+getmaster()+"</font>"		MAIN_HTML += "</center></body></html>"		return MAIN_HTML def NobleMenu(st):	MAIN_HTML = "<html><title>Services Manager</title><body><center>"	MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"	MAIN_HTML += "<font color=\"FF0000\">.::Noblesse Manager::.</font><br><br>"	MAIN_HTML += "<table border=\"0\" cellspacing=\"0\">"	MAIN_HTML += "<tr><td valign=top><img src=icon.skill0325 width=32 height=32 align=left></td><td valign=top><img src=icon.skill0326 width=32 height=32 align=left></td>"	MAIN_HTML += "<td valign=top><img src=icon.skill0327 width=32 height=32 align=left></td><td valign=top><img src=icon.skill1323 width=32 height=32 align=left></td>"	MAIN_HTML += "<td valign=top><img src=icon.skill1324 width=32 height=32 align=left></td><td valign=top><img src=icon.skill1325 width=32 height=32 align=left></td>"	MAIN_HTML += "<td valign=top><img src=icon.skill1326 width=32 height=32 align=left></td><td valign=top><img src=icon.skill1327 width=32 height=32 align=left></td></tr>"	MAIN_HTML += "</table><br><br><br>"	MAIN_HTML += "<font color=\"FFFFFF\">If you want to be Noblesse first you need<br1>reach level <font color=\"FFFF00\">"+str(NOBLE_Level)+"</font> and get <font color=\"FFFF00\">"+str(NOBLE_NumITEM)+" "+str(getitemname(st,NOBLE_ITEMID))+"</font>.</font><br><br1>"	MAIN_HTML += "<button value=\"I'm ready, make me noblesse\" action=\"bypass -h Quest " +QUEST_INFO+ " getnoble 2 0 0\" width=200 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"	MAIN_HTML += "<br><font color=\"303030\">"+getmaster()+"</font>"	MAIN_HTML += "</center></body></html>"	return MAIN_HTML def classmaster(st):	classId = st.player.getClassId().getId()	level = st.player.getLevel()	jobLevel=st.getPlayer().getClassId().level()	MAIN_HTML = "<html><title>Class Master</title><body><center>"	if jobLevel ==2 and level > 75 or jobLevel ==1 and level > 39 or jobLevel ==0 and level > 19:		MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"		MAIN_HTML += "<font color=\"FF0000\">Change Subclass:<br1>Which class do you wish to change?</font><br><br1>"		conn=L2DatabaseFactory.getInstance().getConnection()		act = conn.prepareStatement("SELECT * FROM class_list WHERE parent_id = \""+str(classId)+"\"")		rs=act.executeQuery()		while (rs.next()) :			try :				xid = rs.getString("id")				xclassname= getnames(st,xid)				MAIN_HTML += "<button value=\""+xclassname+"\" action=\"bypass -h Quest " +QUEST_INFO+ " changeclass "+xid+" 0 0 0\" width=150 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"			except : MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">There is no class change available<br>for you anymore.</font><br>"		try : conn.close() 		except : pass	else: 		if jobLevel ==0 and level < 20: MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">Come back here when you reach level 20<br1>to change your class.</font><br>"		elif jobLevel <=1 and level < 40: MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">Come back here when you reach level 40<br1>to change your class.</font><br>"		elif jobLevel <=2 and level < 76: MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">Come back here when you reach level 76<br1>to change your class.</font><br>"		else: MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">There is no class change available<br>for you anymore.</font><br>"	MAIN_HTML += "</center></body></html>"	return MAIN_HTML def getitemname(st,itemval):	conn=L2DatabaseFactory.getInstance().getConnection()	itemidList = conn.prepareStatement("SELECT * FROM etcitem WHERE item_id="+str(itemval))	il=itemidList.executeQuery()	val = "0"	if il :		il.next()		try : val = il.getString("name")							except : pass	try : conn.close()	except: pass	return val def subclassopcions(st,cases,id,index) :     	if st.player.isCastingNow() or st.player.isAllSkillsDisabled():                st.player.sendPacket(SystemMessage(SystemMessageId.SUBCLASS_NO_CHANGE_OR_CREATE_WHILE_SKILL_IN_USE))		return        if cases == "addsub":        	if st.player.getTotalSubClasses() >= Config.MAX_SUBCLASS :			if TIME_OUT == True: 				if addTimeout(st,3,BlockTime,300) : pass                	st.player.sendMessage("You can now only change one of your current sub classes.")                        return		else:			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += subclasslist(st,"acceptsub",id,"0")			MAIN_HTML += "</center></body></html>"			return MAIN_HTML 	if cases == "acceptsub":			if not st.player.addSubClass(int(id),st.player.getTotalSubClasses() + 1):				st.player.sendMessage("The sub class could not be added.")				return			st.player.setActiveClass(st.player.getTotalSubClasses())			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<br><br>Add Subclass:<br>The sub class of <font color=\"LEVEL\">"+getnames(st,id)+"</font><br> has been added.<br>"			MAIN_HTML += "</center></body></html>"			st.player.sendPacket(SystemMessage(SystemMessageId.CLASS_TRANSFER))			return MAIN_HTML 	if cases == "acceptchangesub":        	if not st.player.setActiveClass(int(index)):			if TIME_OUT == True: 				if addTimeout(st,3,BlockTime,300) : pass                	st.player.sendMessage("The sub class could not be changed.")                        return		else:			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<br><br>Change Subclass:<br>Your active class is now a:<br><font color=\"LEVEL\">"+getnames(st,id)+"</font>"			MAIN_HTML += "</center></body></html>"			st.player.sendPacket(SystemMessage(SystemMessageId.ADD_NEW_SUBCLASS))			if TIME_OUT == True: 				if addTimeout(st,3,BlockTime,300) : pass			return MAIN_HTML 	if cases == "changesub":         	if st.player.getTotalSubClasses() > Config.MAX_SUBCLASS :                	st.player.sendMessage("You can now only delete one of your current sub classes.")			if TIME_OUT == True: 				if addTimeout(st,3,BlockTime,300) : pass                        return		else:			i=0			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"			MAIN_HTML += "<font color=\"FF0000\">Change Subclass:<br1>Which sub class do you wish to change?</font><br><br1>"			xcharid = st.getPlayer().getObjectId()			conn=L2DatabaseFactory.getInstance().getConnection()			sub = conn.prepareStatement("SELECT * FROM character_subclasses WHERE charId= \""+str(xcharid)+"\" ORDER BY class_index LIMIT "+str(Config.MAX_SUBCLASS)+"")			ss=sub.executeQuery()			if st.player.isSubClassActive():				MAIN_HTML += "<font color=\"LEVEL\">Main-class</font>"				MAIN_HTML += "<button value=\""+getnames(st,str(st.player.getBaseClass()))+"\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass acceptchangesub "+str(st.player.getBaseClass())+",0\" width=150 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>"			while (ss.next()) :				try:					xsubclassid = ss.getString("class_id")					xindex = ss.getString("class_index")					xclassname= getnames(st,xsubclassid)					i+=1					if int(st.player.getClassId().getId()) != int(xsubclassid):						MAIN_HTML += "<font color=\"LEVEL\">Sub-class "+str(i)+"</font>"						MAIN_HTML += "<button value=\""+xclassname+"\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass acceptchangesub "+xsubclassid+" "+xindex+"\" width=150 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"				except :					MAIN_HTML = "<html><title>Services Manager</title><body><center>"					MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">There are no sub classes available<br>to change at this time.</font><br>"					if TIME_OUT == True: 						if addTimeout(st,3,BlockTime,300) : pass	 			MAIN_HTML += "</center></body></html>"			try : conn.close() 			except : pass			return MAIN_HTML   	if cases == "deletesub":         	if st.player.getTotalSubClasses() > Config.MAX_SUBCLASS :			if TIME_OUT == True: 				if addTimeout(st,3,BlockTime,300) : pass                	st.player.sendMessage("You can now only delete one of your current sub classes.")                        return		else:			i=0			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"			MAIN_HTML += "<font color=\"FF0000\">Which sub class do you wish to delete?</font><br><br1>"			conn=L2DatabaseFactory.getInstance().getConnection()			xcharid = st.getPlayer().getObjectId()			sub = conn.prepareStatement("SELECT * FROM character_subclasses WHERE charId= \""+str(xcharid)+"\" ORDER BY class_index LIMIT "+str(Config.MAX_SUBCLASS)+"")			ss=sub.executeQuery()			while (ss.next()) :				try:					xsubclassid = ss.getString("class_id")					xindex = ss.getString("class_index")					xclassname= getnames(st,xsubclassid)					xlevel = ss.getInt("level")					i+=1					MAIN_HTML += "<font color=\"LEVEL\">Sub-class "+str(i)+"</font>"					MAIN_HTML += "<button value=\""+xclassname+"\" action=\"bypass -h Quest " +QUEST_INFO+ " getracemenu acceptnewsub "+xindex+" 0\" width=150 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"				except : pass	 			MAIN_HTML += "<br>If you change a sub class, you'll start at level 40<br1>after the 2nd class transfer."			MAIN_HTML += "</center></body></html>"			try : conn.close() 			except : pass			if i !=0 :				return MAIN_HTML			else:    				if TIME_OUT == True:   					if addTimeout(st,3,BlockTime,300) : pass				st.player.sendMessage("There are no sub classes available at this time.") 	if cases == "acceptnewsub":		MAIN_HTML = "<html><title>Services Manager</title><body><center>"		MAIN_HTML += subclasslist(st,"acceptdelsub",id,index)		MAIN_HTML += "</center></body></html>"		return MAIN_HTML   	if cases == "acceptdelsub":		if st.player.modifySubClass(int(index), int(id)):                    	st.player.stopAllEffects()                    	st.player.setActiveClass(int(index))			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<br><br>Change Subclass:<br>Your sub class has been changed to<br1><font color=\"LEVEL\">"+getnames(st,id)+"</font>"			MAIN_HTML += "</center></body></html>"			st.player.sendPacket(SystemMessage(SystemMessageId.ADD_NEW_SUBCLASS))			if TIME_OUT == True:				if addTimeout(st,3,BlockTime,300) : pass			return MAIN_HTML             	else:                        player.setActiveClass(0)			if TIME_OUT == True: 				if addTimeout(st,3,BlockTime,300) : pass                        st.player.sendMessage("The sub class could not be added, you have been reverted to your base class.")                        return    def subclasslist(st,cases,case2,index) :	baseClassId = st.player.getBaseClass()	charClassId = st.player.getClassId().getId()	xcharid = st.getPlayer().getObjectId()        if charClassId >= 88 and charClassId <= 118 or charClassId >= 131 and charClassId <= 134 or charClassId == 136:        	if st.player.getClassId().getParent() != None:            		charClassId = st.player.getClassId().getParent().ordinal()	num=0	temp="88"	if case2 == "5": temp="131"	avsubClass=[]	yclassid="0"	HTML = "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"	if int(index) ==0: HTML += "<font color=\"FF0000\">Add Subclass:<br>Which sub class do you wish to add?</font><br><br1>"	if int(index) > 0: HTML += "<font color=\"FF0000\">Please choose a new sub class to change to.</font><br1><font color=\"LEVEL\">Warning!</font> All classes and skills for this class<br1>will be removed."	conn=L2DatabaseFactory.getInstance().getConnection()	sub = conn.prepareStatement("SELECT * FROM character_subclasses WHERE charId= \""+str(xcharid)+"\"")	ss=sub.executeQuery()	while (ss.next()) :		try :			xsubclassid = ss.getInt("class_id")			xlevel = ss.getInt("level")			if xlevel <= 74 and int(index) ==0:				num=1 			avsubClass += [str(xsubclassid)]		except : pass 	if num == 0 or st.player.getLevel() >= 75:		act = conn.prepareStatement("SELECT * FROM char_templates WHERE RaceId="+case2+" AND ClassId NOT IN (\"115\",\"118\",\"135\") AND ClassId >= \""+temp+"\" ORDER BY RaceId, STR DESC, ClassName")		rs=act.executeQuery()		while (rs.next()) :			try:				xclassid = rs.getString("ClassId")				yclassid = getsecondclass(st,xclassid)				xclassname= getnames(st,yclassid)				if str(charClassId) != yclassid and xclassid not in avsubClass and yclassid not in avsubClass and baseClassId != int(xclassid) and baseClassId != int(yclassid):					HTML += "<button value=\""+xclassname+"\" action=\"bypass -h Quest " +QUEST_INFO+ " subclass "+cases+" "+yclassid+" "+index+"\" width=150 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"			except : pass	try : conn.close() 	except : pass	if yclassid == None or yclassid == "0":		HTML = "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">There are no sub classes available<br> at this time.</font><br>"        	st.player.sendMessage("There are no sub classes available at this time.")	if num == 1 or st.player.getLevel() < 75:		HTML = "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You may not add a new sub class before <br>you are level 75 on your previous class.</font><br>"	return HTML def getsecondclass(st,const):	con=L2DatabaseFactory.getInstance().getConnection()	skillList = con.prepareStatement("SELECT * FROM class_list WHERE id = \""+const+"\"")	sil=skillList.executeQuery()	val = "0"	if sil :		sil.next()		try : val = sil.getString("parent_id")							except : pass	try : con.close()	except: pass	return val def getnames(st,const):	cn=L2DatabaseFactory.getInstance().getConnection()	nameList = cn.prepareStatement("SELECT * FROM char_templates WHERE ClassId = \""+const+"\"")	nl=nameList.executeQuery()	val = "0"	if nl :		nl.next()		try : val = nl.getString("ClassName")					except : pass	try : cn.close()	except: pass	return val def getVarcharacters(st,const):	conn=L2DatabaseFactory.getInstance().getConnection()	act = conn.prepareStatement("SELECT * FROM characters WHERE charId="+str(st.getPlayer().getObjectId()))	rs=act.executeQuery()	val = "0"	if rs :		rs.next()		try : val = rs.getString(const)							except : pass	try : conn.close()	except: pass	return val def optionsymbol(st, cases,num):	if cases == "draws":		henna = HennaTreeTable.getInstance().getAvailableHenna(st.player.getClassId())		hel = HennaEquipList(st.player, henna)		st.player.sendPacket(hel)	elif cases == "deletes":		MAIN_HTML = "<html><title>Services Manager</title><body><center>"		MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>"		MAIN_HTML += "<font color=\"FF0000\">.::Select symbol you would like to remove::.</font><br><br><br1>"		hasHennas = False		i=0		if num != "0": st.player.removeHenna(int(num))		while i <= 2 :			i+=1			henna = st.player.getHenna(i)			if henna != None:				hasHennas = True				MAIN_HTML += "<button value=\""+henna.getName()+"\" action=\"bypass -h Quest " +QUEST_INFO+ " symbol deletes "+str(i)+" 0\" width=120 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>"		if hasHennas == False:			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You don't have any symbol to remove!</font><br>"		MAIN_HTML += "</center></body></html>"		return MAIN_HTML def noleader(st):      	MAIN_HTML = "<html><title>Services Manager</title><body><center>"	MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You are not a Clan Leader.</font><br>"	MAIN_HTML += "</center></body></html>"	return MAIN_HTML
MeisterLampe
Posts: 14
Joined: Wed Dec 12, 2007 9:40 pm

Re: AiO Npc help pls

Post by MeisterLampe »

2nt.

Code: Select all

 def getmaster():	xi="vice";xe="l";xf="e";xg="n";xa="B";xb="y";xc=" ";xd="A";xk="ger";xh="Ser";xj="Mana";val=xh+xi+xc+xj+xk+xc+xa+xb+xc+xd+xe+xe+xf+xg	return val def showText(type,text,buttonEnabled,buttonName,location) :	MESSAGE = "<html><head><title>Services Manager</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"	MESSAGE += "<font color=\"LEVEL\">"+type+"</font><br>"+text+"<br>"	if buttonEnabled == "True" :		MESSAGE += "<button value=\""+buttonName+"\" action=\"bypass -h Quest " + QUEST_INFO + " redirect "+location+" 0 0\" width=100 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"	MESSAGE += "<font color=\"303030\">"+getmaster()+"</font></center></body></html>"	return MESSAGE def addTimeout(st,gaugeColor,amount,offset) :	endtime = int(System.currentTimeMillis()/1000) + amount	st.set("blockUntilTime",str(endtime))	st.getPlayer().sendPacket(SetupGauge(gaugeColor, amount * 1000 + offset))	return True def heal(st,case) :	if case == "0":		st.getPlayer().getStatus().setCurrentHp(st.getPlayer().getStat().getMaxHp())		st.getPlayer().getStatus().setCurrentMp(st.getPlayer().getStat().getMaxMp())		st.getPlayer().getStatus().setCurrentCp(st.getPlayer().getStat().getMaxCp())	if case == "1" and st.player.getPet() != None :		st.player.getPet().setCurrentHpMp(st.player.getPet().getMaxHp(), st.player.getPet().getMaxMp())		try:			st.player.getPet().setCurrentFed(st.player.getPet().getMaxFed())			st.player.sendPacket(SetSummonRemainTime(st.player.getPet().getMaxFed(), st.player.getPet().getCurrentFed()))		except: 			st.player.getPet().decTimeRemaining(st.player.getPet().getTimeRemaining() - st.player.getPet().getTotalLifeTime())			st.player.sendPacket(SetSummonRemainTime(st.player.getPet().getTotalLifeTime(), st.player.getPet().getTotalLifeTime()))	return True def ReloadConfig(st,npcid) :	try:		if QuestManager.getInstance().reload(QuestId): st.player.sendMessage("The script and settings have been reloaded successfully.")		else: st.player.sendMessage("Script Reloaded Failed. you edited something wrong! :P, fix it and restart the server")	except: st.player.sendMessage("Script Reloaded Failed. you edited something wrong! :P, fix it and restart the server")	filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-0.htm"	html = NpcHtmlMessage(int(npcid))		html.setFile(filename)	html.replace("%objectId%", npcid)	st.player.sendPacket(html) class Quest (JQuest) : 	def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) 	def onAdvEvent (self,event,npc,player) :		st = player.getQuestState(QUEST_INFO) 		if event[0] == "g" and event[4] == "t" and event[11] == "t":			event = event.replace("]","")			event = event.replace("["," ")			varSplit = event.split(" ")			try: noblesGK = int(varSplit[2])			except : noblesGK = 0			if noblesGK == 1 and st.player.isNoble() == 0 :				return showText("Sorry","Only a <font color =\"LEVEL\">Noblesse</font> can be teleported to this place","False",0,0)			if noblesGK > 1 and st.player.isGM() == 0 :				return showText("Sorry","Only a <font color =\"LEVEL\">GM</font> can be teleported to this place","False",0,0)			if st.player.isGM() == 1 :				try:					st.player.teleToLocation(int(varSplit[5]), int(varSplit[6]), int(varSplit[7]), True)					st.player.sendMessage("You have been teleported to " + varSplit[5] +" "+varSplit[6]+ " "+varSplit[7])				except : st.player.sendMessage("You should check the coordinates. Something is wrong!")			else:				newevent="confteleport["+varSplit[3]+"]["+varSplit[4]+"] "+varSplit[5]+" "+varSplit[6]+" "+varSplit[7]				filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-6.htm"				html = NpcHtmlMessage(npc.getObjectId())					html.setFile(filename)				html.replace("%place%", varSplit[1].replace("-"," "))				html.replace("%itemName%", str(getitemname(st,int(varSplit[3]))))				html.replace("%reqitem%", varSplit[4])				html.replace("%event%", newevent)				html.replace("%objectId%", str(npc.getObjectId()))				st.player.sendPacket(html)			return 		event = event.replace(","," ")		eventSplit = event.split(" ")		event = eventSplit[0]		eventParam1 = eventSplit[1]		eventParam2 = eventSplit[2]		eventParam3 = eventSplit[3] 		if event == "reloadscript": return ReloadConfig(st,eventParam1) 		if event == "sellmenu":        		st.player.sendPacket(SellList(st.player))        		st.player.sendPacket(ActionFailed.STATIC_PACKET) 		if event[0] == "c" and event[1] == "o" and event[4] == "t" and event[5] == "e":			event = event.replace("]","")			event = event.replace("["," ")			GKSplit = event.split(" ")			try: TELEPORT_ITEM_ID = int(GKSplit[1]); TELEPORT_PRICE = int(GKSplit[2])			except : TELEPORT_ITEM_ID = 57; TELEPORT_PRICE = 15000 			if SiegeManager.getInstance().getSiege(int(eventParam1), int(eventParam2), int(eventParam3)) != None:				st.player.sendPacket(SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE))				return			elif TownManager.townHasCastleInSiege(int(eventParam1), int(eventParam2)):				st.player.sendPacket(SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE))				return			elif not Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK and st.player.getKarma() > 0:				st.player.sendMessage("Go away, you're not welcome here.")				return			elif st.player.isAlikeDead():				return			if FREE_TELEPORT == False :				if st.getQuestItemsCount(TELEPORT_ITEM_ID) < TELEPORT_PRICE :					return showText("Sorry","You don't have enough Items:<br>You need: <font color =\"LEVEL\">"+str(TELEPORT_PRICE)+" "+str(getitemname(st,TELEPORT_ITEM_ID))+"!","False",0,0)				else :					st.takeItems(TELEPORT_ITEM_ID,TELEPORT_PRICE)					st.player.teleToLocation(int(eventParam1), int(eventParam2), int(eventParam3), True)					st.player.sendMessage("You have been teleported to " + eventParam1 +" "+eventParam2+ " "+eventParam3)			else: 				st.player.teleToLocation(int(eventParam1), int(eventParam2), int(eventParam3), True)				st.player.sendMessage("You have been teleported to " + eventParam1 +" "+eventParam2+ " "+eventParam3)	 		if event == "heal" :			if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"):				if st.getQuestItemsCount(CONSUMABLE_ID) < HEAL_PRICE  :					return showText("Sorry","You don't have enough adena!","False",0,0)				else :					if heal(st,eventParam2) :pass										st.takeItems(CONSUMABLE_ID,HEAL_PRICE)										if TIME_OUT == True:						if addTimeout(st,1,TIME_OUT_TIME + 9,100): pass			filename = "data/html/teleporter/AIONpc-Buffer/NpcBuffer-"+eventParam1+".htm"			html = NpcHtmlMessage(npc.getObjectId())				html.setFile(filename)			html.replace("%objectId%", str(npc.getObjectId()))			st.player.sendPacket(html) 		if event == "removeBuffs" :			if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"):										if st.getQuestItemsCount(CONSUMABLE_ID) < BUFF_REMOVE_PRICE :					return showText("Sorry","You don't have enough adena!","False",0,0)				else :					if eventParam2 == "Remove_Pet" :						if st.player.getPet() != None :							st.player.getPet().stopAllEffects()					else :						st.getPlayer().stopAllEffects()                				if st.player.getCubics() != None:                       					for cubic in st.player.getCubics().values():                              					cubic.stopAction()                             					st.player.delCubic(cubic.getId())   					st.takeItems(CONSUMABLE_ID,BUFF_REMOVE_PRICE)					if TIME_OUT == True:						if addTimeout(st,2,TIME_OUT_TIME + 3,100): pass			filename = "data/html/teleporter/AIONpc-Buffer/NpcBuffer-"+eventParam1+".htm"			html = NpcHtmlMessage(npc.getObjectId())				html.setFile(filename)			html.replace("%objectId%", str(npc.getObjectId()))			st.player.sendPacket(html) 		if event == "giveBuffs" :			eventParam3 = eventParam3.replace("_"," ")			listSplit = eventParam3.split(" ")			j=0;k=0			while j == 0 :				try: buff = listSplit[int(k)];k+=1				except: temp = int(k);j=1			if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"):				if FREE_BUFFS == False :					if st.getQuestItemsCount(CONSUMABLE_ID) < BUFFS_PRICE * int(temp) : return showText("Sorry","You don't have enough adena!","False",0,0)					else : st.takeItems(CONSUMABLE_ID,BUFFS_PRICE * int(temp))				if eventParam2 == "Buff_Pet" :					if st.player.getPet() != None :  						for i in range (temp) : 							buff = listSplit[int(i)]							buff = buff.replace("-"," ")							buffSplit = buff.split(" ")							Buff_lvl = buffSplit[0]							Buff_Id = buffSplit[1]							try : SkillTable.getInstance().getInfo(int(Buff_Id),int(Buff_lvl)).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())							except : st.player.sendMessage("This skill has an error check the html")					else: return showText("Info","You can't buff your pet!<br>Summon it and try again!","False","Return","main")				else:					if eventParam2 == "Buff_Cubic" :                				if st.player.getCubics() != None:                       					for cubic in st.player.getCubics().values():                              					cubic.stopAction()                             					st.player.delCubic(cubic.getId())						for i in range (temp) : 							buff = listSplit[int(i)]							buff = buff.replace("-"," ")							buffSplit = buff.split(" ")							Buff_lvl = buffSplit[0]							Buff_Id = buffSplit[1]							try : st.getPlayer().useMagic(SkillTable.getInstance().getInfo(int(Buff_Id),int(Buff_lvl)),False,False)							except : st.player.sendMessage("This skill has an error check the html")					else: 						for i in range (temp) : 							buff = listSplit[int(i)]							buff = buff.replace("-"," ")							buffSplit = buff.split(" ")							Buff_lvl = buffSplit[0]							Buff_Id = buffSplit[1]							try : SkillTable.getInstance().getInfo(int(Buff_Id),int(Buff_lvl)).getEffects(st.getPlayer(),st.getPlayer())							except : st.player.sendMessage("This skill has an error check the html")				if TIME_OUT == True:					if int(temp) > 1:						if eventParam2 == "Buff_Pet" : 							if heal(st,"1") :pass						else:							if heal(st,"0") :pass						if addTimeout(st,3,TIME_OUT_TIME + 9,0): pass					else:						if addTimeout(st,3,TIME_OUT_TIME,100): pass			filename = "data/html/teleporter/AIONpc-Buffer/NpcBuffer-"+eventParam1+".htm"			html = NpcHtmlMessage(npc.getObjectId())				html.setFile(filename)			html.replace("%objectId%", str(npc.getObjectId()))			st.player.sendPacket(html)    		if event == "chat3" : return MainHtml3(st)   		if event == "chat4" : return MainHtml4(st)		if event == "class_master": return classmaster(st)		if event == "getracemenu": return RaceMenu(st,eventParam1,eventParam2)   		if event == "NoblesseMenu":			return NobleMenu(st)   		if event == "subclass" : 			if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"):				return subclassopcions(st, eventParam1, eventParam2, eventParam3)			return MainHtml3(st)    		if event == "symbol" : return optionsymbol(st, eventParam1,eventParam2) 		if event == "PKlistoption":			temp = "pvpkills"; temp1 = "pkkills"; temp2= "FF0000"; temp3= "FFFFFF"			if eventParam1 == "2": temp = "pkkills"; temp1 = "pvpkills"; temp2= "FFFFFF"; temp3= "FF0000"			total_pkpvpkills = 0			htmltext = "<html><head><title>Top PVP/PK Players</title></head><body><table width=280><tr><td width=40 align=\"center\"><font color =\"FFFFFF\">Pos.</td><td width=100 align=\"left\"><font color =\"FFFFFF\">Player Name</color></td><td width=30 align=\"left\"><a action=\"bypass -h Quest " +QUEST_INFO+ " PKlistoption 1 0 0\"><font color=\""+temp2+"\">PVPs</font></a></td><td width=30 align=\"left\"><a action=\"bypass -h Quest " +QUEST_INFO+ " PKlistoption 2 0 0\"><font color=\""+temp3+"\">PKs</font></a></td></tr>"						htmltext +="<tr><td><br></td></tr>"			pos = 0			A=20; i=0; j=0			if eventParam2 == "adelante":				j = int(eventParam3)				j=j+A			if eventParam2 == "atras":				j = int(eventParam3)				j=j-A			con = L2DatabaseFactory.getInstance().getConnection()			pks = con.prepareStatement("SELECT char_name,pvpkills,pkkills FROM characters WHERE "+temp+">0 and accesslevel=0 ORDER BY "+temp+" DESC,"+temp1+" DESC,char_name LIMIT "+str(j)+","+str(j+A+1))			rs = pks.executeQuery()			while (rs.next()) :				char_name = rs.getString("char_name")				char_pvpkills = rs.getString("pvpkills")				char_pkkills = rs.getString("pkkills")				i+=1				if eventParam1 == "1": 					if i <= A: htmltext +="<tr><td width=40 align=\"center\"><font color =\"FFFFFF\">" + str(i+j) + "</td><td width=100 align=\"left\"><font color =\"FFFFFF\">" + char_name +"</td><td width=30 align=\"left\"><font color =\"FF0000\">" + char_pvpkills + "</td><td width=30 align=\"left\"><font color =\"FFFFFF\">" + char_pkkills + "</td></tr>"				elif eventParam1 == "2":					if i <= A: htmltext += "<tr><td width=40 align=\"center\"><font color =\"FFFFFF\">" + str(i+j) + "</td><td width=100 align=\"left\"><font color =\"FFFFFF\">" + char_name +"</td><td width=30 align=\"left\"><font color =\"FFFFFF\">" + char_pvpkills + "</td><td width=30 align=\"left\"><font color =\"FF0000\">" + char_pkkills + "</td></tr>"			try: con.close()			except : pass			i+=j			if i > A and j < A:				htmltext += "</table><center><tr><td><table width=120 border=0>"				htmltext += "<tr><td align=\"center\"><button value=\"Next\" action=\"bypass -h Quest " +QUEST_INFO+ " PKlistoption "+eventParam1+" adelante "+str(j)+"\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"				htmltext += "</table></td></tr></center>"			elif i > A and j >= A and j < i-A:				htmltext += "</table><center><tr><td><table width=160 border=0>"				htmltext += "<tr><td align=\"center\"><button value=\"Back\" action=\"bypass -h Quest " +QUEST_INFO+ " PKlistoption "+eventParam1+" atras "+str(j)+"\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"				htmltext += "<td align=\"center\"><button value=\"Next\" action=\"bypass -h Quest " +QUEST_INFO+ " PKlistoption "+eventParam1+" adelante "+str(j)+"\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"				htmltext += "</table></td></tr></center>"			elif i > A and j >= i-A:				htmltext += "</table><center><tr><td><table width=120 border=0>"				htmltext += "<tr><td align=\"center\"><button value=\"Back\" action=\"bypass -h Quest " +QUEST_INFO+ " PKlistoption "+eventParam1+" atras "+str(j)+"\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"				htmltext += "</table></td></tr></center>"			htmltext += "</body></html>"			return htmltext 		if event == "getnoble":			count=st.getQuestItemsCount(NOBLE_ITEMID)			htmltext = "<html><title>Services Manager</title><body><center>"			if st.getPlayer().isNoble() == 1 :				htmltext += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You already are Noblesse.</font><br>"			elif st.getPlayer().getLevel() < NOBLE_Level :				htmltext += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">Come back here when you reach <font color=\"FFFF00\">level "+str(NOBLE_Level)+".</font></font><br>"			elif count < NOBLE_NumITEM :	                        	htmltext += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You don't have the required Item.<br1>You need <font color=\"FFFF00\">"+str(NOBLE_NumITEM)+" "+str(getitemname(st,NOBLE_ITEMID))+"</font></font><br>"			else:				st.getPlayer().setTarget(st.getPlayer())				if eventParam1 == "2":					st.takeItems(NOBLE_ITEMID,NOBLE_NumITEM)                                	st.getPlayer().setNoble(True)                                	st.giveItems(NOBLESS_TIARA,1)                                	st.playSound("ItemSound.quest_finish")					st.setState(State.COMPLETED)					htmltext += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"00FF00\">Congratulations! You are Noblesse.</font><br>"                                	st.exitQuest(1)					else: return			htmltext += "</center></body></html>"			return htmltext 		if event == "changeclass":       			st.player.setClassId(int(eventParam1))        		if st.player.isSubClassActive():        			st.player.getSubClasses().get(st.player.getClassIndex()).setClassId(st.player.getActiveClass())        		else: st.player.setBaseClass(st.player.getActiveClass())			if st.getPlayer().getClassId().level() == 3:				st.giveItems(CLASSMASTER_GIFT,CLASSMASTER_ITEM_NUM)			st.player.broadcastUserInfo()    		if event == "increaseclan" :     			if st.player.getClan() == None or not st.player.isClanLeader() :      				MAIN_HTML = "<html><title>Services Manager</title><body><center>"				MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You are not the leader of this clan.<br1>You may not raise the level of it.</font><br>"				MAIN_HTML += "</center></body></html>"				return MAIN_HTML			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>"			MAIN_HTML += "<font color=\"FF0000\">Clan level can be raised.<br1>To do so requires the following:</font><br><br>"			MAIN_HTML += "<button value=\"Level Up\" action=\"bypass -h Quest " +QUEST_INFO+ " increase_clan 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"><br1>"			MAIN_HTML += "<button value=\"Back\" action=\"bypass -h Quest " +QUEST_INFO+ " chat4 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"><br>"			MAIN_HTML += "<font color=\"LEVEL\">Level 1:</font> 20,000 SP, 650,000 Adena<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 2:</font> 100,000 SP, 2,500,000 Adena<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 3:</font> 350,000 SP, Evidence of Blood<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 4:</font> 1,000,000 SP, Evidence of Determination<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 5:</font> 2,500,000 SP, Evidence of Aspiration<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 6:</font> 10,000 Clan Fame points,<br1>more than 30 clan members<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 7:</font> 20,000 Clan Fame points,<br1>more than 80 clan members<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 8:</font> 40,000 Clan Fame points,<br1>more than 120 clan members<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 9:</font> 40,000 Clan Fame points,<br1>more than 120 clan members, 150 Blood Oaths<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 10:</font> 40,000 Clan Fame points,<br1>more than 140 clan members, 5 Blood Alliances<br1>"			MAIN_HTML += "<font color=\"LEVEL\">Level 11:</font> 75,000 Clan Fame points,<br1>more than 170 clan members, Territory Owner<br1>"			MAIN_HTML += "</center></body></html>"			return MAIN_HTML 		if event == "increase_clan" :            		if not st.player.isClanLeader():                		st.player.sendPacket(SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT))                		return            		if st.player.getClan().levelUpClan(st.player):             			st.player.broadcastPacket(MagicSkillUse(st.player, 5103, 1, 0, 0))            			st.player.broadcastPacket(MagicSkillLaunched(st.player, 5103, 1))				return			return    		elif event == "DisbandClan" :     			if st.player.getClan() == None or not st.player.isClanLeader() :      				MAIN_HTML = "<html><title>Services Manager</title><body><center>"				MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You are not the leader of this clan.<br1>You may not dissolve it.</font><br>"				MAIN_HTML += "</center></body></html>"				return MAIN_HTML			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>"			MAIN_HTML += "<font color=\"FF0000\">If you apply for dissolution,<br1>the clan will be dissolved.</font><br><br>"			MAIN_HTML += "<button value=\"Dissolution\" action=\"bypass -h Quest " +QUEST_INFO+ " dissolve_clan 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"><br1>"			MAIN_HTML += "<button value=\"Back\" action=\"bypass -h Quest " +QUEST_INFO+ " chat4 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">"			MAIN_HTML += "</center></body></html>"			return MAIN_HTML 		elif event == "dissolve_clan" :        		if not st.player.isClanLeader():    				st.player.sendPacket(SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT))            			return        		clan = st.player.getClan()        		if clan.getAllyId() != 0:            			st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISPERSE_THE_CLANS_IN_ALLY))            			return        		if clan.isAtWar():				st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_WAR))            			return			if clan.getHasCastle() !=0 or clan.getHasHideout() != 0 or clan.getHasFort() != 0:				st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_OWNING_CLAN_HALL_OR_CASTLE))            			return			for castle in CastleManager.getInstance().getCastles():				if SiegeManager.getInstance().checkIsRegistered(clan, castle.getCastleId()):					st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE))                			return			for fort in FortManager.getInstance().getForts(): 				if FortSiegeManager.getInstance().checkIsRegistered(clan, fort.getFortId()):					st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE))                			return			if st.player.isInsideZone(L2PcInstance.ZONE_SIEGE) :  				st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE))            			return			if clan.getDissolvingExpiryTime() > System.currentTimeMillis() :				st.player.sendPacket(SystemMessage(SystemMessageId.DISSOLUTION_IN_PROGRESS))            			return			clan.setDissolvingExpiryTime(System.currentTimeMillis() + Config.ALT_CLAN_DISSOLVE_DAYS * 86400000L)			st.player.sendMessage("Dissolution in progress. Please Wait "+str(Config.ALT_CLAN_DISSOLVE_DAYS * 24L)+" hours to be completed")		    	clan.updateClanInDB()			ClanTable.getInstance().scheduleRemoveClan(clan.getClanId())        		st.player.deathPenalty(False, False, False)    		elif event == "RestoreClan" :     			if st.player.getClan() == None or not st.player.isClanLeader() :      				MAIN_HTML = "<html><title>Services Manager</title><body><center>"				MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You are not the leader of this clan.<br1>You may not recover it.</font><br>"				MAIN_HTML += "</center></body></html>"				return MAIN_HTML			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>"			MAIN_HTML += "<font color=\"FF0000\">If you request a restoration<br1>your clan dissolution request will be canceled</font><br><br>"			MAIN_HTML += "<button value=\"Restoration\" action=\"bypass -h Quest " +QUEST_INFO+ " recover_clan 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"><br1>"			MAIN_HTML += "<button value=\"Back\" action=\"bypass -h Quest " +QUEST_INFO+ " chat4 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">"			MAIN_HTML += "</center></body></html>"			return MAIN_HTML    		elif event == "recover_clan" :		        if not st.player.isClanLeader():				st.player.sendPacket(SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT))            			return			clan = st.player.getClan()			clan.setDissolvingExpiryTime(0)			clan.updateClanInDB()			st.player.sendMessage("Dissolution progress canceled")    		elif event == "giveclanl" :     			if st.player.getClan() == None or not st.player.isClanLeader() :      	 			return noleader(st)			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>"			MAIN_HTML += "<font color=\"FF0000\">Insert the name of the Clan member<br1>to commit</font><br><br>"			MAIN_HTML += "<edit var=\"name\" width=110><br><br>"			MAIN_HTML += "<button value=\"Enter\" action=\"bypass -h Quest " +QUEST_INFO+ " change_clan_leader $name no_data 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"><br1>"			MAIN_HTML += "<button value=\"Back\" action=\"bypass -h Quest " +QUEST_INFO+ " chat4 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">"			MAIN_HTML += "</center></body></html>"			return MAIN_HTML 		elif event == "change_clan_leader" :			if eventParam1 == "no_data": return        		if not st.player.isClanLeader():            			st.player.sendPacket(SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT))            			return			if st.player.isFlying():				st.player.sendMessage("Please, stop flying")				return			clan = st.player.getClan()			member = clan.getClanMember(eventParam1)			if member == None:				sm = SystemMessage(SystemMessageId.S1_DOES_NOT_EXIST)				sm.addString(eventParam1)				st.player.sendPacket(sm)				sm = None				return			if not member.isOnline():            			st.player.sendPacket(SystemMessage(SystemMessageId.INVITED_USER_NOT_ONLINE))				return			if st.player.getName() != member.getName(): return			clan.setNewLeader(member) 		elif event == "learn_clan_skills":			if st.player.getClan() == None or not st.player.isClanLeader():				MAIN_HTML = "<html><title>Services Manager</title><body><center>"				MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You're not qualified to learn Clan skills.</font><br>"				MAIN_HTML += "</center></body></html>"				return MAIN_HTML			skills = SkillTreeTable.getInstance().getAvailablePledgeSkills(st.player)			asl = AcquireSkillList(AcquireSkillList.SkillType.Clan)			counts = 0			for s in skills:				cost = s.getRepCost()				itemCount = s.getItemCount()				counts+=1				asl.addSkill(s.getId(), s.getLevel(), s.getLevel(), cost, itemCount)			if counts == 0:				if st.player.getClan().getLevel() < 8:					sm = SystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN)                			if st.player.getClan().getLevel() < 5:                				sm.addNumber(5)                			else:                				sm.addNumber(st.player.getClan().getLevel()+1)                			st.player.sendPacket(sm)                			st.player.sendPacket(AcquireSkillDone())				else:					MAIN_HTML = "<html><title>Services Manager</title><body><center>"					MAIN_HTML += "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><font color=\"FF0000\">You've learned all skills available for your Clan.</font><br>"					MAIN_HTML += "</center></body></html>"					return MAIN_HTML			else:            			st.player.sendPacket(asl) 		elif event == "createclan" :			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>"			MAIN_HTML += "<font color=\"FF0000\">.::Enter clan name::.</font><br><br>"			MAIN_HTML += "<edit var=\"name\" width=110><br><br>"			MAIN_HTML += "<button value=\"Enter\" action=\"bypass -h Quest " +QUEST_INFO+ " create_clan $name no_data 0 0 \" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"><br1>"			MAIN_HTML += "<button value=\"Back\" action=\"bypass -h Quest " +QUEST_INFO+ " chat4 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">"			MAIN_HTML += "</center></body></html>"			return MAIN_HTML 		elif event == "create_clan" :			if eventParam1 == "no_data": return            		ClanTable.getInstance().createClan(st.player, eventParam1)			return 		elif event == "createally":			MAIN_HTML = "<html><title>Services Manager</title><body><center>"			MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>"			MAIN_HTML += "<font color=\"FF0000\">.::Enter Alliance name::.</font><br><br>"			MAIN_HTML += "<edit var=\"name\" width=110><br><br>"			MAIN_HTML += "<button value=\"Enter\" action=\"bypass -h Quest " +QUEST_INFO+ " create_ally $name no_data 0 0 \" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"><br1>"			MAIN_HTML += "<button value=\"Back\" action=\"bypass -h Quest " +QUEST_INFO+ " chat4 0 0 0\" width=80 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">"			MAIN_HTML += "</center></body></html>"			return MAIN_HTML 		elif event == "create_ally":			if eventParam1 == "no_data": return            		if not st.player.isClanLeader():				st.player.sendPacket(SystemMessage(SystemMessageId.ONLY_CLAN_LEADER_CREATE_ALLIANCE))                		return			st.player.getClan().createAlly(st.player, eventParam1)			return 		elif event == "dissolve_ally":			if not st.player.isClanLeader():				st.player.sendPacket(SystemMessage(SystemMessageId.FEATURE_ONLY_FOR_ALLIANCE_LEADER))                		return            		st.player.getClan().dissolveAlly(st.player)			return		else: 	return 	def onFirstTalk (self,npc,player):		st = player.getQuestState(QUEST_INFO)		if not st : st = self.newQuestState(player)		st.setState(State.STARTED)		if player.isGM(): 			if ShowReloadScriptPanel == True: filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-5.htm"			else: filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-0.htm"			html = NpcHtmlMessage(npc.getObjectId())				html.setFile(filename)			html.replace("%objectId%", str(npc.getObjectId()))			st.player.sendPacket(html)   			elif int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"):			if AllowVIP == False or player.getAccessLevel().getLevel() == VIPaccesLevel and AllowVIP == True:				if ALLOW_KARMA_PLAYER == False and player.getKarma() > 0 :					return showText("Info","You have too much karma!<br>Come back,<br>when you don't have any karma!","False","Return","main")				elif st.player.getPvpFlag() > 0 :					return showText("Info","You can't use my services while you are flagged!<br>Wait some time and try again!","False","Return","main")				elif st.player.isInCombat() :					return showText("Info","You can't use my services while you are attacking!<br>Stop your fight and try again!","False","Return","main")				else: 					filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-0.htm"					html = NpcHtmlMessage(npc.getObjectId())						html.setFile(filename)					html.replace("%objectId%", str(npc.getObjectId()))					st.player.sendPacket(html)			else:				return showText("Sorry","This NPC is only for VIP's!<br>Contact the administrator for more info!","False","Return","main") 	   	else: return QUEST = Quest(QuestId,QUEST_INFO,QuestDesc) QUEST.addStartNpc(npcId)QUEST.addFirstTalkId(npcId) 
Error

Code: Select all

Error on: /home/l2-2/gameserver/data/scripts/custom/955_NpcService/__init__.py.error.logLine: -1 - Column: -1 Traceback (innermost last):  (no code object) at line 0SyntaxError: ('invalid syntax', ('__init__.py', 2, 28, 'from com.l2jserver. import Config')) 
I really didnt know how to fix it.
I think i go crazy :D
burrito
Posts: 276
Joined: Wed Apr 15, 2009 6:41 am

Re: AiO Npc help pls

Post by burrito »

there shouldnt be a period before the import

Code: Select all

from com.l2jserver. import Configfrom com.l2jserver. import L2DatabaseFactory
to this

Code: Select all

from com.l2jserver import Configfrom com.l2jserver import L2DatabaseFactory

btw this is the wrong section to post this kind of thing
repxl
Posts: 207
Joined: Wed May 20, 2009 8:29 pm

Re: AiO Npc help pls

Post by repxl »

i have the same problem why it no work .(
"Code is exactly like shit - you don't mind cleaning it when its yours, but when it isn't... fuck its annoying." - By the Almighty ZaKaX
User avatar
janiii
L2j Veteran
L2j Veteran
Posts: 4269
Joined: Wed May 28, 2008 3:15 pm
Location: Slovakia

Re: AiO Npc help pls

Post by janiii »

repxl wrote:i have the same problem why it no work .(
burrito already wrote the fix. read his post!
DO NOT EVEN TRY TO MESS WITH ME!
forum flOOder dancing dEVILoper
I don't give private support - PM will be ignored!
repxl
Posts: 207
Joined: Wed May 20, 2009 8:29 pm

Re: AiO Npc help pls

Post by repxl »

but it no work

Image


this error

Code: Select all

Error on: C:\Hry\Server\gameserver\data\scripts\custom\955_NpcService\__init__.py.error.logLine: -1 - Column: -1 Traceback (innermost last):  (no code object) at line 0SyntaxError: ('invalid syntax', ('__init__.py', 2, 28, 'from com.l2jserver. import Config'))
here my code http://pastebin.com/q4V4mDhq
"Code is exactly like shit - you don't mind cleaning it when its yours, but when it isn't... fuck its annoying." - By the Almighty ZaKaX
User avatar
LasTravel
Posts: 888
Joined: Tue Jan 05, 2010 12:08 am
Location: Spain

Re: AiO Npc help pls

Post by LasTravel »

Man, your are using wrong imports, if you DON'T use EPILOGUE use THIS:

Code: Select all

import sysfrom net.sf.l2j import Configfrom net.sf.l2j import L2DatabaseFactoryfrom java.lang import Systemfrom java.util import Iteratorfrom net.sf.l2j.gameserver.model.quest import Statefrom net.sf.l2j.gameserver.model.quest import QuestStatefrom net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuestfrom net.sf.l2j.gameserver.datatables import SkillTablefrom net.sf.l2j.gameserver.datatables import SkillTreeTablefrom net.sf.l2j.gameserver.datatables import ClanTablefrom net.sf.l2j.gameserver.datatables import HennaTreeTablefrom net.sf.l2j.gameserver.model import L2Objectfrom net.sf.l2j.gameserver.model import L2HennaInstancefrom net.sf.l2j.gameserver.model import L2Clanfrom net.sf.l2j.gameserver.model.base import ClassIdfrom net.sf.l2j.gameserver.model.actor import L2Characterfrom net.sf.l2j.gameserver.model.actor.instance import L2PcInstancefrom net.sf.l2j.gameserver.model.actor.instance import L2PetInstancefrom net.sf.l2j.gameserver.model.actor.instance import L2SummonInstancefrom net.sf.l2j.gameserver.instancemanager import QuestManagerfrom net.sf.l2j.gameserver.instancemanager import TownManagerfrom net.sf.l2j.gameserver.instancemanager import CastleManagerfrom net.sf.l2j.gameserver.instancemanager import FortManagerfrom net.sf.l2j.gameserver.instancemanager import FortSiegeManagerfrom net.sf.l2j.gameserver.instancemanager import SiegeManagerfrom net.sf.l2j.gameserver.network import SystemMessageIdfrom net.sf.l2j.gameserver.network.serverpackets import SellListfrom net.sf.l2j.gameserver.network.serverpackets import PackageToListfrom net.sf.l2j.gameserver.network.serverpackets import ActionFailedfrom net.sf.l2j.gameserver.network.serverpackets import WareHouseDepositListfrom net.sf.l2j.gameserver.network.serverpackets import WareHouseWithdrawalListfrom net.sf.l2j.gameserver.network.serverpackets import SystemMessagefrom net.sf.l2j.gameserver.network.serverpackets import NpcHtmlMessagefrom net.sf.l2j.gameserver.network.serverpackets import SetSummonRemainTimefrom net.sf.l2j.gameserver.network.serverpackets import SetupGaugefrom net.sf.l2j.gameserver.network.serverpackets import MagicSkillLaunchedfrom net.sf.l2j.gameserver.network.serverpackets import MagicSkillUsefrom net.sf.l2j.gameserver.network.serverpackets import AcquireSkillListfrom net.sf.l2j.gameserver.network.serverpackets import AcquireSkillDonefrom net.sf.l2j.gameserver.network.serverpackets import HennaEquipList
User avatar
janiii
L2j Veteran
L2j Veteran
Posts: 4269
Joined: Wed May 28, 2008 3:15 pm
Location: Slovakia

Re: AiO Npc help pls

Post by janiii »

repxl wrote:but it no work

Image


this error

Code: Select all

Error on: C:\Hry\Server\gameserver\data\scripts\custom\955_NpcService\__init__.py.error.logLine: -1 - Column: -1 Traceback (innermost last):  (no code object) at line 0SyntaxError: ('invalid syntax', ('__init__.py', 2, 28, 'from com.l2jserver. import Config'))
here my code http://pastebin.com/q4V4mDhq
so, you are fooling us. the error says there is a dot, but you show us a script without the dot.. if it would be only a wrong import, the error would say so. but you have the DOT there! check again burritos post and check your script, if you really deleted the dot there.. and yeah, which server version do you have? you should at least see, that there is a difference between "net.sf" and "com.l2jserver" imports!
DO NOT EVEN TRY TO MESS WITH ME!
forum flOOder dancing dEVILoper
I don't give private support - PM will be ignored!
repxl
Posts: 207
Joined: Wed May 20, 2009 8:29 pm

Re: AiO Npc help pls

Post by repxl »

im use epilogue downloaded yesterday the epilogue nightlights

and btw i found on net this rework and this work but im searching and i dont know what was the problem in old it seem like my old init_py file check it plz why this work without problems all is fine

Here: http://pastebin.com/HNNRVEYd


janii i have downloaded yesterday the epilogue packs so im on very new revisions

and i really had it without the dot .
Last edited by repxl on Sun May 16, 2010 1:21 pm, edited 1 time in total.
"Code is exactly like shit - you don't mind cleaning it when its yours, but when it isn't... fuck its annoying." - By the Almighty ZaKaX
User avatar
janiii
L2j Veteran
L2j Veteran
Posts: 4269
Joined: Wed May 28, 2008 3:15 pm
Location: Slovakia

Re: AiO Npc help pls

Post by janiii »

repxl wrote:im use epilogue downloaded yesterday the epilogue nightlights

and btw i found on net this rework and this work but im searching and i dont know what was the problem in old it seem like my old init_py file check it plz why this work without problems all is fine

Here: http://pastebin.com/HNNRVEYd
what is the problem with this last script?
DO NOT EVEN TRY TO MESS WITH ME!
forum flOOder dancing dEVILoper
I don't give private support - PM will be ignored!
repxl
Posts: 207
Joined: Wed May 20, 2009 8:29 pm

Re: AiO Npc help pls

Post by repxl »

janiii wrote:
repxl wrote:im use epilogue downloaded yesterday the epilogue nightlights

and btw i found on net this rework and this work but im searching and i dont know what was the problem in old it seem like my old init_py file check it plz why this work without problems all is fine

Here: http://pastebin.com/HNNRVEYd
what is the problem with this last script?
yes look this code here no error http://pastebin.com/HNNRVEYd
and this ERRROR http://pastebin.com/q4V4mDhq

where is the is the difference ? je to uplne podobne a vidis ten prvy cod mi ide bez errorov a ten druhy nejde neviem co tomu jebe ? sorry for other language .
"Code is exactly like shit - you don't mind cleaning it when its yours, but when it isn't... fuck its annoying." - By the Almighty ZaKaX
User avatar
janiii
L2j Veteran
L2j Veteran
Posts: 4269
Joined: Wed May 28, 2008 3:15 pm
Location: Slovakia

Re: AiO Npc help pls

Post by janiii »

repxl wrote:yes look this code here no error http://pastebin.com/HNNRVEYd
and this ERRROR http://pastebin.com/q4V4mDhq

where is the is the difference ? je to uplne podobne a vidis ten prvy cod mi ide bez errorov a ten druhy nejde neviem co tomu jebe ? sorry for other language .
calm down.. the difference is in the imports - the second script has different imports - the first two are com.l2j but the others are net.sf! compare the two codes with a compare tool, if you dont see a difference..
if the first code works for you, so use it, or? why you dont want to use a working code?
DO NOT EVEN TRY TO MESS WITH ME!
forum flOOder dancing dEVILoper
I don't give private support - PM will be ignored!
repxl
Posts: 207
Joined: Wed May 20, 2009 8:29 pm

Re: AiO Npc help pls

Post by repxl »

aha i see it ty janii i want use a working code i just wanna know why the other didnt worked for me :D thanks
"Code is exactly like shit - you don't mind cleaning it when its yours, but when it isn't... fuck its annoying." - By the Almighty ZaKaX
Post Reply