Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.91 KB | None | 0 0
  1. <00:46:46> "LordToxik": package me.marwex.main;
  2.  
  3. import org.bukkit.event.EventHandler;
  4. import org.bukkit.event.Listener;
  5. import org.bukkit.event.player.PlayerLevelChangeEvent;
  6. import org.bukkit.scheduler.BukkitRunnable;
  7.  
  8. public class Level implements Listener {
  9.  
  10. @EventHandler
  11. public void onLevelChange(PlayerLevelChangeEvent event) {
  12. //PROSTE TO TVOJE HEHE
  13.  
  14. new BukkitRunnable() {
  15.  
  16. @Override
  17. public void run() {
  18. //Something what do you want
  19. }
  20. }.runTaskLater(Main.instance, 1);
  21.  
  22. Main.instance.getConfig();
  23. }
  24. }
  25. <00:56:17> "LordToxik": package me.marwex.main.xdd;
  26.  
  27. import org.bukkit.Bukkit;
  28. import org.bukkit.event.Listener;
  29. import org.bukkit.plugin.java.JavaPlugin;
  30. import org.w3c.dom.stylesheets.LinkStyle;
  31.  
  32. public class Main2 extends JavaPlugin implements Listener {
  33.  
  34. public Level2 level2;
  35. private GUI gui;
  36. public GUI gui2;
  37.  
  38. public void onEnable() {
  39.  
  40. Bukkit.getPluginManager().registerEvents(this, this);
  41.  
  42. level2 = new Level2(this);
  43. gui = new GUI(this);
  44. this.gui2 = gui;
  45. }
  46.  
  47. //alt + insert
  48.  
  49. public GUI getGUI() {
  50. return gui;
  51. }
  52. }
  53. <00:56:22> "LordToxik": package me.marwex.main.xdd;
  54.  
  55. import org.bukkit.Bukkit;
  56. import org.bukkit.event.EventHandler;
  57. import org.bukkit.event.Listener;
  58. import org.bukkit.event.player.PlayerLevelChangeEvent;
  59. import org.bukkit.scheduler.BukkitRunnable;
  60.  
  61. public class Level2 implements Listener {
  62.  
  63. private Main2 main;
  64.  
  65. public Level2(Main2 main) {
  66.  
  67. this.main = main;
  68.  
  69. Bukkit.getPluginManager().registerEvents(this, main);
  70. }
  71.  
  72. @EventHandler
  73. public void onChhh(PlayerLevelChangeEvent event) {
  74.  
  75. new BukkitRunnable() {
  76. @Override
  77. public void run() {
  78. main.getGUI().open(event.getPlayer());
  79. main.gui2.open(event.getPlayer());
  80. }
  81. }.runTaskLater(main, 2);
  82.  
  83. }
  84. }
  85. <00:56:26> "LordToxik": package me.marwex.main.xdd;
  86.  
  87. import org.bukkit.Bukkit;
  88. import org.bukkit.entity.Player;
  89. import org.bukkit.inventory.Inventory;
  90.  
  91. public class GUI {
  92.  
  93. private Main2 main;
  94.  
  95. public GUI(Main2 main) {
  96.  
  97. this.main = main;
  98. }
  99.  
  100. public void open(Player player) {
  101.  
  102. Inventory inv = Bukkit.createInventory(null, 9*1, "Ahoj More");
  103.  
  104. player.openInventory(inv);
  105. }
  106. }
  107. <01:04:34> "LordToxik": čum
  108. <01:04:34> "LordToxik": anydesk
  109. <01:04:50> "MarweX": xd
  110. <01:06:15> "LordToxik":
  111. @EventHandler
  112. public void fallDamage(final EntityDamageEvent event) {
  113. if((event.getEntity() instanceof Player)) {
  114. if (event.getCause() == DamageCause.FALL){
  115. event.setCancelled(true);
  116. }
  117. }
  118. }
  119. <01:06:27> "LordToxik":
  120. @EventHandler
  121. public void onCreature(CreatureSpawnEvent event) {
  122. if(event.getEntityType() != EntityType.ARMOR_STAND ||
  123. event.getEntityType() != EntityType.PLAYER ||
  124. event.getEntityType() != EntityType.ARROW ||
  125. event.getEntityType() != EntityType.ITEM_FRAME) {
  126. event.setCancelled(true);
  127. }
  128. }
  129. <01:07:05> "LordToxik":
  130. @EventHandler
  131. public void death(PlayerDeathEvent event) {
  132. Player deathPlayer = (Player) event.getEntity();
  133. Player killer = (Player) deathPlayer.getKiller();
  134.  
  135. event.setDeathMessage("");
  136. deathPlayer.setFireTicks(0);
  137. event.setDroppedExp(0);
  138. event.getDrops().clear();
  139. deathPlayer.setVelocity(new Vector());
  140.  
  141. addDeath(deathPlayer);
  142.  
  143. if(killer != null) {
  144. deathPlayer.setHealth(20);
  145. deathPlayer.teleport(spawnLocation);
  146.  
  147. killer.setLevel(killer.getLevel()+1);
  148. killer.playSound(killer.getLocation(), Sound.LEVEL_UP, 0.5F, 0.2F);
  149.  
  150. checkClass(killer);
  151. addKill(killer);
  152. killer.sendMessage(Commands.prefix + "§7Zabil jsi hrace §b" + deathPlayer.getName());
  153. deathPlayer.sendMessage(Commands.prefix + "§7Byl jsi zabit hracem §b" + killer.getName());
  154. }
  155. if(killer == null) {
  156. deathPlayer.sendMessage(Commands.prefix + "§7Byl jsi zabit padem do vody.");
  157. }
  158.  
  159. if(deathPlayer.getLevel() >= 2) {
  160. deathPlayer.setLevel(deathPlayer.getLevel()-1);
  161. }
  162.  
  163.  
  164. new BukkitRunnable() {
  165. @Override
  166. public void run() {
  167. checkClass(deathPlayer);
  168. }
  169. }.runTaskLater(this, 1L);
  170. }
  171. <01:07:13> "LordToxik":
  172. @EventHandler
  173. public void deathOnWater(PlayerMoveEvent event) {
  174. if (event.getPlayer().getLocation().getBlock().isLiquid()) {
  175. event.getPlayer().setHealth(0);
  176. event.getPlayer().setHealth(20);
  177. event.getPlayer().setVelocity(new Vector());
  178. event.getPlayer().teleport(spawnLocation);
  179. checkClass(event.getPlayer());
  180. }
  181. }
  182. <01:08:48> "LordToxik":
  183. public static void checkClass(Player player) {
  184. if(UsersData.playerClasses.get(player).equals(CLASS1)) {
  185. Class1.checkLevel(player);
  186. }
  187. if(UsersData.playerClasses.get(player).equals(CLASS2)) {
  188. Class2.checkLevel(player);
  189. }
  190. if(UsersData.playerClasses.get(player).equals(CLASS3)) {
  191. Class3.checkLevel(player);
  192. }
  193. }
  194. <01:10:59> "LordToxik": package me.LordToxik.API.basics.mysql.objects;
  195.  
  196. import me.LordToxik.API.basics.logs.Logger;
  197. import me.LordToxik.API.basics.mysql.interfaces.IMySQL;
  198. import me.LordToxik.API.basics.timers.objects.Timer;
  199.  
  200. import java.sql.Connection;
  201. import java.sql.DriverManager;
  202. import java.sql.SQLException;
  203. import java.util.TimerTask;
  204.  
  205. public class MySQL implements IMySQL {
  206.  
  207. private Connection connection;
  208. private String host, password, database, username;
  209. private Integer port;
  210. private MySQL thisClass;
  211. private Timer timer;
  212.  
  213. public MySQL(String host, String database, String username, String password, Integer port) {
  214.  
  215. thisClass = this;
  216. this.host = host;
  217. this.database = database;
  218. this.username = username;
  219. this.password = password;
  220. this.port = port;
  221. this.timer = new Timer();
  222. }
  223.  
  224. @Override
  225. public String getHost() {
  226. return this.host;
  227. }
  228.  
  229. @Override
  230. public String getDatabase() {
  231. return this.database;
  232. }
  233.  
  234. @Override
  235. public String getUsername() {
  236. return this.username;
  237. }
  238.  
  239. @Override
  240. public Integer getPort() {
  241. return this.port;
  242. }
  243.  
  244.  
  245. @Override
  246. public Connection getConnection() {
  247. synchronized (this) {
  248. try {
  249. if(connection == null ||
  250. connection.isClosed()) {
  251. connect();
  252. }
  253. } catch (SQLException ex) {
  254. ex.printStackTrace();
  255. }
  256. return this.connection;
  257. }
  258. }
  259.  
  260. @Override
  261. public void disconnect() {
  262.  
  263. try {
  264. synchronized (this) {
  265. if(connection != null && !connection.isClosed()) {
  266. Logger.highConnectionLog("Odpojeny z mysql serveru '" + host + ":" + port + "' cez uzivatela '" + username + "' z databazi '" + database + "'");
  267. connection.close();
  268. timer.cancel();
  269. } else {
  270. Logger.highWarningLog("Aktualne si odpojeny z mysql serveru '" + host + ":" + port + "' z uzivatela '" + username + "' z databazi '" + database + "'");
  271. }
  272. }
  273. } catch (SQLException ex) {
  274. Logger.highErrorLog("Nastala chyba v pripojeni na MySQL '" + host + ":" + port + "' cez uzivatela '" + username + "' a do databazi '" + database + "'");
  275. }
  276. }
  277.  
  278. @Override
  279. public void connect() {
  280.  
  281. try {
  282. synchronized (this) {
  283. if (connection != null && !connection.isClosed()) {
  284. return;
  285. }
  286.  
  287. Class.forName("com.mysql.jdbc.Driver");
  288. this.connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?autoReconnect=true&useUnicode=yes", username, password);
  289. Logger.highConnectionLog("Pripojeny na MySQL server '" + host + ":" + port + "' cez uzivatela '" + username + "' na databazu '" + database + "'");
  290. keepAlive();
  291. }
  292. } catch (SQLException | ClassNotFoundException ex) {
  293. Logger.highErrorLog("Nastala chyba pri pripojeny na mysql server '" + host + ":" + port + "' cez uzivatela '" + username + "' do databaze '" + database + "'");
  294. }
  295. }
  296.  
  297. public void keepAlive() {
  298. timer.cancel();
  299. timer.setTask(new TimerTask() {
  300. @Override
  301. public void run() {
  302. getConnection();
  303. }
  304. }).startAsyncTask(60*60*1000, 60*60*1000);
  305. }
  306. }
  307. <01:11:03> "LordToxik": package me.LordToxik.API.basics.mysql.objects;
  308.  
  309. import me.LordToxik.API.basics.mysql.interfaces.IMySQLReflection;
  310. import me.LordToxik.API.basics.timers.objects.Timer;
  311. import org.bukkit.entity.Player;
  312.  
  313. import java.sql.Connection;
  314. import java.sql.PreparedStatement;
  315. import java.sql.ResultSet;
  316. import java.sql.SQLException;
  317. import java.util.*;
  318.  
  319. public class MySQLReflection implements IMySQLReflection {
  320.  
  321. @Override
  322. public ArrayList<Object> getValues(Connection connection, String table, String whereColum, Object whereObject, String... colums) {
  323. return getValues(connection, table, whereColum, whereObject, Arrays.asList(colums));
  324. }
  325.  
  326. @Override
  327. public ArrayList<Object> getValues(Connection connection, String table, String whereColum, Object whereObject, List<String> colums) {
  328. ArrayList<Object> temp = new ArrayList<>();
  329. try {
  330.  
  331. PreparedStatement statement = connection.prepareStatement("SELECT * FROM `" + table + "` WHERE `" + whereColum + "`='" + whereObject + "'");
  332.  
  333. ResultSet result = statement.executeQuery();
  334. result.next();
  335. for(String s : colums) {
  336. temp.add(result.getObject(s));
  337. }
  338.  
  339. result.close();
  340. statement.close();
  341.  
  342. return temp;
  343. } catch (SQLException ignored) {}
  344.  
  345. return temp;
  346. }
  347.  
  348. @Override
  349. public HashMap<String, Object> getValuesInHash(Connection connection, String table, String whereColum, Object whereObject, String... colums) {
  350. return getValuesInHash(connection, table, whereColum, whereObject, Arrays.asList(colums));
  351. }
  352.  
  353. @Override
  354. public HashMap<String, Object> getValuesInHash(Connection connection, String table, String whereColum, Object whereObject, List<String> colums) {
  355. HashMap<String, Object> temp = new HashMap<>();
  356. try {
  357.  
  358. PreparedStatement statement = connection.prepareStatement("SELECT * FROM `" + table + "` WHERE `" + whereColum + "`='" + whereObject + "'");
  359.  
  360. ResultSet result = statement.executeQuery();
  361. result.next();
  362. for(String s : colums) {
  363. temp.put(s, result.getObject(s));
  364. }
  365.  
  366. result.close();
  367. statement.close();
  368.  
  369. return temp;
  370. } catch (SQLException ignored) {}
  371.  
  372. return temp;
  373. }
  374.  
  375. @Override
  376. public Object getValue(Connection connection, String table, String whereColum, Object whereObject, String fromColum) {
  377.  
  378. try {
  379.  
  380. PreparedStatement statement = connection.prepareStatement("SELECT * FROM `" + table + "` WHERE `" + whereColum + "`='" + whereObject + "'");
  381.  
  382. ResultSet result = statement.executeQuery();
  383. result.next();
  384.  
  385. Object value;
  386. value = result.getObject(fromColum);
  387.  
  388. result.close();
  389. statement.close();
  390.  
  391. return value;
  392. } catch (SQLException ignored) {}
  393.  
  394. return 0;
  395. }
  396.  
  397. @Override
  398. public boolean ifDataExists(Connection connection, String table, String colum, Object value) {
  399.  
  400. try {
  401.  
  402. PreparedStatement statement = connection.prepareStatement("SELECT * FROM `" + table + "` WHERE `" + colum + "`='" + value + "'");
  403.  
  404. ResultSet result = statement.executeQuery();
  405. if (result.next()) {
  406. result.close();
  407. statement.close();
  408.  
  409. return true;
  410. }
  411.  
  412. result.close();
  413. statement.close();
  414. } catch (SQLException ex) {
  415. return true;
  416. }
  417.  
  418. return false;
  419. }
  420.  
  421. @Override
  422. public void substractNumber(Connection connection, String table, String whereColum, Object whereObject,String colum, Object value) {
  423. new Timer(new TimerTask() {
  424. @Override
  425. public void run() {
  426. try {
  427.  
  428. PreparedStatement statement = connection.prepareStatement( "UPDATE `" + table + "` SET `" + colum + "`=`" +
  429. colum + "`-'" + value + "' WHERE `" + whereColum + "`='" + whereObject + "'");
  430.  
  431. statement.executeUpdate();
  432. statement.close();
  433. } catch (SQLException ignored) {}
  434. }
  435. }).startOnlyDelayed(10);
  436. }
  437.  
  438. @Override
  439. public void setValues(Connection connection, String table, String whereColum, Object whereObject, HashMap<String, Object> values) {
  440. new Timer(new TimerTask() {
  441. @Override
  442. public void run() {
  443. try {
  444. if(values.isEmpty()) return;
  445.  
  446. StringBuilder builder = new StringBuilder("");
  447. for(String s : values.keySet()) {
  448. builder.append("`" + s + "`='" + values.get(s) + "', ");
  449. }
  450.  
  451. String query = builder.toString();
  452. if(query.endsWith(", ")) {
  453. query = query.substring(0, builder.length()-2);
  454. }
  455. PreparedStatement statement = connection.prepareStatement( "UPDATE `" + table + "` SET " + query + " WHERE `" + whereColum + "`='" + whereObject + "'");
  456.  
  457. statement.executeUpdate();
  458. statement.close();
  459. } catch (SQLException ignored) {}
  460. }
  461. }).startOnlyDelayed(10);
  462. }
  463.  
  464. @Override
  465. public void setObject(Connection connection, String table, String whereColum, Object whereObject,String colum, Object value) {
  466. new Timer(new TimerTask() {
  467. @Override
  468. public void run() {
  469. try {
  470.  
  471. PreparedStatement statement = connection.prepareStatement( "UPDATE `" + table + "` SET `" + colum + "`='" + value + "' WHERE `" + whereColum + "`='" + whereObject + "'");
  472.  
  473. statement.executeUpdate();
  474. statement.close();
  475. } catch (SQLException ignored) {}
  476. }
  477. }).startOnlyDelayed(10);
  478. }
  479.  
  480. @Override
  481. public void addNumber(Connection connection, String table, String whereColum, Object whereObject,String colum, Object value) {
  482. new Timer(new TimerTa
  483. <01:11:10> "LordToxik":
  484. @Override
  485. public void addNumber(Connection connection, String table, String whereColum, Object whereObject,String colum, Object value) {
  486. new Timer(new TimerTask() {
  487. @Override
  488. public void run() {
  489. try {
  490.  
  491. PreparedStatement statement = connection.prepareStatement( "UPDATE `" + table + "` SET `" + colum + "`=`" +
  492. colum + "`+'" + value + "' WHERE `" + whereColum + "`='" + whereObject + "'");
  493.  
  494. statement.executeUpdate();
  495. statement.close();
  496. } catch (SQLException ignored) {}
  497. }
  498. }).startOnlyDelayed(10);
  499. }
  500.  
  501.  
  502. @Override
  503. public Object getMaxNumber(Connection connection, String table, String colum) {
  504.  
  505. try {
  506.  
  507. PreparedStatement statement = connection.prepareStatement("SELECT MAX(" + colum + ") as " + colum + " FROM " + table);
  508.  
  509. ResultSet result = statement.executeQuery();
  510.  
  511. Object number = 0;
  512.  
  513. while(result.next()) {
  514. number = result.getObject(colum);
  515. }
  516.  
  517. result.close();
  518. statement.close();
  519.  
  520. if(number == null) {
  521. number = 0;
  522. }
  523. return number;
  524. } catch (SQLException ignored) {
  525. }
  526.  
  527. return 0;
  528. }
  529.  
  530. @Override
  531. public void createTable(Connection connection, String table_name, HashMap<String, String> values) {
  532. new Timer(new TimerTask() {
  533. @Override
  534. public void run() {
  535.  
  536. StringBuilder builder = new StringBuilder("CREATE TABLE IF NOT EXISTS `" + table_name +"` (");
  537.  
  538. int i = 1;
  539.  
  540. for(String s : values.keySet()) {
  541. String nulled = "NOT NULL";
  542. if(s.endsWith("NULL")) {
  543. nulled = "NULL";
  544. }
  545. builder.append("`" + s + "` " + values.get(s) + " " + nulled);
  546.  
  547. if(i != values.size()) {
  548. builder.append(", ");
  549. }
  550.  
  551. i++;
  552. }
  553. builder.append(")");
  554. try {
  555. PreparedStatement statement = connection.prepareStatement(builder.toString());
  556.  
  557. statement.execute();
  558. statement.close();
  559. } catch (SQLException ignored) {}
  560.  
  561. }
  562. }).startOnlyDelayed(10);
  563. }
  564.  
  565. }
  566. <01:12:08> "LordToxik":
  567. @Override
  568. public void substractNumber(Connection connection, String table, String whereColum, Object whereObject,String colum, Object value) {
  569. new BukkitRunnable() {
  570. @Override
  571. public void run() {
  572.  
  573. try {
  574.  
  575. PreparedStatement statement = connection.prepareStatement( "UPDATE `" + table + "` SET `" + colum + "`=`" +
  576. colum + "`-'" + value + "' WHERE `" + whereColum + "`='" + whereObject + "'");
  577.  
  578. statement.executeUpdate();
  579. statement.close();
  580. } catch (SQLException ignored) {}
  581. }
  582. }.runTaskLater(Main.instance, 1);
  583. new Timer(new TimerTask() {
  584. @Override
  585. public void run() {
  586. try {
  587.  
  588. PreparedStatement statement = connection.prepareStatement( "UPDATE `" + table + "` SET `" + colum + "`=`" +
  589. colum + "`-'" + value + "' WHERE `" + whereColum + "`='" + whereObject + "'");
  590.  
  591. statement.executeUpdate();
  592. statement.close();
  593. } catch (SQLException ignored) {}
  594. }
  595. }).startOnlyDelayed(10);
  596. }
  597. <01:12:27> "LordToxik": public MySQL mysql;
  598. <01:12:39> "LordToxik": mysql = new MySQL("", "", "", "", 3306);
  599. <01:13:03> "LordToxik":
  600. HashMap<String, String> hash = new HashMap<>();
  601. hash.put("NICKNAME","text");
  602. hash.put("KILLS", "bigint(255)");
  603. hash.put("DEATHS", "bigint(255)");
  604. hash.put("M_LEVEL", "bigint(255)");
  605. reflection.createTable(Library.getInstance().getMySQL().getConnection(), "GunGame_STATS", hash);
  606. <01:13:50> "LordToxik": new MySQLReflection().createTable
  607.  
  608. v hash.put("M_LEVEL", "bigint(255)");
  609. reflection.createTable(Library.getInstance().getMySQL().getConnection(), "GunGame_STATS", hash);
  610. <01:13:50> "LordToxik": new MySQLReflection().createTable
  611. <01:14:05> "LordToxik":
  612. public static HashMap<Player, Integer> playerClasses = new HashMap<>();
  613.  
  614. public static HashMap<Player, Long> playerKills = new HashMap<>();
  615. public static HashMap<Player, Long> playerDeaths = new HashMap<>();
  616. public static HashMap<Player, Long> playerMaxLevel = new HashMap<>();
  617.  
  618. public static void checkUserData(Player player) {
  619. IUser user = Library.getInstance().getUserManager().getUser(player);
  620. if(!Main.reflection.ifDataExists(Library.getInstance().getMySQL().getConnection()
  621. , "GunGame_STATS", "NICKNAME", user.getNick())) {
  622. try {
  623. PreparedStatement statement = Library.getInstance().getMySQL().getConnection()
  624. .prepareStatement("INSERT INTO `GunGame_STATS` (`NICKNAME`, `KILLS`, `DEATHS`, `M_LEVEL`) VALUES ('" + user.getNick() + "', '0', '0','1')");
  625. statement.execute();
  626. statement.close();
  627.  
  628. playerKills.put(player, 0L);
  629. playerDeaths.put(player, 0L);
  630. playerMaxLevel.put(player, 1L);
  631.  
  632. } catch (SQLException ex) {
  633. ex.printStackTrace();
  634. }
  635. }
  636. else {
  637. HashMap<String, Object> playerDatas = Main.reflection.getValuesInHash(Library.getInstance().getMySQL().getConnection()
  638. , "GunGame_STATS", "NICKNAME", user.getNick(), "KILLS", "DEATHS", "M_LEVEL");
  639. playerKills.put(player, Long.valueOf(playerDatas.get("KILLS").toString()));
  640. playerDeaths.put(player, Long.valueOf(playerDatas.get("DEATHS").toString()));
  641. playerMaxLevel.put(player, Long.valueOf(playerDatas.get("M_LEVEL").toString()));
  642. }
  643. }
  644.  
  645. public static void saveUserData(Player player) {
  646. HashMap<String, Object> playerDatas = new HashMap<>();
  647. IUser user = Library.getInstance().getUserManager().getUser(player);
  648. playerDatas.put("KILLS", playerKills.get(player));
  649. playerDatas.put("DEATHS", playerDeaths.get(player));
  650. playerDatas.put("M_LEVEL", playerMaxLevel.get(player));
  651. Main.reflection.setValues(Library.getInstance().getMySQL().getConnection()
  652. , "GunGame_STATS", "NICKNAME", user.getNick(), playerDatas);
  653. if(playerKills.containsKey(player)) {
  654. playerKills.remove(player);
  655. }
  656. if(playerDeaths.containsKey(player)) {
  657. playerDeaths.remove(player);
  658. }
  659. if(playerMaxLevel.containsKey(player)) {
  660. playerMaxLevel.remove(player);
  661. }
  662. }
  663.  
  664.  
  665. }
  666. <01:15:25> "LordToxik": if(Main.playerDeaths.containsKey(player)) {
  667. Main.playerDeaths.put(player, Main.playerDeaths.get(player)+1);
  668. } else {
  669. Main.playerDeaths.put(player, 1);
  670. }
  671. <01:16:54> "LordToxik": if(Main.playerMaxLevel.containsKey(player)) {
  672. if(Main.playerMaxLevel.get(player) < player.getLevel()) {
  673. Main.playerMaxLevel.put(player, player.getLevel());
  674. }
  675. } else {
  676. Main.playerMaxLevel.put(player, 1);
  677. }
  678. <01:17:15> "LordToxik": Main.checkUserData(player);
  679. <01:17:27> "LordToxik": Main.saveUserData(player);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement