Advertisement
Guest User

Untitled

a guest
Oct 16th, 2016
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.21 KB | None | 0 0
  1. package custom;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.net.HttpURLConnection;
  7. import java.net.SocketTimeoutException;
  8. import java.net.URL;
  9. import java.sql.Connection;
  10. import java.sql.PreparedStatement;
  11. import java.sql.ResultSet;
  12. import java.text.SimpleDateFormat;
  13. import java.util.Date;
  14.  
  15. import net.sf.l2j.Config;
  16. import net.sf.l2j.L2DatabaseFactory;
  17. import net.sf.l2j.gameserver.ThreadPoolManager;
  18. import net.sf.l2j.gameserver.model.L2World;
  19. import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
  20. import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;
  21. import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;
  22. import net.sf.l2j.gameserver.network.serverpackets.ItemList;
  23. import net.sf.l2j.gameserver.network.serverpackets.PlaySound;
  24.  
  25. public class VoteMain
  26. {
  27. private static boolean hasVotedHop;
  28. private static boolean hasVotedTop;
  29. private static boolean hasVotedNetwork;
  30. static boolean Problemontop = false;
  31. static boolean Problemonhop = false;
  32. static boolean Problemonnetwork = false;
  33.  
  34. public VoteMain()
  35. {
  36. ThreadPoolManager.getInstance().scheduleGeneral(new VoteMsg(), 0);
  37. }
  38.  
  39. public static void load()
  40. {
  41. System.out.println("Vote Reward Per Person Started Successfully.");
  42. TriesResetTask.getInstance();
  43. }
  44.  
  45. class VoteMsg implements Runnable
  46. {
  47.  
  48. /*
  49. * (non-Javadoc)
  50. * @see java.lang.Runnable#run()
  51. */
  52. @Override
  53. public void run()
  54. {
  55. // TODO Auto-generated method stub
  56. bringMsg();
  57. }
  58.  
  59. private boolean bringMsg()
  60. {
  61. try
  62. {
  63. while (true)
  64. {
  65. for (L2PcInstance player : L2World.getInstance().getAllPlayers().values())
  66. {
  67. if (player != null && player.isOnline() && (shouldVote(player)))
  68. {
  69. player.sendPacket(new CreatureSay(player.getObjectId(), 2, "[VOTE MANAGER]", "You didn't not voted for server ! Go to vote manager and vote for reward !"));
  70. player.sendPacket(new PlaySound("ItemSound.quest_middle"));
  71. }
  72. }
  73. Thread.sleep(30 * 60000);
  74. }
  75.  
  76. }
  77. catch (Exception e)
  78. {
  79. }
  80. return true;
  81. }
  82.  
  83. }
  84.  
  85. protected static int getHopZoneVotes()
  86. {
  87. URL url = null;
  88. InputStreamReader isr = null;
  89. BufferedReader in = null;
  90. try
  91. {
  92. url = new URL(Config.VOTE_LINK_HOPZONE);
  93. HttpURLConnection con = (HttpURLConnection) url.openConnection();
  94. HttpURLConnection.setFollowRedirects(false);
  95. con.setConnectTimeout(10 * 1000);
  96. con.addRequestProperty("user-agent", "fake googlebot");
  97. con.connect();
  98. isr = new InputStreamReader(con.getInputStream());
  99. in = new BufferedReader(isr);
  100. String inputLine;
  101. while ((inputLine = in.readLine()) != null)
  102. {
  103. if (inputLine.contains("rank anonymous tooltip"))
  104. {
  105. return Integer.valueOf(inputLine.split(">")[2].replace("</span", ""));
  106. }
  107. }
  108. }
  109. catch (IOException e)
  110. {
  111. System.out.println("[Hopzone-Vote Manager] I can't connect on Hopzone site...");
  112. Problemonhop = true;
  113. }
  114. return 0;
  115. }
  116.  
  117. protected static int getTopZoneVotes()
  118. {
  119. URL url = null;
  120. InputStreamReader isr = null;
  121. BufferedReader in = null;
  122. try
  123. {
  124. try
  125. {
  126. url = new URL(Config.VOTE_LINK_TOPZONE);
  127. HttpURLConnection con = (HttpURLConnection) url.openConnection();
  128. HttpURLConnection.setFollowRedirects(false);
  129. con.setConnectTimeout(5 * 1000);
  130. con.addRequestProperty("User-Agent", "L2TopZone");
  131. con.connect();
  132. isr = new InputStreamReader(con.getInputStream());
  133. in = new BufferedReader(isr);
  134. }
  135. catch (SocketTimeoutException e)
  136. {
  137. System.out.println("[Topzone-Vote Manager] I can't connect on TOPZONE site...");
  138. Problemontop = true;
  139. return 0;
  140. }
  141.  
  142. String inputLine;
  143. while ((inputLine = in.readLine()) != null)
  144. {
  145. if (inputLine.contains("Votes:"))
  146. {
  147. for (int i = -1; i > 2; i++)
  148. inputLine = in.readLine();
  149.  
  150. Problemontop = false;
  151. int count = Integer.parseInt(inputLine.split("<br>")[1].split("<")[0]);
  152. // System.out.println(count);
  153. return count;
  154. // return Integer.valueOf(inputLine.split(">")[3].replace("</div", ""));
  155. }
  156. }
  157. }
  158. catch (IOException e)
  159. {
  160. e.printStackTrace();
  161. System.out.println("[Topzone-Vote Manager] I can't connect on Topzone site...");
  162. Problemontop = true;
  163. }
  164. return 0;
  165. }
  166.  
  167. public static String hopCd(L2PcInstance player)
  168. {
  169. long hopCdMs = 0;
  170. long voteDelay = 43200000L;
  171. PreparedStatement statement = null;
  172. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  173. {
  174. statement = con.prepareStatement("SELECT lastVoteHopzone FROM characters WHERE obj_Id=?");
  175. statement.setInt(1, player.getObjectId());
  176.  
  177. ResultSet rset = statement.executeQuery();
  178.  
  179. while (rset.next())
  180. {
  181. hopCdMs = rset.getLong("lastVoteHopzone");
  182. }
  183. rset.close();
  184. statement.close();
  185. }
  186. catch (Exception e)
  187. {
  188. e.printStackTrace();
  189. }
  190. SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
  191.  
  192. Date resultdate = new Date(hopCdMs + voteDelay);
  193. return sdf.format(resultdate);
  194. }
  195.  
  196. public static String topCd(L2PcInstance player)
  197. {
  198. long topCdMs = 0;
  199. long voteDelay = 43200000L;
  200. PreparedStatement statement = null;
  201. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  202. {
  203. statement = con.prepareStatement("SELECT lastVoteTopzone FROM characters WHERE obj_Id=?");
  204. statement.setInt(1, player.getObjectId());
  205.  
  206. ResultSet rset = statement.executeQuery();
  207.  
  208. while (rset.next())
  209. {
  210. topCdMs = rset.getLong("lastVoteTopzone");
  211. }
  212. rset.close();
  213. statement.close();
  214. }
  215. catch (Exception e)
  216. {
  217. e.printStackTrace();
  218. }
  219. SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
  220.  
  221. Date resultdate = new Date(topCdMs + voteDelay);
  222. return sdf.format(resultdate);
  223. }
  224.  
  225. public static String networkCd(L2PcInstance player)
  226. {
  227. long topCdMs = 0;
  228. long voteDelay = 43200000L;
  229. PreparedStatement statement = null;
  230. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  231. {
  232. statement = con.prepareStatement("SELECT lastVoteNetwork FROM characters WHERE obj_Id=?");
  233. statement.setInt(1, player.getObjectId());
  234.  
  235. ResultSet rset = statement.executeQuery();
  236.  
  237. while (rset.next())
  238. {
  239. topCdMs = rset.getLong("lastVoteNetwork");
  240. }
  241. rset.close();
  242. statement.close();
  243. }
  244. catch (Exception e)
  245. {
  246. e.printStackTrace();
  247. }
  248. SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
  249.  
  250. Date resultdate = new Date(topCdMs + voteDelay);
  251. return sdf.format(resultdate);
  252. }
  253.  
  254. public static String whosVoting()
  255. {
  256. for (L2PcInstance voter : L2World.getInstance().getAllPlayers().values())
  257. {
  258. if (voter.isVoting())
  259. {
  260. return voter.getName();
  261. }
  262. }
  263. return "None";
  264. }
  265.  
  266. public static void hopvote(final L2PcInstance player)
  267. {
  268. long lastVoteHopzone = 0L;
  269. long voteDelay = 43200000L;
  270. final int firstvoteshop;
  271. int votesmessage = 0;
  272.  
  273. firstvoteshop = getHopZoneVotes();
  274. votesmessage = getHopZoneVotes();
  275.  
  276. class hopvotetask implements Runnable
  277. {
  278. private final L2PcInstance p;
  279.  
  280. public hopvotetask(L2PcInstance player)
  281. {
  282. p = player;
  283. }
  284.  
  285. @Override
  286. public void run()
  287. {
  288. if (Problemonhop == true)
  289. {
  290. p.setIsVoting(false);
  291. VoteMain.setHasVotedHop(p);
  292. p.sendMessage("Thank you for voting for us!");
  293. p.sendPacket(new ExShowScreenMessage("Thanks for vote!, Check inventory: Vote Box ", 60 * 60 * 1000));
  294. try
  295. {
  296. Thread.sleep(2000); // 1000 milliseconds is one second.
  297. }
  298. catch (InterruptedException ex)
  299. {
  300. Thread.currentThread().interrupt();
  301. }
  302. p.sendPacket(new ExShowScreenMessage(null, 60 * 60 * 1000));
  303. // Announcements.getInstance().gameAnnounceToAll("[Vote Manager] Vote 4 Us on HOPZONE.");
  304. VoteMain.updateLastVoteHopzone(p);
  305. Problemonhop = false;
  306. System.out.println("I have error on topzone but i will give the reward... Please check me katara.");
  307. }
  308. else
  309. {
  310. if (firstvoteshop < getHopZoneVotes())
  311. {
  312. p.setIsVoting(false);
  313. p.getInventory().addItem("reward", 6492, 1, p, null);
  314. p.sendPacket(new ItemList(p, true));
  315. // VoteMain.setHasVotedHop(player);
  316. p.sendMessage("You have earned Vote Box ");
  317. p.sendPacket(new ExShowScreenMessage("Thanks for vote!, Check inventory: Vote Box ", 60 * 60 * 1000));
  318. try
  319. {
  320. Thread.sleep(2000); // 1000 milliseconds is one second.
  321. }
  322. catch (InterruptedException ex)
  323. {
  324. Thread.currentThread().interrupt();
  325. }
  326. p.sendPacket(new ExShowScreenMessage(null, 60 * 60 * 1000));
  327. // Announcements.getInstance().gameAnnounceToAll("[Vote Manager] Vote 4 Us on HOPZONE.");
  328. VoteMain.updateLastVoteHopzone(p);
  329. VoteMain.updateVotes(p);
  330. }
  331. else
  332. {
  333. p.setIsVoting(false);
  334. p.sendMessage("You did not vote on hopzone. Please try again later...");
  335. VoteMain.setTries(player, VoteMain.getTries(p) - 0);
  336. }
  337. }
  338. }
  339. }
  340.  
  341. PreparedStatement statement = null;
  342. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  343. {
  344. statement = con.prepareStatement("SELECT lastVoteHopzone FROM characters WHERE obj_Id=?");
  345. statement.setInt(1, player.getObjectId());
  346.  
  347. ResultSet rset = statement.executeQuery();
  348.  
  349. while (rset.next())
  350. {
  351. lastVoteHopzone = rset.getLong("lastVoteHopzone");
  352. }
  353. }
  354. catch (Exception e)
  355. {
  356. e.printStackTrace();
  357. }
  358.  
  359. if (getTries(player) <= 0)
  360. {
  361. player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today");
  362. }
  363. else if (((lastVoteHopzone + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0))
  364. {
  365. for (L2PcInstance j : L2World.getInstance().getAllPlayers().values())
  366. {
  367. if (j.isVoting())
  368. {
  369. player.sendMessage("Someone is already voting.Wait for your turn please!");
  370. return;
  371. }
  372. }
  373.  
  374. player.setIsVoting(true);
  375. // ExShowScreenMessageOnBroad screen = new ExShowScreenMessageOnBroad("GO at Website and vote on HOPZONE, " + player.getName(), 20000, SMPOS.TOP_CENTER, true);
  376. // player.sendPacket(screen);
  377. CreatureSay cs = new CreatureSay(player.getObjectId(), 3, "Hopzone system", "Current votes are " + votesmessage + ", careful with your vote!");
  378. player.sendPacket(cs);
  379. player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");
  380. ThreadPoolManager.getInstance().scheduleGeneral(new hopvotetask(player), Config.SECS_TO_VOTE * 1000);
  381. }
  382. else if ((getTries(player) <= 0) && ((lastVoteHopzone + voteDelay) < System.currentTimeMillis()))
  383. {
  384. for (L2PcInstance j : L2World.getInstance().getAllPlayers().values())
  385. {
  386. if (j.isVoting())
  387. {
  388. player.sendMessage("Someone is already voting.Wait for your turn please!");
  389. return;
  390. }
  391. }
  392.  
  393. player.setIsVoting(true);
  394. // ExShowScreenMessageOnBroad screen = new ExShowScreenMessageOnBroad("GO at Website and vote on HOPZONE, " + player.getName(), 20000, SMPOS.TOP_CENTER, true);
  395. // player.sendPacket(screen);
  396. CreatureSay cs = new CreatureSay(player.getObjectId(), 3, "Hopzone system", "Current votes are " + votesmessage + ", careful with your vote!");
  397. player.sendPacket(cs);
  398. player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");
  399. ThreadPoolManager.getInstance().scheduleGeneral(new hopvotetask(player), Config.SECS_TO_VOTE * 1000);
  400.  
  401. }
  402. else
  403. {
  404. player.sendMessage("12 hours have to pass till you are able to vote again.");
  405. }
  406.  
  407. }
  408.  
  409. public static void topvote(final L2PcInstance player)
  410. {
  411. long lastVoteTopzone = 0L;
  412. long voteDelay = 43200000L;
  413. final int firstvotestop;
  414. int votesmessage = 0;
  415.  
  416. firstvotestop = getTopZoneVotes();
  417. votesmessage = getTopZoneVotes();
  418.  
  419. class topvotetask implements Runnable
  420. {
  421. private final L2PcInstance p;
  422.  
  423. public topvotetask(L2PcInstance player)
  424. {
  425. p = player;
  426. }
  427.  
  428. @Override
  429. public void run()
  430. {
  431. if (Problemontop == true)
  432. {
  433. p.setIsVoting(false);
  434. VoteMain.setHasVotedTop(p);
  435. p.sendMessage("Thank you for voting for us!");
  436. p.sendPacket(new ExShowScreenMessage("Thanks for vote!, Check inventory: Vote Box ", 60 * 60 * 1000));
  437. try
  438. {
  439. Thread.sleep(2000); // 1000 milliseconds is one second.
  440. }
  441. catch (InterruptedException ex)
  442. {
  443. Thread.currentThread().interrupt();
  444. }
  445. p.sendPacket(new ExShowScreenMessage(null, 60 * 60 * 1000));
  446. // Announcements.getInstance().gameAnnounceToAll("[Vote Manager] Vote 4 Us on TOPZONE.");
  447. VoteMain.updateLastVoteTopzone(p);
  448. Problemontop = false;
  449. System.out.println("I have error on topzone but i will give the reward... Please check me katara.");
  450. }
  451. else
  452. {
  453. if (firstvotestop < getTopZoneVotes())
  454. {
  455. p.setIsVoting(false);
  456. p.getInventory().addItem("reward", 6492, 1, p, null);
  457. p.sendPacket(new ItemList(p, true));
  458. // VoteMain.setHasVotedTop(p);
  459. p.sendMessage("You have earned Vote Box ");
  460. p.sendPacket(new ExShowScreenMessage("Thanks for vote!, Check inventory: Vote Box ", 60 * 60 * 1000));
  461. try
  462. {
  463. Thread.sleep(2000); // 1000 milliseconds is one second.
  464. }
  465. catch (InterruptedException ex)
  466. {
  467. Thread.currentThread().interrupt();
  468. }
  469. p.sendPacket(new ExShowScreenMessage(null, 60 * 60 * 1000));
  470. // Announcements.getInstance().gameAnnounceToAll("[Vote Manager] Vote 4 Us on TOPZONE.");
  471. VoteMain.updateLastVoteTopzone(p);
  472. VoteMain.updateVotes(p);
  473. }
  474. else
  475. {
  476. p.setIsVoting(false);
  477. p.sendMessage("You did not vote on topzone. Please try again later...");
  478. VoteMain.setTries(p, VoteMain.getTries(p) - 0);
  479. }
  480. }
  481. }
  482. }
  483.  
  484. PreparedStatement statement = null;
  485. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  486. {
  487. statement = con.prepareStatement("SELECT lastVoteTopzone FROM characters WHERE obj_Id=?");
  488. statement.setInt(1, player.getObjectId());
  489.  
  490. ResultSet rset = statement.executeQuery();
  491.  
  492. while (rset.next())
  493. {
  494. lastVoteTopzone = rset.getLong("lastVoteTopzone");
  495. }
  496. }
  497. catch (Exception e)
  498. {
  499. e.printStackTrace();
  500. }
  501.  
  502. if (getTries(player) <= 0)
  503. {
  504. player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today");
  505. }
  506. else if ((getTries(player) <= 0) && ((lastVoteTopzone + voteDelay) < System.currentTimeMillis()))
  507. {
  508. for (L2PcInstance j : L2World.getInstance().getAllPlayers().values())
  509. {
  510. if (j.isVoting())
  511. {
  512. player.sendMessage("Someone is already voting.Wait for your turn please!");
  513. return;
  514. }
  515. }
  516. player.setIsVoting(true);
  517. // ExShowScreenMessageOnBroad screen = new ExShowScreenMessageOnBroad("GO at Website and vote on TOPZONE, " + player.getName(), 20000, SMPOS.TOP_CENTER, true);
  518. // player.sendPacket(screen);
  519. CreatureSay cs = new CreatureSay(player.getObjectId(), 3, "Topzone system", "Current votes are " + votesmessage + ", careful with your vote!");
  520. player.sendPacket(cs);
  521. player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");
  522. ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000);
  523. }
  524. else if (((lastVoteTopzone + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0))
  525. {
  526. for (L2PcInstance j : L2World.getInstance().getAllPlayers().values())
  527. {
  528. if (j.isVoting())
  529. {
  530. player.sendMessage("Someone is already voting.Wait for your turn please!");
  531. return;
  532. }
  533. }
  534. player.setIsVoting(true);
  535. // ExShowScreenMessageOnBroad screen = new ExShowScreenMessageOnBroad("GO at Website and vote on TOPZONE, " + player.getName(), 20000, SMPOS.TOP_CENTER, true);
  536. // player.sendPacket(screen);
  537. CreatureSay cs = new CreatureSay(player.getObjectId(), 3, "Topzone system", "Current votes are " + votesmessage + ", careful with your vote!");
  538. player.sendPacket(cs);
  539. player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");
  540. ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000);
  541. }
  542. else
  543. {
  544. player.sendMessage("12 hours have to pass till you are able to vote again.");
  545. }
  546.  
  547. }
  548.  
  549. public static void networkvote(final L2PcInstance player)
  550. {
  551. long lastVoteNetwork = 0L;
  552. long voteDelay = 43200000L;
  553. final int firstvotestop;
  554. int votesmessage = 0;
  555.  
  556. firstvotestop = VoteRead.getL2NetworkVotes();
  557. votesmessage = VoteRead.getL2NetworkVotes();
  558.  
  559. class topvotetask implements Runnable
  560. {
  561. private final L2PcInstance p;
  562.  
  563. public topvotetask(L2PcInstance player)
  564. {
  565. p = player;
  566. }
  567.  
  568. @Override
  569. public void run()
  570. {
  571. if (Problemontop == true)
  572. {
  573. p.setIsVoting(false);
  574. VoteMain.setHasVotedNetwork(p);
  575. p.sendMessage("Thank you for voting for us!");
  576. p.sendPacket(new ExShowScreenMessage("Thanks for vote!, Check inventory: Vote Box ", 60 * 60 * 1000));
  577. try
  578. {
  579. Thread.sleep(2000); // 1000 milliseconds is one second.
  580. }
  581. catch (InterruptedException ex)
  582. {
  583. Thread.currentThread().interrupt();
  584. }
  585. p.sendPacket(new ExShowScreenMessage(null, 60 * 60 * 1000));
  586. // Announcements.getInstance().gameAnnounceToAll("[Vote Manager] Vote 4 Us on TOPZONE.");
  587. VoteMain.updateLastVoteNetwork(p);
  588. Problemontop = false;
  589. System.out.println("I have error on topzone but i will give the reward... Please check me katara.");
  590. }
  591. else
  592. {
  593. if (firstvotestop < VoteRead.getL2NetworkVotes())
  594. {
  595. p.setIsVoting(false);
  596. p.getInventory().addItem("reward", 6492, 1, p, null);
  597. p.sendPacket(new ItemList(p, true));
  598. // VoteMain.setHasVotedTop(p);
  599. p.sendMessage("You have earned Vote Box ");
  600. p.sendPacket(new ExShowScreenMessage("Thanks for vote!, Check inventory: Vote Box ", 60 * 60 * 1000));
  601. try
  602. {
  603. Thread.sleep(2000); // 1000 milliseconds is one second.
  604. }
  605. catch (InterruptedException ex)
  606. {
  607. Thread.currentThread().interrupt();
  608. }
  609. p.sendPacket(new ExShowScreenMessage(null, 60 * 60 * 1000));
  610. // Announcements.getInstance().gameAnnounceToAll("[Vote Manager] Vote 4 Us on TOPZONE.");
  611. VoteMain.updateLastVoteNetwork(p);
  612. VoteMain.updateVotes(p);
  613. }
  614. else
  615. {
  616. p.setIsVoting(false);
  617. p.sendMessage("You did not vote on l2network. Please try again later...");
  618. VoteMain.setTries(p, VoteMain.getTries(p) - 0);
  619. }
  620. }
  621. }
  622. }
  623.  
  624. PreparedStatement statement = null;
  625. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  626. {
  627. statement = con.prepareStatement("SELECT lastVoteNetwork FROM characters WHERE obj_Id=?");
  628. statement.setInt(1, player.getObjectId());
  629.  
  630. ResultSet rset = statement.executeQuery();
  631.  
  632. while (rset.next())
  633. {
  634. lastVoteNetwork = rset.getLong("lastVoteNetwork");
  635. }
  636. }
  637. catch (Exception e)
  638. {
  639. e.printStackTrace();
  640. }
  641.  
  642. if (getTries(player) <= 0)
  643. {
  644. player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today");
  645. }
  646. else if ((getTries(player) <= 0) && ((lastVoteNetwork + voteDelay) < System.currentTimeMillis()))
  647. {
  648. for (L2PcInstance j : L2World.getInstance().getAllPlayers().values())
  649. {
  650. if (j.isVoting())
  651. {
  652. player.sendMessage("Someone is already voting.Wait for your turn please!");
  653. return;
  654. }
  655. }
  656. player.setIsVoting(true);
  657. // ExShowScreenMessageOnBroad screen = new ExShowScreenMessageOnBroad("GO at Website and vote on TOPZONE, " + player.getName(), 20000, SMPOS.TOP_CENTER, true);
  658. // player.sendPacket(screen);
  659. CreatureSay cs = new CreatureSay(player.getObjectId(), 3, "Network system", "Current votes are " + votesmessage + ", careful with your vote!");
  660. player.sendPacket(cs);
  661. player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");
  662. ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000);
  663. }
  664. else if (((lastVoteNetwork + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0))
  665. {
  666. for (L2PcInstance j : L2World.getInstance().getAllPlayers().values())
  667. {
  668. if (j.isVoting())
  669. {
  670. player.sendMessage("Someone is already voting.Wait for your turn please!");
  671. return;
  672. }
  673. }
  674. player.setIsVoting(true);
  675. // ExShowScreenMessageOnBroad screen = new ExShowScreenMessageOnBroad("GO at Website and vote on TOPZONE, " + player.getName(), 20000, SMPOS.TOP_CENTER, true);
  676. // player.sendPacket(screen);
  677. CreatureSay cs = new CreatureSay(player.getObjectId(), 3, "Network system", "Current votes are " + votesmessage + ", careful with your vote!");
  678. player.sendPacket(cs);
  679. player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");
  680. ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000);
  681. }
  682. else
  683. {
  684. player.sendMessage("12 hours have to pass till you are able to vote again.");
  685. }
  686.  
  687. }
  688.  
  689. public static boolean hasVotedHop(L2PcInstance player)
  690. {
  691. int hasVotedHop = -1;
  692. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  693. {
  694. PreparedStatement statement = con.prepareStatement("SELECT hasVotedHop FROM characters WHERE obj_Id=?");
  695. statement.setInt(1, player.getObjectId());
  696.  
  697. ResultSet rset = statement.executeQuery();
  698.  
  699. while (rset.next())
  700. {
  701. hasVotedHop = rset.getInt("hasVotedHop");
  702. }
  703.  
  704. if (hasVotedHop == 1)
  705. {
  706. setHasVotedHop(true);
  707. }
  708. else if (hasVotedHop == 0)
  709. {
  710. setHasVotedHop(false);
  711. }
  712. }
  713. catch (Exception e)
  714. {
  715. e.printStackTrace();
  716. }
  717. return hasVotedHop == 1;
  718. }
  719.  
  720. public static boolean hasVotedTop(L2PcInstance player)
  721. {
  722. int hasVotedTop = -1;
  723. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  724. {
  725. PreparedStatement statement = con.prepareStatement("SELECT hasVotedTop FROM characters WHERE obj_Id=?");
  726. statement.setInt(1, player.getObjectId());
  727.  
  728. ResultSet rset = statement.executeQuery();
  729.  
  730. while (rset.next())
  731. {
  732. hasVotedTop = rset.getInt("hasVotedTop");
  733. }
  734.  
  735. if (hasVotedTop == 1)
  736. {
  737. setHasVotedTop(true);
  738. }
  739. else if (hasVotedTop == 0)
  740. {
  741. setHasVotedTop(false);
  742. }
  743. }
  744. catch (Exception e)
  745. {
  746. e.printStackTrace();
  747. }
  748. return hasVotedTop == 1;
  749. }
  750.  
  751. public static boolean hasVotedNetwork(L2PcInstance player)
  752. {
  753. int hasVotedNetwork = -1;
  754. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  755. {
  756. PreparedStatement statement = con.prepareStatement("SELECT hasVotedNetwork FROM characters WHERE obj_Id=?");
  757. statement.setInt(1, player.getObjectId());
  758.  
  759. ResultSet rset = statement.executeQuery();
  760.  
  761. while (rset.next())
  762. {
  763. hasVotedNetwork = rset.getInt("hasVotedNetwork");
  764. }
  765.  
  766. if (hasVotedNetwork == 1)
  767. {
  768. setHasVotedTop(true);
  769. }
  770. else if (hasVotedNetwork == 0)
  771. {
  772. setHasVotedTop(false);
  773. }
  774. }
  775. catch (Exception e)
  776. {
  777. e.printStackTrace();
  778. }
  779. return hasVotedNetwork == 1;
  780. }
  781.  
  782. public static void updateVotes(L2PcInstance activeChar)
  783. {
  784. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  785. {
  786. PreparedStatement statement = con.prepareStatement("UPDATE characters SET totalVotes=? WHERE obj_Id=?");
  787.  
  788. statement.setInt(1, getTotalVotes(activeChar) + 1);
  789. statement.setInt(2, activeChar.getObjectId());
  790. statement.execute();
  791. statement.close();
  792. }
  793. catch (Exception e)
  794. {
  795. e.printStackTrace();
  796. }
  797. }
  798.  
  799. public static void setHasVotedHop(L2PcInstance activeChar)
  800. {
  801. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  802. {
  803. PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedHop=? WHERE obj_Id=?");
  804.  
  805. statement.setInt(1, 1);
  806. statement.setInt(2, activeChar.getObjectId());
  807. statement.execute();
  808. statement.close();
  809. }
  810. catch (Exception e)
  811. {
  812. e.printStackTrace();
  813. }
  814. }
  815.  
  816. public static void setHasVotedNetwork(L2PcInstance activeChar)
  817. {
  818. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  819. {
  820. PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedNetwork=? WHERE obj_Id=?");
  821.  
  822. statement.setInt(1, 1);
  823. statement.setInt(2, activeChar.getObjectId());
  824. statement.execute();
  825. statement.close();
  826. }
  827. catch (Exception e)
  828. {
  829. e.printStackTrace();
  830. }
  831. }
  832.  
  833. public static void setHasVotedTop(L2PcInstance activeChar)
  834. {
  835. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  836. {
  837. PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedTop=? WHERE obj_Id=?");
  838. statement.setInt(1, 1);
  839. statement.setInt(2, activeChar.getObjectId());
  840. statement.execute();
  841. statement.close();
  842. }
  843. catch (Exception e)
  844. {
  845. e.printStackTrace();
  846. }
  847. }
  848.  
  849. public static void setHasNotVotedHop(L2PcInstance activeChar)
  850. {
  851. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  852. {
  853. PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedHop=? WHERE obj_Id=?");
  854. statement.setInt(1, 0);
  855. statement.setInt(2, activeChar.getObjectId());
  856. statement.execute();
  857. statement.close();
  858. }
  859. catch (Exception e)
  860. {
  861. e.printStackTrace();
  862. }
  863. }
  864.  
  865. public static void setHasNotVotedTop(L2PcInstance activeChar)
  866. {
  867. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  868. {
  869. PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedTop=? WHERE obj_Id=?");
  870. statement.setInt(1, 0);
  871. statement.setInt(2, activeChar.getObjectId());
  872. statement.execute();
  873. statement.close();
  874. }
  875. catch (Exception e)
  876. {
  877. e.printStackTrace();
  878. }
  879. }
  880.  
  881. public static void setHasNotVotedNetwork(L2PcInstance activeChar)
  882. {
  883. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  884. {
  885. PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedNetwork=? WHERE obj_Id=?");
  886. statement.setInt(1, 0);
  887. statement.setInt(2, activeChar.getObjectId());
  888. statement.execute();
  889. statement.close();
  890. }
  891. catch (Exception e)
  892. {
  893. e.printStackTrace();
  894. }
  895. }
  896.  
  897. public static int getTries(L2PcInstance player)
  898. {
  899. int tries = -1;
  900. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  901. {
  902. PreparedStatement statement = con.prepareStatement("SELECT tries FROM characters WHERE obj_Id=?");
  903. statement.setInt(1, player.getObjectId());
  904. for (ResultSet rset = statement.executeQuery(); rset.next();)
  905. {
  906. tries = rset.getInt("tries");
  907. }
  908. }
  909. catch (Exception e)
  910. {
  911. e.printStackTrace();
  912. }
  913. return tries;
  914. }
  915.  
  916. public static void setTries(L2PcInstance player, int tries)
  917. {
  918. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  919. {
  920. PreparedStatement statement = con.prepareStatement("UPDATE characters SET tries=? WHERE obj_Id=?");
  921. statement.setInt(1, tries);
  922. statement.setInt(2, player.getObjectId());
  923. statement.execute();
  924. statement.close();
  925. }
  926. catch (Exception e)
  927. {
  928. e.printStackTrace();
  929. }
  930. }
  931.  
  932. public static int getTotalVotes(L2PcInstance player)
  933. {
  934. int totalVotes = 0;
  935. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  936. {
  937. PreparedStatement statement = con.prepareStatement("SELECT totalVotes FROM characters WHERE obj_Id=?");
  938. statement.setInt(1, player.getObjectId());
  939. ResultSet rset = statement.executeQuery();
  940. while (rset.next())
  941. {
  942. totalVotes = rset.getInt("totalVotes");
  943. }
  944. rset.close();
  945. statement.close();
  946. }
  947. catch (Exception e)
  948. {
  949. e.printStackTrace();
  950. }
  951. return totalVotes;
  952. }
  953.  
  954. public static int getBigTotalVotes(L2PcInstance player)
  955. {
  956. int bigTotalVotes = -1;
  957. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  958. {
  959. PreparedStatement statement = con.prepareStatement("SELECT SUM(totalVotes) FROM characters");
  960. for (ResultSet rset = statement.executeQuery(); rset.next();)
  961. {
  962. bigTotalVotes = rset.getInt("SUM(totalVotes)");
  963. }
  964. }
  965. catch (Exception e)
  966. {
  967. e.printStackTrace();
  968. }
  969. return bigTotalVotes;
  970. }
  971.  
  972. public static void updateLastVoteHopzone(L2PcInstance player)
  973. {
  974. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  975. {
  976. PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteHopzone=? WHERE obj_Id=?");
  977. statement.setLong(1, System.currentTimeMillis());
  978. statement.setInt(2, player.getObjectId());
  979. statement.execute();
  980. statement.close();
  981. }
  982. catch (Exception e)
  983. {
  984. e.printStackTrace();
  985. }
  986. }
  987.  
  988. public static boolean shouldVote(L2PcInstance player)
  989. {
  990. Long a = 0L, b = 0L, c = 0L, now = System.currentTimeMillis();
  991. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  992. {
  993. PreparedStatement statement = con.prepareStatement("select lastVoteHopzone,lastVoteNetwork,lastVoteTopzone from characters WHERE obj_Id=?");
  994. statement.setInt(1, player.getObjectId());
  995. ResultSet rset = statement.executeQuery();
  996.  
  997. while (rset.next())
  998. {
  999. a = rset.getLong("lastVoteHopzone");
  1000. b = rset.getLong("lastVoteNetwork");
  1001. c = rset.getLong("lastVoteTopzone");
  1002. }
  1003. rset.close();
  1004. statement.close();
  1005. }
  1006. catch (Exception e)
  1007. {
  1008. e.printStackTrace();
  1009. }
  1010.  
  1011. if (now - a > 43200000 || now - b > 43200000 || now - c > 43200000)
  1012. return true;
  1013. return false;
  1014. }
  1015.  
  1016. public static boolean votedHop = false;
  1017. public static boolean votedTop = false;
  1018. public static boolean votedNet = false;
  1019.  
  1020. public static void votedCheck(L2PcInstance player)
  1021. {
  1022. Long a = 0L, b = 0L, c = 0L, now = System.currentTimeMillis();
  1023. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  1024. {
  1025. PreparedStatement statement = con.prepareStatement("select lastVoteHopzone,lastVoteNetwork,lastVoteTopzone from characters WHERE obj_Id=?");
  1026. statement.setInt(1, player.getObjectId());
  1027. ResultSet rset = statement.executeQuery();
  1028.  
  1029. while (rset.next())
  1030. {
  1031. a = rset.getLong("lastVoteHopzone");
  1032. b = rset.getLong("lastVoteNetwork");
  1033. c = rset.getLong("lastVoteTopzone");
  1034. }
  1035. rset.close();
  1036. statement.close();
  1037. }
  1038. catch (Exception e)
  1039. {
  1040. e.printStackTrace();
  1041. }
  1042.  
  1043. if (now - a > 43200000)
  1044. votedHop = false;
  1045. else
  1046. votedHop = true;
  1047. if (now - b > 43200000)
  1048. votedNet = false;
  1049. else
  1050. votedNet = true;
  1051. if (now - c > 43200000)
  1052. votedTop = false;
  1053. else
  1054. votedTop = true;
  1055. }
  1056.  
  1057. public static void updateLastVoteTopzone(L2PcInstance player)
  1058. {
  1059. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  1060. {
  1061. PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteTopzone=? WHERE obj_Id=?");
  1062. statement.setLong(1, System.currentTimeMillis());
  1063. statement.setInt(2, player.getObjectId());
  1064. statement.execute();
  1065. }
  1066. catch (Exception e)
  1067. {
  1068. e.printStackTrace();
  1069. }
  1070. }
  1071.  
  1072. public static void updateLastVoteNetwork(L2PcInstance player)
  1073. {
  1074. try (Connection con = L2DatabaseFactory.getInstance().getConnection())
  1075. {
  1076. PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteNetwork=? WHERE obj_Id=?");
  1077. statement.setLong(1, System.currentTimeMillis());
  1078. statement.setInt(2, player.getObjectId());
  1079. statement.execute();
  1080. }
  1081. catch (Exception e)
  1082. {
  1083. e.printStackTrace();
  1084. }
  1085. }
  1086.  
  1087. // Getters and Setters
  1088. public static boolean hasVotedHop()
  1089. {
  1090. return hasVotedHop;
  1091. }
  1092.  
  1093. public static void setHasVotedHop(boolean hasVotedHop)
  1094. {
  1095. VoteMain.hasVotedHop = hasVotedHop;
  1096. }
  1097.  
  1098. public static boolean hasVotedTop()
  1099. {
  1100. return hasVotedTop;
  1101. }
  1102.  
  1103. public static boolean hasVotedNetwork()
  1104. {
  1105. return hasVotedNetwork;
  1106. }
  1107.  
  1108. public static void setHasVotedNetwork(boolean hasVotedNetwork)
  1109. {
  1110. VoteMain.hasVotedNetwork = hasVotedNetwork;
  1111. }
  1112.  
  1113. public static void setHasVotedTop(boolean hasVotedTop)
  1114. {
  1115. VoteMain.hasVotedTop = hasVotedTop;
  1116. }
  1117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement