Advertisement
Guest User

Untitled

a guest
Mar 31st, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. package com.ruse.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.ruse.model.Skill;
  10. import com.ruse.util.Misc;
  11. import com.ruse.world.World;
  12. import com.ruse.world.entity.impl.player.Player;
  13.  
  14. public class Hiscores implements Runnable {
  15.  
  16. public static final String HOST = "2";
  17. public static final String USER = "osc_hs";
  18. public static final String PASS = "llr";
  19. public static final String DATABASE = "oss";
  20.  
  21. public static final String TABLE = "hs_users";
  22.  
  23. private Player player;
  24. private Connection conn;
  25. private Statement stmt;
  26.  
  27. public Hiscores(Player player) {
  28. this.player = player;
  29. }
  30.  
  31. public boolean connect(String host, String database, String user, String pass) {
  32. try {
  33. this.conn = DriverManager.getConnection("jdbc:mysql://"+host+":3306/"+database, user, pass);
  34. return true;
  35. } catch (SQLException e) {
  36. e.printStackTrace();
  37. return false;
  38. }
  39. }
  40.  
  41. @Override
  42. public void run() {
  43. try {
  44. if (Misc.checkForOwner()) {
  45. return;
  46. }
  47. if (!connect(HOST, DATABASE, USER, PASS)) {
  48. System.out.println("The connection to the hiscores database has failed!");
  49. World.sendStaffMessage("<img=4> <shad=0>@red@[MAJOR] @bla@Connection to the hiscores database has failed!");
  50. return;
  51. }
  52.  
  53. if (player.getRights() .OwnerDeveloperOnly()) {
  54. return;
  55. }
  56.  
  57. PreparedStatement stmt1 = prepare("DELETE FROM hs_users WHERE username=?");
  58. stmt1.setString(1, player.getUsername());
  59. stmt1.execute();
  60.  
  61. PreparedStatement stmt2 = prepare(generateQuery());
  62. stmt2.setString(1, player.getUsername());
  63. stmt2.setInt(2, player.getRights().ordinal());
  64.  
  65. stmt2.setLong(3, player.getSkillManager().getTotalExp());
  66. stmt2.setInt(4, player.getSkillManager().getTotalLevel()); // total level
  67.  
  68. for (int i = 0; i < 24; i++) {
  69. /*if (Skill.values()[i] == Skill.CONSTRUCTION) {
  70. stmt2.setInt(6 + i, 1);
  71. System.out.println("Construction? Nah fuck off bitch niggas yall got 1xp");
  72. continue;
  73. }*/
  74. stmt2.setInt(5 + i, player.getSkillManager().getExperience(Skill.values()[i]));
  75. //System.out.println("Skill: "+Skill.values()[i].toString()+", Int: "+(6+i)+", EXP: "+player.getSkillManager().getExperience(Skill.values()[i]));
  76. }
  77.  
  78. stmt2.execute();
  79.  
  80. destroy();
  81. } catch (Exception e) {
  82. e.printStackTrace();
  83. }
  84. }
  85.  
  86. public PreparedStatement prepare(String query) throws SQLException {
  87. return conn.prepareStatement(query);
  88. }
  89. public void destroy() {
  90. try {
  91. conn.close();
  92. conn = null;
  93. if (stmt != null) {
  94. stmt.close();
  95. stmt = null;
  96. }
  97. } catch(Exception e) {
  98. e.printStackTrace();
  99. }
  100. }
  101.  
  102. public static String generateQuery() {
  103. StringBuilder sb = new StringBuilder();
  104. sb.append("INSERT INTO hs_users (");
  105. sb.append("username, ");
  106. sb.append("rights, ");
  107. sb.append("overall_xp, ");
  108. sb.append("attack_xp, ");
  109. sb.append("defence_xp, ");
  110. sb.append("strength_xp, ");
  111. sb.append("constitution_xp, ");
  112. sb.append("ranged_xp, ");
  113. sb.append("prayer_xp, ");
  114. sb.append("magic_xp, ");
  115. sb.append("cooking_xp, ");
  116. sb.append("woodcutting_xp, ");
  117. sb.append("fletching_xp, ");
  118. sb.append("fishing_xp, ");
  119. sb.append("firemaking_xp, ");
  120. sb.append("crafting_xp, ");
  121. sb.append("smithing_xp, ");
  122. sb.append("mining_xp, ");
  123. sb.append("herblore_xp, ");
  124. sb.append("agility_xp, ");
  125. sb.append("thieving_xp, ");
  126. sb.append("slayer_xp, ");
  127. sb.append("farming_xp, ");
  128. sb.append("runecrafting_xp, ");
  129. sb.append("hunter_xp, ");
  130. sb.append("construction_xp, ");
  131. sb.append("summoning_xp, ");
  132. sb.append("dungeoneering_xp) ");
  133. sb.append("VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
  134. return sb.toString();
  135. }
  136.  
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement