Advertisement
Guest User

HighscoresHandler

a guest
Jul 29th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.67 KB | None | 0 0
  1. package ab.model.players;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. public class HighscoresHandler extends Thread {
  10.     private final String HOST = "venom-ps.com";
  11.     private final String DATABASE = "venompsc_hiscores";
  12.     private final String PASSWORD = "()lucky1";
  13.     private final String USERNAME = "venompsc_lucky";
  14.     private final String PORT = "3306";
  15.  
  16.     private Player c;
  17.     private Connection con;
  18.     private Statement stmt;
  19.     private long total_level, total_exp;
  20.  
  21.     public HighscoresHandler(Player c) {
  22.         this.c = c;
  23.         c.inProcess = true;
  24.     }
  25.  
  26.     private long getTotalLevel() {
  27.         long totallevel = 0L;
  28.         for (int i = 0; i <= 20; i++) {
  29.             if (c.getLevelForXP(c.playerXP[i]) >= 99)
  30.                 totallevel += 99;
  31.             else
  32.                 totallevel += (double) c.getLevelForXP(c.playerXP[i]);
  33.         }
  34.         return totallevel;
  35.     }
  36.  
  37.     private long getTotalXp() {
  38.         long totalxp = 0L;
  39.         for (int i = 0; i <= 20; i++) {
  40.             totalxp += (double) c.playerXP[i];
  41.         }
  42.         return totalxp;
  43.     }
  44.  
  45.     @Override
  46.     public void run() {
  47.         try {
  48.             this.makeConnection();
  49.             this.total_exp = this.getTotalXp();
  50.             if (stmt == null) {
  51.                 destroyConnection();
  52.                 return;
  53.             }
  54.             ResultSet rs = query("SELECT * FROM `hs_users` WHERE `username`='" + c.playerName + "'");
  55.             int r = 1;
  56.  
  57.             query("UPDATE hs_users SET attack_xp ='" + c.playerXP[0] + "' WHERE username='" + c.playerName + "'");
  58.           query("UPDATE hs_users SET defence_xp='" + c.playerXP[1] + "' WHERE username='" + c.playerName + "'");
  59.           query("UPDATE hs_users SET strength_xp='" + c.playerXP[2] + "' WHERE username='" + c.playerName + "'");
  60.           query("UPDATE hs_users SET constitution_xp='" + c.playerXP[3] + "' WHERE username='" + c.playerName + "'");
  61.           query("UPDATE hs_users SET ranged_xp='" + c.playerXP[4] + "' WHERE username='" + c.playerName + "'");
  62.           query("UPDATE hs_users SET prayer_xp='" + c.playerXP[5] + "' WHERE username='" + c.playerName + "'");
  63.           query("UPDATE hs_users SET magic_xp='" + c.playerXP[6] + "' WHERE username='" + c.playerName + "'");
  64.           query("UPDATE hs_users SET cooking_xp='" + c.playerXP[7] + "' WHERE username='" + c.playerName + "'");
  65.           query("UPDATE hs_users SET woodcutting_xp='" + c.playerXP[8] + "' WHERE username='" + c.playerName + "'");
  66.           query("UPDATE hs_users SET fletching_xp='" + c.playerXP[9] + "' WHERE username='" + c.playerName + "'");
  67.           query("UPDATE hs_users SET fishing_xp='" + c.playerXP[10] + "' WHERE username='" + c.playerName + "'");
  68.           query("UPDATE hs_users SET firemaking_xp='" + c.playerXP[11] + "' WHERE username='" + c.playerName + "'");
  69.           query("UPDATE hs_users SET crafting_xp='" + c.playerXP[12] + "' WHERE username='" + c.playerName + "'");
  70.           query("UPDATE hs_users SET smithing_xp='" + c.playerXP[13] + "' WHERE username='" + c.playerName + "'");
  71.           query("UPDATE hs_users SET mining_xp='" + c.playerXP[14] + "' WHERE username='" + c.playerName + "'");
  72.           query("UPDATE hs_users SET herblore_xp='" + c.playerXP[15] + "' WHERE username='" + c.playerName + "'");
  73.           query("UPDATE hs_users SET agility_xp='" + c.playerXP[16] + "' WHERE username='" + c.playerName + "'");
  74.           query("UPDATE hs_users SET thieving_xp='" + c.playerXP[17] + "' WHERE username='" + c.playerName + "'");
  75.           query("UPDATE hs_users SET slayer_xp='" + c.playerXP[18] + "' WHERE username='" + c.playerName + "'");
  76.           query("UPDATE hs_users SET farming_xp='" + c.playerXP[19] + "' WHERE username='" + c.playerName + "'");
  77.           query("UPDATE hs_users SET runecrafting_xp='" + c.playerXP[20] + "' WHERE username='" + c.playerName + "'");
  78.  
  79.          
  80.  
  81.                 String lvlkc = "lvl_22";
  82.                 String lvlxp = "xp_22";
  83.                 query("UPDATE hs SET rights='" + c.getRights().getValue() + "', overall_xp='" + this.total_exp + "' WHERE username='" + c.playerName + "'");
  84.                 System.out.println("Highscores have been updated for " + c.playerName);
  85.                 r = 0;
  86.                 c.inProcess = true;
  87.                 this.destroyConnection();
  88.                 return;
  89.             }
  90.             String name = c.playerName;
  91.             query("INSERT INTO `hs`(`username`) VALUES('" + name + "')");
  92.             HighscoresHandler hh = new HighscoresHandler(c);
  93.             hh.start();
  94.         } catch (SQLException e) {
  95.             e.printStackTrace();
  96.         }
  97.     }
  98.  
  99.     public ResultSet query(String s) throws SQLException {
  100.         try {
  101.             if (s.toLowerCase().startsWith("select")) {
  102.                 ResultSet rs = stmt.executeQuery(s);
  103.                 return rs;
  104.             }
  105.             stmt.executeUpdate(s);
  106.             return null;
  107.         } catch (Exception e) {
  108.             e.printStackTrace();
  109.         }
  110.         return null;
  111.     }
  112.  
  113.     private void destroyConnection() {
  114.         try {
  115.             this.con = null;
  116.             this.stmt = null;
  117.         } catch (Exception e) {
  118.             e.printStackTrace();
  119.         }
  120.     }
  121.  
  122.     private void makeConnection() {
  123.         try {
  124.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  125.             con = DriverManager.getConnection("jdbc:mysql://" + HOST + ":" + PORT + "/" + DATABASE, USERNAME, PASSWORD);
  126.             stmt = con.createStatement();
  127.         } catch (Exception e) {
  128.             e.printStackTrace();
  129.         }
  130.     }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement