Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server.util;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import server.vd.player.Player;
- import server.vd.player.account_type.Account;
- /**
- * @author Titanium
- */
- public class Highscores implements Runnable {
- public static final String HOST = "PKEmine-rsps.com"; // website ip address
- public static final String USER = "PKEminer_hs";
- public static final String PASS = "2SJlVA7xNbZV";
- public static final String DATABASE = "PKEminer_highscores";
- //public static final String TABLE = "hs_users";
- private String TABLE;
- private Player player;
- private Connection conn;
- private Statement stmt;
- public Highscores(Player player) {
- this.player = player;
- if (player.getGameMode() == 1)
- this.TABLE = "regular";
- else if (player.getGameMode() == 2)
- this.TABLE = "legendary";
- else if (player.getGameMode() == 3)
- this.TABLE = "ironman";
- else this.TABLE = "regular";
- }
- public boolean connect(String host, String database, String user, String pass) {
- try {
- this.conn = DriverManager.getConnection("jdbc:mysql://"+host+":3306/"+database, user, pass);
- return true;
- } catch (SQLException e) {
- e.printStackTrace();
- return false;
- }
- }
- @Override
- public void run() {
- try {
- if (!connect(HOST, DATABASE, USER, PASS)) {
- return;
- }
- String name = player.getName();
- Statement statement = conn.createStatement();
- ResultSet exists = statement.executeQuery("SELECT * FROM "+TABLE+" WHERE username = '"+name+"'");
- if (exists.next()) {
- statement.executeQuery("DELETE FROM "+TABLE+" WHERE username = "+name);
- }
- exists.close();
- // PreparedStatement stmt1 = prepare("DELETE FROM "+TABLE+" WHERE username = "+name);
- // stmt1.setString(1, player.getName());
- // stmt1.execute();
- PreparedStatement stmt2 = prepare(generateQuery(TABLE));
- stmt2.setString(1, player.getName());
- stmt2.setInt(2, player.getRights());
- stmt2.setLong(3, player.getTotalExperience());
- //c.playerXP[i]
- for (int i = 0; i < 25; i++)
- stmt2.setInt(4 + i, (int)player.playerXP[i]);
- stmt2.execute();
- destroy();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public PreparedStatement prepare(String query) throws SQLException {
- return conn.prepareStatement(query);
- }
- public void destroy() {
- try {
- conn.close();
- conn = null;
- if (stmt != null) {
- stmt.close();
- stmt = null;
- }
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
- public static String generateQuery(String table) {
- StringBuilder sb = new StringBuilder();
- sb.append("INSERT INTO "+table+" (");
- sb.append("username, ");
- sb.append("rights, ");
- sb.append("overall_xp, ");
- sb.append("attack_xp, ");
- sb.append("defence_xp, ");
- sb.append("strength_xp, ");
- sb.append("constitution_xp, ");
- sb.append("ranged_xp, ");
- sb.append("prayer_xp, ");
- sb.append("magic_xp, ");
- sb.append("cooking_xp, ");
- sb.append("woodcutting_xp, ");
- sb.append("fletching_xp, ");
- sb.append("fishing_xp, ");
- sb.append("firemaking_xp, ");
- sb.append("crafting_xp, ");
- sb.append("smithing_xp, ");
- sb.append("mining_xp, ");
- sb.append("herblore_xp, ");
- sb.append("agility_xp, ");
- sb.append("thieving_xp, ");
- sb.append("slayer_xp, ");
- sb.append("farming_xp, ");
- sb.append("runecrafting_xp, ");
- sb.append("hunter_xp, ");
- sb.append("construction_xp, ");
- sb.append("summoning_xp, ");
- sb.append("dungeoneering_xp) ");
- sb.append("VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
- return sb.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement