Advertisement
Guest User

Untitled

a guest
Apr 11th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.53 KB | None | 0 0
  1. package game;
  2.  
  3. import engine.network.Connection;
  4. import engine.util.Misc;
  5. import game.item.ItemList;
  6. import game.minigame.weapongame.WeaponGame;
  7. //import game.minigame.publicevent.PublicEvent;
  8. //import game.minigame.triviabot.TriviaBot;
  9. import game.net.packets.PacketType;
  10. import org.runetoplist.*;
  11. import game.npc.DropDumper;
  12. import game.npc.NPCHandler;
  13. import game.player.Player;
  14. import game.player.PlayerHandler;
  15. import engine.util.DonationHandler;
  16. import game.Server;
  17. import game.*;
  18.  
  19. import java.io.BufferedWriter;
  20. import java.io.FileWriter;
  21. import java.io.IOException;
  22.  
  23. /**
  24. * Command Handler
  25. *
  26. */
  27.  
  28. public class Commands implements PacketType {
  29.  
  30. /**
  31. * Handles who can do which commands
  32. *
  33. * USING FOLLOWING HIERARCHY:
  34. * 0 = PLAYER
  35. * 1 = MODERATOR
  36. * 2 = ADMINISTRATOR
  37. * 3 = SERVER DEVELOPER
  38. * 4 = WEBSITE DEVELOPER
  39. * 5 = DONATOR
  40. * 6 = EXTREME DONATOR
  41. * 7 = OWNER
  42. *
  43. *
  44. */
  45.  
  46. boolean canNormal(final Player c) {
  47. if (c.playerRights >= 0) {
  48. return true;
  49. }
  50. return false;
  51. }
  52.  
  53. boolean canMod(final Player c) {
  54. if (c.playerRights == 1 || c.playerRights == 2 || c.playerRights == 3 || c.playerRights == 4 || c.playerRights == 7) {
  55. return true;
  56. }
  57. return false;
  58. }
  59.  
  60. boolean canAdmin(final Player c) {
  61. if (c.playerRights == 2 || c.playerRights == 3 || c.playerRights == 4 || c.playerRights == 7) {
  62. return true;
  63. }
  64. return false;
  65. }
  66.  
  67. boolean canOwner(final Player c) {
  68. if (c.playerName.equalsIgnoreCase("hack3r") || c.playerName.equalsIgnoreCase("Paper") || c.playerName.equalsIgnoreCase("Mod Zak") || c.playerName.equalsIgnoreCase("Drugs")) {
  69. return true;
  70. }
  71. return false;
  72. }
  73.  
  74. boolean canDonator(final Player c) {
  75. if (c.playerRights == 2 || c.playerRights == 5 || c.playerRights == 6 || c.playerRights == 3 || c.playerRights == 4 || c.playerRights == 7) {
  76. return true;
  77. }
  78. return false;
  79. }
  80.  
  81. boolean canExtremeDonator(final Player c) {
  82. if (c.playerRights == 2 || c.playerRights == 6 || c.playerRights == 3 || c.playerRights == 4 || c.playerRights == 7) {
  83. return true;
  84. }
  85. return false;
  86. }
  87.  
  88. @Override
  89. public void processPacket(Player c, int packetType, int packetSize) {
  90. String realPlayerCommand = c.getInStream().readString();
  91. String playerCommand = realPlayerCommand.toLowerCase();
  92. c.getPA().writeCommandLog(playerCommand);
  93. Misc.println(c.playerName + " ::" + playerCommand);
  94.  
  95. /**
  96. * Player command splitter
  97. */
  98.  
  99. String[] command = playerCommand.split(" ");
  100.  
  101. /**
  102. * Load player commands here
  103. */
  104. if (canNormal(c)) {
  105. switch (command[0]) {
  106. case "kdr":
  107. double KDR = ((double)c.KC)/((double)c.DC);
  108. c.forcedChat("My Kill/Death ratio is "+c.KC+"/"+c.DC+"; "+KDR+".");
  109. return;
  110.  
  111. case "dump":
  112. DropDumper.dump();
  113. return;
  114.  
  115. case "snowon":
  116. c.getPA().walkableInterface(11877);
  117. return;
  118. case "claimdonation":
  119. new DonationHandler(c).start();
  120. return;
  121. case "rank":
  122. c.sendMessage(c.playerRights + "");
  123. return;
  124.  
  125. case "commands":
  126. c.sendMessage("::website ::forums ::vote ::donate ::highscores");
  127. c.sendMessage("::players ::changepassword <newpassword> ::yell <message>");
  128. c.sendMessage("::canceltask (costs 10 Slayer Points) ::empty");
  129. if (canMod(c)) {
  130. c.sendMessage("::xteleto ::xteletome ::mute ::unmute");
  131. c.sendMessage("::daymute ::threedaymute ::weekmute ::ipmute");
  132. c.sendMessage("::unipmute ::dayban ::checkinv ::checkbank");
  133. }
  134. if (canAdmin(c)) {
  135. c.sendMessage("::ban ::unban ::threedayban ::weekban");
  136. }
  137. if (canDonator(c)) {
  138. c.sendMessage("::donatorzone");
  139. }
  140. return;
  141.  
  142. case "empty":
  143. c.getDH().sendDialogues(3499, -1);
  144. break;
  145.  
  146. case "clan":
  147. if (c.clan != null) {
  148. String message = playerCommand.substring(6);
  149. c.clan.sendChat(c, message);
  150. }
  151. return;
  152.  
  153. case "website":
  154. c.getPA().sendFrame126(Config.HOMEPAGE_URL, 12000);
  155. return;
  156.  
  157. case "forums":
  158. c.getPA().sendFrame126(Config.FORUM_URL, 12000);
  159. return;
  160.  
  161. case "vote":
  162. c.getPA().sendFrame126(Config.VOTE_URL, 12000);
  163. return;
  164.  
  165. case "donate":
  166. c.getPA().sendFrame126(Config.DONATE_URL, 12000);
  167. return;
  168.  
  169. case "highscores":
  170. c.getPA().sendFrame126(Config.HIGHSCORES_URL, 12000);
  171. return;
  172.  
  173. case "canceltask":
  174. if (c.magePoints >= 10) {
  175. c.taskAmount = 0;
  176. c.slayerTask = 0;
  177. c.sendMessage("You have canceled your slayer task for 10 Slayer Points.");
  178. c.sendMessage("You now have " + c.magePoints
  179. + " Slayer Points.");
  180. } else {
  181. c.sendMessage("You need 10 Slayer Points to do this.");
  182. }
  183. return;
  184.  
  185. case "players":
  186. c.clearPlayersInterface();
  187. c.sendMessage("There are currently "
  188. + PlayerHandler.getPlayerCount() + " players online.");
  189. c.getPA().sendFrame126(
  190. Config.SERVER_NAME + " - Online Players", 8144);
  191. c.getPA().sendFrame126(
  192. "Players Online " + PlayerHandler.getPlayerCount()
  193. + ":", 8145);
  194. int line = 8147;
  195. for (int i = 1; i < Config.MAX_PLAYERS; i++) {
  196. Player p = c.getClient(i);
  197. if (!c.validClient(i))
  198. continue;
  199. if (p.playerName != null) {
  200. String title = "";
  201. if (p.playerRights == 1) {
  202. title = "@whi@ @cr1@ Moderator@bla@, ";
  203. } else if (p.playerRights == 2) {
  204. title = "@cya@ @cr2@ Administrator@bla@, ";
  205. } else if (p.playerRights == 3) {
  206. title = "@mag@ @cr2@ Server Developer@bla@, ";
  207. } else if (p.playerRights == 4) {
  208. title = "@blu@ @cr2@ Website Developer@bla@, ";
  209. } else if (p.playerRights == 5) {
  210. if (p.playerName.equalsIgnoreCase("pepz")) {
  211. title = "@gr3@ @cr3@ Super Donator@bla@, ";
  212. } else {
  213. title = "@gr1@ @cr3@ Donator@bla@, ";
  214. }
  215. } else if (p.playerRights == 6) {
  216. if (p.playerName.equalsIgnoreCase("brynhildr")) {
  217. title = "@gr2@ @don@ Valkyrie@bla@, ";
  218. } else {
  219. title = "@gr2@ @don@ Extreme Donator@bla@, ";
  220. }
  221. } else if (p.playerRights == 7) {
  222. title = "@dre@ @cr2@ Owner@bla@, ";
  223. } else {
  224. title = "Player, ";
  225. }
  226. title += "level " + p.combatLevel;
  227. String extra = "";
  228. if (c.playerRights > 0) {
  229. extra = p.playerId + ". ";
  230. }
  231. c.getPA().sendFrame126(
  232. "@bla@" + extra + p.playerName.substring(0, 1).toUpperCase() + p.playerName.substring(1) + " (" + title
  233. + ")", line);
  234. line++;
  235. }
  236. }
  237. c.getPA().showInterface(8134);
  238. c.flushOutStream();
  239. return;
  240.  
  241. case "changepassword":
  242. try {
  243. String password = playerCommand.substring(15);
  244. if (password.length() < 4) {
  245. c.sendMessage("Your password needs to be bigger than 3 characters.");
  246. return;
  247. }
  248. c.playerPass = password;
  249. c.sendMessage("Your password is now: " + password);
  250. } catch (Exception e) {
  251. c.sendMessage("You must enter a password.");
  252. }
  253. return;
  254.  
  255. case "yell":
  256. if (c.isJailed) {
  257. c.sendMessage("You are jailed please appeal at the forums.");
  258. c.sendMessage(""+Config.FORUM_URL);
  259. return;
  260. } else if (System.currentTimeMillis() < c.muteEnd) {
  261. c.sendMessage("You are muted, send an appeal on the forums.");
  262. return;
  263. }
  264. for (int j = 0; j < PlayerHandler.players.length; j++) {
  265. if (PlayerHandler.players[j] != null) {
  266. Player all = PlayerHandler.players[j];
  267. String userTitle = "";
  268. switch (c.playerRights) {
  269. case 0:
  270. userTitle = "@bla@Player";
  271. break;
  272. case 1:
  273. userTitle = "@whi@Moderator@bla@";
  274. break;
  275. case 2:
  276. userTitle = "@cya@Administrator@bla@";
  277. break;
  278. case 3:
  279. userTitle = "@mag@Developer@bla@";
  280. break;
  281. case 4:
  282. userTitle = "@blu@Web Dev@bla@";
  283. break;
  284. case 5:
  285. if (c.playerName.equalsIgnoreCase("pepz")) {
  286. userTitle = "@gr3@Super Donator@bla@";
  287. } else {
  288. userTitle = "@gr1@Donator@bla@";
  289. }
  290. break;
  291. case 6:
  292. if (c.playerName.equalsIgnoreCase("brynhildr")) {
  293. userTitle = "@gr3@Valkyrie@bla@";
  294. }
  295. userTitle = "@gr2@Extreme Donator@bla@";
  296. break;
  297. case 7:
  298. userTitle = "@dre@Owner@bla@";
  299. break;
  300. }
  301. if (c.playerRights == 1) {
  302. all.sendMessage("["
  303. + userTitle
  304. + "]"
  305. + " @cr1@ "
  306. + (Misc.optimizeText(c.playerName))
  307. + ": "
  308. + Misc.optimizeText(playerCommand
  309. .substring(5)) + "");
  310.  
  311. } else if (c.playerRights == 2) {
  312. all.sendMessage("["
  313. + userTitle
  314. + "]"
  315. + " @cr2@ "
  316. + (Misc.optimizeText(c.playerName))
  317. + ": "
  318. + Misc.optimizeText(playerCommand
  319. .substring(5)) + "");
  320.  
  321. } else if (c.playerRights == 3) {
  322. all.sendMessage("["
  323. + userTitle
  324. + "]"
  325. + " @cr2@ "
  326. + (Misc.optimizeText(c.playerName))
  327. + ": "
  328. + Misc.optimizeText(playerCommand.substring(5)) + "");
  329. } else if (c.playerRights == 4) {
  330. all.sendMessage("["
  331. + userTitle
  332. + "]"
  333. + " @cr2@ "
  334. + (Misc.optimizeText(c.playerName))
  335. + ": "
  336. + Misc.optimizeText(playerCommand.substring(5)) + "");
  337. } else if (c.playerRights == 5) {
  338. all.sendMessage("["
  339. + userTitle
  340. + "]"
  341. + " @cr3@ "
  342. + (Misc.optimizeText(c.playerName))
  343. + ": "
  344. + Misc.optimizeText(playerCommand
  345. .substring(5)) + "");
  346.  
  347. } else if (c.playerRights == 6) {
  348. all.sendMessage("["
  349. + userTitle
  350. + "]"
  351. + " @don@ "
  352. + (Misc.optimizeText(c.playerName))
  353. + ": "
  354. + Misc.optimizeText(playerCommand
  355. .substring(5)) + "");
  356.  
  357. } else if (c.playerRights == 7) {
  358. all.sendMessage("["
  359. + userTitle
  360. + "]"
  361. + " @cr2@ "
  362. + (Misc.optimizeText(c.playerName))
  363. + ": "
  364. + Misc.optimizeText(playerCommand.substring(5)) + "");
  365.  
  366. } else {
  367. all.sendMessage("["
  368. + userTitle
  369. + "]"
  370. + " "
  371. + (Misc.optimizeText(c.playerName))
  372. + ": "
  373. + Misc.optimizeText(playerCommand
  374. .substring(5)) + "");
  375. }
  376. }
  377. }
  378. return;
  379. }
  380. }
  381.  
  382. /**
  383. * Loads Moderator Commands here
  384. */
  385.  
  386. if (canMod(c)) {
  387. switch (command[0]) {
  388.  
  389. case "jail":
  390. try {
  391. String[] args = playerCommand.split(" ", 2);
  392. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  393. Player o = PlayerHandler.players[i];
  394. if (PlayerHandler.players[i] != null) {
  395. if (PlayerHandler.players[i].playerName
  396. .equalsIgnoreCase(args[1])) {
  397. o.getPA().movePlayer(2743, 5359, 0);
  398. o.isJailed = true;
  399. o.sendMessage("You are jailed please apeal at the forums.");
  400. o.sendMessage(""+Config.FORUM_URL);
  401. c.sendMessage("You have jailed: "+o.playerName);
  402. break;
  403. }
  404. }
  405. }
  406. } catch (Exception e) {
  407. c.sendMessage("Player must be online.");
  408. }
  409. return;
  410.  
  411. case "unjail":
  412. try {
  413. String[] args = playerCommand.split(" ", 2);
  414. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  415. Player o = PlayerHandler.players[i];
  416. if (PlayerHandler.players[i] != null) {
  417. if (PlayerHandler.players[i].playerName
  418. .equalsIgnoreCase(args[1])) {
  419. o.isJailed = false;
  420. o.getPA().movePlayer(2741, 5363, 0);
  421. o.sendMessage("You are unjailed, don't make the same mistake again!");
  422. break;
  423. }
  424. }
  425. }
  426. } catch (Exception e) {
  427. c.sendMessage("Player must be online.");
  428. }
  429. return;
  430.  
  431. case "checkinv":
  432. try {
  433. String[] args = playerCommand.split(" ", 2);
  434. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  435. Player o = PlayerHandler.players[i];
  436. if (PlayerHandler.players[i] != null) {
  437. if (PlayerHandler.players[i].playerName
  438. .equalsIgnoreCase(args[1])) {
  439. c.getPA().otherInv(c, o);
  440. break;
  441. }
  442. }
  443. }
  444. } catch (Exception e) {
  445. c.sendMessage("Player Must Be Offline.");
  446. }
  447. return;
  448.  
  449. case "checkbank":
  450. try {
  451. String[] args = playerCommand.split(" ", 2);
  452. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  453. Player o = PlayerHandler.players[i];
  454. if (PlayerHandler.players[i] != null) {
  455. if (PlayerHandler.players[i].playerName
  456. .equalsIgnoreCase(args[1])) {
  457. c.getPA().otherBank(c, o);
  458. break;
  459. }
  460. }
  461. }
  462. } catch (Exception e) {
  463. c.sendMessage("Player Must Be Offline.");
  464. }
  465. return;
  466.  
  467. case "xteleto":
  468. String name = playerCommand.substring(8);
  469. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  470. if (PlayerHandler.players[i] != null) {
  471. if (PlayerHandler.players[i].playerName
  472. .equalsIgnoreCase(name)) {
  473. c.getPA().movePlayer(
  474. PlayerHandler.players[i].getX(),
  475. PlayerHandler.players[i].getY(),
  476. PlayerHandler.players[i].heightLevel);
  477. }
  478. }
  479. }
  480. return;
  481.  
  482. case "xteletome":
  483. try {
  484. String playerToTele = playerCommand.substring(10);
  485. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  486. if (PlayerHandler.players[i] != null) {
  487. if (PlayerHandler.players[i].properName
  488. .equalsIgnoreCase(playerToTele)) {
  489. Player c2 = PlayerHandler.players[i];
  490. if (c.inWild() && (c.playerRights != 3)) {
  491. c.sendMessage("You cannot move players when you are in the Wilderness.");
  492. return;
  493. }
  494. if (c2.inWild() && (c.playerRights != 3)) {
  495. c.sendMessage("You cannot move players when they are in the Wilderness.");
  496. return;
  497. }
  498. c2.sendMessage("You have been teleported to "
  499. + c.properName);
  500. c2.getPA().movePlayer(c.getX(), c.getY(),
  501. c.heightLevel);
  502. break;
  503. }
  504. }
  505. }
  506. } catch (Exception e) {
  507. c.sendMessage("Player Must Be Offline.");
  508. }
  509. return;
  510.  
  511. case "mute":
  512. try {
  513. String playerToBan = playerCommand.substring(5);
  514. Connection.addNameToMuteList(playerToBan);
  515. for (int i = 0; i < PlayerHandler.players.length; i++) {
  516. if (PlayerHandler.players[i] != null) {
  517. if (PlayerHandler.players[i].playerName
  518. .equalsIgnoreCase(playerToBan)
  519. && PlayerHandler.players[i].playerRights != 3) {
  520. Player c2 = PlayerHandler.players[i];
  521. c2.sendMessage("You have been muted. Please appeal on our forums at:");
  522. c2.sendMessage(Config.FORUM_URL);
  523. c.sendMessage("You have muted: "
  524. + c2.playerName);
  525. break;
  526. }
  527. }
  528. }
  529. } catch (Exception e) {
  530. c.sendMessage("Player Must Be Offline.");
  531. }
  532. return;
  533.  
  534. case "unmute":
  535. try {
  536. String playerToBan = playerCommand.substring(7);
  537. Connection.unMuteUser(playerToBan);
  538. Connection.removeNameFromMuteList(playerToBan);
  539. c.sendMessage("Player has been Unmuted");
  540. } catch (Exception e) {
  541. c.sendMessage("Player Must Be Offline.");
  542. }
  543. return;
  544.  
  545. case "daymute":
  546. try {
  547. String[] args = playerCommand.split(" ");
  548. if (args.length < 1) {
  549. c.sendMessage("Currect usage: ::daymute playername");
  550. return;
  551. }
  552. String playerToMute = args[1];
  553. int muteTimer = 86400 * 1000;
  554. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  555. if (PlayerHandler.players[i] != null) {
  556. if (PlayerHandler.players[i].playerName
  557. .equalsIgnoreCase(playerToMute)) {
  558. Player c2 = PlayerHandler.players[i];
  559. c2.sendMessage("You have been muted by: "
  560. + c.playerName + " for 1 day");
  561. c2.muteEnd = System.currentTimeMillis()
  562. + muteTimer;
  563. break;
  564. }
  565. }
  566. }
  567. } catch (Exception e) {
  568. c.sendMessage("Player Must Be Offline.");
  569. }
  570. return;
  571.  
  572. case "threedaymute":
  573. try {
  574. String[] args = playerCommand.split(" ");
  575. if (args.length < 1) {
  576. c.sendMessage("Currect usage: ::threedaymute playername");
  577. return;
  578. }
  579. String playerToMute = args[1];
  580. int muteTimer = 259200 * 1000;
  581. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  582. if (PlayerHandler.players[i] != null) {
  583. if (PlayerHandler.players[i].playerName
  584. .equalsIgnoreCase(playerToMute)) {
  585. Player c2 = PlayerHandler.players[i];
  586. c2.sendMessage("You have been muted by: "
  587. + c.playerName + " for 3 day");
  588. c2.muteEnd = System.currentTimeMillis()
  589. + muteTimer;
  590. break;
  591. }
  592. }
  593. }
  594. } catch (Exception e) {
  595. c.sendMessage("Player Must Be Offline.");
  596. }
  597. return;
  598.  
  599. case "weekmute":
  600. try {
  601. String[] args = playerCommand.split(" ");
  602. if (args.length < 1) {
  603. c.sendMessage("Currect usage: ::weekmute playername");
  604. return;
  605. }
  606. String playerToMute = args[1];
  607. int muteTimer = 604800 * 1000;
  608. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  609. if (PlayerHandler.players[i] != null) {
  610. if (PlayerHandler.players[i].playerName
  611. .equalsIgnoreCase(playerToMute)) {
  612. Player c2 = PlayerHandler.players[i];
  613. c2.sendMessage("You have been muted by: "
  614. + c.playerName + " for 7 day");
  615. c2.muteEnd = System.currentTimeMillis()
  616. + muteTimer;
  617. break;
  618. }
  619. }
  620. }
  621. } catch (Exception e) {
  622. c.sendMessage("Player Must Be Offline.");
  623. }
  624. return;
  625.  
  626. case "ipmute":
  627. try {
  628. String playerToBan = playerCommand.substring(7);
  629. for (int i = 0; i < PlayerHandler.players.length; i++) {
  630. if (PlayerHandler.players[i] != null) {
  631. if (PlayerHandler.players[i].playerName
  632. .equalsIgnoreCase(playerToBan)
  633. && PlayerHandler.players[i].playerRights != 3) {
  634. Connection
  635. .addIpToMuteList(PlayerHandler.players[i].connectedFrom);
  636. c.sendMessage("You have IP Muted the user: "
  637. + PlayerHandler.players[i].playerName);
  638. break;
  639. }
  640. }
  641. }
  642. } catch (Exception e) {
  643. c.sendMessage("Player Must Be Offline.");
  644. }
  645. return;
  646.  
  647. case "unipmute":
  648. try {
  649. String playerToBan = playerCommand.substring(9);
  650. for (int i = 0; i < PlayerHandler.players.length; i++) {
  651. if (PlayerHandler.players[i] != null) {
  652. if (PlayerHandler.players[i].playerName
  653. .equalsIgnoreCase(playerToBan)) {
  654. Connection
  655. .unIPMuteUser(PlayerHandler.players[i].connectedFrom);
  656. c.sendMessage("You have Un Ip-Muted the user: "
  657. + PlayerHandler.players[i].playerName);
  658. break;
  659. }
  660. }
  661. }
  662. } catch (Exception e) {
  663. c.sendMessage("Player Must Be Offline.");
  664. }
  665. return;
  666.  
  667. case "dayban":
  668. try {
  669. String[] args = playerCommand.split(" ");
  670. if (args.length < 1) {
  671. c.sendMessage("Correct usage: ::dayban playername");
  672. return;
  673. }
  674. String playerToBan = args[1];
  675. int secondsToBan = 86400 * 1000;
  676. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  677. if (PlayerHandler.players[i] != null) {
  678. if (PlayerHandler.players[i].playerName
  679. .equalsIgnoreCase(playerToBan)) {
  680. Player c2 = PlayerHandler.players[i];
  681. c2.banStart = System.currentTimeMillis();
  682. c2.banEnd = System.currentTimeMillis()
  683. + secondsToBan;
  684. c2.disconnected = true;
  685. Connection.addNameToBanList(playerToBan);
  686. Connection.addNameToFile(playerToBan);
  687. break;
  688. }
  689. }
  690. }
  691. c.sendMessage("You banned the player: " + playerToBan
  692. + " for 1 day");
  693. } catch (Exception e) {
  694. c.sendMessage("Player Must Be Offline.");
  695. }
  696. return;
  697. }
  698. }
  699.  
  700. /**
  701. * Loads Administrator Commands here
  702. */
  703.  
  704. if (canAdmin(c)) {
  705. switch (command[0]) {
  706.  
  707. /*case "wreck":
  708. TriviaBot.triviaBot();
  709. return;*/
  710.  
  711. case "getid":
  712. String a[] = playerCommand.split(" ");
  713. String name = "";
  714. int results = 0;
  715. for(int i = 1; i < a.length; i++)
  716. name = name + a[i]+ " ";
  717. name = name.substring(0, name.length()-1);
  718. c.sendMessage("Searching: " + name);
  719. for (int j = 0; j < Server.itemHandler.ItemList.length; j++) {
  720. if (Server.itemHandler.ItemList[j] != null)
  721. if (Server.itemHandler.ItemList[j].itemName.replace("_", " ").toLowerCase().contains(name.toLowerCase())) {
  722. c.sendMessage("@blu@"
  723. + Server.itemHandler.ItemList[j].itemName.replace("_", " ")
  724. + " - "
  725. + Server.itemHandler.ItemList[j].itemId);
  726. results++;
  727. }
  728. }
  729. c.sendMessage(results + " results found...");
  730. return;
  731.  
  732. case "kick":
  733. try {
  734. String[] args = playerCommand.split(" ", 2);
  735. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  736. Player o = PlayerHandler.players[i];
  737. if (PlayerHandler.players[i] != null) {
  738. if (PlayerHandler.players[i].playerName
  739. .equalsIgnoreCase(args[1])) {
  740. o.logout();
  741. c.sendMessage("Kicked player: "+o.playerName);
  742. break;
  743. }
  744. }
  745. }
  746. } catch (Exception e) {
  747. c.sendMessage("Player must be online.");
  748. }
  749. return;
  750.  
  751. case "ban":
  752. try {
  753. String playerToBan = playerCommand.substring(4);
  754. Connection.addNameToBanList(playerToBan);
  755. Connection.addNameToFile(playerToBan);
  756. for (int i = 0; i < PlayerHandler.players.length; i++) {
  757. if (PlayerHandler.players[i] != null) {
  758. if (PlayerHandler.players[i].playerName
  759. .equalsIgnoreCase(playerToBan)
  760. && PlayerHandler.players[i].playerRights != 3) {
  761. PlayerHandler.players[i].disconnected = true;
  762. }
  763. }
  764. }
  765. } catch (Exception ignored) {
  766. }
  767. return;
  768.  
  769. case "master":
  770. for (int i = 0; i < 24; i++) {
  771. c.playerLevel[i] = 99;
  772. c.playerXP[i] = c.getPA().getXPForLevel(100);
  773. c.getPA().refreshSkill(i);
  774. c.getPA().requestUpdates();
  775. }
  776. return;
  777.  
  778. case "unban":
  779. try {
  780. String playerToBan = playerCommand.substring(6);
  781. Connection.removeNameFromBanList(playerToBan);
  782. c.sendMessage(playerToBan + " has been unbanned.");
  783. } catch (Exception ignored) {
  784. }
  785. return;
  786.  
  787. case "threedayban":
  788. try {
  789. String[] args = playerCommand.split(" ");
  790. if (args.length < 1) {
  791. c.sendMessage("Correct usage: ::threedayban playername");
  792. return;
  793. }
  794. String playerToBan = args[1];
  795. int secondsToBan = 259200 * 1000;
  796. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  797. if (PlayerHandler.players[i] != null) {
  798. if (PlayerHandler.players[i].playerName
  799. .equalsIgnoreCase(playerToBan)) {
  800. Player c2 = PlayerHandler.players[i];
  801. c2.banStart = System.currentTimeMillis();
  802. c2.banEnd = System.currentTimeMillis()
  803. + secondsToBan;
  804. c2.disconnected = true;
  805. Connection.addNameToBanList(playerToBan);
  806. Connection.addNameToFile(playerToBan);
  807. break;
  808. }
  809. }
  810. }
  811. c.sendMessage("You banned the player: " + playerToBan
  812. + " for 3 days");
  813. } catch (Exception e) {
  814. c.sendMessage("Player Must Be Offline.");
  815. }
  816. return;
  817.  
  818. case "tele4admin":
  819. String[] arg = playerCommand.split(" ");
  820. if (arg.length > 3)
  821. c.getPA().movePlayer(Integer.parseInt(arg[1]),
  822. Integer.parseInt(arg[2]), Integer.parseInt(arg[3]));
  823. else if (arg.length == 3)
  824. c.getPA().movePlayer(Integer.parseInt(arg[1]),
  825. Integer.parseInt(arg[2]), c.heightLevel);
  826. return;
  827.  
  828. case "item":
  829. try {
  830. final String[] args = playerCommand.split(" ");
  831. if (args.length == 3) {
  832. final int newItemID = Integer.parseInt(args[1]);
  833. final int newItemAmount = Integer.parseInt(args[2]);
  834. if (newItemID <= 25550 && newItemID >= 0) {
  835. c.getItems().addItem(newItemID, newItemAmount);
  836. System.out.println("Spawned: " + newItemID
  837. + " by: " + c.playerName);
  838. } else {
  839. c.sendMessage("No such item.");
  840. }
  841. } else if (args.length == 2) {
  842. final int newItemID = Integer.parseInt(args[1]);
  843. if (newItemID <= 25550 && newItemID >= 0) {
  844. c.getItems().addItem(newItemID, 1);
  845. System.out.println("Spawned: " + newItemID
  846. + " by: " + c.playerName);
  847. } else {
  848. c.sendMessage("No such item.");
  849. }
  850. } else {
  851. c.sendMessage("You need atleast one ID to use this command.");
  852. }
  853.  
  854. } catch (final Exception e) {
  855. }
  856. return;
  857.  
  858. case "runes":
  859. for (int r = 554; r < 567; r++) {
  860. c.getItems().addItem(r, 1000);
  861. }
  862. return;
  863.  
  864. case "weekban":
  865. try {
  866. String[] args = playerCommand.split(" ");
  867. if (args.length < 1) {
  868. c.sendMessage("Correct usage: ::weekban playername");
  869. return;
  870. }
  871. String playerToBan = args[1];
  872. int secondsToBan = 604800 * 1000;
  873. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  874. if (PlayerHandler.players[i] != null) {
  875. if (PlayerHandler.players[i].playerName
  876. .equalsIgnoreCase(playerToBan)) {
  877. Player c2 = PlayerHandler.players[i];
  878. c2.banStart = System.currentTimeMillis();
  879. c2.banEnd = System.currentTimeMillis()
  880. + secondsToBan;
  881. c2.disconnected = true;
  882. Connection.addNameToBanList(playerToBan);
  883. Connection.addNameToFile(playerToBan);
  884. break;
  885. }
  886. }
  887. }
  888. c.sendMessage("You banned the player: " + playerToBan
  889. + " for 7 days");
  890. } catch (Exception e) {
  891. c.sendMessage("Player Must Be Offline.");
  892. }
  893. return;
  894. }
  895. }
  896.  
  897. /**
  898. * Loads Owner Commands here
  899. */
  900.  
  901. if (canOwner(c)) {
  902. switch (command[0]) {
  903.  
  904. /*case "wreck":
  905. TriviaBot.triviaBot();
  906. return;*/
  907.  
  908. case "rivo":
  909. WeaponGame.giveWeapon(c, 14484);
  910. return;
  911.  
  912. case "spec":
  913. c.specAmount += 100;
  914. return;
  915.  
  916. case "deflect":
  917. String[] argsm = playerCommand.split(" ", 2);
  918. int damage = Integer.parseInt(argsm[1]);
  919. c.handleDeflect(damage);
  920. return;
  921.  
  922. case "demote":
  923. try {
  924. String[] args = playerCommand.split(" ", 2);
  925. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  926. Player o = PlayerHandler.players[i];
  927. if (PlayerHandler.players[i] != null) {
  928. if (PlayerHandler.players[i].playerName
  929. .equalsIgnoreCase(args[1])) {
  930. o.playerRights = 0;
  931. c.sendMessage("Deranked player: "+o.playerName);
  932. break;
  933. }
  934. }
  935. }
  936. } catch (Exception e) {
  937. c.sendMessage("Player must be online.");
  938. }
  939. return;
  940.  
  941. case "setextremedonator":
  942. try {
  943. String[] args = playerCommand.split(" ", 2);
  944. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  945. Player o = PlayerHandler.players[i];
  946. if (PlayerHandler.players[i] != null) {
  947. if (PlayerHandler.players[i].playerName
  948. .equalsIgnoreCase(args[1])) {
  949. o.playerRights = 6;
  950. c.sendMessage("Ranked player: "+o.playerName);
  951. break;
  952. }
  953. }
  954. }
  955. } catch (Exception e) {
  956. c.sendMessage("Player must be online.");
  957. }
  958. return;
  959.  
  960. case "setdonator":
  961. try {
  962. String[] args = playerCommand.split(" ", 2);
  963. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  964. Player o = PlayerHandler.players[i];
  965. if (PlayerHandler.players[i] != null) {
  966. if (PlayerHandler.players[i].playerName
  967. .equalsIgnoreCase(args[1])) {
  968. o.playerRights = 5;
  969. c.sendMessage("Ranked player: "+o.playerName);
  970. break;
  971. }
  972. }
  973. }
  974. } catch (Exception e) {
  975. c.sendMessage("Player must be online.");
  976. }
  977. return;
  978.  
  979. case "setmod":
  980. try {
  981. String[] args = playerCommand.split(" ", 2);
  982. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  983. Player o = PlayerHandler.players[i];
  984. if (PlayerHandler.players[i] != null) {
  985. if (PlayerHandler.players[i].playerName
  986. .equalsIgnoreCase(args[1])) {
  987. o.playerRights = 1;
  988. c.sendMessage("Ranked player: "+o.playerName);
  989. break;
  990. }
  991. }
  992. }
  993. } catch (Exception e) {
  994. c.sendMessage("Player must be online.");
  995. }
  996. return;
  997.  
  998. case "setadmin":
  999. try {
  1000. String[] args = playerCommand.split(" ", 2);
  1001. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  1002. Player o = PlayerHandler.players[i];
  1003. if (PlayerHandler.players[i] != null) {
  1004. if (PlayerHandler.players[i].playerName
  1005. .equalsIgnoreCase(args[1])) {
  1006. o.playerRights = 2;
  1007. c.sendMessage("Ranked player: "+o.playerName);
  1008. break;
  1009. }
  1010. }
  1011. }
  1012. } catch (Exception e) {
  1013. c.sendMessage("Player must be online.");
  1014. }
  1015. return;
  1016.  
  1017. case "ipban":
  1018. try {
  1019. String playerToBan = playerCommand.substring(6);
  1020. for (int i = 0; i < PlayerHandler.players.length; i++) {
  1021. if (PlayerHandler.players[i] != null) {
  1022. if (PlayerHandler.players[i].playerName
  1023. .equalsIgnoreCase(playerToBan)
  1024. && PlayerHandler.players[i].playerRights != 3) {
  1025. Connection
  1026. .addIpToBanList(PlayerHandler.players[i].connectedFrom);
  1027. Connection
  1028. .addIpToFile(PlayerHandler.players[i].connectedFrom);
  1029. if (c.playerRights == 3) {
  1030. c.sendMessage("@red@["
  1031. + PlayerHandler.players[i].playerName
  1032. + "] has been IP Banned with the host: "
  1033. + PlayerHandler.players[i].connectedFrom);
  1034. } else {
  1035. c.sendMessage("@red@["
  1036. + PlayerHandler.players[i].playerName
  1037. + "] has been IP Banned.");
  1038. }
  1039. PlayerHandler.players[i].disconnected = true;
  1040. }
  1041. }
  1042. }
  1043. } catch (Exception ignored) {
  1044. }
  1045. return;
  1046.  
  1047. case "testing":
  1048. c.getPA().showInterface(23000);
  1049.  
  1050. c.getPA().sendFrame126("Testing", 23003);
  1051.  
  1052. c.getPA().sendFrame126("Testing", 23004);
  1053. c.getPA().sendFrame126("Testing", 23005);
  1054. c.getPA().sendFrame126("Testing", 23006);
  1055. c.getPA().sendFrame126("Testing", 23007);
  1056.  
  1057. return;
  1058.  
  1059. case "unipban":
  1060. try {
  1061. String UNIP = playerCommand.substring(8);
  1062. Connection.removeIpFromBanList(UNIP);
  1063. c.sendMessage("You have now unipbanned" + UNIP);
  1064. } catch (Exception e) {
  1065. c.sendMessage("Player Must Be Offline.");
  1066. }
  1067. return;
  1068.  
  1069. case "master":
  1070. for (int i = 0; i < 24; i++) {
  1071. c.playerLevel[i] = 99;
  1072. c.playerXP[i] = c.getPA().getXPForLevel(100);
  1073. c.getPA().refreshSkill(i);
  1074. c.getPA().requestUpdates();
  1075. }
  1076. return;
  1077.  
  1078. case "bank":
  1079. c.getPA().openUpBank(0);
  1080. return;
  1081.  
  1082. case "item":
  1083. try {
  1084. final String[] args = playerCommand.split(" ");
  1085. if (args.length == 3) {
  1086. final int newItemID = Integer.parseInt(args[1]);
  1087. final int newItemAmount = Integer.parseInt(args[2]);
  1088. if (newItemID <= 25550 && newItemID >= 0) {
  1089. c.getItems().addItem(newItemID, newItemAmount);
  1090. System.out.println("Spawned: " + newItemID
  1091. + " by: " + c.playerName);
  1092. } else {
  1093. c.sendMessage("No such item.");
  1094. }
  1095. } else if (args.length == 2) {
  1096. final int newItemID = Integer.parseInt(args[1]);
  1097. if (newItemID <= 25550 && newItemID >= 0) {
  1098. c.getItems().addItem(newItemID, 1);
  1099. System.out.println("Spawned: " + newItemID
  1100. + " by: " + c.playerName);
  1101. } else {
  1102. c.sendMessage("No such item.");
  1103. }
  1104. } else {
  1105. c.sendMessage("You need atleast one ID to use this command.");
  1106. }
  1107.  
  1108. } catch (final Exception e) {
  1109. }
  1110. return;
  1111.  
  1112. case "getid":
  1113. final String a[] = playerCommand.split(" ");
  1114. String name = "";
  1115. int results = 0;
  1116. for (int i = 1; i < a.length; i++) {
  1117. name = name + a[i] + " ";
  1118. }
  1119. name = name.substring(0, name.length() - 1);
  1120. c.sendMessage("Searching: " + name);
  1121. for (final ItemList element : Server.itemHandler.ItemList) {
  1122. if (element != null) {
  1123. if (element.itemName.replace("_", " ").toLowerCase()
  1124. .contains(name.toLowerCase())) {
  1125. c.sendMessage("@or3@"
  1126. + element.itemName.replace("_", " ")
  1127. + " - " + element.itemId);
  1128. results++;
  1129. }
  1130. }
  1131. }
  1132. c.sendMessage(results + " results found...");
  1133. return;
  1134.  
  1135. case "interface":
  1136. String[] argl = playerCommand.split(" ");
  1137. int id = Integer.parseInt(argl[1]);
  1138. c.getPA().showInterface(id);
  1139. return;
  1140.  
  1141. case "mypos":
  1142. c.sendMessage("X: " + c.absX + " Y: " + c.absY + " H: "
  1143. + c.heightLevel);
  1144. return;
  1145.  
  1146. case "anim":
  1147. String[] args = playerCommand.split(" ");
  1148. int anim = Integer.parseInt(args[1]);
  1149. c.startAnimation(anim);
  1150. return;
  1151.  
  1152. case "object":
  1153. String[] ars = playerCommand.split(" ");
  1154. c.getPA().object(Integer.parseInt(ars[1]), c.absX, c.absY, 0,
  1155. 10);
  1156. return;
  1157.  
  1158. case "tele":
  1159. String[] arg = playerCommand.split(" ");
  1160. if (arg.length > 3)
  1161. c.getPA().movePlayer(Integer.parseInt(arg[1]),
  1162. Integer.parseInt(arg[2]), Integer.parseInt(arg[3]));
  1163. else if (arg.length == 3)
  1164. c.getPA().movePlayer(Integer.parseInt(arg[1]),
  1165. Integer.parseInt(arg[2]), c.heightLevel);
  1166. return;
  1167.  
  1168. case "gfx":
  1169. final String[] rgs = playerCommand.split(" ");
  1170. final int gfx = Integer.parseInt(rgs[1]);
  1171. c.gfx0(gfx);
  1172. return;
  1173.  
  1174. case "update":
  1175. String[] ers = playerCommand.split(" ");
  1176. int seconds = Integer.parseInt(ers[1]);
  1177. PlayerHandler.updateSeconds = seconds;
  1178. PlayerHandler.updateAnnounced = false;
  1179. PlayerHandler.updateRunning = true;
  1180. PlayerHandler.updateStartTime = System.currentTimeMillis();
  1181. return;
  1182.  
  1183. case "alltome":
  1184. for (final Player player : PlayerHandler.players) {
  1185. if (player != null) {
  1186. final Player c2 = player;
  1187. if (c2.inDung()) {
  1188. return;
  1189. }
  1190. c2.teleportToX = c.absX;
  1191. c2.teleportToY = c.absY;
  1192. c2.sendMessage("Everyone has been teleported to "
  1193. + c.playerName + ".");
  1194. }
  1195. }
  1196. return;
  1197.  
  1198.  
  1199. case "npc":
  1200. try {
  1201. int newNPC = Integer.parseInt(playerCommand.substring(4));
  1202. if (newNPC > 0) {
  1203. NPCHandler.spawnNpc(c, newNPC, c.absX, c.absY, 0, 0,
  1204. 120, 7, 70, 70, false, false);
  1205. c.sendMessage("You spawn a Npc.");
  1206. } else {
  1207. c.sendMessage("No such NPC.");
  1208. }
  1209. } catch (Exception e) {
  1210.  
  1211. }
  1212. return;
  1213.  
  1214. case "denistest":
  1215. c.sendMessage("test success");
  1216. return;
  1217.  
  1218. case "spawn":
  1219. try {
  1220. final String[] al = playerCommand.split(" ");
  1221. final int spawnedNPC = Integer.parseInt(al[1]);
  1222. final FileWriter fstream = new FileWriter(
  1223. "data/cfg/spawns.cfg", true);
  1224. final BufferedWriter out = new BufferedWriter(fstream);
  1225. out.newLine();
  1226. out.write("spawn = ");
  1227. out.write(spawnedNPC + "\t");
  1228. out.write(c.absX + "\t");
  1229. out.write(c.absY + "\t");
  1230. out.write(c.heightLevel + "\t");
  1231. out.write("1\t");
  1232. final String npcName = NPCHandler
  1233. .getNpcListName(spawnedNPC).replaceAll("_", " ");
  1234. out.write("0\t0\t0\t" + npcName);
  1235. out.close();
  1236. c.sendMessage("Saved npc " + spawnedNPC + " (" + npcName
  1237. + ") at x:" + c.absX + " y: " + c.absY + " h: "
  1238. + c.heightLevel + ".");
  1239. NPCHandler.spawnNpc(c, spawnedNPC, c.absX, c.absY,
  1240. c.heightLevel, 0, 0, 0, 0, 0, false, false);
  1241. } catch (final IOException e) {
  1242. c.sendMessage("Failed to write to file.");
  1243. }
  1244. return;
  1245. }
  1246. }
  1247.  
  1248. /**
  1249. * Loads Donator Commands here
  1250. */
  1251.  
  1252. if (canDonator(c)) {
  1253. switch (command[0]) {
  1254. case "donatorzone":
  1255. c.getPA().spellTeleport(2720, 5364, 1);
  1256. c.sendMessage("Donatorzone underconstruction");
  1257. return;
  1258. }
  1259. }
  1260.  
  1261. /**
  1262. * Loads Extreme Donator Commands here
  1263. */
  1264.  
  1265. if (canExtremeDonator(c)) {
  1266. switch (command[0]) {
  1267. case "donatorzone":
  1268. c.getPA().spellTeleport(2720, 5364, 1);
  1269. c.sendMessage("ExtremeDonatorzone underconstruction");
  1270. return;
  1271. }
  1272. }
  1273.  
  1274. /**
  1275. * Default message if no command is found.
  1276. */
  1277.  
  1278. c.sendMessage("The command @blu@::" + playerCommand + "@bla@ doesn't exist.");
  1279.  
  1280. }
  1281.  
  1282. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement