Guest User

Untitled

a guest
Jan 13th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.56 KB | None | 0 0
  1. import sys
  2. from l2jlionna.mmocore import Config
  3. from l2jlionna.util.database import L2DatabaseFactory
  4. from java.lang import System
  5. from java.util import Iterator
  6. from l2jlionna.gameserver.managers import QuestManager
  7. from l2jlionna.gameserver.model.quest import State
  8. from l2jlionna.gameserver.model.quest import QuestState
  9. from l2jlionna.gameserver.model.quest.jython import QuestJython as JQuest
  10. from l2jlionna.gameserver.model import L2Object
  11. from l2jlionna.gameserver.managers import TownManager
  12. from l2jlionna.gameserver.network import SystemMessageId
  13. from l2jlionna.gameserver.datatables import SkillTable
  14. from l2jlionna.gameserver.datatables.xml import SkillTreeTable
  15. from l2jlionna.gameserver.model.actor import L2Player
  16. from l2jlionna.gameserver.model.base import ClassId
  17. from l2jlionna.gameserver.model.actor import L2Character
  18.  
  19. ##########################
  20. allowclassmaster= True   # Classmaster Options
  21. ##########################
  22. CLASSMASTER_GIFT = 6622  # (Giant's codex = 6622)
  23. ##########################
  24. CLASSMASTER_ITEM_NUM= 1  #
  25. ##########################
  26.  
  27. npcId         = 52222
  28. QuestId       = 955
  29. QuestName     = "NpcService"
  30. QUEST_INFO    = str(QuestId)+"_"+QuestName
  31. QuestDesc     = "custom"
  32.  
  33. print "============================="
  34. print "INFO Loaded Black Betty ClassMaster"
  35. print "============================="
  36.  
  37. def MainHtml(st,npcid) :
  38.     MAIN_HTML = "<html><title>Services Manager Options</title><body><center>"
  39.     if allowclassmaster :
  40.         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>"
  41.         MAIN_HTML += "<br><font color=\"303030\">"+getmaster(st)+"</font>"
  42.     MAIN_HTML += "</center></body></html>"
  43.     return MAIN_HTML
  44.  
  45. def showSkillList(st):
  46.     skills = SkillTreeTable.getInstance().getAvailableSkills(st.player, st.player.getClassId())
  47.     asl = AcquireSkillList(AcquireSkillList.SkillType.Usual)
  48.     counts = 0
  49.     s = len(skills)
  50.     for s in skills:
  51.         sk = SkillTable.getInstance().getInfo(s.getId(), s.getLevel())
  52.         if sk != None:
  53.             asl.addSkill(s.getId(), s.getLevel(), s.getLevel(), 0, 0)
  54.             counts+=1
  55.  
  56.     if counts == 0:
  57.         minlevel = SkillTreeTable.getInstance().getMinLevelForNewSkill(st.player, st.player.getClassId())
  58.         if minlevel > 0:
  59.                 sm = SystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN)
  60.                 sm.addNumber(minlevel)
  61.                 st.player.sendPacket(sm)
  62.         else:
  63.                 sm = SystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN)
  64.                 st.player.sendPacket(sm)
  65.     else: st.player.sendPacket(asl)
  66.  
  67. def classmaster(st):
  68.     classId = st.player.getClassId().getId()
  69.     level = st.player.getLevel()
  70.     jobLevel=st.getPlayer().getClassId().level()
  71.     MAIN_HTML = "<html><title>Class Master</title><body><center>"
  72.     if jobLevel == 2 and level > 75 or jobLevel == 1 and level > 39 or jobLevel == 0 and level > 19:
  73.         MAIN_HTML += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"
  74.         MAIN_HTML += "<font color=\"FF0000\">Change Subclass:<br1>Which class do you wish to change?</font><br><br1>"
  75.         conn=L2DatabaseFactory.getInstance().getConnection()
  76.         act = conn.prepareStatement("SELECT * FROM class_list WHERE parent_id = \""+str(classId)+"\"")
  77.         rs=act.executeQuery()
  78.         while (rs.next()) :
  79.             try :
  80.                 xid = rs.getString("id")
  81.                 xclassname= getnames(st,xid)
  82.                 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\">"
  83.             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>"
  84.         try : conn.close()
  85.         except : pass
  86.     else:
  87.         if jobLevel == 0 and level < 20:
  88.             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>"
  89.         elif jobLevel <= 1 and level < 40:
  90.             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>"
  91.         elif jobLevel <= 2 and level < 76:
  92.             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>"
  93.         else:
  94.             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>"
  95.     MAIN_HTML += "</center></body></html>"
  96.     return MAIN_HTML
  97.  
  98. def getmaster(st):
  99.     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
  100.     return val
  101.  
  102. class Quest (JQuest) :
  103.  
  104.     def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
  105.  
  106.     def onEvent(self,event,st):
  107.         currentTime = int(System.currentTimeMillis()/1000)
  108.         if event == "changeclass":
  109.                 st.player.setClassId(int(eventParam1))
  110.                 if st.player.isSubClassActive():
  111.                     st.player.getSubClasses().get(st.player.getClassIndex()).setClassId(st.player.getActiveClass())
  112.                 else:
  113.                         st.player.setBaseClass(st.player.getActiveClass())
  114.             if st.getPlayer().getClassId().level() == 3:
  115.                 st.giveItems(CLASSMASTER_GIFT,CLASSMASTER_ITEM_NUM)
  116.             st.player.broadcastUserInfo()
  117.  
  118.  
  119. QUEST = Quest(QuestId,QUEST_INFO,QuestDesc)
  120.  
  121. QUEST.addStartNpc(npcId)
  122. QUEST.addFirstTalkId(npcId)
  123. QUEST.addTalkId(npcId)
Add Comment
Please, Sign In to add comment