Guest User

Untitled

a guest
Jan 20th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.76 KB | None | 0 0
  1. package server.game.players.packets;
  2.  
  3. import java.io.BufferedWriter;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6.  
  7. import server.Config;
  8. import server.Connection;
  9. import server.game.npcs.NPCHandler;
  10. import server.game.players.Client;
  11. import server.game.players.PacketType;
  12. import server.game.players.Player;
  13. import server.game.players.PlayerHandler;
  14. import server.game.players.PlayerSave;
  15. import server.util.Misc;
  16.  
  17. /**
  18. * Commands
  19. * @author Andrew
  20. **/
  21.  
  22. public class Commands implements PacketType
  23. {
  24.  
  25. @Override
  26. public void processPacket(Client c, int packetType, int packetSize) {
  27. String playerCommand = c.getInStream().readString();
  28. if (Config.SERVER_DEBUG)
  29. Misc.println(c.playerName+" playerCommand: "+playerCommand);
  30.  
  31. if (c.playerRights >= 0)
  32. playerCommands(c, playerCommand);
  33. if (c.playerRights >= 1)
  34. PlayerModCommands(c, playerCommand);
  35. if (c.playerRights >= 2)
  36. adminCommands(c, playerCommand);
  37. if (c.playerRights == 3)
  38. developerCommands(c, playerCommand);
  39. if (c.playerRights == 4)
  40. MemberCommands(c, playerCommand);
  41. }
  42.  
  43.  
  44. public void playerCommands(Client c, String playerCommand)
  45. {
  46.  
  47. if (playerCommand.startsWith("reportbug") && playerCommand.length() > 7) {
  48. if (System.currentTimeMillis() - c.miscTimer > 45000) {
  49. try {
  50. BufferedWriter report = new BufferedWriter(new FileWriter("./Data/bugs/bugs.txt", true));
  51. String Report = playerCommand.substring(9);
  52. try {
  53. report.newLine();
  54. report.write(c.playerName + ":" + Report);
  55. c.sendMessage("You have successfully submitted your bug report.");
  56. c.sendMessage("You may report another bug every 45 seconds. Abuse this and get banned.");
  57. c.miscTimer = System.currentTimeMillis();
  58. } finally {
  59. report.close();
  60. }
  61. } catch (IOException e) {
  62. e.printStackTrace();
  63. }
  64. }
  65. }
  66.  
  67. if (playerCommand.equalsIgnoreCase("players")) {
  68. c.sendMessage("There are currently "
  69. + PlayerHandler.getPlayerCount() + " players online.");
  70. }
  71.  
  72. if (playerCommand.startsWith("noclip") && (c.playerRights != 3)) {
  73. return;
  74. }
  75.  
  76. if (playerCommand.startsWith("changepassword")
  77. && playerCommand.length() > 15) {
  78. c.playerPass = playerCommand.substring(15);
  79. c.sendMessage("Your password is now: " + c.playerPass);
  80. }
  81. }
  82.  
  83.  
  84. public void PlayerModCommands(Client c, String playerCommand)
  85. {
  86.  
  87. if (playerCommand.startsWith("empty")) {
  88. c.getPA().handleEmpty();
  89. }
  90.  
  91. if (playerCommand.startsWith("unmute")) {
  92.  
  93. try {
  94. String playerToBan = playerCommand.substring(7);
  95. Connection.unMuteUser(playerToBan);
  96. } catch (Exception e) {
  97. c.sendMessage("Player Must Be Offline.");
  98. }
  99. }
  100.  
  101. if (playerCommand.startsWith("mute")) {
  102.  
  103. try {
  104. String playerToBan = playerCommand.substring(5);
  105. Connection.addNameToMuteList(playerToBan);
  106. for (int i = 0; i < PlayerHandler.players.length; i++) {
  107. if (PlayerHandler.players[i] != null) {
  108. if (PlayerHandler.players[i].playerName
  109. .equalsIgnoreCase(playerToBan)) {
  110. Client c2 = (Client) PlayerHandler.players[i];
  111. c2.sendMessage("You have been muted by: "
  112. + c.playerName);
  113. break;
  114. }
  115. }
  116. }
  117. } catch (Exception e) {
  118. c.sendMessage("Player Must Be Offline.");
  119. }
  120. }
  121.  
  122. }
  123.  
  124. public void adminCommands(Client c, String playerCommand)
  125. {
  126.  
  127. if (playerCommand.startsWith("bank")) {
  128. c.getPA().openUpBank();
  129. }
  130.  
  131. if (playerCommand.startsWith("xteleto")) {
  132. String name = playerCommand.substring(8);
  133. for (int i = 0; i < PlayerHandler.players.length; i++) {
  134. if (PlayerHandler.players[i] != null) {
  135. if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
  136. c.getPA().movePlayer(PlayerHandler.players[i].getX(), PlayerHandler.players[i].getY(), PlayerHandler.players[i].heightLevel);
  137. }
  138. }
  139. }
  140. }
  141.  
  142. if (playerCommand.startsWith("tele")) {
  143. String[] arg = playerCommand.split(" ");
  144. if (arg.length > 3)
  145. c.getPA().movePlayer(Integer.parseInt(arg[1]), Integer.parseInt(arg[2]), Integer.parseInt(arg[3]));
  146. else if (arg.length == 3)
  147. c.getPA().movePlayer(Integer.parseInt(arg[1]), Integer.parseInt(arg[2]), c.heightLevel);
  148. }
  149.  
  150. if (playerCommand.startsWith("ipban")) {
  151. try {
  152. String playerToBan = playerCommand.substring(6);
  153. for (int i = 0; i < PlayerHandler.players.length; i++) {
  154. if(PlayerHandler.players[i] != null) {
  155. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  156. Connection.addIpToBanList(PlayerHandler.players[i].connectedFrom);
  157. Connection.addIpToFile(PlayerHandler.players[i].connectedFrom);
  158. c.sendMessage("@red@["+PlayerHandler.players[i].playerName+"] has been IP Banned with the host: "+PlayerHandler.players[i].connectedFrom);
  159. PlayerHandler.players[i].disconnected = true;
  160. }
  161. }
  162. }
  163. } catch(Exception e) {
  164. c.sendMessage("Player Must Be Offline.");
  165. }
  166. }
  167.  
  168. if (playerCommand.startsWith("unban")) {
  169.  
  170. try {
  171. String playerToBan = playerCommand.substring(6);
  172. Connection.removeNameFromBanList(playerToBan);
  173. c.sendMessage(playerToBan + " has been unbanned.");
  174. } catch (Exception e) {
  175. c.sendMessage("Player Must Be Offline.");
  176. }
  177. }
  178.  
  179.  
  180. if (playerCommand.startsWith("ban") && playerCommand.charAt(3) == ' ') {
  181. try {
  182. String playerToBan = playerCommand.substring(4);
  183. Connection.addNameToBanList(playerToBan);
  184. Connection.addNameToFile(playerToBan);
  185. for (int i = 0; i < PlayerHandler.players.length; i++) {
  186. if (PlayerHandler.players[i] != null) {
  187. if (PlayerHandler.players[i].playerName
  188. .equalsIgnoreCase(playerToBan)) {
  189. PlayerHandler.players[i].disconnected = true;
  190. }
  191. }
  192. }
  193. } catch (Exception e) {
  194. c.sendMessage("Player Must Be Offline.");
  195. }
  196. }
  197.  
  198. if (playerCommand.startsWith("ipmute")) {
  199. try {
  200. String playerToBan = playerCommand.substring(7);
  201. for (int i = 0; i < PlayerHandler.players.length; i++) {
  202. if(PlayerHandler.players[i] != null) {
  203. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  204. Connection.addIpToMuteList(PlayerHandler.players[i].connectedFrom);
  205. c.sendMessage("You have IP Muted the user: "+PlayerHandler.players[i].playerName);
  206. Client c2 = (Client)PlayerHandler.players[i];
  207. c2.sendMessage("You have been muted by: " + c.playerName);
  208. break;
  209. }
  210. }
  211. }
  212. } catch(Exception e) {
  213. c.sendMessage("Player Must Be Offline.");
  214. }
  215. }
  216.  
  217. if(playerCommand.startsWith("restart")) {
  218. for(Player p : PlayerHandler.players) {
  219. if(p == null)
  220. continue;
  221. PlayerSave.saveGame((Client)p);
  222. }
  223. System.exit(0);
  224. }
  225.  
  226. if (playerCommand.startsWith("dialogue")) {
  227. int npcType = 1552;
  228. int id = Integer.parseInt(playerCommand.split(" ")[1]);
  229. c.getDH().sendDialogues(id, npcType);
  230. }
  231.  
  232. if (playerCommand.startsWith("interface")) {
  233. String[] args = playerCommand.split(" ");
  234. c.getPA().showInterface(Integer.parseInt(args[1]));
  235. }
  236. if (playerCommand.startsWith("gfx")) {
  237. String[] args = playerCommand.split(" ");
  238. c.gfx0(Integer.parseInt(args[1]));
  239. }
  240. if (playerCommand.startsWith("anim")) {
  241. String[] args = playerCommand.split(" ");
  242. c.startAnimation(Integer.parseInt(args[1]));
  243. c.getPA().requestUpdates();
  244. }
  245.  
  246. if (playerCommand.equalsIgnoreCase("mypos")) {
  247. c.sendMessage("X: " + c.absX);
  248. c.sendMessage("Y: " + c.absY);
  249. c.sendMessage("H: " + c.heightLevel);
  250. }
  251.  
  252.  
  253. if (playerCommand.startsWith("unipmute")) {
  254.  
  255. try {
  256. String playerToBan = playerCommand.substring(9);
  257. for (int i = 0; i < PlayerHandler.players.length; i++) {
  258. if (PlayerHandler.players[i] != null) {
  259. if (PlayerHandler.players[i].playerName
  260. .equalsIgnoreCase(playerToBan)) {
  261. Connection
  262. .unIPMuteUser(PlayerHandler.players[i].connectedFrom);
  263. c.sendMessage("You have Un Ip-Muted the user: "
  264. + PlayerHandler.players[i].playerName);
  265. break;
  266. }
  267. }
  268. }
  269. } catch (Exception e) {
  270. c.sendMessage("Player Must Be Offline.");
  271. }
  272. }
  273. }
  274.  
  275. public void developerCommands(Client c, String playerCommand)
  276. {
  277.  
  278. /*/if (playerCommand.startsWith("award"))
  279. for (Player player : PlayerHandler.players) {
  280. if (player != null && player.playerName.toLowerCase().equalsIgnoreCase(playerCommand.substring(6))) {
  281. final Client other = (Client) player;
  282. other.membership = true;
  283. other.sendMessage("You have been awarded membership relog for it to update.");
  284. }
  285. }/*/ //add this after pre alpha is over
  286.  
  287. if (playerCommand.equalsIgnoreCase("random")) {
  288. c.sendMessage("You currently have " + c.randomActions + " random points.");
  289. }
  290.  
  291. if (playerCommand.equalsIgnoreCase("addrandom")) {
  292. c.randomActions = 750;
  293. c.sendMessage("You currently have " + c.randomActions + " random points.");
  294. }
  295.  
  296. if (playerCommand.startsWith("xteletome")) {
  297. String name = playerCommand.substring(10);
  298. for (int i = 0; i < PlayerHandler.players.length; i++) {
  299. if (PlayerHandler.players[i] != null) {
  300. if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
  301. Client other = (Client) PlayerHandler.players[i];
  302. other.getPA().movePlayer(c.getX(), c.getY(), c.heightLevel);
  303. }
  304. }
  305. }
  306. }
  307.  
  308. if (playerCommand.equals("spec")) {
  309. c.specAmount = 100.0;
  310. }
  311.  
  312. if (playerCommand.startsWith("setlevel")) {
  313. try {
  314. String[] args = playerCommand.split(" ");
  315. int skill = Integer.parseInt(args[1]);
  316. int level = Integer.parseInt(args[2]);
  317. if (level > 99) {
  318. level = 99;
  319. } else if (level < 0) {
  320. level = 1;
  321. }
  322. c.playerXP[skill] = c.getPA().getXPForLevel(level) + 5;
  323. c.playerLevel[skill] = c.getPA().getLevelForXP(
  324. c.playerXP[skill]);
  325. c.getPA().refreshSkill(skill);
  326. c.getPA().levelUp(skill);
  327. } catch (Exception e) {
  328. }
  329. }
  330.  
  331. if (playerCommand.startsWith("item")) {
  332. try {
  333. String[] args = playerCommand.split(" ");
  334. if (args.length == 3) {
  335. int newItemID = Integer.parseInt(args[1]);
  336. int newItemAmount = Integer.parseInt(args[2]);
  337. if ((newItemID <= 25000) && (newItemID >= 0)) {
  338. c.getItems().addItem(newItemID, newItemAmount);
  339. } else {
  340. c.sendMessage("No such item.");
  341. }
  342. } else {
  343. c.sendMessage("Use as ::item 995 200");
  344. }
  345. } catch (Exception e) {
  346. }
  347. }
  348.  
  349. if (playerCommand.startsWith("object")) {
  350. String[] args = playerCommand.split(" ");
  351. c.getPA().object(Integer.parseInt(args[1]), c.absX, c.absY, 0, 10);
  352. }
  353.  
  354. if(playerCommand.startsWith("npc")) {
  355. try {
  356. int newNPC = Integer.parseInt(playerCommand.substring(4));
  357. if(newNPC > 0) {
  358. NPCHandler.spawnNpc(c, newNPC, c.absX, c.absY, 0, 0, 120, 7, 70, 70, false, false);
  359. c.sendMessage("You spawn a Npc.");
  360. } else {
  361. c.sendMessage("No such NPC.");
  362. }
  363. } catch(Exception e) {
  364.  
  365. }
  366. }
  367.  
  368.  
  369. }
  370.  
  371. public void MemberCommands(Client c, String playerCommand)
  372. {
  373.  
  374. }
  375. }
Add Comment
Please, Sign In to add comment