Advertisement
Guest User

Highscores.java

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