Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from l2jlionna.mmocore import Config
- from l2jlionna.util.database import L2DatabaseFactory
- from java.lang import System
- from java.util import Iterator
- from l2jlionna.gameserver.managers import QuestManager
- from l2jlionna.gameserver.model.quest import State
- from l2jlionna.gameserver.model.quest import QuestState
- from l2jlionna.gameserver.model.quest.jython import QuestJython as JQuest
- from l2jlionna.gameserver.model import L2Object
- from l2jlionna.gameserver.managers import TownManager
- from l2jlionna.gameserver.network import SystemMessageId
- from l2jlionna.gameserver.datatables import SkillTable
- from l2jlionna.gameserver.datatables.xml import SkillTreeTable
- from l2jlionna.gameserver.model.actor import L2Player
- from l2jlionna.gameserver.model.base import ClassId
- from l2jlionna.gameserver.model.actor import L2Character
- ##########################
- allowclassmaster= True # Classmaster Options
- ##########################
- CLASSMASTER_GIFT = 6622 # (Giant's codex = 6622)
- ##########################
- CLASSMASTER_ITEM_NUM= 1 #
- ##########################
- npcId = 52222
- QuestId = 955
- QuestName = "NpcService"
- QUEST_INFO = str(QuestId)+"_"+QuestName
- QuestDesc = "custom"
- print "============================="
- print "INFO Loaded Black Betty ClassMaster"
- print "============================="
- def MainHtml(st,npcid) :
- MAIN_HTML = "<html><title>Services Manager Options</title><body><center>"
- if allowclassmaster :
- MAIN_HTML += "<tr><td><button value=\"Class Master\" action=\"bypass -h Quest " +QUEST_INFO+ " class_master 0 0 0\" width=120 height=19 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr><br1>"
- MAIN_HTML += "<br><font color=\"303030\">"+getmaster(st)+"</font>"
- MAIN_HTML += "</center></body></html>"
- return MAIN_HTML
- def showSkillList(st):
- skills = SkillTreeTable.getInstance().getAvailableSkills(st.player, st.player.getClassId())
- asl = AcquireSkillList(AcquireSkillList.SkillType.Usual)
- counts = 0
- s = len(skills)
- for s in skills:
- sk = SkillTable.getInstance().getInfo(s.getId(), s.getLevel())
- if sk != None:
- asl.addSkill(s.getId(), s.getLevel(), s.getLevel(), 0, 0)
- counts+=1
- if counts == 0:
- minlevel = SkillTreeTable.getInstance().getMinLevelForNewSkill(st.player, st.player.getClassId())
- if minlevel > 0:
- sm = SystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN)
- sm.addNumber(minlevel)
- st.player.sendPacket(sm)
- else:
- sm = SystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN)
- st.player.sendPacket(sm)
- else: st.player.sendPacket(asl)
- 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 getmaster(st):
- 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
- class Quest (JQuest) :
- def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
- def onEvent(self,event,st):
- currentTime = int(System.currentTimeMillis()/1000)
- 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()
- QUEST = Quest(QuestId,QUEST_INFO,QuestDesc)
- QUEST.addStartNpc(npcId)
- QUEST.addFirstTalkId(npcId)
- QUEST.addTalkId(npcId)
Add Comment
Please, Sign In to add comment