Advertisement
Guest User

Untitled

a guest
Oct 31st, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.80 KB | None | 0 0
  1. /**
  2.  * @author Pax Magenz - Ventyz Productions
  3.  *
  4.  * Highscores.java created on 04.jun.2015.
  5.  */
  6. package com.ventyz.sql;
  7.  
  8. import java.sql.Connection;
  9. import java.sql.DriverManager;
  10. import java.sql.ResultSet;
  11. import java.sql.SQLException;
  12. import java.sql.Statement;
  13. import java.util.concurrent.ArrayBlockingQueue;
  14.  
  15. import com.ventyz.server.character.Client;
  16. import com.ventyz.utils.Utils;
  17.  
  18. public class Highscores {
  19.  
  20.     /*
  21.      * @author: Pax M
  22.      */
  23.  
  24.     /** The con. */
  25.     public static Connection con;
  26.  
  27.     /** The connected. */
  28.     public static boolean connected;
  29.  
  30.     /** The count. */
  31.     public static int count = 0;
  32.  
  33.     /** The db statements. */
  34.     private static ArrayBlockingQueue<Statement> dbStatements = new ArrayBlockingQueue<Statement>(
  35.             1);
  36.  
  37.     /** The statement. */
  38.     private static transient Statement statement;
  39.  
  40.     /** The stmt. */
  41.     public static Statement stmt;
  42.  
  43.     public static boolean error = false;
  44.  
  45.     /**
  46.      * Destroy.
  47.      */
  48.     public static void destroy() {
  49.         try {
  50.             stmt.close();
  51.             con.close();
  52.             connected = false;
  53.         } catch (Exception e) {
  54.             e.printStackTrace();
  55.         }
  56.     }
  57.  
  58.     /**
  59.      * Execute query.
  60.      *
  61.      * @param query
  62.      *            the query
  63.      * @return the result set
  64.      */
  65.     public static ResultSet executeQuery(String query) {
  66.         try {
  67.             if (error == true) {
  68.                 init();
  69.                 error = false;
  70.                 System.err
  71.                         .println("Error detected in Highscores DB, attempting to restart.");
  72.             }
  73.             statement = dbStatements.poll();
  74.             ResultSet results = statement.executeQuery(query);
  75.             dbStatements.offer(statement);
  76.             return results;
  77.         } catch (SQLException e) {
  78.             error = true;
  79.             e.printStackTrace();
  80.         }
  81.         return null;
  82.     }
  83.  
  84.     /**
  85.      * Query.
  86.      *
  87.      * @param query
  88.      *            the query
  89.      * @return the result set
  90.      */
  91.     public static int executeUpdate(String query) {
  92.         try {
  93.             statement = dbStatements.poll();
  94.             int results = statement.executeUpdate(query);
  95.             dbStatements.offer(statement);
  96.             return results;
  97.         } catch (SQLException e) {
  98.             e.printStackTrace();
  99.         }
  100.         return -1;
  101.     }
  102.  
  103.     /**
  104.      * Gets the next statement.
  105.      *
  106.      * @return the next statement
  107.      */
  108.     public static Statement getNextStatement() {
  109.         return dbStatements.poll();
  110.     }
  111.  
  112.     /**
  113.      * Gets the statement.
  114.      *
  115.      * @return the statement
  116.      */
  117.     public static Statement getStatement() {
  118.         return statement;
  119.     }
  120.  
  121.     /**
  122.      * Inits the.
  123.      */
  124.     public static void init() {
  125.         try {
  126.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  127.             Connection conn = DriverManager.getConnection(
  128.                     "jdbc:mysql://162.212.253.95:3306/ventyzc1_hs",
  129.                     "ventyzc1_hs", "Tt1ioo#,MCgG");
  130.             // gVUWQBtXs
  131.             statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
  132.                     ResultSet.CONCUR_UPDATABLE);
  133.             statement.setEscapeProcessing(true);
  134.             dbStatements.offer(statement);
  135.         } catch (Exception e) {
  136.             e.printStackTrace();
  137.             System.err.println("Could not connect to Highscores SQL Database.");
  138.         }
  139.     }
  140.  
  141.     /**
  142.      * Save high score.
  143.      *
  144.      * @param player
  145.      *            the player
  146.      * @return true, if successful
  147.      */
  148.     public static boolean save(Client player) {
  149.         int tot = (player.playerLevel[0]) + (player.playerLevel[1])
  150.                 + (player.playerLevel[2]) + (player.playerLevel[3])
  151.                 + (player.playerLevel[4]) + (player.playerLevel[5])
  152.                 + (player.playerLevel[6]) + (player.playerLevel[7])
  153.                 + (player.playerLevel[8]) + (player.playerLevel[9])
  154.                 + (player.playerLevel[10]) + (player.playerLevel[11])
  155.                 + (player.playerLevel[12]) + (player.playerLevel[13])
  156.                 + (player.playerLevel[14]) + (player.playerLevel[15])
  157.                 + (player.playerLevel[16]) + (player.playerLevel[17])
  158.                 + (player.playerLevel[18]) + (player.playerLevel[19])
  159.                 + (player.playerLevel[20]);
  160.         if (player.permission >= 2) {
  161.             return false;
  162.         }
  163.         try {
  164.             String username = Utils.fixChatMessage(player.username);
  165.             ResultSet rs = executeQuery("SELECT * FROM hs_users WHERE username='"
  166.                     + username + "' LIMIT 1");
  167.             if (!rs.next()) {
  168.                 rs.moveToInsertRow();
  169.                 rs.updateString("username", username);
  170.                 rs.updateInt("rights", 0);
  171.                 int totalLevel = (player.playerXP[0]) + (player.playerXP[1])
  172.                         + (player.playerXP[2]) + (player.playerXP[3])
  173.                         + (player.playerXP[4]) + (player.playerXP[5])
  174.                         + (player.playerXP[6]) + (player.playerXP[7])
  175.                         + (player.playerXP[8]) + (player.playerXP[9])
  176.                         + (player.playerXP[10]) + (player.playerXP[11])
  177.                         + (player.playerXP[12]) + (player.playerXP[13])
  178.                         + (player.playerXP[14]) + (player.playerXP[15])
  179.                         + (player.playerXP[16]) + (player.playerXP[17])
  180.                         + (player.playerXP[18]) + (player.playerXP[19])
  181.                         + (player.playerXP[20]);
  182.                 rs.updateString("overall_xp", "" + totalLevel + "");
  183.                 rs.updateString("attack_xp", "" + player.playerXP[0] + "");
  184.                 rs.updateString("defence_xp", "" + player.playerXP[1] + "");
  185.                 rs.updateString("strength_xp", "" + player.playerXP[2] + "");
  186.                 rs.updateString("constitution_xp", "" + player.playerXP[3] + "");
  187.                 rs.updateString("ranged_xp", "" + player.playerXP[4] + "");
  188.                 rs.updateString("magic_xp", "" + player.playerXP[6] + "");
  189.                 rs.updateString("prayer_xp", "" + player.playerXP[5] + "");
  190.                 rs.updateString("slayer_xp", "" + player.playerXP[18] + "");
  191.                 rs.updateString("runecrafting_xp", "" + player.playerXP[20]
  192.                         + "");
  193.                 rs.updateString("thieving_xp", "" + player.playerXP[17] + "");
  194.                 rs.updateString("crafting_xp", "" + player.playerXP[12] + "");
  195.                 rs.updateString("herblore_xp", "" + player.playerXP[15] + "");
  196.                 rs.updateString("fletching_xp", "" + player.playerXP[9] + "");
  197.                 rs.updateString("woodcutting_xp", "" + player.playerXP[8] + "");
  198.                 rs.updateString("fishing_xp", "" + player.playerXP[10] + "");
  199.                 rs.updateString("mining_xp", "" + player.playerXP[14] + "");
  200.                 rs.updateString("smithing_xp", "" + player.playerXP[13] + "");
  201.                 rs.updateString("cooking_xp", "" + player.playerXP[7] + "");
  202.                 rs.updateString("farming_xp", "" + player.playerXP[19] + "");
  203.                 rs.updateString("agility_xp", "" + player.playerXP[16] + "");
  204.                 rs.updateString("firemaking_xp", "" + player.playerXP[11] + "");
  205.                 rs.updateString("quest_points", "" + player.questPoints + "");
  206.                 rs.insertRow();
  207.                 /*
  208.                  * System.err.println("Saved highscores for " +
  209.                  * Utils.fixChatMessage(player.username) + ".");
  210.                  */
  211.             } else {
  212.                 rs.updateString("username", username);
  213.                 rs.updateInt("rights", 0);
  214.                 int totalLevel = (player.playerXP[0]) + (player.playerXP[1])
  215.                         + (player.playerXP[2]) + (player.playerXP[3])
  216.                         + (player.playerXP[4]) + (player.playerXP[5])
  217.                         + (player.playerXP[6]) + (player.playerXP[7])
  218.                         + (player.playerXP[8]) + (player.playerXP[9])
  219.                         + (player.playerXP[10]) + (player.playerXP[11])
  220.                         + (player.playerXP[12]) + (player.playerXP[13])
  221.                         + (player.playerXP[14]) + (player.playerXP[15])
  222.                         + (player.playerXP[16]) + (player.playerXP[17])
  223.                         + (player.playerXP[18]) + (player.playerXP[19])
  224.                         + (player.playerXP[20]);
  225.                 rs.updateString("overall_xp", "" + totalLevel + "");
  226.                 rs.updateString("attack_xp", "" + player.playerXP[0] + "");
  227.                 rs.updateString("defence_xp", "" + player.playerXP[1] + "");
  228.                 rs.updateString("strength_xp", "" + player.playerXP[2] + "");
  229.                 rs.updateString("constitution_xp", "" + player.playerXP[3] + "");
  230.                 rs.updateString("ranged_xp", "" + player.playerXP[4] + "");
  231.                 rs.updateString("magic_xp", "" + player.playerXP[6] + "");
  232.                 rs.updateString("prayer_xp", "" + player.playerXP[5] + "");
  233.                 rs.updateString("slayer_xp", "" + player.playerXP[18] + "");
  234.                 rs.updateString("runecrafting_xp", "" + player.playerXP[20]
  235.                         + "");
  236.                 rs.updateString("thieving_xp", "" + player.playerXP[17] + "");
  237.                 rs.updateString("crafting_xp", "" + player.playerXP[12] + "");
  238.                 rs.updateString("herblore_xp", "" + player.playerXP[15] + "");
  239.                 rs.updateString("fletching_xp", "" + player.playerXP[9] + "");
  240.                 rs.updateString("woodcutting_xp", "" + player.playerXP[8] + "");
  241.                 rs.updateString("fishing_xp", "" + player.playerXP[10] + "");
  242.                 rs.updateString("mining_xp", "" + player.playerXP[14] + "");
  243.                 rs.updateString("smithing_xp", "" + player.playerXP[13] + "");
  244.                 rs.updateString("cooking_xp", "" + player.playerXP[7] + "");
  245.                 rs.updateString("farming_xp", "" + player.playerXP[19] + "");
  246.                 rs.updateString("agility_xp", "" + player.playerXP[16] + "");
  247.                 rs.updateString("firemaking_xp", "" + player.playerXP[11] + "");
  248.                 rs.updateString("quest_points", "" + player.questPoints + "");
  249.                 rs.updateRow();
  250.                 /*
  251.                  * System.err.println("Saved highscores for " +
  252.                  * Utils.fixChatMessage(player.username) + ".");
  253.                  */
  254.             }
  255.         } catch (Exception e) {
  256.             e.printStackTrace();
  257.             player.sendMessage(e + ".");
  258.             System.err.println("Error while updating highscores.");
  259.             return false;
  260.         }
  261.         return true;
  262.     }
  263.  
  264.     /** The c. */
  265.     private Client c;
  266. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement