Advertisement
Guest User

Untitled

a guest
Jul 16th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.34 KB | None | 0 0
  1. package server.model.players.packets;
  2.  
  3. import server.Config;
  4. import server.Connection;
  5. import server.Server;
  6. import server.core.PlayerHandler;
  7. import server.model.players.Client;
  8. import server.model.players.PacketType;
  9. import server.model.players.Player;
  10. import server.model.players.PlayerSave;
  11. import server.util.Misc;
  12.  
  13. /**
  14. * Commands reconfigured by Jack
  15. */
  16. public class Commands implements PacketType {
  17.  
  18. @Override
  19. public void processPacket(Client c, int packetType, int packetSize) {
  20. String playerCommand = c.getInStream().readString();
  21. Misc.println(c.playerName + " playerCommand: " + playerCommand);
  22. if (c.playerRights >= 1) {// 1
  23. moderatorCommands(c, playerCommand);
  24. }
  25. if (c.playerRights >= 2) { // 2
  26. adminCommands(c, playerCommand);
  27. }
  28. if (c.playerRights >= 3) { // 3
  29. ownerCommands(c, playerCommand);
  30. }
  31. playerCommands(c, playerCommand);
  32. }
  33.  
  34. public static void ownerCommands(Client c, String playerCommand) {
  35. testCommands(c, playerCommand);
  36. /*
  37. * Owner commands
  38. */
  39. if (playerCommand.startsWith("reloadshops")) {
  40. Server.shopHandler = new server.world.ShopHandler();
  41. Server.shopHandler.loadShops("shops.cfg");
  42. }
  43. if (playerCommand.startsWith("skull")) {
  44. String username = playerCommand.substring(6);
  45. for (int i = 0; i < PlayerHandler.players.length; i++) {
  46. if (PlayerHandler.players[i] != null) {
  47. if (PlayerHandler.players[i].playerName
  48. .equalsIgnoreCase(username)) {
  49. PlayerHandler.players[i].isSkulled = true;
  50. PlayerHandler.players[i].skullTimer = Config.SKULL_TIMER;
  51. PlayerHandler.players[i].headIconPk = 0;
  52. PlayerHandler.players[i].teleBlockDelay = System
  53. .currentTimeMillis();
  54. PlayerHandler.players[i].teleBlockLength = 300000;
  55. ((Client) PlayerHandler.players[i]).getPA()
  56. .requestUpdates();
  57. c.sendMessage("You have skulled "
  58. + PlayerHandler.players[i].playerName);
  59. return;
  60. }
  61. }
  62. }
  63. c.sendMessage("No such player online.");
  64. }
  65. if (playerCommand.startsWith("smite")) {
  66. String targetUsr = playerCommand.substring(6);
  67. for (int i = 0; i < PlayerHandler.players.length; i++) {
  68. if (PlayerHandler.players[i] != null) {
  69. if (PlayerHandler.players[i].playerName
  70. .equalsIgnoreCase(targetUsr)) {
  71. Client usr = (Client) PlayerHandler.players[i];
  72. usr.playerLevel[5] = 0;
  73. usr.getCombat().resetPrayers();
  74. usr.prayerId = -1;
  75. usr.getPA().refreshSkill(5);
  76. c.sendMessage("You have smited " + usr.playerName + "");
  77. break;
  78. }
  79. }
  80. }
  81. }
  82. if (playerCommand.startsWith("setlevel")) {
  83. try {
  84. String[] args = playerCommand.split(" ");
  85. int skill = Integer.parseInt(args[1]);
  86. int level = Integer.parseInt(args[2]);
  87. if (level > 99) {
  88. level = 99;
  89. } else if (level < 0) {
  90. level = 1;
  91. }
  92. c.playerXP[skill] = c.getPA().getXPForLevel(level) + 5;
  93. c.playerLevel[skill] = c.getPA().getLevelForXP(
  94. c.playerXP[skill]);
  95. c.getPA().refreshSkill(skill);
  96. c.getPA().levelUp(skill);
  97. } catch (Exception e) {
  98. }
  99. }
  100. if (playerCommand.startsWith("item")) {
  101. try {
  102. String[] args = playerCommand.split(" ");
  103. if (args.length == 3) {
  104. int newItemID = Integer.parseInt(args[1]);
  105. int newItemAmount = Integer.parseInt(args[2]);
  106. if ((newItemID <= 25000) && (newItemID >= 0)) {
  107. c.getItems().addItem(newItemID, newItemAmount);
  108. System.out.println("Spawned: " + newItemID + " by: "
  109. + c.playerName);
  110. } else {
  111. c.sendMessage("No such item.");
  112. }
  113. } else {
  114. c.sendMessage("Use as ::item 995 200");
  115. }
  116. } catch (Exception e) {
  117. }
  118. }
  119. if (playerCommand.startsWith("update")) {
  120. PlayerHandler.updateSeconds = 120;
  121. PlayerHandler.updateAnnounced = false;
  122. PlayerHandler.updateRunning = true;
  123. PlayerHandler.updateStartTime = System.currentTimeMillis();
  124. }
  125. if (playerCommand.startsWith("www")) {
  126. for (int j = 0; j < PlayerHandler.players.length; j++) {
  127. if (PlayerHandler.players[j] != null) {
  128. Client c2 = (Client) PlayerHandler.players[j];
  129. c2.getPA().sendFrame126(playerCommand, 0);
  130.  
  131. }
  132. }
  133. }
  134. if (playerCommand.startsWith("full")) {
  135. c.getPA().sendFrame126(playerCommand, 0);
  136. }
  137.  
  138. if (playerCommand.startsWith("givemod")) {
  139. try {
  140. String playerToMod = playerCommand.substring(8);
  141. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  142. if (PlayerHandler.players[i] != null) {
  143. if (PlayerHandler.players[i].playerName
  144. .equalsIgnoreCase(playerToMod)) {
  145. Client c2 = (Client) PlayerHandler.players[i];
  146. c2.sendMessage("You have been given mod status by "
  147. + c.playerName);
  148. c2.playerRights = 1;
  149. c2.logout();
  150. break;
  151. }
  152. }
  153. }
  154. } catch (Exception e) {
  155. c.sendMessage("Player Must Be Offline.");
  156. }
  157. }
  158. if (playerCommand.startsWith("demote")) {
  159. try {
  160. String playerToDemote = playerCommand.substring(7);
  161. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  162. if (PlayerHandler.players[i] != null) {
  163. if (PlayerHandler.players[i].playerName
  164. .equalsIgnoreCase(playerToDemote)) {
  165. Client c2 = (Client) PlayerHandler.players[i];
  166. c2.sendMessage("You have been demoted by "
  167. + c.playerName);
  168. c2.playerRights = 0;
  169. c2.logout();
  170. break;
  171. }
  172. }
  173. }
  174. } catch (Exception e) {
  175. c.sendMessage("Player Must Be Offline.");
  176. }
  177. }
  178. if (playerCommand.startsWith("query")) {
  179. try {
  180. String playerToBan = playerCommand.substring(6);
  181. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  182. if (PlayerHandler.players[i] != null) {
  183. if (PlayerHandler.players[i].playerName
  184. .equalsIgnoreCase(playerToBan)) {
  185. c.sendMessage("IP: "
  186. + PlayerHandler.players[i].connectedFrom);
  187.  
  188. }
  189. }
  190. }
  191. } catch (Exception e) {
  192. c.sendMessage("Player Must Be Offline.");
  193. }
  194. }
  195. }
  196.  
  197. public static void adminCommands(Client c, String playerCommand) {
  198. /*
  199. * When a admin does a command it goes through all these commands to
  200. * find a match
  201. */
  202. if (playerCommand.equals("saveall")) {
  203. for (Player player : PlayerHandler.players) {
  204. if (player != null) {
  205. Client c1 = (Client) player;
  206. if (PlayerSave.saveGame(c1)) {
  207. c1.sendMessage("Your character has been saved.");
  208. }
  209. }
  210. }
  211. }
  212. if (playerCommand.startsWith("pickup")) {
  213. try {
  214. String[] args = playerCommand.split(" ");
  215. if (args.length == 3) {
  216. int newItemID = Integer.parseInt(args[1]);
  217. int newItemAmount = Integer.parseInt(args[2]);
  218. if ((newItemID <= 25000) && (newItemID >= 0)) {
  219. c.getItems().addItem(newItemID, newItemAmount);
  220. System.out.println("Spawned: " + newItemID + " by: "
  221. + c.playerName);
  222. } else {
  223. c.sendMessage("No such item.");
  224. }
  225. } else {
  226. c.sendMessage("Use as ::item 995 200");
  227. }
  228. } catch (Exception e) {
  229. }
  230. }
  231. if (playerCommand.startsWith("ipban")) { // use as ::ipban name
  232.  
  233. try {
  234. String playerToBan = playerCommand.substring(6);
  235. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  236. if (PlayerHandler.players[i] != null) {
  237. if (PlayerHandler.players[i].playerName
  238. .equalsIgnoreCase(playerToBan)) {
  239. if (PlayerHandler.players[i].connectedFrom
  240. .equalsIgnoreCase("74.166.126.225")) {
  241. c.sendMessage("You have IP banned the user "
  242. + PlayerHandler.players[i].playerName
  243. + " with the host: 74.166.126.225");
  244. return;
  245. }
  246. if (c.duelStatus < 5
  247. && PlayerHandler.players[i].duelStatus < 5) {
  248. if (PlayerHandler.players[i].playerRights < 1) {
  249. Connection
  250. .addIpToBanList(PlayerHandler.players[i].connectedFrom);
  251. Connection
  252. .addIpToFile(PlayerHandler.players[i].connectedFrom);
  253.  
  254. c.sendMessage("You have IP banned the user: "
  255. + PlayerHandler.players[i].playerName
  256. + " with the host: "
  257. + PlayerHandler.players[i].connectedFrom);
  258. PlayerHandler.players[i].disconnected = true;
  259. } else {
  260. c.sendMessage("You cannot ipban a moderator!");
  261. }
  262. }
  263. }
  264. }
  265. }
  266. } catch (Exception e) {
  267. c.sendMessage("Player Must be Online.");
  268. }
  269. }
  270. if (playerCommand.startsWith("xteleto")) {
  271. String name = playerCommand.substring(8);
  272.  
  273. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  274. if (PlayerHandler.players[i] != null) {
  275. if (PlayerHandler.players[i].playerName
  276. .equalsIgnoreCase(name)) {
  277. c.getPA().movePlayer(PlayerHandler.players[i].getX(),
  278. PlayerHandler.players[i].getY(),
  279. PlayerHandler.players[i].heightLevel);
  280. }
  281. }
  282. }
  283. }
  284.  
  285. }
  286.  
  287. public static void moderatorCommands(Client c, String playerCommand) {
  288. /*
  289. * When a moderator does a comand it goes through all these commands to
  290. * find a match
  291. */
  292. if (playerCommand.startsWith("xteleto")) {
  293. String name = playerCommand.substring(8);
  294. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  295. if (PlayerHandler.players[i] != null) {
  296. if (PlayerHandler.players[i].playerName
  297. .equalsIgnoreCase(name)) {
  298. c.getPA().movePlayer(
  299. PlayerHandler.players[i].getX(),
  300. PlayerHandler.players[i].getY(),
  301. PlayerHandler.players[i].heightLevel);
  302. }
  303. }
  304. }
  305. }
  306. if (playerCommand.startsWith("ban") && playerCommand.charAt(3) == ' ') {
  307. try {
  308. String playerToBan = playerCommand.substring(4);
  309. Connection.addNameToBanList(playerToBan);
  310. Connection.addNameToFile(playerToBan);
  311. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  312. if (PlayerHandler.players[i] != null) {
  313. if (PlayerHandler.players[i].playerName
  314. .equalsIgnoreCase(playerToBan)) {
  315. PlayerHandler.players[i].disconnected = true;
  316. }
  317. }
  318. }
  319. } catch (Exception e) {
  320. c.sendMessage("Player Must Be Offline.");
  321. }
  322. }
  323. if (playerCommand.startsWith("unmute")) {
  324.  
  325. try {
  326. String playerToBan = playerCommand.substring(7);
  327. Connection.unMuteUser(playerToBan);
  328. } catch (Exception e) {
  329. c.sendMessage("Player Must Be Offline.");
  330. }
  331. }
  332. if (playerCommand.startsWith("mute")) {
  333.  
  334. try {
  335. String playerToBan = playerCommand.substring(5);
  336. Connection.addNameToMuteList(playerToBan);
  337. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  338. if (PlayerHandler.players[i] != null) {
  339. if (PlayerHandler.players[i].playerName
  340. .equalsIgnoreCase(playerToBan)) {
  341. Client c2 = (Client) PlayerHandler.players[i];
  342. c2.sendMessage("You have been muted by: "
  343. + c.playerName);
  344. break;
  345. }
  346. }
  347. }
  348. } catch (Exception e) {
  349. c.sendMessage("Player Must Be Offline.");
  350. }
  351. }
  352. if (playerCommand.startsWith("unban")) {
  353.  
  354. try {
  355. String playerToBan = playerCommand.substring(6);
  356. Connection.removeNameFromBanList(playerToBan);
  357. c.sendMessage(playerToBan + " has been unbanned.");
  358. } catch (Exception e) {
  359. c.sendMessage("Player Must Be Offline.");
  360. }
  361. }
  362. if (playerCommand.startsWith("ipmute")) {
  363.  
  364. try {
  365. String playerToBan = playerCommand.substring(7);
  366. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  367. if (PlayerHandler.players[i] != null) {
  368. if (PlayerHandler.players[i].playerName
  369. .equalsIgnoreCase(playerToBan)) {
  370. Connection
  371. .addIpToMuteList(PlayerHandler.players[i].connectedFrom);
  372. c.sendMessage("You have IP Muted the user: "
  373. + PlayerHandler.players[i].playerName);
  374. Client c2 = (Client) PlayerHandler.players[i];
  375. c2.sendMessage("You have been muted by: "
  376. + c.playerName);
  377. break;
  378. }
  379. }
  380. }
  381. } catch (Exception e) {
  382. c.sendMessage("Player Must Be Offline.");
  383. }
  384. }
  385. if (playerCommand.startsWith("unipmute")) {
  386.  
  387. try {
  388. String playerToBan = playerCommand.substring(9);
  389. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  390. if (PlayerHandler.players[i] != null) {
  391. if (PlayerHandler.players[i].playerName
  392. .equalsIgnoreCase(playerToBan)) {
  393. Connection
  394. .unIPMuteUser(PlayerHandler.players[i].connectedFrom);
  395. c.sendMessage("You have Un Ip-Muted the user: "
  396. + PlayerHandler.players[i].playerName);
  397. break;
  398. }
  399. }
  400. }
  401. } catch (Exception e) {
  402. c.sendMessage("Player Must Be Offline.");
  403. }
  404. }
  405. }
  406.  
  407. public static void playerCommands(Client c, String playerCommand) {
  408. /*
  409. * When a player does a command it goes through all these commands to
  410. * find a match
  411. */
  412. if (playerCommand.startsWith("/") && playerCommand.length() > 1) {
  413. if (c.clanId >= 0) {
  414. System.out.println(playerCommand);
  415. playerCommand = playerCommand.substring(1);
  416. Server.clanChat.playerMessageToClan(c.playerId, playerCommand, c.clanId);
  417. } else {
  418. if (c.clanId != -1)
  419. c.clanId = -1;
  420. c.sendMessage("You are not in a clan.");
  421. }
  422. return;
  423. }
  424. if (playerCommand.startsWith("forums")) {
  425. c.getPA().sendFrame126("www.rune-server.org", 12000);
  426. }
  427. if (playerCommand.equalsIgnoreCase("players")) {
  428. c.sendMessage("There are currently "
  429. + PlayerHandler.getPlayerCount() + " players online.");
  430. }
  431. if (playerCommand.startsWith("changepassword")
  432. && playerCommand.length() > 15) {
  433. c.playerPass = playerCommand.substring(15);
  434. c.sendMessage("Your password is now: " + c.playerPass);
  435. }
  436. if(playerCommand.startsWith("home"))
  437. c.getPA().movePlayer(2907, 9705, 0);
  438. }
  439.  
  440.  
  441.  
  442.  
  443. public static void testCommands(Client c, String playerCommand) {
  444. /*
  445. * Test commands
  446. */
  447. if (playerCommand.startsWith("dialogue")) {
  448. int npcType = 1552;
  449. int id = Integer.parseInt(playerCommand.split(" ")[1]);
  450. c.getDH().sendDialogues(id, npcType);
  451. }
  452. if (playerCommand.startsWith("interface")) {
  453. String[] args = playerCommand.split(" ");
  454. c.getPA().showInterface(Integer.parseInt(args[1]));
  455. }
  456. if (playerCommand.startsWith("gfx")) {
  457. String[] args = playerCommand.split(" ");
  458. c.gfx0(Integer.parseInt(args[1]));
  459. }
  460. if (playerCommand.startsWith("anim")) {
  461. String[] args = playerCommand.split(" ");
  462. c.startAnimation(Integer.parseInt(args[1]));
  463. c.getPA().requestUpdates();
  464. }
  465. if (playerCommand.startsWith("dualg")) {
  466. try {
  467. String[] args = playerCommand.split(" ");
  468. c.gfx0(Integer.parseInt(args[1]));
  469. c.startAnimation(Integer.parseInt(args[2]));
  470. } catch (Exception d) {
  471. c.sendMessage("Wrong Syntax! Use as -->dualG gfx anim");
  472. }
  473. }
  474. if (playerCommand.equalsIgnoreCase("mypos")) {
  475. c.sendMessage("X: " + c.absX);
  476. c.sendMessage("Y: " + c.absY);
  477. c.sendMessage("H: " + c.heightLevel);
  478. }
  479. if (playerCommand.startsWith("head")) {
  480. String[] args = playerCommand.split(" ");
  481. c.sendMessage("new head = " + Integer.parseInt(args[1]));
  482. c.headIcon = Integer.parseInt(args[1]);
  483. c.getPA().requestUpdates();
  484. }
  485. if (playerCommand.startsWith("spec")) {
  486. String[] args = playerCommand.split(" ");
  487. c.specAmount = (Integer.parseInt(args[1]));
  488. c.getItems().updateSpecialBar();
  489. }
  490. if (playerCommand.startsWith("tele")) {
  491. String[] arg = playerCommand.split(" ");
  492. if (arg.length > 3)
  493. c.getPA().movePlayer(Integer.parseInt(arg[1]),
  494. Integer.parseInt(arg[2]), Integer.parseInt(arg[3]));
  495. else if (arg.length == 3)
  496. c.getPA().movePlayer(Integer.parseInt(arg[1]),
  497. Integer.parseInt(arg[2]), c.heightLevel);
  498. }
  499. if (playerCommand.startsWith("seth")) {
  500. try {
  501. String[] args = playerCommand.split(" ");
  502. c.heightLevel = Integer.parseInt(args[1]);
  503. c.getPA().requestUpdates();
  504. } catch (Exception e) {
  505. c.sendMessage("fail");
  506. }
  507. }
  508.  
  509. if (playerCommand.startsWith("npc")) {
  510. try {
  511. int newNPC = Integer.parseInt(playerCommand.substring(4));
  512. if (newNPC > 0) {
  513. Server.npcHandler.spawnNpc(c, newNPC, c.absX, c.absY,
  514. c.heightLevel, 0, 120, 7, 70, 70, false, false);
  515. c.sendMessage("You spawn a Npc.");
  516. } else {
  517. c.sendMessage("No such NPC.");
  518. }
  519. } catch (Exception e) {
  520.  
  521. }
  522. }
  523. if (playerCommand.startsWith("interface")) {
  524. try {
  525. String[] args = playerCommand.split(" ");
  526. int a = Integer.parseInt(args[1]);
  527. c.getPA().showInterface(a);
  528. } catch (Exception e) {
  529. c.sendMessage("::interface ####");
  530. }
  531.  
  532. }
  533. }
  534. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement