Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. package com.runeage.core.network.mysql;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. import com.runeage.rs2.content.skill.Skill;
  10. import com.runeage.rs2.entity.player.Player;
  11.  
  12.  
  13. public class Highscores implements Runnable {
  14.  
  15. public static final String HOST = "107.180.43.74"; // website ip address
  16. public static final String USER = "runeage_hs";
  17. public static final String PASS = "snug9183d";
  18. public static final String DATABASE = "runeage_hs";
  19.  
  20. private Player player;
  21. private Connection conn;
  22. private Statement stmt;
  23.  
  24. public Highscores(Player player) {
  25. this.player = player;
  26. }
  27.  
  28. public boolean connect(String host, String database, String user, String pass) {
  29. try {
  30. this.conn = DriverManager.getConnection("jdbc:mysql://"+host+":3306/"+database, user, pass);
  31. return true;
  32. } catch (SQLException e) {
  33. e.printStackTrace();
  34. return false;
  35. }
  36. }
  37.  
  38. @Override
  39. public void run() {
  40. try {
  41. if (!connect(HOST, DATABASE, USER, PASS)) {
  42. return;
  43. }
  44.  
  45. String name = player.getUsername();
  46.  
  47. PreparedStatement stmt1 = prepare("DELETE FROM hs_users WHERE username=?");
  48. stmt1.setString(1, name);
  49. stmt1.execute();
  50.  
  51. PreparedStatement stmt2 = prepare(generateQuery());
  52.  
  53. stmt2.setString(1, name);
  54. stmt2.setInt(2, player.getRights());
  55. stmt2.setLong(3, player.getSkill().getTotalExperience());
  56.  
  57.  
  58. for (int i = 0; i < 22; i++)
  59. stmt2.setInt(4 + i, (int)player.getSkill().getExperience()[i]);
  60. stmt2.execute();
  61.  
  62. destroy();
  63. } catch (Exception e) {
  64. e.printStackTrace();
  65. }
  66. }
  67.  
  68. public PreparedStatement prepare(String query) throws SQLException {
  69. return conn.prepareStatement(query);
  70. }
  71.  
  72. public void destroy() {
  73. try {
  74. conn.close();
  75. conn = null;
  76. if (stmt != null) {
  77. stmt.close();
  78. stmt = null;
  79. }
  80. } catch(Exception e) {
  81. e.printStackTrace();
  82. }
  83. }
  84.  
  85. public static String generateQuery() {
  86. StringBuilder sb = new StringBuilder();
  87. sb.append("INSERT INTO hs_users (");
  88. sb.append("username, ");
  89. sb.append("rights, ");
  90. sb.append("overall_xp, ");
  91. sb.append("attack_xp, ");
  92. sb.append("defence_xp, ");
  93. sb.append("strength_xp, ");
  94. sb.append("constitution_xp, ");
  95. sb.append("ranged_xp, ");
  96. sb.append("prayer_xp, ");
  97. sb.append("magic_xp, ");
  98. sb.append("cooking_xp, ");
  99. sb.append("woodcutting_xp, ");
  100. sb.append("fletching_xp, ");
  101. sb.append("fishing_xp, ");
  102. sb.append("firemaking_xp, ");
  103. sb.append("crafting_xp, ");
  104. sb.append("smithing_xp, ");
  105. sb.append("mining_xp, ");
  106. sb.append("herblore_xp, ");
  107. sb.append("agility_xp, ");
  108. sb.append("thieving_xp, ");
  109. sb.append("slayer_xp, ");
  110. sb.append("farming_xp, ");
  111. sb.append("runecrafting_xp, ");
  112. sb.append("hunter_xp, ");
  113. sb.append("VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
  114. return sb.toString();
  115. }
  116.  
  117.  
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement