Advertisement
Fabbian

Untitled

Nov 2nd, 2015
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.66 KB | None | 0 0
  1. import sys
  2. from com.dream.game.model.actor.instance import L2PcInstance
  3. from java.util import Iterator
  4. from com.dream.game.datatables.xml import SkillTable
  5. from com.dream import L2DatabaseFactory
  6. from com.dream.game.model.quest import State
  7. from com.dream.game.model.actor.appearance import PcAppearance
  8. from com.dream.game.model.quest import QuestState
  9. from com.dream.game.model.quest.jython import QuestJython as JQuest
  10.  
  11. qn = "2003_Ranking"
  12.  
  13. NPC=[13]
  14. PriceID = 57
  15. PriceCount = 500000
  16. QuestId = 2003
  17. QuestName = "Ranking"
  18. QuestDesc = "custom"
  19. InitialHtml = "1.htm"
  20.  
  21. print " * Ranking [ Ok ]"
  22.  
  23. class Quest (JQuest) :
  24.  
  25. def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
  26.  
  27. def onTalk (self,npc,player):
  28. return InitialHtml
  29.  
  30. def onEvent(self,event,st):
  31. htmltext = event
  32. price = st.getQuestItemsCount(PriceID)
  33.  
  34. # - - - - - - - - -
  35. # + PvP Ranking +
  36. # - - - - - - - - -
  37. if event == "1" and price >= PriceCount :
  38. st.takeItems(PriceID,PriceCount)
  39. total_asesinados = 0
  40. htmltext_ini = "<html><head><center><title>Perseu</title></head><body><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><table width=200><tr><td><font color =\"0066CC\">Rank</td><td><center><font color =\"0066CC\">Name</color></center></td><td><center><font color =\"0066CC\">PvP's</color></center></td></tr><tr></tr>"
  41. htmltext_info =""
  42. color = 1
  43. pos = 0
  44. con = L2DatabaseFactory.getInstance().getConnection()
  45. pks = con.prepareStatement("SELECT char_name,pvpkills FROM characters WHERE pvpkills>0 order by pvpkills desc limit 10")
  46. rs = pks.executeQuery()
  47. while (rs.next()) :
  48. char_name = rs.getString("char_name")
  49. char_pkkills = rs.getString("pvpkills")
  50. total_asesinados = total_asesinados + int(char_pkkills)
  51. pos = pos + 1
  52. posstr = str(pos)
  53. if color == 1:
  54. color_text = "<font color =\"FFFFFF\">"
  55. color = 2
  56. htmltext_info = htmltext_info + "<tr><td><center><font color =\"LEVEL\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pkkills + "</center></td></tr>"
  57. elif color == 2:
  58. color_text = "<font color =\"FFFFFF\">"
  59. color = 1
  60. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pkkills + "</center></td></tr>"
  61. htmltext_end = "</table><center><br><font color=\"0066CC\">" + "Total:</font> " + str(total_asesinados) + "<font color=\"FFFFFF\"> PvP's</font><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32></center></body></html>"
  62. htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
  63. con.close()
  64. return htmltext_pklist
  65. elif event == "1" and price < PriceCount :
  66. htmltext = "<html><body><center><title>Perseu</title><br><br><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><br><br>Sorry!<br><br>You do not have the necessary items.<br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32><font color=\"222222\">by Smallz</center></body></html>"
  67. return htmltext
  68.  
  69. # - - - - - - - - -
  70. # + PK Ranking +
  71. # - - - - - - - - -
  72. if event == "2" and price >= PriceCount :
  73. st.takeItems(PriceID,PriceCount)
  74. total_asesinados = 0
  75. htmltext_ini = "<html><head><center><title>Perseu</title></head><body><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><table width=200><tr><td><font color =\"0066CC\">Rank</td><td><center><font color =\"0066CC\">Name</color></center></td><td><center><font color =\"0066CC\">PK's</color></center></td></tr><tr></tr>"
  76. htmltext_info =""
  77. color = 1
  78. pos = 0
  79. con = L2DatabaseFactory.getInstance().getConnection()
  80. pks = con.prepareStatement("SELECT char_name,pkkills FROM characters WHERE pkkills>0 order by pkkills desc limit 10")
  81. rs = pks.executeQuery()
  82. while (rs.next()) :
  83. char_name = rs.getString("char_name")
  84. char_pkkills = rs.getString("pkkills")
  85. total_asesinados = total_asesinados + int(char_pkkills)
  86. pos = pos + 1
  87. posstr = str(pos)
  88. if color == 1:
  89. color_text = "<font color =\"FFFFFF\">"
  90. color = 2
  91. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pkkills + "</center></td></tr>"
  92. elif color == 2:
  93. color_text = "<font color =\"FFFFFF\">"
  94. color = 1
  95. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pkkills + "</center></td></tr>"
  96. htmltext_end = "</table><center><br><font color=\"0066CC\">" + "Total:</font> " + str(total_asesinados) + "<font color=\"FFFFFF\"> PK's</font><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32></center></body></html>"
  97. htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
  98. con.close()
  99. return htmltext_pklist
  100. elif event == "2" and price < PriceCount :
  101. htmltext = "<html><body><center><title>Perseu</title><br><br><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><br><br>Sorry!<br><br>You do not have the necessary items.<br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32><font color=\"222222\">by Smallz</center></body></html>"
  102. return htmltext
  103.  
  104. # - - - - - - - - - - -
  105. # + Gold Bar ranking +
  106. # - - - - - - - - - - -
  107. if event == "3" and price >= PriceCount :
  108. st.takeItems(PriceID,PriceCount)
  109. total_cantidad = 0
  110. htmltext_ini = "<html><head><center><title>Perseu</title></head><body><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><table width=200><tr><td><font color =\"0066CC\">Rank</td><td><center><font color =\"0066CC\">Name</color></center></td><td><center><font color =\"0066CC\">Gold Bar</color></center></td></tr><tr></tr>"
  111. htmltext_info =""
  112. color = 1
  113. pos = 0
  114. con = L2DatabaseFactory.getInstance().getConnection()
  115. pks = con.prepareStatement("SELECT count,owner_id FROM items WHERE item_id=3470 order by count desc limit 10")
  116. rs = pks.executeQuery()
  117. while (rs.next()) :
  118. cantidad = rs.getString("count")
  119. pj_id = rs.getString("owner_id")
  120. total_cantidad = total_cantidad + long(cantidad)
  121. pos = pos + 1
  122. posstr = str(pos)
  123. charname = con.prepareStatement("SELECT char_name FROM characters WHERE obj_Id=" + pj_id)
  124. rs2 = charname.executeQuery()
  125. while (rs2.next()) :
  126. char_name = rs2.getString("char_name")
  127. if color == 1:
  128. color_text = "<font color =\"FFFFFF\">"
  129. color = 2
  130. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + cantidad + "</center></td></tr>"
  131. elif color == 2:
  132. color_text = "<font color =\"FFFFFF\">"
  133. color = 1
  134. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + cantidad + "</center></td></tr>"
  135. htmltext_end = "</table><center><br><font color=\"0066CC\">" + "Total:</font> " + str(total_cantidad) + "<font color=\"FFFFFF\"> Gold Bar</font><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32></center></body></html>"
  136. htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
  137. con.close()
  138. return htmltext_pklist
  139. elif event == "3" and price < PriceCount :
  140. htmltext = "<html><body><center><title>Perseu</title><br><br><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><br><br>Sorry!<br><br>You do not have the necessary items.<br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32><font color=\"222222\">by Smallz</center></body></html>"
  141. return htmltext
  142.  
  143. # - - - - - - - - - - -
  144. # + Glittering Medal +
  145. # - - - - - - - - - - -
  146. if event == "4" and price >= PriceCount :
  147. st.takeItems(PriceID,PriceCount)
  148. total_cantidad = 0
  149. htmltext_ini = "<html><head><center><title>Perseu</title></head><body><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><table width=200><tr><td><font color =\"0066CC\">Rank</td><td><center><font color =\"0066CC\">Name</color></center></td><td><center><font color =\"0066CC\">Glittering Medal</color></center></td></tr><tr></tr>"
  150. htmltext_info =""
  151. color = 1
  152. pos = 0
  153. con = L2DatabaseFactory.getInstance().getConnection()
  154. pks = con.prepareStatement("SELECT count,owner_id FROM items WHERE item_id=6393 order by count desc limit 10")
  155. rs = pks.executeQuery()
  156. while (rs.next()) :
  157. cantidad = rs.getString("count")
  158. pj_id = rs.getString("owner_id")
  159. total_cantidad = total_cantidad + long(cantidad)
  160. pos = pos + 1
  161. posstr = str(pos)
  162. charname = con.prepareStatement("SELECT char_name FROM characters WHERE obj_Id=" + pj_id)
  163. rs2 = charname.executeQuery()
  164. while (rs2.next()) :
  165. char_name = rs2.getString("char_name")
  166. if color == 1:
  167. color_text = "<font color =\"FFFFFF\">"
  168. color = 2
  169. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + cantidad + "</center></td></tr>"
  170. elif color == 2:
  171. color_text = "<font color =\"FFFFFF\">"
  172. color = 1
  173. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + cantidad + "</center></td></tr>"
  174. htmltext_end = "</table><center><br><font color=\"0066CC\">" + "Total:</font> " + str(total_cantidad) + "<font color=\"FFFFFF\"> Glittering Medal</font><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32></center></body></html>"
  175. htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
  176. con.close()
  177. return htmltext_pklist
  178. elif event == "4" and price < PriceCount :
  179. htmltext = "<html><body><center><title>Perseu</title><br><br><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><br><br>Sorry!<br><br>You do not have the necessary items.<br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32><font color=\"222222\">by Smallz</center></body></html>"
  180. return htmltext
  181.  
  182. # - - - - -
  183. # + Clan +
  184. # - - - - -
  185. if event == "5" and price >= PriceCount :
  186. st.takeItems(PriceID,PriceCount)
  187. htmltext_ini = "<html><head><center><title>Perseu</title></head><body><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><table width=230><tr><td><font color =\"0066CC\">Rank</td><td><center><font color =\"0066CC\">Level</color></center></td><td><center><font color =\"0066CC\">Name</color></center></td><td><center><font color =\"0066CC\">Reputation</color></center></td></tr><tr></tr>"
  188. htmltext_info =""
  189. color = 1
  190. pos = 0
  191. con = L2DatabaseFactory.getInstance().getConnection()
  192. clan = con.prepareStatement("SELECT clan_name,clan_level,reputation_score FROM clan_data WHERE clan_level>0 order by reputation_score desc limit 10")
  193. rs = clan.executeQuery()
  194. while (rs.next()) :
  195. clan_name = rs.getString("clan_name")
  196. clan_level = rs.getString("clan_level")
  197. clan_score = rs.getString("reputation_score")
  198. pos = pos + 1
  199. posstr = str(pos)
  200. if color == 1:
  201. color_text = "<font color =\"FFFFFF\">"
  202. color = 2
  203. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</center></td><td><center>" + color_text + clan_level +"</center></td><td><center>" + clan_name + "</center></td><td><center>" + clan_score + "</center></td></tr>"
  204. elif color == 2:
  205. color_text = "<font color =\"FFFFFF\">"
  206. color = 1
  207. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</center></td><td><center>" + color_text + clan_level +"</center></td><td><center>" + clan_name + "</center></td><td><center>" + clan_score + "</center></td></tr>"
  208. htmltext_end = "</table><center><br><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32><font color=\"222222\">by Smallz</center></body></html>"
  209. htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
  210. con.close()
  211. return htmltext_pklist
  212. elif event == "5" and price < PriceCount :
  213. htmltext = "<html><body><center><title>Perseu</title><br><br><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><br><br>Sorry!<br><br>You do not have the necessary items.<br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32><font color=\"222222\">by Smallz</center></body></html>"
  214. return htmltext
  215.  
  216. # - - - - - - - -
  217. # + Online Time +
  218. # - - - - - - - -
  219. if event == "6" and price >= PriceCount :
  220. st.takeItems(PriceID,PriceCount)
  221. htmltext_ini = "<html><head><center><title>Perseu</title></head><body><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><table width=200><tr><td><font color =\"0066CC\">Rank</td><td><center><font color =\"0066CC\">Name</color></center></td><td><center><font color =\"0066CC\">Online</color></center></td></tr><tr></tr>"
  222. htmltext_info =""
  223. color = 1
  224. pos = 0
  225. con = L2DatabaseFactory.getInstance().getConnection()
  226. pks = con.prepareStatement("SELECT char_name,onlinetime FROM characters WHERE onlinetime>0 order by onlinetime desc limit 10")
  227. rs = pks.executeQuery()
  228. while (rs.next()) :
  229. char_name = rs.getString("char_name")
  230. char_onlinetime = rs.getString("onlinetime")
  231. pos = pos + 1
  232. posstr = str(pos)
  233. if color == 1:
  234. color_text = "<font color =\"FFFFFF\">"
  235. color = 2
  236. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_onlinetime + "</center></td></tr>"
  237. elif color == 2:
  238. color_text = "<font color =\"FFFFFF\">"
  239. color = 1
  240. htmltext_info = htmltext_info + "<tr><td><center><font color =\"FFFF00\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_onlinetime + "</center></td></tr>"
  241. htmltext_end = "</table><center><br><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32><font color=\"222222\">by Smallz</center></body></html>"
  242. htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
  243. con.close()
  244. return htmltext_pklist
  245. elif event == "6" and price < PriceCount :
  246. htmltext = "<html><body><center><title>Perseu</title><br><br><img src=\"l2font-e.replay_logo-e\" width=255 height=60><br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32><br><br>Sorry!<br><br>You do not have the necessary items.<br><br><img src=\"L2UI_CH3.onscrmsg_pattern01_1\" width=300 height=32><font color=\"222222\">by Smallz</center></body></html>"
  247. return htmltext
  248.  
  249. QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
  250.  
  251. for npcId in NPC:
  252. QUEST.addStartNpc(npcId)
  253. QUEST.addTalkId(npcId)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement