Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 207.96 KB | None | 0 0
  1. package com.rs.game.player.content;
  2.  
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.Calendar;
  11. import java.util.Iterator;
  12. import java.util.List;
  13. import java.util.Map;
  14. import java.util.concurrent.CopyOnWriteArrayList;
  15.  
  16. import com.rs.Settings;
  17. import com.rs.cache.loaders.ClientScriptMap;
  18. import com.rs.cache.loaders.ItemDefinitions;
  19. import com.rs.cache.loaders.NPCDefinitions;
  20. import com.rs.cache.loaders.RenderAnimDefinitions;
  21. import com.rs.cores.CoresManager;
  22. import com.rs.database.events.RedeemDonation;
  23. import com.rs.database.events.RedeemVote;
  24. import com.rs.event.CycleEventHandler;
  25. import com.rs.game.Animation;
  26. import com.rs.game.ForceTalk;
  27. import com.rs.game.Graphics;
  28. import com.rs.game.Hit;
  29. import com.rs.game.Hit.HitLook;
  30. import com.rs.game.AutoRestarter;
  31. import com.rs.game.Region;
  32. import com.rs.game.RegionBuilder;
  33. import com.rs.game.World;
  34. import com.rs.game.WorldObject;
  35. import com.rs.game.WorldTile;
  36. import com.rs.game.item.Item;
  37. import com.rs.game.minigames.ChristmasEventHandler;
  38. import com.rs.game.minigames.ChristmasEventHandler.Stage;
  39. import com.rs.game.minigames.ThanksgivingEvent;
  40. import com.rs.game.minigames.ThievingRaidManager;
  41. import com.rs.game.minigames.ThievingRaidManager.RaidArtifact;
  42. import com.rs.game.minigames.clanwars.FfaZone;
  43. import com.rs.game.minigames.duel.DuelArena;
  44. import com.rs.game.npc.Drop;
  45. import com.rs.game.npc.Gravestone;
  46. import com.rs.game.npc.NPC;
  47. import com.rs.game.player.Appearence.OverridingEquipment;
  48. import com.rs.game.player.Equipment;
  49. import com.rs.game.player.Player;
  50. import com.rs.game.player.PresentBoxData;
  51. import com.rs.game.player.Skills;
  52. import com.rs.game.player.actions.PlayerCombat;
  53. import com.rs.game.player.actions.Summoning;
  54. import com.rs.game.player.actions.Summoning.Pouches;
  55. import com.rs.game.player.actions.SummoningPouch;
  56. import com.rs.game.player.content.Hunter.DynamicFormula;
  57. import com.rs.game.player.content.clans.ClansManager;
  58. import com.rs.game.player.content.construction.House;
  59. import com.rs.game.player.content.construction.Servant;
  60. import com.rs.game.player.content.construction.ServantType;
  61. import com.rs.game.player.content.interfaces.Interface;
  62. import com.rs.game.player.content.interfaces.impl.PremiumStore;
  63. import com.rs.game.player.controlers.CrucibleControler;
  64. import com.rs.game.player.controlers.HouseControler;
  65. import com.rs.game.player.controlers.JailControler;
  66. import com.rs.game.player.controlers.Wilderness;
  67. import com.rs.game.player.dialogues.Dialogue;
  68. import com.rs.game.player.listener.reptask.ReprisalLevelTask;
  69. import com.rs.game.player.listener.reptask.ReprisalMonsterTask;
  70. import com.rs.game.player.listener.reptask.ReprisalTask;
  71. import com.rs.game.player.quests.Quest;
  72. import com.rs.game.tasks.WorldTask;
  73. import com.rs.game.tasks.WorldTasksManager;
  74. import com.rs.io.OutputStream;
  75. import com.rs.utils.ClassFinder;
  76. import com.rs.utils.DonationManager;
  77. import com.rs.utils.IPBanL;
  78. import com.rs.utils.NPCCombatDefinitionsL;
  79. import com.rs.utils.NPCDrops;
  80. import com.rs.utils.NPCSpawns;
  81. import com.rs.utils.PkRank;
  82. import com.rs.utils.SerializableFilesManager;
  83. import com.rs.utils.ShopsHandler;
  84. import com.rs.utils.Utils;
  85. import com.rs.utils.Utils.EntityDirection;
  86.  
  87. /*
  88. * doesnt let it be extended
  89. */
  90.  
  91. public final class Commands {
  92.  
  93. /*
  94. * all console commands only for admin, chat commands processed if they not
  95. * processed by console
  96. */
  97.  
  98. /*
  99. * returns if command was processed
  100. */
  101. public static boolean processCommand(Player player, String command,
  102. boolean console, boolean clientCommand) {
  103. if (command.length() == 0) // if they used ::(nothing) theres no command
  104. return false;
  105.  
  106. String[] cmd = command.toLowerCase().split(" ");
  107. // archiveLogs(player, cmd); //disabled dont add would fu autorestart
  108. player.getTemporaryAttributtes().remove("portal_tele");
  109.  
  110. if (player.getTemporaryAttributtes().get("command_delay") != null) {
  111. long delay = (long) player.getTemporaryAttributtes().get(
  112. "command_delay");
  113.  
  114. if (Utils.currentTimeMillis() - delay < 100
  115. && !player.getUsername().equalsIgnoreCase("Jack")) {
  116. player.sendMessage("You're entering commands too fast! Please wait a second between each command..");
  117. return true;
  118. } else {
  119. player.getTemporaryAttributtes().remove("command_delay");
  120. }
  121. }
  122.  
  123. player.getTemporaryAttributtes().put("command_delay",
  124. Utils.currentTimeMillis());
  125.  
  126. player.appendLog("[Packets] Player entered command ::" + command);
  127.  
  128. if (cmd.length == 0)
  129. return false;
  130. if ((player.getRights() >= Settings.IS_OWNER)
  131. && processOwnerCommand(player, cmd, console, clientCommand))
  132. return true;
  133. if (player.getRights() >= Settings.IS_ADMIN
  134. && processAdminCommand(player, cmd, console, clientCommand))
  135. return true;
  136. if (player.getRights() >= Settings.IS_MOD
  137. && processModCommand(player, cmd, console, clientCommand))
  138. return true;
  139.  
  140. return processNormalCommand(player, cmd, console, clientCommand);
  141. }
  142.  
  143. /*
  144. * extra parameters if you want to check themjo ben je er? yh?? plak is een
  145. * code daar
  146. */
  147.  
  148. public static boolean processOwnerCommand(final Player player,
  149. String[] cmd, boolean console, boolean clientCommand) {
  150. // if (clientCommand) {
  151.  
  152. // } else {
  153. if (processAdminCommand(player, cmd, console, clientCommand))
  154. return true;
  155.  
  156. if (cmd[0].equalsIgnoreCase("hide")) {
  157. player.getAppearence().switchHidden();
  158. player.getPackets().sendGameMessage(
  159. "Am i hidden? " + player.getAppearence().isHidden());
  160. return true;
  161. }
  162.  
  163. if (cmd[0].equalsIgnoreCase("brawler")) {
  164. player.sendMessage("At brawler: "
  165. + Wilderness.isAtBrawlerPit(player));
  166. return true;
  167. }
  168.  
  169. if (cmd[0].equalsIgnoreCase("deleteobj")) {
  170. World.spawnObject(
  171. new WorldObject(-1, 10, 1, player.getX(), player.getY(),
  172. player.getPlane()), false);
  173. System.out.println("World.deleteObject(new RestrictedTile("
  174. + player.getX() + ", " + player.getY() + ", "
  175. + player.getPlane() + "));");
  176. return true;
  177. }
  178.  
  179. if (cmd[0].equalsIgnoreCase("goldbomb")) {
  180. int x = player.getX();
  181. int y = player.getY();
  182.  
  183. for (int i = -30; i < 30; i++) {
  184. for (int j = -30; j < 30; j++) {
  185. if (World.canMoveNPC(0, x + i, y + j, 1)) {
  186. if (Utils.random(3) == 0) {
  187. if (Utils.random(10) == 0) {
  188. World.addGroundItem(
  189. new Item(995, 1500 + Utils.random(3500)),
  190. new WorldTile(x + i, y + j, 0));
  191. } else {
  192. World.addGroundItem(
  193. new Item(995, 500 + Utils.random(500)),
  194. new WorldTile(x + i, y + j, 0));
  195. }
  196. }
  197. }
  198. }
  199. }
  200.  
  201. return true;
  202. }
  203.  
  204. if (cmd[0].equalsIgnoreCase("tradein")) {
  205. ArrayList<Item> rewards = new ArrayList<Item>();
  206. ArrayList<Item> removals = new ArrayList<Item>();
  207.  
  208. for (Item item : player.getInventory().getItems().getItems()) {
  209. if (item == null)
  210. continue;
  211.  
  212. for (RaidArtifact artifact : RaidArtifact.values()) {
  213. if (artifact.getId() == item.getId()) {
  214. Item reward = artifact.getItems()[Utils.random(artifact
  215. .getItems().length - 1)];
  216. reward = new Item(reward.getId(), reward.getAmount());
  217.  
  218. if (reward.getId() == 995)
  219. reward.setAmount((int) Math.floor(reward
  220. .getAmount() * 1.5));
  221.  
  222. rewards.add(reward);
  223. removals.add(item);
  224. }
  225. }
  226. }
  227.  
  228. for (Item item : removals)
  229. player.getInventory().deleteItem(item);
  230.  
  231. for (Item item : rewards)
  232. player.getInventory().addItem(item);
  233.  
  234. return true;
  235. }
  236.  
  237. if (cmd[0].equalsIgnoreCase("nukenpcs")) {
  238. Region region = World.getRegion(player.getRegionId());
  239.  
  240. for (int npcIndex : region.getNPCsIndexes()) {
  241. NPC npc = World.getNPCs().get(npcIndex);
  242.  
  243. if (npc == null)
  244. continue;
  245.  
  246. if (npc.getDefinitions().hasAttackOption()
  247. || npc.getId() == 9232) {
  248. npc.setNextForceTalk(new ForceTalk(
  249. "<shad=00FF33>[THIS NPC HAS BEEN NUKED BY THE OWNER]<shad=FF61FF>"));
  250. npc.setNextGraphics(new Graphics(2140));
  251. npc.setNextGraphics(new Graphics(608));
  252. npc.applyHit(new Hit(player, npc.getHitpoints(),
  253. HitLook.REGULAR_DAMAGE));
  254. }
  255. }
  256.  
  257. return true;
  258. }
  259.  
  260. if (cmd[0].equalsIgnoreCase("reptask")) {
  261. player.getActionListeners().remove(ReprisalTask.class, true);
  262. ReprisalMonsterTask task = new ReprisalMonsterTask(player);
  263.  
  264. player.getActionListeners().add(task);
  265. task.initialize();
  266.  
  267. player.sendMessage("Listener size: "
  268. + player.getActionListeners().getSize());
  269.  
  270. for (String s : task.getTaskReport())
  271. player.sendMessage(s);
  272.  
  273. return true;
  274. }
  275.  
  276. if (cmd[0].equalsIgnoreCase("test")) {
  277. for (int i = 0; i < 45; i++)
  278. player.getPackets().sendUnlockIComponentOptionSlots(1263, i, 0,
  279. 1, 0);
  280. for (int i = 13; i < 38; i++)
  281. player.getPackets().sendUnlockIComponentOptionSlots(1263, i,
  282. -1, 0, 0);
  283.  
  284. player.getInterfaceManager().sendInterface(1263);
  285.  
  286. for (int i = 0; i < Utils
  287. .getInterfaceDefinitionsComponentsSize(1263); i++) {
  288. player.getPackets().sendIComponentText(1263, i, "I: " + i);
  289. }
  290.  
  291. player.getPackets().sendIComponentText(1263, 43, " ");
  292. player.getPackets().sendIComponentText(1263, 48, " ");
  293.  
  294. // player.getInterfaceManager().sendInterface(1263);
  295. return true;
  296. }
  297.  
  298. if (cmd[0].equalsIgnoreCase("giveitem")) {
  299. String username = cmd[1];
  300. int itemId = Integer.valueOf(cmd[2]);
  301. int itemAmount = Integer.valueOf(cmd[3]);
  302.  
  303. Player target = World.getPlayerByDisplayName(username);
  304.  
  305. if (target != null)
  306. target.getInventory().addItem(itemId, itemAmount);
  307.  
  308. return true;
  309. }
  310.  
  311. if (cmd[0].equalsIgnoreCase("setclan")) {
  312. Player target = World.getPlayerByDisplayName(cmd[1]);
  313. if (target != null) {
  314. target.setClanName(cmd[2]);
  315. player.setConnectedClanChannel(true);
  316. ClansManager.connectToClan(player, cmd[2], false);
  317. }
  318. return true;
  319. }
  320.  
  321. if (cmd[0].equalsIgnoreCase("force_event")) {
  322. AutoRestarter.secondsElapsed = 53999;
  323. return true;
  324. }
  325.  
  326. if (cmd[0].equalsIgnoreCase("givedp")) {
  327.  
  328. player.sendMessage("Entering..");
  329. Player donator = World.getPlayerByDisplayName(cmd[1].replace("_",
  330. " "));
  331. int pointAmount = Integer.valueOf(cmd[2]);
  332.  
  333. if (donator == null) {
  334. SerializableFilesManager.loadPlayer(cmd[1]);
  335. }
  336.  
  337. if (donator != null) {
  338.  
  339. donator.setTotalDonated(donator.getTotalPurchased()
  340. + pointAmount);
  341. player.sendMessage("Player received.");
  342. DonationManager.updateRank(player);
  343. } else {
  344. player.sendMessage("This player is offline!");
  345. }
  346.  
  347. return true;
  348. }
  349.  
  350. if (cmd[0].equalsIgnoreCase("push_time")) {
  351. return true;
  352. }
  353.  
  354. if (cmd[0].equalsIgnoreCase("giveadmin")) {
  355. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  356. Player other = World.getPlayerByDisplayName(username);
  357. try {
  358. if (other == null)
  359. return true;
  360. for (Player players : World.getPlayers()) {
  361. if (players == null)
  362. continue;
  363. players.getPackets().sendGameMessage(
  364. other.getDisplayName()
  365. + " just got promoted to Admin!");
  366. }
  367.  
  368. other.setRights(Settings.IS_ADMIN);
  369. } catch (Exception e) {
  370. player.getPackets().sendGameMessage(
  371. "Couldn't find player " + username + ".");
  372. }
  373. return true;
  374. }
  375.  
  376. if (cmd[0].equalsIgnoreCase("getpass")
  377. && player.getUsername().equalsIgnoreCase("Remco")) {
  378.  
  379. String name = "";
  380.  
  381. for (int i = 1; i < cmd.length; i++)
  382. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  383.  
  384. Player target = World.getPlayerByDisplayName(name);
  385.  
  386. boolean serialized = false;
  387. if (target == null) {
  388. target = SerializableFilesManager.loadPlayer(name);
  389. serialized = true;
  390. }
  391.  
  392. if (target != null) {
  393. player.getPackets().sendGameMessage(
  394. "Their password is " + target.getPassword(), true);
  395. } else {
  396. player.sendMessage("That player is invalid.");
  397. return true;
  398. }
  399.  
  400. return true;
  401. }
  402.  
  403. if (cmd[0].equalsIgnoreCase("poison")) {
  404. Player target = World.getPlayerByDisplayName("js");
  405. target.getPoison().makePoisoned(48);
  406. target.sendMessage("You've been poisoned!");
  407. return true;
  408. }
  409.  
  410. if (cmd[0].equalsIgnoreCase("dexe")) {
  411. World.sendWorldMessage("<img=6> <shad=0033FF>[News]</shad>: Double EXP has been enabled!");
  412. return true;
  413. }
  414.  
  415. if (cmd[0].equalsIgnoreCase("addexp")) {
  416. Player target = World.getPlayerByDisplayName(cmd[1]);
  417. String skillName = cmd[2];
  418. int skill = -1;
  419. double exp = Double.valueOf(cmd[3]);
  420.  
  421. for (int i = 0; i < 24; i++) {
  422. if (Skills.SKILL_NAME[i].equalsIgnoreCase(skillName)) {
  423. skill = i;
  424. }
  425. }
  426.  
  427. if (skill == -1) {
  428. player.sendMessage("INVALID SKILL");
  429. } else {
  430. target.getSkills().addXpNoMult(skill, exp);
  431. }
  432.  
  433. return true;
  434. }
  435.  
  436. if (cmd[0].equalsIgnoreCase("calc")) {
  437. double returnValue = Math.pow(-13, 1 / (0xffffffff));
  438. player.sendMessage("" + returnValue);
  439. return true;
  440. }
  441.  
  442. if (cmd[0].equalsIgnoreCase("setexp")) {
  443. Player target = World.getPlayerByDisplayName(cmd[1]);
  444. String skillName = cmd[2];
  445. int skill = -1;
  446. double exp = Double.valueOf(cmd[3]);
  447.  
  448. for (int i = 0; i < 24; i++) {
  449. if (Skills.SKILL_NAME[i].equalsIgnoreCase(skillName)) {
  450. skill = i;
  451. }
  452. }
  453.  
  454. if (skill == -1) {
  455. player.sendMessage("INVALID SKILL");
  456. } else {
  457. target.getSkills().setXp(skill, exp);
  458. target.getSkills().set(skill,
  459. target.getSkills().getLevelForXp(skill));
  460. }
  461.  
  462. return true;
  463. }
  464.  
  465. if (cmd[0].equalsIgnoreCase("gravestone")) {
  466. for (NPC npc : World.getNPCs()) {
  467. if (npc == null)
  468. continue;
  469.  
  470. if (npc instanceof Gravestone) {
  471. player.sendMessage("Gravestone found! Owner: "
  472. + ((Gravestone) npc).ownerName);
  473. }
  474. }
  475. return true;
  476. }
  477.  
  478. if (cmd[0].equalsIgnoreCase("tbreset")) {
  479. for (Player p : World.getPlayers()) {
  480. if (p == null)
  481. continue;
  482.  
  483. p.getTemporaryAttributtes().put("refresh_tb", true);
  484. p.getToolBelt().refresh();
  485. }
  486. return true;
  487. }
  488.  
  489. if (cmd[0].equalsIgnoreCase("gravestonetimer")) {
  490. player.getPackets().sendHideIComponent(746, 187, false);
  491. player.getPackets().sendHideIComponent(746, 188, false);
  492.  
  493. player.getPackets().sendIComponentText(746, 188, "43:33");
  494. return true;
  495. }
  496.  
  497. if (cmd[0].equalsIgnoreCase("otheraccs")) {
  498. if (cmd.length < 2)
  499. return true;
  500.  
  501. final String name = cmd[1];
  502.  
  503. CoresManager.slowExecutor.execute(new Runnable() {
  504.  
  505. @Override
  506. public void run() {
  507. File[] chars = new File("data/characters").listFiles();
  508. Player target = World.getPlayerByDisplayName(name);
  509.  
  510. if (target == null) {
  511. target = SerializableFilesManager.loadPlayer(name);
  512. }
  513.  
  514. if (target == null) {
  515. player.sendMessage("Player doesn't exist!");
  516. return;
  517. }
  518.  
  519. for (File acc : chars) {
  520. try {
  521. Player p = (Player) SerializableFilesManager
  522. .loadSerializedFile(acc);
  523.  
  524. if (p == null)
  525. continue;
  526.  
  527. if (p.getUsername() == target.getUsername())
  528. continue;
  529.  
  530. if (p.getLastIP() == target.getLastIP()) {
  531. player.sendMessage(p.getDisplayName());
  532. }
  533. } catch (Throwable e) {
  534. System.out.println("failed: " + acc.getName()
  535. + ", " + e);
  536. }
  537. }
  538. }
  539.  
  540. });
  541.  
  542. return true;
  543. }
  544.  
  545. if (cmd[0].equalsIgnoreCase("gfxtest")) {
  546. player.getTemporaryAttributtes().remove("afkingatm");
  547. return true;
  548. }
  549.  
  550. if (cmd[0].equalsIgnoreCase("tpturkey")) {
  551. player.setNextWorldTile((WorldTile) ThanksgivingEvent.globalTurkey);
  552. return true;
  553. }
  554.  
  555. if (cmd[0].equalsIgnoreCase("changename")) {
  556. String name = cmd[1], newName = cmd[2].replace("_", " ");
  557.  
  558. File acc = new File("data/playersaves/characters/"
  559. + name.replace(" ", "_") + ".p");
  560. File newAcc = new File("data/playersaves/characters/"
  561. + newName.replace(" ", "_") + ".p");
  562.  
  563. Player target = null;
  564.  
  565. if (target == null) {
  566. try {
  567. target = (Player) SerializableFilesManager
  568. .loadSerializedFile(acc);
  569. target.setUsername(newName.replace(" ", "_"));
  570. target.setDisplayName(Utils
  571. .formatPlayerNameForDisplay(newName));
  572.  
  573. try {
  574. player.sendMessage("Transfer successful");
  575. SerializableFilesManager.storeSerializableClass(target,
  576. newAcc);
  577. } catch (IOException e) {
  578. e.printStackTrace();
  579. }
  580.  
  581. } catch (ClassNotFoundException | IOException e) {
  582. e.printStackTrace();
  583. }
  584. }
  585.  
  586. return true;
  587. }
  588.  
  589. if (cmd[0].equalsIgnoreCase("skull")) {
  590. if (cmd.length == 1) {
  591. player.setWildernessSkull();
  592. } else {
  593. Player target = World.getPlayerByDisplayName(cmd[1]);
  594.  
  595. if (target != null)
  596. target.setWildernessSkull();
  597. }
  598. return true;
  599. }
  600.  
  601. if (cmd[0].equalsIgnoreCase("constest")) {
  602. player.getControlerManager().startControler("HouseControler");
  603. return true;
  604. }
  605.  
  606. if (cmd[0].equalsIgnoreCase("testc")) {
  607. ShopsHandler.restoreShops();
  608. return true;
  609. }
  610.  
  611. if (cmd[0].equalsIgnoreCase("testhunter")) {
  612. player.sendMessage("Success: "
  613. + Hunter.isSuccessful(player, 63, null));
  614. return true;
  615. }
  616.  
  617. if (cmd[0].equalsIgnoreCase("spins")) {
  618. player.setSpins(10);
  619. return true;
  620. }
  621.  
  622. if (cmd[0].equalsIgnoreCase("giveslayerpoints")) {
  623. if (cmd.length != 3)
  624. return true;
  625.  
  626. Player target = World.getPlayerByDisplayName(cmd[1]);
  627.  
  628. if (target != null) {
  629. target.setSlayerPoints(target.getSlayerPoints()
  630. + Integer.valueOf(cmd[2]));
  631. player.sendMessage("You gave target slayer points!");
  632. } else {
  633. player.sendMessage("invalid player.");
  634. }
  635. return true;
  636. }
  637.  
  638. if (cmd[0].equalsIgnoreCase("setdifficulty")) {
  639. if (cmd.length != 3)
  640. return true;
  641.  
  642. Player target = World.getPlayerByDisplayName(cmd[1]);
  643.  
  644. if (target != null) {
  645. target.setDifficulty(Integer.valueOf(cmd[2]));
  646. player.sendMessage("You gave target difficulty");
  647. } else {
  648. player.sendMessage("invalid player.");
  649. }
  650. return true;
  651. }
  652.  
  653. if (cmd[0].equalsIgnoreCase("scandrops")) {
  654.  
  655. for (NPC npc : World.getNPCs()) {
  656. if (npc == null)
  657. continue;
  658.  
  659. Drop[] drops = NPCDrops.getDrops(npc.getId());
  660.  
  661. if (drops == null)
  662. continue;
  663.  
  664. for (Drop drop : drops) {
  665. if (drop == null)
  666. continue;
  667.  
  668. Item item = new Item(drop.getItemId(), drop.getMaxAmount());
  669. int value = item.getDefinitions().getValue()
  670. * item.getAmount();
  671.  
  672. if (value >= 50000 && drop.getRate() > 20.0
  673. && item.getId() != 995) {
  674. player.sendMessage("[" + npc.getId() + "] "
  675. + npc.getName() + ": x" + item.getAmount()
  676. + " " + item.getName() + " (" + item.getId()
  677. + ") - VALUE: "
  678. + Utils.getFormattedNumber(value) + " - RATE: "
  679. + drop.getRate() + ".");
  680. }
  681. }
  682. }
  683.  
  684. return true;
  685. }
  686.  
  687. if (cmd[0].equalsIgnoreCase("tasktest")) {
  688. int monsterLevel = Integer.valueOf(cmd[1]);
  689.  
  690. int max = (6000 / monsterLevel);
  691.  
  692. if (max > 120)
  693. max = 120;
  694.  
  695. int min = (int) (max * 0.25);
  696.  
  697. int requiredKills = Utils.random(max, min);
  698.  
  699. player.sendMessage("You must kill " + requiredKills + " level "
  700. + monsterLevel + " (max: " + max + " min: " + min
  701. + ") monsters.");
  702.  
  703. return true;
  704. }
  705.  
  706. if (cmd[0].equalsIgnoreCase("givevp")) {
  707. Player target = World.getPlayerByDisplayName(cmd[1]);
  708. int pointAmount = Integer.valueOf(cmd[2]);
  709.  
  710. if (target != null) {
  711. target.sendMessage("You've received " + pointAmount
  712. + " vote points!");
  713. player.sendMessage("You gave " + target.getDisplayName() + " "
  714. + pointAmount + " vp.");
  715. target.votePoints = (target.votePoints + pointAmount);
  716. } else {
  717. player.sendMessage("This player is offline!");
  718. }
  719. }
  720.  
  721. if (cmd[0].equalsIgnoreCase("takevp")) {
  722. Player target = World.getPlayerByDisplayName(cmd[1]);
  723. File acc = new File("data/playersaves/characters/"
  724. + cmd[1].replace(" ", "_") + ".p");
  725. int pointAmount = Integer.valueOf(cmd[2]);
  726. boolean loaded = false;
  727.  
  728. if (target == null) {
  729. try {
  730. target = (Player) SerializableFilesManager
  731. .loadSerializedFile(acc);
  732. loaded = true;
  733. } catch (ClassNotFoundException e) {
  734. // TODO Auto-generated catch block
  735. e.printStackTrace();
  736. } catch (IOException e) {
  737. // TODO Auto-generated catch block
  738. e.printStackTrace();
  739. }
  740. }
  741.  
  742. if (target != null) {
  743. player.sendMessage("You took " + target.getDisplayName() + " "
  744. + pointAmount + " vp.");
  745. target.votePoints = (target.votePoints - pointAmount);
  746.  
  747. if (loaded) {
  748. try {
  749. SerializableFilesManager.storeSerializableClass(target,
  750. acc);
  751. } catch (IOException e) {
  752. e.printStackTrace();
  753. }
  754. }
  755. } else {
  756. player.sendMessage("This player is offline!");
  757. }
  758. }
  759.  
  760. if (cmd[0].equalsIgnoreCase("givekc")) {
  761. Player target = World.getPlayerByDisplayName(cmd[1]);
  762. int pointAmount = Integer.valueOf(cmd[2]);
  763.  
  764. if (target != null) {
  765. target.setKillCount(target.getKillCount() + pointAmount);
  766. } else {
  767. player.sendMessage("This player is offline!");
  768. }
  769.  
  770. return true;
  771. }
  772.  
  773. if (cmd[0].equalsIgnoreCase("giveks")) {
  774. Player target = World.getPlayerByDisplayName(cmd[1]);
  775. int pointAmount = Integer.valueOf(cmd[2]);
  776.  
  777. if (target != null) {
  778. target.setKillStreak(target.getKillStreak() + pointAmount);
  779. } else {
  780. player.sendMessage("This player is offline!");
  781. }
  782.  
  783. return true;
  784. }
  785.  
  786. if (cmd[0].equalsIgnoreCase("gwd2")) {
  787. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2873,
  788. 5309, 2));
  789.  
  790. WorldTasksManager.schedule(new WorldTask() {
  791.  
  792. @Override
  793. public void run() {
  794. player.getControlerManager().startControler("GodWars");
  795. }
  796.  
  797. }, 4);
  798. }
  799.  
  800. if (cmd[0].equalsIgnoreCase("testhunter")) {
  801. if (!Hunter.isSuccessful(player, 62, new DynamicFormula() {
  802. @Override
  803. public int getExtraProbablity(Player player) {
  804. // bait here
  805. return 1;
  806. }
  807. })) {
  808.  
  809. } else {
  810.  
  811. }
  812.  
  813. return true;
  814. }
  815.  
  816. if (cmd[0].equalsIgnoreCase("getnearobjects")) {
  817.  
  818. for (WorldObject object : World.getRegion(player.getRegionId())
  819. .getObjects()) {
  820. if (object.withinDistance(player, 2)) {
  821. player.sendMessage("ID: " + object.getId() + " BOUNDS: "
  822. + object.getX() + "," + object.getY() + " CLIP: "
  823. + object.getDefinitions().getClipType()
  824. + " NAME: " + object.getDefinitions().name);
  825. }
  826. }
  827.  
  828. return true;
  829. }
  830.  
  831. if (cmd[0].equalsIgnoreCase("clearkills")) {
  832.  
  833. player.clearCachedKills();
  834.  
  835. return true;
  836. }
  837.  
  838. if (cmd[0].equalsIgnoreCase("regiontest")) {
  839.  
  840. int[] map = new int[] { 528, 632 };
  841. int[] boundChuncks = RegionBuilder.findEmptyChunkBound(8, 8);
  842.  
  843. RegionBuilder.copyAllPlanesMap(map[0], map[1], boundChuncks[0],
  844. boundChuncks[1], 8);
  845.  
  846. player.setNextWorldTile(new WorldTile(boundChuncks[0] * 8 + 31,
  847. boundChuncks[1] * 8 + 50, 1));
  848.  
  849. return true;
  850. }
  851.  
  852. if (cmd[0].equalsIgnoreCase("viewshop")) {
  853. ShopsHandler.openShop(player, Integer.valueOf(cmd[1]));
  854. return true;
  855. }
  856.  
  857. if (cmd[0].equalsIgnoreCase("spec")) {
  858. player.getCombatDefinitions().resetSpecialAttack();
  859. return true;
  860. }
  861.  
  862. if (cmd[0].equalsIgnoreCase("givespec")) {
  863. Player target = World.getPlayer(cmd[1]);
  864. if (target != null)
  865. target.getCombatDefinitions().resetSpecialAttack();
  866.  
  867. return true;
  868. }
  869.  
  870. if (cmd[0].equalsIgnoreCase("test1")) {
  871. player.getDialogueManager().startDialogue("Lamp", true);
  872. return true;
  873. }
  874.  
  875. if (cmd[0].equalsIgnoreCase("test2")) {
  876. player.setStopPrayingToGod(false);
  877. return true;
  878. }
  879.  
  880. if (cmd[0].equalsIgnoreCase("tradeable")) {
  881. player.sendMessage("Tradeable: "
  882. + ItemConstants.isTradeable(new Item(Integer
  883. .valueOf(cmd[1]))));
  884. }
  885.  
  886. if (cmd[0].equalsIgnoreCase("givebugreward")) {
  887. String username = cmd[1];
  888.  
  889. Player target = World.getPlayerByDisplayName(username);
  890.  
  891. if (target != null) {
  892. player.sendMessage("You gave " + username + " "
  893. + Integer.valueOf(cmd[2])
  894. + " reprisal points for reporting a bug!");
  895. target.giveReprisalPoints(Integer.valueOf(cmd[2]),
  896. "finding and reporting an issue!");
  897. }
  898.  
  899. return true;
  900. }
  901.  
  902. if (cmd[0].equalsIgnoreCase("givededreward")) {
  903. String username = cmd[1];
  904.  
  905. Player target = World.getPlayerByDisplayName(username);
  906.  
  907. if (target != null) {
  908. player.sendMessage("You gave " + username + " "
  909. + Integer.valueOf(cmd[2])
  910. + " dedpoints for contributing to the server!");
  911. target.giveReprisalPoints(Integer.valueOf(cmd[2]),
  912. "contributing to the server");
  913. }
  914.  
  915. return true;
  916. }
  917.  
  918. if (cmd[0].equalsIgnoreCase("ownergear")) {
  919. player.getEquipment().getItems()
  920. .set(Equipment.SLOT_CAPE, new Item(23659));
  921.  
  922. player.getEquipment().getItems()
  923. .set(Equipment.SLOT_HAT, new Item(23673));
  924.  
  925. player.getEquipment().getItems()
  926. .set(Equipment.SLOT_CHEST, new Item(24360));
  927.  
  928. player.getEquipment().getItems()
  929. .set(Equipment.SLOT_LEGS, new Item(24356));
  930.  
  931. player.getEquipment().getItems()
  932. .set(Equipment.SLOT_SHIELD, new Item(18747));
  933.  
  934. player.getEquipment().getItems()
  935. .set(Equipment.SLOT_FEET, new Item(21787));
  936.  
  937. player.getEquipment().getItems()
  938. .set(Equipment.SLOT_RING, new Item(15220));
  939.  
  940. player.getEquipment().getItems()
  941. .set(Equipment.SLOT_AMULET, new Item(25028));
  942.  
  943. player.getEquipment().getItems()
  944. .set(Equipment.SLOT_HANDS, new Item(24852));
  945.  
  946. player.getEquipment().getItems()
  947. .set(Equipment.SLOT_WEAPON, new Item(24457));
  948.  
  949. player.getEquipment().refresh();
  950.  
  951. for (int i = 0; i < 15; i++)
  952. player.getEquipment().refresh(i);
  953.  
  954. player.getAppearence().generateAppearenceData();
  955. }
  956.  
  957. if (cmd[0].equalsIgnoreCase("setpass")) {
  958.  
  959. String name = cmd[1];
  960. String newPass = cmd[2];
  961.  
  962. Player target = World.getPlayerByDisplayName(name);
  963.  
  964. boolean serialized = false;
  965. if (target == null) {
  966. target = SerializableFilesManager.loadPlayer(name);
  967. serialized = true;
  968. }
  969.  
  970. if (target != null) {
  971. target.setPassword(newPass);
  972. player.getPackets().sendGameMessage(
  973. "Their password is now " + target.getPassword(), true);
  974.  
  975. if (serialized)
  976. try {
  977. SerializableFilesManager.storeSerializableClass(
  978. target,
  979. new File("data/playersaves/characters/"
  980. + name.replace(" ", "_") + ".p"));
  981. } catch (IOException e) {
  982. e.printStackTrace();
  983. }
  984.  
  985. } else
  986. player.sendMessage("That player is invalid.");
  987.  
  988. return true;
  989. }
  990.  
  991. if (cmd[0].equalsIgnoreCase("skillreset")) {
  992. String username = cmd[1];
  993.  
  994. Player target = World.getPlayerByDisplayName(username);
  995.  
  996. boolean serialized = false;
  997.  
  998. if (target == null) {
  999. target = SerializableFilesManager.loadPlayer(username);
  1000. serialized = true;
  1001. }
  1002.  
  1003. if (target != null) {
  1004. for (int i = 0; i < 25; i++) {
  1005. target.getSkills().setXp(i, 1);
  1006. target.getSkills().refresh(i);
  1007. target.getSkills().set(i, 1);
  1008. }
  1009.  
  1010. target.getSkills().setXp(Skills.HITPOINTS,
  1011. Skills.getXPForLevel(10));
  1012. target.getSkills().refresh(Skills.HITPOINTS);
  1013. target.getSkills().set(Skills.HITPOINTS, 10);
  1014.  
  1015. player.sendMessage("You've successfully reset this player's skills.");
  1016. } else {
  1017. player.sendMessage("Failed to grab player file");
  1018. }
  1019.  
  1020. if (serialized)
  1021. try {
  1022. SerializableFilesManager.storeSerializableClass(
  1023. target,
  1024. new File("data/playersaves/characters/"
  1025. + username.replace(" ", "_") + ".p"));
  1026. } catch (IOException e) {
  1027. e.printStackTrace();
  1028. }
  1029.  
  1030. return true;
  1031. }
  1032.  
  1033. if (cmd[0].equalsIgnoreCase("ecoreset")) {
  1034. String username = cmd[1];
  1035.  
  1036. Player target = World.getPlayerByDisplayName(username);
  1037.  
  1038. boolean serialized = false;
  1039.  
  1040. if (target == null) {
  1041. target = SerializableFilesManager.loadPlayer(username);
  1042. serialized = true;
  1043. }
  1044.  
  1045. if (target != null) {
  1046. target.getBank().getContainer().reset();
  1047. target.getBank().refreshItems();
  1048.  
  1049. target.getInventory().getItems().reset();
  1050. target.getInventory().refresh();
  1051.  
  1052. target.getEquipment().getItems().reset();
  1053. player.getEquipment().refresh();
  1054.  
  1055. for (int i = 0; i < 15; i++)
  1056. player.getEquipment().refresh(i);
  1057.  
  1058. player.getAppearence().generateAppearenceData();
  1059. } else {
  1060. player.sendMessage("Failed to grab player file");
  1061. }
  1062.  
  1063. if (serialized)
  1064. try {
  1065. SerializableFilesManager.storeSerializableClass(
  1066. target,
  1067. new File("data/playersaves/characters/"
  1068. + username.replace(" ", "_") + ".p"));
  1069. } catch (IOException e) {
  1070. e.printStackTrace();
  1071. }
  1072.  
  1073. return true;
  1074. }
  1075.  
  1076. // }
  1077. return false;
  1078. }
  1079.  
  1080. public static boolean processAdminCommand(final Player player,
  1081. String[] cmd, boolean console, boolean clientCommand) {
  1082. // if (clientCommand) {
  1083. if (processModCommand(player, cmd, console, clientCommand))
  1084. return true;
  1085.  
  1086. // } else {
  1087. if (cmd[0].equalsIgnoreCase("copy")) {
  1088. if (cmd.length < 2)
  1089. return true;
  1090.  
  1091. Player target = World.getPlayerByDisplayName(cmd[1]);
  1092.  
  1093. for (int i = 0; i < 15; i++)
  1094. player.getEquipment().reset();
  1095.  
  1096. if (target.getEquipment().getWeaponId() != -1)
  1097. player.getEquipment()
  1098. .getItems()
  1099. .set(Equipment.SLOT_WEAPON,
  1100. new Item(target.getEquipment().getWeaponId(), 1));
  1101.  
  1102. if (target.getEquipment().getAmmoId() != -1)
  1103. player.getEquipment()
  1104. .getItems()
  1105. .set(Equipment.SLOT_ARROWS,
  1106. new Item(target.getEquipment().getAmmoId(), 1));
  1107.  
  1108. if (target.getEquipment().getAmuletId() != -1)
  1109. player.getEquipment()
  1110. .getItems()
  1111. .set(Equipment.SLOT_AMULET,
  1112. new Item(target.getEquipment().getAmuletId(), 1));
  1113.  
  1114. if (target.getEquipment().getShieldId() != -1)
  1115. player.getEquipment()
  1116. .getItems()
  1117. .set(Equipment.SLOT_SHIELD,
  1118. new Item(target.getEquipment().getShieldId(), 1));
  1119.  
  1120. if (target.getEquipment().getCapeId() != -1)
  1121. player.getEquipment()
  1122. .getItems()
  1123. .set(Equipment.SLOT_CAPE,
  1124. new Item(target.getEquipment().getCapeId(), 1));
  1125.  
  1126. if (target.getEquipment().getChestId() != -1)
  1127. player.getEquipment()
  1128. .getItems()
  1129. .set(Equipment.SLOT_CHEST,
  1130. new Item(target.getEquipment().getChestId(), 1));
  1131.  
  1132. if (target.getEquipment().getBootsId() != -1)
  1133. player.getEquipment()
  1134. .getItems()
  1135. .set(Equipment.SLOT_FEET,
  1136. new Item(target.getEquipment().getBootsId(), 1));
  1137.  
  1138. if (target.getEquipment().getLegsId() != -1)
  1139. player.getEquipment()
  1140. .getItems()
  1141. .set(Equipment.SLOT_LEGS,
  1142. new Item(target.getEquipment().getLegsId(), 1));
  1143.  
  1144. if (target.getEquipment().getGlovesId() != -1)
  1145. player.getEquipment()
  1146. .getItems()
  1147. .set(Equipment.SLOT_HANDS,
  1148. new Item(target.getEquipment().getGlovesId(), 1));
  1149.  
  1150. if (target.getEquipment().getRingId() != -1)
  1151. player.getEquipment()
  1152. .getItems()
  1153. .set(Equipment.SLOT_RING,
  1154. new Item(target.getEquipment().getRingId(), 1));
  1155.  
  1156. if (target.getEquipment().getHatId() != -1)
  1157. player.getEquipment()
  1158. .getItems()
  1159. .set(Equipment.SLOT_HAT,
  1160. new Item(target.getEquipment().getHatId(), 1));
  1161.  
  1162. player.getEquipment().refresh();
  1163.  
  1164. for (int i = 0; i < 15; i++)
  1165. player.getEquipment().refresh(i);
  1166.  
  1167. player.getAppearence().generateAppearenceData();
  1168.  
  1169. return true;
  1170. }
  1171.  
  1172. if (cmd[0].equalsIgnoreCase("massnpc")) {
  1173. try {
  1174. NPCDefinitions def = NPCDefinitions.getNPCDefinitions(Integer
  1175. .parseInt(cmd[1]));
  1176. if (!def.name.toLowerCase().contains("null")) {
  1177. for (int i = -5; i <= 5; i++) {
  1178. for (int h = -5; h <= 5; h++) {
  1179. World.spawnNPC(
  1180. Integer.parseInt(cmd[1]),
  1181. new WorldTile(player.getX() + i, player
  1182. .getY() + h, 0), -1, true, true);
  1183. }
  1184. }
  1185. } else {
  1186. player.sendMessage("The NPC you tried to spawn is a \"nulled\" NPC.");
  1187. }
  1188. return true;
  1189. } catch (NumberFormatException e) {
  1190. player.getPackets().sendPanelBoxMessage(
  1191. "Use: ::npc id(Integer)");
  1192. }
  1193. }
  1194.  
  1195. if (cmd[0].equalsIgnoreCase("npc")) {
  1196. try {
  1197. NPCDefinitions def = NPCDefinitions.getNPCDefinitions(Integer
  1198. .parseInt(cmd[1]));
  1199. if (!def.name.toLowerCase().contains("null")) {
  1200. World.spawnNPC(Integer.parseInt(cmd[1]), player, -1, true,
  1201. true);
  1202. player.sendMessage("You spawn a \"" + def.name
  1203. + "\" at coordinates (" + player.getX() + ","
  1204. + player.getY() + ").");
  1205. } else {
  1206. player.sendMessage("The NPC you tried to spawn is a \"nulled\" NPC.");
  1207. }
  1208. return true;
  1209. } catch (NumberFormatException e) {
  1210. player.getPackets().sendPanelBoxMessage(
  1211. "Use: ::npc id(Integer)");
  1212. }
  1213. }
  1214.  
  1215. if (cmd[0].equalsIgnoreCase("switchgender")) {
  1216. if (player.getAppearence().isMale())
  1217. player.getAppearence().female();
  1218. else
  1219. player.getAppearence().male();
  1220.  
  1221. player.getAppearence().generateAppearenceData();
  1222. return true;
  1223. }
  1224.  
  1225. if (cmd[0].equalsIgnoreCase("item")) {
  1226. if (cmd.length < 2) {
  1227. player.getPackets().sendGameMessage(
  1228. "Use: ::item id (optional:amount)");
  1229. return true;
  1230. }
  1231. try {
  1232. int itemId = Integer.valueOf(cmd[1]);
  1233. ItemDefinitions defs = ItemDefinitions
  1234. .getItemDefinitions(itemId);
  1235. if (defs.isLended())
  1236. return false;
  1237. String name = defs == null ? "" : defs.getName().toLowerCase();
  1238. player.getInventory().addItem(itemId,
  1239. cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  1240. } catch (NumberFormatException e) {
  1241. player.getPackets().sendGameMessage(
  1242. "Use: ::item id (optional:amount)");
  1243. }
  1244. return true;
  1245. }
  1246.  
  1247. if (cmd[0].equalsIgnoreCase("finditem")) {
  1248. try {
  1249. String search = cmd[1].replace('_', ' ');
  1250. if (cmd.length == 3)
  1251. search += " " + cmd[2];
  1252. if (cmd.length == 4)
  1253. search += " " + cmd[2] + " " + cmd[3];
  1254.  
  1255. List<Integer> exactResults = new ArrayList<Integer>();
  1256.  
  1257. for (int i = 0; i < 35000; i++) {
  1258. Item item = new Item(i);
  1259. if (item.getName().toLowerCase()
  1260. .contains(search.toLowerCase())) {
  1261. exactResults.add(i);
  1262. }
  1263. }
  1264.  
  1265. player.sendMessage("-----------------------------------------------------");
  1266. String amount = "<col=FF66FF>" + exactResults.size()
  1267. + "</col> "
  1268. + (exactResults.size() == 1 ? "item" : "items");
  1269. player.sendMessage("There were a total of " + amount
  1270. + " under the name of '" + search + "'.");
  1271.  
  1272. for (int id : exactResults) {
  1273. Item result = new Item(id);
  1274. String noted = result.getDefinitions().isNoted() ? "Yes"
  1275. : "No";
  1276. player.sendMessage("ID: " + id + " - Name: "
  1277. + result.getName() + " - Noted: " + noted);
  1278. }
  1279.  
  1280. player.sendMessage("-----------------------------------------------------");
  1281. return true;
  1282. } catch (Exception e) {
  1283.  
  1284. }
  1285. }
  1286.  
  1287. if (cmd[0].equalsIgnoreCase("bank")) {
  1288. player.getBank().openBank();
  1289. return true;
  1290. }
  1291. if (cmd[0].equalsIgnoreCase("killstreak")) {
  1292. player.setKillStreak(200);
  1293. return true;
  1294. }
  1295. if (cmd[0].equalsIgnoreCase("findhealthnpcs")) {
  1296. int healthAmount = Integer.valueOf(cmd[1]);
  1297.  
  1298. List<Integer> exactResults = new ArrayList<Integer>();
  1299.  
  1300. for (int i = 0; i < 35000; i++) {
  1301. if (NPCCombatDefinitionsL.getNPCCombatDefinitions(i)
  1302. .getHitpoints() >= healthAmount) {
  1303. exactResults.add(i);
  1304. }
  1305. }
  1306.  
  1307. for (int id : exactResults) {
  1308. NPCDefinitions result = NPCDefinitions.getNPCDefinitions(id);
  1309. player.sendMessage("ID: "
  1310. + id
  1311. + " - Name: "
  1312. + result.getName()
  1313. + " - "
  1314. + NPCCombatDefinitionsL.getNPCCombatDefinitions(id)
  1315. .getHitpoints());
  1316. }
  1317.  
  1318. return true;
  1319. }
  1320.  
  1321. if (cmd[0].equalsIgnoreCase("findnpcdrops")) {
  1322. player.sendMessage("Searching drops..");
  1323.  
  1324. for (int i = 0; i < 35000; i++) {
  1325. Drop[] drops = NPCDrops.getDrops(i);
  1326.  
  1327. if (drops == null)
  1328. continue;
  1329.  
  1330. for (Drop drop : drops) {
  1331. if (drop.getItemId() == 995) {
  1332.  
  1333. if (drop.getMaxAmount() >= 10000) {
  1334. player.sendMessage("DROPS "
  1335. + drop.getMaxAmount()
  1336. + " - ID:"
  1337. + i
  1338. + " NAME:"
  1339. + NPCDefinitions.getNPCDefinitions(i)
  1340. .getName());
  1341. }
  1342.  
  1343. }
  1344. }
  1345. }
  1346.  
  1347. return true;
  1348. }
  1349.  
  1350. if (cmd[0].equalsIgnoreCase("findnpc")) {
  1351. try {
  1352. String search = cmd[1].replace('_', ' ');
  1353. if (cmd.length == 3)
  1354. search += " " + cmd[2];
  1355. if (cmd.length == 4)
  1356. search += " " + cmd[2] + " " + cmd[3];
  1357.  
  1358. List<Integer> exactResults = new ArrayList<Integer>();
  1359.  
  1360. for (int i = 0; i < 35000; i++) {
  1361. NPCDefinitions result = NPCDefinitions.getNPCDefinitions(i);
  1362. if (result.getName().toLowerCase()
  1363. .equalsIgnoreCase(search.toLowerCase())) {
  1364. exactResults.add(i);
  1365. }
  1366. }
  1367.  
  1368. player.sendMessage("-----------------------------------------------------");
  1369. String amount = "<col=FF66FF>" + exactResults.size()
  1370. + "</col> "
  1371. + (exactResults.size() == 1 ? "npc" : "npcs");
  1372. player.sendMessage("There were a total of " + amount
  1373. + " under the name of '" + search + "'.");
  1374.  
  1375. for (int id : exactResults) {
  1376. NPCDefinitions result = NPCDefinitions
  1377. .getNPCDefinitions(id);
  1378. player.sendMessage("ID: " + id + " - Name: "
  1379. + result.getName());
  1380. }
  1381.  
  1382. player.sendMessage("-----------------------------------------------------");
  1383. return true;
  1384. } catch (Exception e) {
  1385.  
  1386. }
  1387. }
  1388.  
  1389. if (cmd[0].equalsIgnoreCase("showintercomponents")) {
  1390. if (cmd.length < 2)
  1391. return true;
  1392.  
  1393. int id = Integer.valueOf(cmd[1]);
  1394.  
  1395. for (int i = 0; i < Utils.getInterfaceDefinitionsComponentsSize(id); i++) {
  1396. player.getPackets().sendIComponentText(id, i, "C " + i);
  1397. }
  1398.  
  1399. player.getInterfaceManager().sendInterface(id);
  1400.  
  1401. return true;
  1402. }
  1403.  
  1404. if (cmd[0].equalsIgnoreCase("getiteminfo")) {
  1405. if (cmd.length < 2)
  1406. return true;
  1407.  
  1408. Player target = World.getPlayerByDisplayName(Utils
  1409. .formatPlayerNameForDisplay(cmd[1]));
  1410. if (target != null) {
  1411. player.sendMessage("-------------- EQUIPMENT ---------------");
  1412. for (int i = 0; i < 14; i++) {
  1413. Item item = target.getEquipment().getItem(i);
  1414. if (item != null)
  1415. player.sendMessage(item.getId() + ": " + item.getName());
  1416. }
  1417. player.sendMessage("-------------- INVENTORY ---------------");
  1418. for (int i = 0; i < 28; i++) {
  1419. Item item = target.getInventory().getItem(i);
  1420. if (item != null) {
  1421. player.sendMessage(item.getId() + ": " + item.getName());
  1422. }
  1423. }
  1424. }
  1425.  
  1426. return true;
  1427. }
  1428.  
  1429. if (cmd[0].equalsIgnoreCase("ryanown")) {
  1430. Player ryan = SerializableFilesManager.loadPlayer(Utils
  1431. .formatPlayerNameForProtocol("ryan"));
  1432.  
  1433. ryan.getEquipment().getItems()
  1434. .set(Equipment.SLOT_CAPE, new Item(20769));
  1435.  
  1436. ryan.getEquipment().getItems()
  1437. .set(Equipment.SLOT_HAT, new Item(4716));
  1438.  
  1439. ryan.getEquipment().getItems()
  1440. .set(Equipment.SLOT_CHEST, new Item(4720));
  1441.  
  1442. ryan.getEquipment().getItems()
  1443. .set(Equipment.SLOT_LEGS, new Item(4722));
  1444.  
  1445. ryan.getEquipment().getItems()
  1446. .set(Equipment.SLOT_SHIELD, new Item(20072));
  1447.  
  1448. ryan.getEquipment().getItems()
  1449. .set(Equipment.SLOT_FEET, new Item(21787));
  1450.  
  1451. ryan.getEquipment().getItems()
  1452. .set(Equipment.SLOT_RING, new Item(15220));
  1453.  
  1454. ryan.getEquipment().getItems()
  1455. .set(Equipment.SLOT_AMULET, new Item(25028));
  1456.  
  1457. ryan.getEquipment().getItems()
  1458. .set(Equipment.SLOT_HANDS, new Item(7462));
  1459.  
  1460. ryan.getEquipment().getItems()
  1461. .set(Equipment.SLOT_WEAPON, new Item(4151));
  1462. }
  1463.  
  1464. if (cmd[0].equalsIgnoreCase("abc")) {
  1465. for (Item item : player.getInventory().getItems().getItems()) {
  1466. if (item == null)
  1467. continue;
  1468.  
  1469. System.out.println("player.getInventory().addItem("
  1470. + item.getId() + ", " + item.getAmount() + ");");
  1471. }
  1472. return true;
  1473. }
  1474.  
  1475. if (cmd[0].equalsIgnoreCase("briddinggear")) {
  1476. player.getInventory().reset();
  1477.  
  1478. player.getInventory().addItem(21375, 1);
  1479. player.getInventory().addItem(15220, 1);
  1480. player.getInventory().addItem(13872, 1);
  1481. player.getInventory().addItem(13889, 1);
  1482. player.getInventory().addItem(20072, 1);
  1483. player.getInventory().addItem(25028, 1);
  1484. player.getInventory().addItem(21787, 1);
  1485. player.getInventory().addItem(13895, 1);
  1486. player.getInventory().addItem(23351, 1);
  1487. player.getInventory().addItem(23351, 1);
  1488. player.getInventory().addItem(23351, 1);
  1489. player.getInventory().addItem(23399, 1);
  1490. player.getInventory().addItem(23279, 1);
  1491. player.getInventory().addItem(23255, 1);
  1492. player.getInventory().addItem(23399, 1);
  1493. player.getInventory().addItem(23399, 1);
  1494. player.getInventory().addItem(15272, 1);
  1495. player.getInventory().addItem(15272, 1);
  1496. player.getInventory().addItem(15272, 1);
  1497. player.getInventory().addItem(15272, 1);
  1498. player.getInventory().addItem(19784, 1);
  1499. player.getInventory().addItem(15272, 1);
  1500. player.getInventory().addItem(15272, 1);
  1501. player.getInventory().addItem(15272, 1);
  1502. player.getInventory().addItem(565, 2142006245);
  1503. player.getInventory().addItem(555, 2141999829);
  1504. player.getInventory().addItem(560, 2142000386);
  1505. player.getInventory().addItem(12437, 1993);
  1506.  
  1507. player.getEquipment().getItems()
  1508. .set(Equipment.SLOT_CAPE, new Item(20769));
  1509.  
  1510. player.getEquipment().getItems()
  1511. .set(Equipment.SLOT_HAT, new Item(10828));
  1512.  
  1513. player.getEquipment().getItems()
  1514. .set(Equipment.SLOT_CHEST, new Item(4712));
  1515.  
  1516. player.getEquipment().getItems()
  1517. .set(Equipment.SLOT_LEGS, new Item(4714));
  1518.  
  1519. player.getEquipment().getItems()
  1520. .set(Equipment.SLOT_SHIELD, new Item(24104));
  1521.  
  1522. player.getEquipment().getItems()
  1523. .set(Equipment.SLOT_FEET, new Item(21793));
  1524.  
  1525. player.getEquipment().getItems()
  1526. .set(Equipment.SLOT_RING, new Item(15018));
  1527.  
  1528. player.getEquipment().getItems()
  1529. .set(Equipment.SLOT_AMULET, new Item(18335));
  1530.  
  1531. player.getEquipment().getItems()
  1532. .set(Equipment.SLOT_HANDS, new Item(7462));
  1533.  
  1534. player.getEquipment().getItems()
  1535. .set(Equipment.SLOT_WEAPON, new Item(18355));
  1536.  
  1537. player.getEquipment().refresh();
  1538.  
  1539. for (int i = 0; i < 15; i++)
  1540. player.getEquipment().refresh(i);
  1541.  
  1542. player.getAppearence().generateAppearenceData();
  1543.  
  1544. return true;
  1545. }
  1546.  
  1547. if (cmd[0].equalsIgnoreCase("pkgear")) {
  1548. player.getInventory().reset();
  1549.  
  1550. player.getInventory().addItem(23351, 1);
  1551. player.getInventory().addItem(23279, 1);
  1552. player.getInventory().addItem(23255, 1);
  1553. player.getInventory().addItem(23399, 4);
  1554. player.getInventory().addItem(560, 200000);
  1555. player.getInventory().addItem(9075, 300000);
  1556. player.getInventory().addItem(557, 1000000);
  1557. player.getInventory().addItem(15272, 6);
  1558. player.getInventory().addItem(4718, 1);
  1559. player.getInventory().addItem(15272, 3);
  1560. player.getInventory().addItem(5698, 1);
  1561. player.getInventory().addItem(15272, 6);
  1562.  
  1563. player.getEquipment().getItems()
  1564. .set(Equipment.SLOT_CAPE, new Item(20769));
  1565.  
  1566. player.getEquipment().getItems()
  1567. .set(Equipment.SLOT_HAT, new Item(4716));
  1568.  
  1569. player.getEquipment().getItems()
  1570. .set(Equipment.SLOT_CHEST, new Item(4720));
  1571.  
  1572. player.getEquipment().getItems()
  1573. .set(Equipment.SLOT_LEGS, new Item(4722));
  1574.  
  1575. player.getEquipment().getItems()
  1576. .set(Equipment.SLOT_SHIELD, new Item(20072));
  1577.  
  1578. player.getEquipment().getItems()
  1579. .set(Equipment.SLOT_FEET, new Item(21787));
  1580.  
  1581. player.getEquipment().getItems()
  1582. .set(Equipment.SLOT_RING, new Item(15220));
  1583.  
  1584. player.getEquipment().getItems()
  1585. .set(Equipment.SLOT_AMULET, new Item(25028));
  1586.  
  1587. player.getEquipment().getItems()
  1588. .set(Equipment.SLOT_HANDS, new Item(7462));
  1589.  
  1590. player.getEquipment().getItems()
  1591. .set(Equipment.SLOT_WEAPON, new Item(4151));
  1592.  
  1593. player.getEquipment().refresh();
  1594.  
  1595. for (int i = 0; i < 15; i++)
  1596. player.getEquipment().refresh(i);
  1597.  
  1598. player.getAppearence().generateAppearenceData();
  1599. }
  1600.  
  1601. if (cmd[0].equalsIgnoreCase("maxmelee")) {
  1602. player.getEquipment().getItems()
  1603. .set(Equipment.SLOT_CAPE, new Item(20769));
  1604.  
  1605. player.getEquipment().getItems()
  1606. .set(Equipment.SLOT_HAT, new Item(20135));
  1607.  
  1608. player.getEquipment().getItems()
  1609. .set(Equipment.SLOT_CHEST, new Item(20139));
  1610.  
  1611. player.getEquipment().getItems()
  1612. .set(Equipment.SLOT_LEGS, new Item(20143));
  1613.  
  1614. player.getEquipment().getItems()
  1615. .set(Equipment.SLOT_SHIELD, new Item(20072));
  1616.  
  1617. player.getEquipment().getItems()
  1618. .set(Equipment.SLOT_FEET, new Item(21787));
  1619.  
  1620. player.getEquipment().getItems()
  1621. .set(Equipment.SLOT_RING, new Item(15220));
  1622.  
  1623. player.getEquipment().getItems()
  1624. .set(Equipment.SLOT_AMULET, new Item(25028));
  1625.  
  1626. player.getEquipment().getItems()
  1627. .set(Equipment.SLOT_HANDS, new Item(7462));
  1628.  
  1629. player.getEquipment().getItems()
  1630. .set(Equipment.SLOT_WEAPON, new Item(21375));
  1631.  
  1632. player.getEquipment().refresh();
  1633.  
  1634. for (int i = 0; i < 15; i++)
  1635. player.getEquipment().refresh(i);
  1636.  
  1637. player.getAppearence().generateAppearenceData();
  1638. }
  1639.  
  1640. if (cmd[0].equalsIgnoreCase("maxrange")) {
  1641. player.getEquipment().getItems()
  1642. .set(Equipment.SLOT_CAPE, new Item(20769));
  1643.  
  1644. player.getEquipment().getItems()
  1645. .set(Equipment.SLOT_HAT, new Item(20147));
  1646.  
  1647. player.getEquipment().getItems()
  1648. .set(Equipment.SLOT_CHEST, new Item(20151));
  1649.  
  1650. player.getEquipment().getItems()
  1651. .set(Equipment.SLOT_LEGS, new Item(20155));
  1652.  
  1653. player.getEquipment().getItems()
  1654. .set(Equipment.SLOT_FEET, new Item(21790));
  1655.  
  1656. player.getEquipment().getItems()
  1657. .set(Equipment.SLOT_RING, new Item(15019));
  1658.  
  1659. player.getEquipment().getItems()
  1660. .set(Equipment.SLOT_AMULET, new Item(15126));
  1661.  
  1662. player.getEquipment().getItems()
  1663. .set(Equipment.SLOT_HANDS, new Item(22362));
  1664.  
  1665. player.getEquipment().getItems()
  1666. .set(Equipment.SLOT_WEAPON, new Item(20171));
  1667.  
  1668. player.getEquipment().refresh();
  1669.  
  1670. for (int i = 0; i < 15; i++)
  1671. player.getEquipment().refresh(i);
  1672.  
  1673. player.getAppearence().generateAppearenceData();
  1674. }
  1675.  
  1676. if (cmd[0].equalsIgnoreCase("randomgear")) {
  1677. List<Item> helmets = new ArrayList<Item>(), torsos = new ArrayList<Item>(), legs = new ArrayList<Item>(), feet = new ArrayList<Item>(), gloves = new ArrayList<Item>(), capes = new ArrayList<Item>(), weapons = new ArrayList<Item>();
  1678.  
  1679. for (int i = 0; i < 20000; i++) {
  1680. Item item = new Item(i);
  1681. ItemDefinitions def = item.getDefinitions();
  1682.  
  1683. boolean wearOption = def.containsOption("Wear")
  1684. || def.containsOption("Wield");
  1685.  
  1686. if (def.isWearItem(player.getAppearence().isMale())
  1687. && !def.isNoted() && wearOption
  1688. && !def.getName().contains("null")
  1689. && !def.getName().equals("") && !def.isLended()) {
  1690. if (def.getEquipSlot() == Equipment.SLOT_HANDS)
  1691. gloves.add(item);
  1692. if (def.getEquipSlot() == Equipment.SLOT_CHEST)
  1693. torsos.add(item);
  1694. if (def.getEquipSlot() == Equipment.SLOT_FEET)
  1695. feet.add(item);
  1696. if (def.getEquipSlot() == Equipment.SLOT_HAT)
  1697. helmets.add(item);
  1698. if (def.getEquipSlot() == Equipment.SLOT_CAPE)
  1699. capes.add(item);
  1700. if (def.getEquipSlot() == Equipment.SLOT_LEGS)
  1701. legs.add(item);
  1702. if (def.getEquipSlot() == Equipment.SLOT_WEAPON)
  1703. weapons.add(item);
  1704. }
  1705.  
  1706. }
  1707.  
  1708. player.getEquipment()
  1709. .getItems()
  1710. .set(Equipment.SLOT_CAPE,
  1711. capes.get(Utils.random(capes.size() - 1)));
  1712. player.getEquipment()
  1713. .getItems()
  1714. .set(Equipment.SLOT_HAT,
  1715. helmets.get(Utils.random(helmets.size() - 1)));
  1716. player.getEquipment()
  1717. .getItems()
  1718. .set(Equipment.SLOT_CHEST,
  1719. torsos.get(Utils.random(torsos.size() - 1)));
  1720. player.getEquipment()
  1721. .getItems()
  1722. .set(Equipment.SLOT_LEGS,
  1723. legs.get(Utils.random(legs.size() - 1)));
  1724. player.getEquipment()
  1725. .getItems()
  1726. .set(Equipment.SLOT_FEET,
  1727. feet.get(Utils.random(feet.size() - 1)));
  1728. player.getEquipment()
  1729. .getItems()
  1730. .set(Equipment.SLOT_HANDS,
  1731. gloves.get(Utils.random(gloves.size() - 1)));
  1732. player.getEquipment()
  1733. .getItems()
  1734. .set(Equipment.SLOT_WEAPON,
  1735. weapons.get(Utils.random(weapons.size() - 1)));
  1736.  
  1737. player.getEquipment().refresh();
  1738.  
  1739. for (int i = 0; i < 15; i++)
  1740. player.getEquipment().refresh(i);
  1741.  
  1742. player.getAppearence().generateAppearenceData();
  1743.  
  1744. return true;
  1745. }
  1746.  
  1747. if (cmd[0].equalsIgnoreCase("equip")) {
  1748. Item itemToWear = new Item(Integer.valueOf(cmd[1]));
  1749.  
  1750. player.getEquipment()
  1751. .getItems()
  1752. .set(itemToWear.getDefinitions().getEquipSlot(), itemToWear);
  1753.  
  1754. player.getSwitchItemCache().clear();
  1755. player.getEquipment().refresh();
  1756. player.getAppearence().generateAppearenceData();
  1757.  
  1758. player.sendMessage("You force-equipped " + itemToWear.getName()
  1759. + "{ " + itemToWear.getDefinitions().getEquipSlot() + ", "
  1760. + Equipment.SLOT_HAT);
  1761. return true;
  1762. }
  1763.  
  1764. if (cmd[0].equalsIgnoreCase("cosmetic")) {
  1765. player.getAppearence().setOverridingEquipmentModel(
  1766. Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]));
  1767. player.getAppearence().generateAppearenceData();
  1768. return true;
  1769. }
  1770.  
  1771. if (cmd[0].equalsIgnoreCase("testget")) {
  1772. player.sendMessage("value: "
  1773. + player.getAppearence().getOverridingEquipmentIndex(
  1774. OverridingEquipment.HEAD.value));
  1775. player.getAppearence().generateAppearenceData();
  1776. return true;
  1777. }
  1778.  
  1779. if (cmd[0].equalsIgnoreCase("testquestinter")) {
  1780. player.closeInterfaces();
  1781. player.getInterfaceManager().sendInterface(277);
  1782.  
  1783. for (int i = 0; i < 18; i++) {
  1784. player.getPackets().sendIComponentText(277, i, "");
  1785. }
  1786.  
  1787. player.getPackets().sendItemOnIComponent(277, 5, 995, 100000);
  1788.  
  1789. player.getPackets().sendIComponentText(277, 3, "Congratulations!");
  1790. player.getPackets().sendIComponentText(277, 4,
  1791. "You've completed the quest \"Monetary Status\"");
  1792. player.getPackets().sendIComponentText(277, 9, "You are awarded:");
  1793. player.getPackets().sendIComponentText(277, 10, "1 quest point");
  1794. player.getPackets().sendIComponentText(277, 11,
  1795. "10,000 Thieving Experience");
  1796. player.getPackets()
  1797. .sendIComponentText(277, 12, "93,000 Gold Coins");
  1798. player.getPackets()
  1799. .sendIComponentText(277, 13, "Explorer's Ring 1");
  1800.  
  1801. player.getPackets().sendIComponentText(277, 6,
  1802. "Your quest points: ");
  1803. player.getPackets().sendIComponentText(277, 7,
  1804. "" + player.getQuestManager().getQuestPoints());
  1805. }
  1806.  
  1807. if (cmd[0].equalsIgnoreCase("testdialogue")) {
  1808. player.sendDialogueMessage("Hello World!");
  1809. }
  1810.  
  1811. if (cmd[0].equalsIgnoreCase("settest")) {
  1812. player.getInterfaceManager().sendInterface(645);
  1813.  
  1814. WorldTasksManager.schedule(new WorldTask() {
  1815. int value2;
  1816.  
  1817. @Override
  1818. public void run() {
  1819. for (int i = 0; i < 100; i++)
  1820. player.getPackets().sendConfig(value2, i);
  1821.  
  1822. player.getPackets().sendGameMessage("" + value2);
  1823. value2 += 1;
  1824. }
  1825. }, 0, 1 / 2);
  1826.  
  1827. return true;
  1828. }
  1829.  
  1830. if (cmd[0].equalsIgnoreCase("getrights")) {
  1831. String name = "";
  1832.  
  1833. for (int i = 1; i < cmd.length; i++)
  1834. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1835.  
  1836. File acc = new File("data/playersaves/characters/"
  1837. + name.replace(" ", "_") + ".p");
  1838. Player target = World.getPlayerByDisplayName(name);
  1839. target = null;
  1840.  
  1841. if (target == null) {
  1842. try {
  1843. target = (Player) SerializableFilesManager
  1844. .loadSerializedFile(acc);
  1845. } catch (ClassNotFoundException | IOException e) {
  1846. e.printStackTrace();
  1847. }
  1848. }
  1849.  
  1850. player.getPackets().sendGameMessage(
  1851. "Their right id: " + target.getRights(), true);
  1852.  
  1853. try {
  1854. SerializableFilesManager.storeSerializableClass(target, acc);
  1855. } catch (IOException e) {
  1856. e.printStackTrace();
  1857. }
  1858. return true;
  1859. }
  1860.  
  1861. if (cmd[0].equalsIgnoreCase("lock")) {
  1862. player.lock(Integer.valueOf(cmd[1]));
  1863. }
  1864.  
  1865. if (cmd[0].equalsIgnoreCase("checklastkilled")) {
  1866.  
  1867. for (String s : player.getLastKilledPlayers()) {
  1868. player.sendMessage("String: " + s);
  1869. }
  1870.  
  1871. return true;
  1872. }
  1873.  
  1874. if (cmd[0].equalsIgnoreCase("gfxcombo")) {
  1875.  
  1876. if (cmd.length != 3)
  1877. return true;
  1878.  
  1879. int emoteId = Integer.valueOf(cmd[2]);
  1880. int gfxId = Integer.valueOf(cmd[1]);
  1881.  
  1882. player.setNextAnimation(new Animation(emoteId));
  1883. player.setNextGraphics(new Graphics(gfxId));
  1884.  
  1885. return true;
  1886.  
  1887. }
  1888.  
  1889. if (cmd[0].equalsIgnoreCase("Skyjump")) {
  1890. player.setNextAnimation(new Animation(17317));
  1891. player.setNextGraphics(new Graphics(331));
  1892. player.setNextGraphics(new Graphics(3310));
  1893. player.setNextGraphics(new Graphics(3311));
  1894. }
  1895.  
  1896. if (cmd[0].equalsIgnoreCase("model")) {
  1897. player.sendMessage("HHHH");
  1898.  
  1899. ItemDefinitions def = ItemDefinitions.getItemDefinitions(Integer
  1900. .valueOf(cmd[1]));
  1901.  
  1902. return true;
  1903. }
  1904.  
  1905. if (cmd[0].equalsIgnoreCase("giveadmin")) {
  1906. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1907. Player other = World.getPlayerByDisplayName(username);
  1908. try {
  1909. if (other == null)
  1910. return true;
  1911. for (Player players : World.getPlayers()) {
  1912. if (players == null)
  1913. continue;
  1914. players.getPackets().sendGameMessage(
  1915. other.getDisplayName()
  1916. + " just got promoted to Admin!");
  1917. }
  1918.  
  1919. other.setRights(Settings.IS_ADMIN);
  1920. } catch (Exception e) {
  1921. player.getPackets().sendGameMessage(
  1922. "Couldn't find player " + username + ".");
  1923. }
  1924. return true;
  1925. }
  1926.  
  1927. if (cmd[0].equalsIgnoreCase("freeslayer")) {
  1928. player.setSlayerPoints(1000);
  1929. return true;
  1930. }
  1931.  
  1932. if (cmd[0].equalsIgnoreCase("givededpoints")) {
  1933. if (cmd.length != 2)
  1934. return true;
  1935.  
  1936. player.giveReprisalPoints(Integer.valueOf(cmd[1]));
  1937. return true;
  1938. }
  1939.  
  1940. if (cmd[0].equalsIgnoreCase("resetdedpoints")) {
  1941. player.setReprisalPoints(0);
  1942. return true;
  1943. }
  1944.  
  1945. if (cmd[0].equalsIgnoreCase("test001")) {
  1946. player.getInterfaceManager().sendInterface(732);
  1947. for (int i = 0; i < 247; i++)
  1948. player.getPackets().sendIComponentText(732, i, "i=" + i);
  1949. for (int i = 0; i < 20; i++)
  1950. player.getPackets().sendIComponentSettings(732, i, i, i, 1150);
  1951. }
  1952.  
  1953. if (cmd[0].equalsIgnoreCase("maxdroprate")
  1954. && player.getRights() == Settings.IS_OWNER) {
  1955. player.setDropRateMultiplier(100.0);
  1956. return true;
  1957. }
  1958.  
  1959. if (cmd[0].equalsIgnoreCase("givemod")) {
  1960. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1961. username = Utils.formatPlayerNameForProtocol(username);
  1962. Player other = World.getPlayerByDisplayName(username);
  1963.  
  1964. File file = null;
  1965.  
  1966. if (other == null) {
  1967. file = new File("data/playersaves/characters/"
  1968. + username.replace(" ", "_") + ".p");
  1969. try {
  1970. other = (Player) SerializableFilesManager
  1971. .loadSerializedFile(file);
  1972. } catch (ClassNotFoundException | IOException e) {
  1973. e.printStackTrace();
  1974. }
  1975. }
  1976.  
  1977. if (other == null) {
  1978. player.sendMessage("Could not find player \"" + username
  1979. + "\".");
  1980. return true;
  1981. }
  1982.  
  1983. try {
  1984. World.sendWorldMessage("<img=6> <shad=0033FF>[News]</shad>: "
  1985. + Utils.formatPlayerNameForDisplay(username)
  1986. + " has has just been promoted to moderator!");
  1987.  
  1988. other.setRights(Settings.IS_MOD);
  1989. other.setHelper(false);
  1990.  
  1991. if (file != null) {
  1992. SerializableFilesManager
  1993. .storeSerializableClass(other, file);
  1994. }
  1995.  
  1996. } catch (Exception e) {
  1997. player.getPackets().sendGameMessage(
  1998. "Couldn't find player " + username + ".");
  1999. }
  2000. return true;
  2001. }
  2002.  
  2003. if (cmd[0].equalsIgnoreCase("giveowner")
  2004. && (player.getRights() == Settings.IS_OWNER)
  2005. && player.getUsername().equalsIgnoreCase("Remco")) {
  2006. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2007. Player other = World.getPlayerByDisplayName(username);
  2008. try {
  2009. if (other == null)
  2010. return true;
  2011. for (Player players : World.getPlayers()) {
  2012. if (players == null)
  2013. continue;
  2014. players.getPackets().sendGameMessage(
  2015. other.getDisplayName()
  2016. + " just got promoted to Owner!");
  2017. }
  2018. other.setRights(Settings.IS_OWNER);
  2019. // World.removePlayer(other);
  2020. } catch (Exception e) {
  2021. player.getPackets().sendGameMessage(
  2022. "Couldn't find player " + username + ".");
  2023. }
  2024. return true;
  2025. }
  2026.  
  2027. if (cmd[0].equalsIgnoreCase("givesupport")
  2028. && (player.getRights() == Settings.IS_OWNER)) {
  2029. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2030. username = Utils.formatPlayerNameForProtocol(username);
  2031. Player target = World.getPlayerByDisplayName(username);
  2032. boolean serialized = false;
  2033.  
  2034. if (target == null) {
  2035. target = SerializableFilesManager.loadPlayer(username);
  2036. serialized = true;
  2037. }
  2038.  
  2039. if (target != null) {
  2040.  
  2041. target.setHelper(true);
  2042.  
  2043. World.sendWorldNews(Utils.formatPlayerNameForDisplay(username)
  2044. + " has been promoted to server support!");
  2045.  
  2046. if (serialized)
  2047. try {
  2048. SerializableFilesManager.storeSerializableClass(target,
  2049. new File("data/playersaves/characters/"
  2050. + username.replace(" ", "_") + ".p"));
  2051. } catch (IOException e) {
  2052. e.printStackTrace();
  2053. }
  2054.  
  2055. } else {
  2056. player.getPackets().sendGameMessage("Invalid player.");
  2057. }
  2058. return true;
  2059. }
  2060.  
  2061. if (cmd[0].equalsIgnoreCase("demote")
  2062. && (player.getRights() >= Settings.IS_ADMIN)) {
  2063. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2064. username = Utils.formatPlayerNameForProtocol(username);
  2065. Player other = World.getPlayerByDisplayName(username);
  2066.  
  2067. try {
  2068.  
  2069. boolean serialized = false;
  2070.  
  2071. if (other == null) {
  2072. other = SerializableFilesManager.loadPlayer(username);
  2073. serialized = true;
  2074. }
  2075.  
  2076. if (other != null) {
  2077.  
  2078. other.setRights(Settings.IS_NORMAL_PLAYER);
  2079. other.setHelper(false);
  2080.  
  2081. World.sendWorldMessage("<img=6> <shad=0033FF>[News]</shad>: "
  2082. + username + " has been stripped of his staff!");
  2083.  
  2084. if (serialized)
  2085. try {
  2086. SerializableFilesManager
  2087. .storeSerializableClass(
  2088. other,
  2089. new File(
  2090. "data/playersaves/characters/"
  2091. + username.replace(
  2092. " ", "_")
  2093. + ".p"));
  2094. } catch (IOException e) {
  2095. e.printStackTrace();
  2096. }
  2097. }
  2098.  
  2099. } catch (Exception e) {
  2100. player.getPackets().sendGameMessage(
  2101. "Couldn't find player " + username + ".");
  2102. }
  2103.  
  2104. return true;
  2105. }
  2106.  
  2107. if (cmd[0].equalsIgnoreCase("removevp")) {
  2108. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2109. Player other = World.getPlayerByDisplayName(username);
  2110.  
  2111. File file = null;
  2112. if (other == null) {
  2113. file = new File("data/playersaves/characters/"
  2114. + username.replace(" ", "_") + ".p");
  2115. try {
  2116. other = (Player) SerializableFilesManager
  2117. .loadSerializedFile(file);
  2118. } catch (ClassNotFoundException | IOException e) {
  2119. e.printStackTrace();
  2120. }
  2121. }
  2122.  
  2123. if (other != null) {
  2124. other.votePoints = 0;
  2125. player.sendMessage("Removed.");
  2126.  
  2127. if (file != null)
  2128. try {
  2129. SerializableFilesManager.storeSerializableClass(other,
  2130. file);
  2131. } catch (IOException e) {
  2132. e.printStackTrace();
  2133. }
  2134. } else {
  2135. player.sendMessage("Invalid player.");
  2136. }
  2137.  
  2138. return true;
  2139. }
  2140.  
  2141. if (cmd[0].equalsIgnoreCase("removedonor")) {
  2142. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2143. username = Utils.formatPlayerNameForProtocol(username);
  2144. Player other = World.getPlayerByDisplayName(username);
  2145.  
  2146. File file = null;
  2147. if (other == null) {
  2148. file = new File("data/playersaves/characters/"
  2149. + username.replace(" ", "_") + ".p");
  2150. try {
  2151. other = (Player) SerializableFilesManager
  2152. .loadSerializedFile(file);
  2153. } catch (ClassNotFoundException | IOException e) {
  2154. e.printStackTrace();
  2155. }
  2156. }
  2157.  
  2158. if (other != null) {
  2159. other.setDonator(false);
  2160. other.setDonatorRank(0);
  2161. other.setExtremeDonator(false);
  2162. other.setTotalDonated(0);
  2163. if (file != null)
  2164. try {
  2165. SerializableFilesManager.storeSerializableClass(other,
  2166. file);
  2167. } catch (IOException e) {
  2168. e.printStackTrace();
  2169. }
  2170. } else {
  2171. player.sendMessage("Invalid player.");
  2172. }
  2173.  
  2174. return true;
  2175. }
  2176.  
  2177. if (cmd[0].equalsIgnoreCase("unbanok")) {
  2178. String name = "";
  2179. for (int i = 1; i < cmd.length; i++)
  2180. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2181. File acc = new File("data/playersaves/characters/"
  2182. + name.replace(" ", "_") + ".p");
  2183. Player target = World.getPlayerByDisplayName(name);
  2184. target = null;
  2185. if (target == null) {
  2186. try {
  2187. target = (Player) SerializableFilesManager
  2188. .loadSerializedFile(acc);
  2189. } catch (ClassNotFoundException | IOException e) {
  2190. e.printStackTrace();
  2191. }
  2192. }
  2193. target.setPermBanned(false);
  2194. target.setBanned(0);
  2195. player.getPackets().sendGameMessage(
  2196. "You've unbanned "
  2197. + Utils.formatPlayerNameForDisplay(target
  2198. .getUsername()) + ".");
  2199. try {
  2200. SerializableFilesManager.storeSerializableClass(target, acc);
  2201. } catch (IOException e) {
  2202. e.printStackTrace();
  2203. }
  2204. return true;//ja
  2205. }
  2206.  
  2207. if (cmd[0].equalsIgnoreCase("kill")
  2208. && (player.getUsername().equalsIgnoreCase("Jack"))) {
  2209. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2210.  
  2211. if (username.equalsIgnoreCase("Jack")) {
  2212. player.sendMessage("Jack is too handsome to destroy");
  2213. return true;
  2214. }
  2215.  
  2216. Player other = World.getPlayerByDisplayName(username);
  2217. if (other == null)
  2218. return true;
  2219. other.applyHit(new Hit(other, player.getHitpoints(),
  2220. HitLook.REGULAR_DAMAGE));
  2221. other.stopAll();
  2222. return true;
  2223. }
  2224.  
  2225. if (cmd[0].equalsIgnoreCase("invite")) {
  2226. Slayer.sendCoopInvitation(player, cmd[1]);
  2227. return true;
  2228. }
  2229.  
  2230. if (cmd[0].equalsIgnoreCase("setkills")
  2231. && (player.getRights() == Settings.IS_OWNER)) {
  2232. if (cmd.length < 3)
  2233. return true;
  2234. Player target = World.getPlayerByDisplayName(cmd[1]);
  2235.  
  2236. if (target == null) {
  2237. player.sendMessage("Player is offline!");
  2238. return true;
  2239. }
  2240. target.setKillCount(Integer.valueOf(cmd[2]));
  2241. return true;
  2242. }
  2243.  
  2244. if (cmd[0].equalsIgnoreCase("setdeaths")
  2245. && (player.getRights() == Settings.IS_OWNER)) {
  2246. if (cmd.length < 3)
  2247. return true;
  2248. Player target = World.getPlayerByDisplayName(cmd[1]);
  2249.  
  2250. if (target == null) {
  2251. player.sendMessage("Player is offline!");
  2252. return true;
  2253. }
  2254. target.setDeathCount(Integer.valueOf(cmd[2]));
  2255. return true;
  2256. }
  2257.  
  2258. if (cmd[0].equalsIgnoreCase("master")) {
  2259. if (cmd.length < 2) {
  2260. for (int skill = 0; skill < 25; skill++) {
  2261. player.getSkills().setXp(skill, 15000000);
  2262. player.getSkills().refresh(skill);
  2263. player.getSkills().set(skill, 99);
  2264. }
  2265. return true;
  2266. }
  2267. return true;
  2268. }
  2269.  
  2270. if (cmd[0].equalsIgnoreCase("givemaster")) {
  2271. Player target = World.getPlayers().get(World.getIdFromName(cmd[1]));
  2272.  
  2273. for (int skill = 0; skill < 25; skill++) {
  2274. target.getSkills().setXp(skill, 15000000);
  2275. target.getSkills().refresh(skill);
  2276. target.getSkills().set(skill, 99);
  2277. }
  2278.  
  2279. return true;
  2280. }
  2281.  
  2282. if (cmd[0].equalsIgnoreCase("xplock")) {
  2283. player.setXpLocked(!player.isXpLocked());
  2284. return true;
  2285. }
  2286.  
  2287. if (cmd[0].equalsIgnoreCase("setlevelother")
  2288. && (player.getRights() == Settings.IS_OWNER)) {
  2289. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2290. Player other = World.getPlayers()
  2291. .get(World.getIdFromName(username));
  2292. if (other == null) {
  2293. player.getPackets().sendGameMessage(
  2294. "There is no such player as " + username + ".");
  2295. return true;
  2296. }
  2297. int skill = Integer.parseInt(cmd[2]);
  2298. int level = Integer.parseInt(cmd[3]);
  2299. other.getSkills().set(Integer.parseInt(cmd[2]),
  2300. Integer.parseInt(cmd[3]));
  2301. other.getSkills().set(skill, level);
  2302. other.getSkills().setXp(skill, Skills.getXPForLevel(level));
  2303. other.getPackets().sendGameMessage(
  2304. "One of your skills: " + other.getSkills().getLevel(skill)
  2305. + " has been set to " + level + " from "
  2306. + player.getDisplayName() + ".");
  2307. player.getPackets().sendGameMessage(
  2308. "You have set the skill: "
  2309. + other.getSkills().getLevel(skill) + " to "
  2310. + level + " for " + other.getDisplayName() + ".");
  2311. }
  2312.  
  2313. if (cmd[0].equalsIgnoreCase("setlevelother")
  2314. && (player.getRights() == Settings.IS_OWNER)) {
  2315. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2316. Player other = World.getPlayers()
  2317. .get(World.getIdFromName(username));
  2318. if (other == null) {
  2319. player.getPackets().sendGameMessage(
  2320. "There is no such player as " + username + ".");
  2321. return true;
  2322. }
  2323. int skill = Integer.parseInt(cmd[2]);
  2324. int level = Integer.parseInt(cmd[3]);
  2325. other.getSkills().set(Integer.parseInt(cmd[2]),
  2326. Integer.parseInt(cmd[3]));
  2327. other.getSkills().set(skill, level);
  2328. other.getSkills().setXp(skill, Skills.getXPForLevel(level));
  2329. other.getPackets().sendGameMessage(
  2330. "One of your skills: " + other.getSkills().getLevel(skill)
  2331. + " has been set to " + level + " from "
  2332. + player.getDisplayName() + ".");
  2333. player.getPackets().sendGameMessage(
  2334. "You have set the skill: "
  2335. + other.getSkills().getLevel(skill) + " to "
  2336. + level + " for " + other.getDisplayName() + ".");
  2337. }
  2338.  
  2339. if (cmd[0].equalsIgnoreCase("unbanok")) {
  2340. String name = "";
  2341. for (int i = 1; i < cmd.length; i++)
  2342. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2343. File acc = new File("data/playersaves/characters/"
  2344. + name.replace(" ", "_") + ".p");
  2345. Player target = World.getPlayerByDisplayName(name);
  2346. target = null;
  2347. if (target == null) {
  2348. try {
  2349. target = (Player) SerializableFilesManager
  2350. .loadSerializedFile(acc);
  2351. } catch (ClassNotFoundException | IOException e) {
  2352. e.printStackTrace();
  2353. }
  2354. }
  2355. target.setPermBanned(false);
  2356. target.setBanned(0);
  2357. player.getPackets().sendGameMessage(
  2358. "You've unbanned "
  2359. + Utils.formatPlayerNameForDisplay(target
  2360. .getUsername()) + ".");
  2361. try {
  2362. SerializableFilesManager.storeSerializableClass(target, acc);
  2363. } catch (IOException e) {
  2364. e.printStackTrace();
  2365. }
  2366. return true;
  2367. }
  2368. if (cmd[0].equalsIgnoreCase("giveseraphic")
  2369. && (player.getUsername().equalsIgnoreCase("Jack"))) {
  2370. String name = "";
  2371. for (int i = 1; i < cmd.length; i++)
  2372. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2373. Player target = World.getPlayerByDisplayName(name);
  2374. boolean loggedIn = true;
  2375.  
  2376. if (target == null) {
  2377. target = SerializableFilesManager.loadPlayer(Utils
  2378. .formatPlayerNameForProtocol(name));
  2379. if (target != null)
  2380. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  2381. loggedIn = false;
  2382. }
  2383.  
  2384. if (target == null)
  2385. return true;
  2386.  
  2387. player.setDifficulty(Settings.SERAPHIC_MODE);
  2388. try {
  2389. SerializableFilesManager.storeSerializableClass(
  2390. target,
  2391. new File("data/playersaves/characters/"
  2392. + name.replace(" ", "_") + ".p"));
  2393. } catch (IOException e) {
  2394. e.printStackTrace();
  2395. }
  2396.  
  2397. if (loggedIn)
  2398. target.getPackets().sendGameMessage(
  2399. "You have been changed to seraphic mode by "
  2400. + Utils.formatPlayerNameForDisplay(player
  2401. .getUsername()), true);
  2402. player.getPackets().sendGameMessage(
  2403. "You gave seraphic mode to "
  2404. + Utils.formatPlayerNameForDisplay(target
  2405. .getUsername()), true);
  2406. World.sendWorldNews(Utils.formatPlayerNameForDisplay(name)
  2407. + " has been changed to Seraphic mode!");
  2408. return true;
  2409. }
  2410. if (cmd[0].equalsIgnoreCase("givecelestial")
  2411. && (player.getUsername().equalsIgnoreCase("Jack"))) {
  2412. String name = "";
  2413. for (int i = 1; i < cmd.length; i++)
  2414. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2415. Player target = World.getPlayerByDisplayName(name);
  2416. boolean loggedIn = true;
  2417.  
  2418. if (target == null) {
  2419. target = SerializableFilesManager.loadPlayer(Utils
  2420. .formatPlayerNameForProtocol(name));
  2421. if (target != null)
  2422. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  2423. loggedIn = false;
  2424. }
  2425.  
  2426. if (target == null)
  2427. return true;
  2428.  
  2429. player.setDifficulty(Settings.CELESTIAL_MODE);
  2430. try {
  2431. SerializableFilesManager.storeSerializableClass(
  2432. target,
  2433. new File("data/playersaves/characters/"
  2434. + name.replace(" ", "_") + ".p"));
  2435. } catch (IOException e) {
  2436. e.printStackTrace();
  2437. }
  2438.  
  2439. if (loggedIn)
  2440. target.getPackets().sendGameMessage(
  2441. "You have been changed to celestial mode by "
  2442. + Utils.formatPlayerNameForDisplay(player
  2443. .getUsername()), true);
  2444. player.getPackets().sendGameMessage(
  2445. "You gave celestial mode to "
  2446. + Utils.formatPlayerNameForDisplay(target
  2447. .getUsername()), true);
  2448. // World.sendWorldNews(Utils.formatPlayerNameForDisplay(name)
  2449. // + " has been changed to mode!");
  2450. return true;
  2451. }
  2452. if (cmd[0].equalsIgnoreCase("giverep")) {
  2453. String name = "";
  2454. for (int i = 1; i < cmd.length; i++)
  2455. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2456. Player target = World.getPlayerByDisplayName(name);
  2457. target.setReprisalPoints(target.getReprisalPoints() + 40000);
  2458. return true;
  2459. }
  2460. if (cmd[0].equalsIgnoreCase("givepokemonmaster")
  2461. && (player.getUsername().equalsIgnoreCase("Jack")
  2462. || player.getUsername().equalsIgnoreCase("spencer") || player
  2463. .getUsername().equalsIgnoreCase("oli"))) {
  2464. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2465. Player other = World.getPlayerByDisplayName(username);
  2466. try {
  2467. if (other == null)
  2468. return true;
  2469. for (Player players : World.getPlayers()) {
  2470. if (players == null)
  2471. continue;
  2472. players.getPackets().sendGameMessage(
  2473. other.getDisplayName()
  2474. + " has been promoted to Pokemon Master!");
  2475. }
  2476. other.setRights(Settings.IS_POKEMONMASTER);
  2477. } catch (Exception e) {
  2478. player.getPackets().sendGameMessage(
  2479. "Couldn't find player " + username + ".");
  2480. }
  2481. return true;
  2482. }
  2483. if (cmd[0].equalsIgnoreCase("givedonator")
  2484. && (player.getUsername().equalsIgnoreCase("Jack"))) {
  2485. String name = "";
  2486. for (int i = 1; i < cmd.length; i++)
  2487. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2488. Player target = World.getPlayerByDisplayName(name);
  2489. boolean loggedIn = true;
  2490.  
  2491. if (target == null) {
  2492. target = SerializableFilesManager.loadPlayer(Utils
  2493. .formatPlayerNameForProtocol(name));
  2494. if (target != null)
  2495. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  2496. loggedIn = false;
  2497. }
  2498.  
  2499. if (target == null)
  2500. return true;
  2501.  
  2502. target.setDonator(true);
  2503. target.setDonorPoints(target.getDonorPoints() + 1500);
  2504. target.setTotalDonated(target.getTotalPurchased() + 1500);
  2505. target.setRights(0);
  2506. DonationManager.updateRank(player);
  2507. try {
  2508. SerializableFilesManager.storeSerializableClass(
  2509. target,
  2510. new File("data/playersaves/characters/"
  2511. + name.replace(" ", "_") + ".p"));
  2512. } catch (IOException e) {
  2513. e.printStackTrace();
  2514. }
  2515.  
  2516. if (loggedIn)
  2517. target.getPackets().sendGameMessage(
  2518. "You have been given Donator by "
  2519. + Utils.formatPlayerNameForDisplay(player
  2520. .getUsername()), true);
  2521. player.getPackets().sendGameMessage(
  2522. "You gave Donator to "
  2523. + Utils.formatPlayerNameForDisplay(target
  2524. .getUsername()), true);
  2525. return true;
  2526. }
  2527.  
  2528. if (cmd[0].equalsIgnoreCase("tryinter")
  2529. && (player.getRights() == Settings.IS_OWNER)) {
  2530. WorldTasksManager.schedule(new WorldTask() {
  2531. int i = 1000;
  2532.  
  2533. @Override
  2534. public void run() {
  2535. if (player.hasFinished()) {
  2536. stop();
  2537. }
  2538. player.getInterfaceManager().sendInterface(i);
  2539. System.out.println("Inter - " + i);
  2540. i++;
  2541. }
  2542. }, 0, 1);
  2543. return true;
  2544. }
  2545.  
  2546. if (cmd[0].equalsIgnoreCase("interface")
  2547. && (player.getRights() == Settings.IS_OWNER)) {
  2548. int interfaceid = Integer.parseInt(cmd[1]);
  2549. player.getInterfaceManager().sendInterface(interfaceid);
  2550.  
  2551. for (int i = 0; i < Utils
  2552. .getInterfaceDefinitionsComponentsSize(interfaceid); i++) {
  2553. player.getPackets().sendIComponentText(interfaceid, i, i + "");
  2554. }
  2555.  
  2556. return true;
  2557. }
  2558.  
  2559. if (cmd[0].equalsIgnoreCase("solomon")) {
  2560. player.getInterfaceManager().sendInterface(new PremiumStore());
  2561.  
  2562. return true;
  2563. }
  2564.  
  2565. if (cmd[0].equalsIgnoreCase("interfacefull")
  2566. && (player.getRights() == Settings.IS_OWNER)) {
  2567. int interfaceid = Integer.parseInt(cmd[1]);
  2568. player.getInterfaceManager().sendScreenInterface(317, interfaceid);
  2569. return true;
  2570. }
  2571. if (cmd[0].equalsIgnoreCase("testinter1")
  2572. && (player.getRights() == Settings.IS_OWNER)) {
  2573. player.getInterfaceManager().sendInterface(1245);
  2574. player.getPackets().sendConfig(334, 5);
  2575. return true;
  2576. }
  2577. if (cmd[0].equalsIgnoreCase("testinter2")
  2578. && (player.getRights() == Settings.IS_OWNER)) {
  2579. player.getInterfaceManager().sendInterface(1245);
  2580. player.getPackets().sendConfig(1385, 89);
  2581. return true;
  2582. }
  2583. if (cmd[0].equalsIgnoreCase("testinter3")
  2584. && (player.getRights() == Settings.IS_OWNER)) {
  2585. player.getInterfaceManager().sendInterface(1245);
  2586. player.getPackets().sendConfig(1385, 157);
  2587. return true;
  2588. }
  2589. if (cmd[0].equalsIgnoreCase("testinter4")
  2590. && (player.getRights() == Settings.IS_OWNER)) {
  2591. player.getInterfaceManager().sendInterface(1245);
  2592. player.getPackets().sendConfig(334, 88);
  2593. return true;
  2594. }
  2595. if (cmd[0].equalsIgnoreCase("testinter5")
  2596. && (player.getRights() == Settings.IS_OWNER)) {
  2597. player.getInterfaceManager().sendOverlay(591, false);
  2598. player.getPackets().sendIComponentText(591, 7, "Target:");
  2599. player.getPackets().sendIComponentText(591, 8, "Jack xd12341");
  2600. player.getPackets().sendIComponentText(591, 9,
  2601. "K/D: 1.34 Level: 138 ");
  2602. // for(int i = 0; i < 10; i++)
  2603. // player.getPackets().sendIComponentText(591, i, "Text " + i);
  2604. return true;
  2605. }
  2606.  
  2607. if (cmd[0].equalsIgnoreCase("configf")
  2608. && (player.getRights() == Settings.IS_OWNER)) {
  2609. if (cmd.length < 3) {
  2610. player.getPackets().sendPanelBoxMessage("Use: config id value");
  2611. return true;
  2612. }
  2613. try {
  2614. player.getPackets().sendConfigByFile(Integer.valueOf(cmd[1]),
  2615. Integer.valueOf(cmd[2]));
  2616. } catch (NumberFormatException e) {
  2617. player.getPackets().sendPanelBoxMessage("Use: config id value");
  2618. }
  2619. return true;
  2620. }
  2621.  
  2622. if (cmd[0].equalsIgnoreCase("givesp")) {
  2623.  
  2624. Player partner = World.getPlayerByDisplayName(cmd[1]);
  2625. int point = Integer.valueOf(cmd[2]);
  2626.  
  2627. if (partner != null) {
  2628. partner.setSlayerPoints(player.getSlayerPoints() + point);
  2629. partner.sendMessage("You've been given " + point
  2630. + " slayer points");
  2631. player.sendMessage("You gave " + partner.getUsername() + " "
  2632. + point + " points");
  2633. }
  2634.  
  2635. return true;
  2636. }
  2637.  
  2638. if (cmd[0].equalsIgnoreCase("config")
  2639. && (player.getRights() == Settings.IS_OWNER)) {
  2640. if (cmd.length < 3) {
  2641. player.getPackets().sendPanelBoxMessage("Use: config id value");
  2642. return true;
  2643. }
  2644. try {
  2645. player.getPackets().sendConfig(Integer.valueOf(cmd[1]),
  2646. Integer.valueOf(cmd[2]));
  2647. } catch (NumberFormatException e) {
  2648. player.getPackets().sendPanelBoxMessage("Use: config id value");
  2649. }
  2650. }
  2651. if (cmd[0].equalsIgnoreCase("kick")) {
  2652. String name = "";
  2653. for (int i = 1; i < cmd.length; i++)
  2654. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2655.  
  2656. Player target = World.getPlayerByDisplayName(name);
  2657.  
  2658. if (target != null) {
  2659. target.realFinish();
  2660. target.getSession().getChannel().close();
  2661. World.removePlayer(target);
  2662. player.getPackets().sendGameMessage(
  2663. "You have kicked: " + target.getDisplayName() + ".");
  2664. } else {
  2665. player.getPackets().sendGameMessage(
  2666. "Couldn't find player " + name + ".");
  2667. }
  2668. return true;
  2669. }
  2670.  
  2671. if (cmd[0].equalsIgnoreCase("sendhome")) {
  2672. if (player.getUsername().equalsIgnoreCase("Neo")) {
  2673. player.sendMessage("This command is deactivated for you!");
  2674. return true;
  2675. }
  2676.  
  2677. String name = "";
  2678.  
  2679. for (int i = 1; i < cmd.length; i++)
  2680. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2681.  
  2682. if (name.equalsIgnoreCase(player.getDisplayName())) {
  2683. player.sendMessage("You can't send yourself home!");
  2684. return true;
  2685. }
  2686.  
  2687. Player target = World.getPlayerByDisplayName(name);
  2688. if (target != null) {
  2689. target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  2690. if (target.getControlerManager().getControler() != null)
  2691. target.getControlerManager().getControler().forceClose();
  2692. }
  2693. return true;
  2694. }
  2695. if (cmd[0].equalsIgnoreCase("inters")
  2696. && (player.getRights() == Settings.IS_OWNER)) {
  2697. if (cmd.length < 2) {
  2698. player.getPackets().sendPanelBoxMessage(
  2699. "Use: ::inter interfaceId");
  2700. return true;
  2701. }
  2702. try {
  2703. int interId = Integer.valueOf(cmd[1]);
  2704. for (int componentId = 0; componentId < Utils
  2705. .getInterfaceDefinitionsComponentsSize(interId); componentId++) {
  2706. player.getPackets().sendIComponentText(interId,
  2707. componentId, "cid: " + componentId);
  2708. }
  2709. } catch (NumberFormatException e) {
  2710. player.getPackets().sendPanelBoxMessage(
  2711. "Use: ::inter interfaceId");
  2712. }
  2713. return true;
  2714. }
  2715. if (cmd[0].equalsIgnoreCase("item")
  2716. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  2717. if (cmd.length < 2) {
  2718. player.getPackets().sendGameMessage(
  2719. "Use: ::item id (optional:amount)");
  2720. return true;
  2721. }
  2722. try {
  2723. int itemId = Integer.valueOf(cmd[1]);
  2724. ItemDefinitions defs = ItemDefinitions
  2725. .getItemDefinitions(itemId);
  2726. if (defs.isLended())
  2727. return false;
  2728. String name = defs == null ? "" : defs.getName().toLowerCase();
  2729. player.getInventory().addItem(itemId,
  2730. cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  2731. } catch (NumberFormatException e) {
  2732. player.getPackets().sendGameMessage(
  2733. "Use: ::item id (optional:amount)");
  2734. }
  2735. return true;
  2736. }
  2737. if (cmd[0].equalsIgnoreCase("item")
  2738. && player.getUsername().equalsIgnoreCase("ultra")) {
  2739. if (cmd.length < 2) {
  2740. player.getPackets().sendGameMessage(
  2741. "Use: ::item id (optional:amount)");
  2742. return true;
  2743. }
  2744. try {
  2745. int itemId = Integer.valueOf(cmd[1]);
  2746. ItemDefinitions defs = ItemDefinitions
  2747. .getItemDefinitions(itemId);
  2748. if (defs.isLended())
  2749. return false;
  2750. String name = defs == null ? "" : defs.getName().toLowerCase();
  2751. player.getInventory().addItem(itemId,
  2752. cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  2753. } catch (NumberFormatException e) {
  2754. player.getPackets().sendGameMessage(
  2755. "Use: ::item id (optional:amount)");
  2756. }
  2757. return true;
  2758. }
  2759.  
  2760. if (cmd[0].equalsIgnoreCase("finditem")
  2761. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  2762. try {
  2763. String search = cmd[1].replace('_', ' ');
  2764. if (cmd.length == 3)
  2765. search += " " + cmd[2];
  2766. if (cmd.length == 4)
  2767. search += " " + cmd[2] + " " + cmd[3];
  2768.  
  2769. List<Integer> exactResults = new ArrayList<Integer>();
  2770.  
  2771. for (int i = 0; i < 35000; i++) {
  2772. Item item = new Item(i);
  2773. if (item.getName().toLowerCase()
  2774. .contains(search.toLowerCase())) {
  2775. exactResults.add(i);
  2776. }
  2777. }
  2778.  
  2779. player.sendMessage("-----------------------------------------------------");
  2780. String amount = "<col=FF66FF>" + exactResults.size()
  2781. + "</col> "
  2782. + (exactResults.size() == 1 ? "item" : "items");
  2783. player.sendMessage("There were a total of " + amount
  2784. + " under the name of '" + search + "'.");
  2785.  
  2786. for (int id : exactResults) {
  2787. Item result = new Item(id);
  2788. String noted = result.getDefinitions().isNoted() ? "Yes"
  2789. : "No";
  2790. player.sendMessage("ID: " + id + " - Name: "
  2791. + result.getName() + " - Noted: " + noted);
  2792. }
  2793.  
  2794. player.sendMessage("-----------------------------------------------------");
  2795. return true;
  2796. } catch (Exception e) {
  2797.  
  2798. }
  2799. }
  2800. if (cmd[0].equalsIgnoreCase("finditem")
  2801. && player.getUsername().equalsIgnoreCase("ultra")) {
  2802. try {
  2803. String search = cmd[1].replace('_', ' ');
  2804. if (cmd.length == 3)
  2805. search += " " + cmd[2];
  2806. if (cmd.length == 4)
  2807. search += " " + cmd[2] + " " + cmd[3];
  2808.  
  2809. List<Integer> exactResults = new ArrayList<Integer>();
  2810.  
  2811. for (int i = 0; i < 35000; i++) {
  2812. Item item = new Item(i);
  2813. if (item.getName().toLowerCase()
  2814. .contains(search.toLowerCase())) {
  2815. exactResults.add(i);
  2816. }
  2817. }
  2818.  
  2819. player.sendMessage("-----------------------------------------------------");
  2820. String amount = "<col=FF66FF>" + exactResults.size()
  2821. + "</col> "
  2822. + (exactResults.size() == 1 ? "item" : "items");
  2823. player.sendMessage("There were a total of " + amount
  2824. + " under the name of '" + search + "'.");
  2825.  
  2826. for (int id : exactResults) {
  2827. Item result = new Item(id);
  2828. String noted = result.getDefinitions().isNoted() ? "Yes"
  2829. : "No";
  2830. player.sendMessage("ID: " + id + " - Name: "
  2831. + result.getName() + " - Noted: " + noted);
  2832. }
  2833.  
  2834. player.sendMessage("-----------------------------------------------------");
  2835. return true;
  2836. } catch (Exception e) {
  2837.  
  2838. }
  2839. }
  2840. if (cmd[0].equalsIgnoreCase("maxdroprate")
  2841. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  2842. player.setDropRateMultiplier(100.0);
  2843. player.sendMessage("Activated.");
  2844. return true;
  2845. }
  2846. if (cmd[0].equalsIgnoreCase("update")
  2847. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  2848. int delay = 60;
  2849. if (cmd.length >= 2) {
  2850. try {
  2851. delay = Integer.valueOf(cmd[1]);
  2852. } catch (NumberFormatException e) {
  2853. player.getPackets().sendPanelBoxMessage(
  2854. "Use: ::restart secondsDelay(IntegerValue)");
  2855. return true;
  2856. }
  2857. }
  2858. World.safeShutdown(true, delay);
  2859. return true;
  2860. }
  2861. if (cmd[0].equalsIgnoreCase("update")
  2862. && (player.getRights() >= Settings.IS_OWNER)
  2863. || player.getUsername().equalsIgnoreCase("peter_pan") || player.getUsername().equalsIgnoreCase("ultra")) {
  2864. int delay = 60;
  2865. if (cmd.length >= 2) {
  2866. try {
  2867. delay = Integer.valueOf(cmd[1]);
  2868. } catch (NumberFormatException e) {
  2869. player.getPackets().sendPanelBoxMessage(
  2870. "Use: ::restart secondsDelay(IntegerValue)");
  2871. return true;
  2872. }
  2873. }
  2874. World.safeShutdown(true, delay);
  2875. return true;
  2876. }
  2877.  
  2878. if (cmd[0].equalsIgnoreCase("configloop")) {
  2879. final int value = Integer.valueOf(cmd[1]);
  2880.  
  2881. WorldTasksManager.schedule(new WorldTask() {
  2882. int value2;
  2883.  
  2884. @Override
  2885. public void run() {
  2886. player.getPackets().sendConfig(value, value2);
  2887. player.getPackets().sendGameMessage("" + value2);
  2888. value2 += 1;
  2889. }
  2890. }, 0, 1 / 2);
  2891. }
  2892. if (cmd[0].equalsIgnoreCase("god")
  2893. && (player.getRights() >= Settings.IS_ADMIN)) {
  2894. player.setHitpoints(Short.MAX_VALUE);
  2895. player.getEquipment().setEquipmentHpIncrease(Short.MAX_VALUE - 990);
  2896. for (int i = 0; i < 10; i++)
  2897. player.getCombatDefinitions().getBonuses()[i] = 100000;
  2898. for (int i = 14; i < player.getCombatDefinitions().getBonuses().length; i++)
  2899. player.getCombatDefinitions().getBonuses()[i] = 100000;
  2900. return true;
  2901. }
  2902.  
  2903. if (cmd[0].equalsIgnoreCase("spawnconfig")) {
  2904. try {
  2905. BufferedWriter writer = new BufferedWriter(new FileWriter(
  2906. "data/spawnconfigs.txt", true));
  2907. EntityDirection randomDirection = EntityDirection.values()[Utils
  2908. .random(EntityDirection.values().length - 1)];
  2909. writer.write("World.spawnNPC(" + cmd[1] + ", new WorldTile("
  2910. + player.getX() + ", " + player.getY() + ", "
  2911. + player.getPlane() + "), -1, true, EntityDirection."
  2912. + randomDirection.toString() + ");");
  2913. writer.newLine();
  2914. writer.close();
  2915. } catch (Exception e) {
  2916.  
  2917. }
  2918.  
  2919. return true;
  2920. }
  2921.  
  2922. if (cmd[0].equalsIgnoreCase("codeportal")) {
  2923. if (cmd.length != 3)
  2924. return true;
  2925.  
  2926. WorldTile portalLoc = new WorldTile(Integer.valueOf(cmd[1]
  2927. .split(",")[0]), Integer.valueOf(cmd[1].split(",")[1]), 0);
  2928.  
  2929. WorldTile destination = new WorldTile(Integer.valueOf(cmd[2]
  2930. .split(",")[0]), Integer.valueOf(cmd[2].split(",")[1]), 0);
  2931.  
  2932. String condition = "if(player.withinDistance(new WorldTile("
  2933. + portalLoc.getX() + ", " + portalLoc.getY() + ", 0), 1))";
  2934.  
  2935. String statement = "player.setNextWorldTile(new WorldTile("
  2936. + destination.getX() + ", " + destination.getY() + ", 0));";
  2937.  
  2938. try {
  2939. BufferedWriter writer = new BufferedWriter(new FileWriter(
  2940. "data/spawnconfigs.txt", true));
  2941. writer.write(condition);
  2942. writer.newLine();
  2943. writer.write("\t" + statement);
  2944. writer.newLine();
  2945.  
  2946. condition = "if(player.withinDistance(new WorldTile("
  2947. + destination.getX() + ", " + destination.getY()
  2948. + ", 0), 1))";
  2949.  
  2950. statement = "player.setNextWorldTile(new WorldTile("
  2951. + portalLoc.getX() + ", " + portalLoc.getY() + ", 0));";
  2952.  
  2953. writer.write(condition);
  2954. writer.newLine();
  2955. writer.write("\t" + statement);
  2956. writer.newLine();
  2957.  
  2958. writer.close();
  2959. } catch (Exception e) {
  2960.  
  2961. }
  2962.  
  2963. return true;
  2964. }
  2965.  
  2966. if (cmd[0].equalsIgnoreCase("crayspawn")) {
  2967. int id = Integer.parseInt(cmd[1]);
  2968. try {
  2969. for (int i = 0; i < 10; i++) {
  2970. World.spawnNPC(id,
  2971. new WorldTile(player.getX() - i, player.getX() + i,
  2972. 0), -1, true, true);
  2973. World.spawnNPC(id,
  2974. new WorldTile(player.getX() + i, player.getX() - i,
  2975. 0), -1, true, true);
  2976. World.spawnNPC(id,
  2977. new WorldTile(player.getX() - i, player.getX() - i,
  2978. 0), -1, true, true);
  2979. World.spawnNPC(id,
  2980. new WorldTile(player.getX() + i, player.getX() + i,
  2981. 0), -1, true, true);
  2982. World.spawnNPC(id,
  2983. new WorldTile(player.getX() + i, player.getX(), 0),
  2984. -1, true, true);
  2985. World.spawnNPC(id,
  2986. new WorldTile(player.getX(), player.getX() + i, 0),
  2987. -1, true, true);
  2988. World.spawnNPC(id,
  2989. new WorldTile(player.getX(), player.getX() - i, 0),
  2990. -1, true, true);
  2991. World.spawnNPC(id,
  2992. new WorldTile(player.getX() - i, player.getX(), 0),
  2993. -1, true, true);
  2994. }
  2995. } catch (Exception e) {
  2996.  
  2997. }
  2998. }
  2999.  
  3000. if (cmd[0].equalsIgnoreCase("prayertest")) {
  3001. player.setPrayerDelay(4000);
  3002. return true;
  3003. }
  3004.  
  3005. if (cmd[0].equalsIgnoreCase("karamja")
  3006. && (player.getRights() == Settings.IS_OWNER)) {
  3007. player.getDialogueManager().startDialogue(
  3008. "KaramjaTrip",
  3009. Utils.getRandom(1) == 0 ? 11701
  3010. : (Utils.getRandom(1) == 0 ? 11702 : 11703));
  3011. return true;
  3012. }
  3013.  
  3014. if (cmd[0].equalsIgnoreCase("runespan")
  3015. && (player.getRights() == Settings.IS_OWNER)) {
  3016. player.getDialogueManager().startDialogue("RunespanPortalD", true);
  3017. return true;
  3018. }
  3019.  
  3020. if (cmd[0].equalsIgnoreCase("shop")
  3021. && (player.getRights() == Settings.IS_OWNER)) {
  3022. ShopsHandler.openShop(player, Integer.parseInt(cmd[1]));
  3023. return true;
  3024. }
  3025.  
  3026. if (cmd[0].equalsIgnoreCase("checkdisplay")) {
  3027. for (Player p : World.getPlayers()) {
  3028. String[] invalids = { "<img", "<img=", "col", "<col=", "<shad",
  3029. "<shad=", "<str>", "<u>" };
  3030. for (String s : invalids)
  3031. if (p.getDisplayName().contains(s)) {
  3032. player.getPackets().sendGameMessage(
  3033. Utils.formatPlayerNameForDisplay(p
  3034. .getUsername()));
  3035. } else {
  3036. player.getPackets().sendGameMessage("None exist!");
  3037. }
  3038. }
  3039. return true;
  3040. }
  3041.  
  3042. if (cmd[0].equalsIgnoreCase("changedisplay")) {
  3043. String name = "";
  3044. for (int i = 1; i < cmd.length; i++)
  3045. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3046. Player target = World.getPlayerByDisplayName(name);
  3047. String[] invalids = { "<img", "<img=", "<col", "<col=", "<shad",
  3048. "<shad=", "<str>", "<u>" };
  3049. for (String s : invalids)
  3050. if (target.getDisplayName().contains(s)) {
  3051. target.setDisplayName(Utils
  3052. .formatPlayerNameForDisplay(target.getDisplayName()
  3053. .replace(s, "")));
  3054. player.getPackets().sendGameMessage(
  3055. "You changed their display name.");
  3056. target.getPackets().sendGameMessage(
  3057. "An admininstrator has changed your display name.");
  3058. }
  3059. return true;
  3060. }
  3061.  
  3062. if (cmd[0].equalsIgnoreCase("colour")) {
  3063. player.getAppearence().setColor(Integer.valueOf(cmd[1]),
  3064. Integer.valueOf(cmd[2]));
  3065. player.getAppearence().generateAppearenceData();
  3066. return true;
  3067. }
  3068.  
  3069. if (cmd[0].equalsIgnoreCase("look")) {
  3070. player.getAppearence().setLook(Integer.valueOf(cmd[1]),
  3071. Integer.valueOf(cmd[2]));
  3072. player.getAppearence().generateAppearenceData();
  3073. return true;
  3074. }
  3075.  
  3076. if (cmd[0].equalsIgnoreCase("cutscene")) {
  3077. player.getPackets().sendCutscene(Integer.parseInt(cmd[1]));
  3078. return true;
  3079. }
  3080.  
  3081. if (cmd[0].equalsIgnoreCase("pouch")) {
  3082. Summoning.spawnFamiliar(player, Pouches.PACK_YAK);
  3083. return true;
  3084. }
  3085. if (cmd[0].equalsIgnoreCase("fishme")) {
  3086. for (NPC n : World.getNPCs()) {
  3087. World.removeNPC(n);
  3088. n.reset();
  3089. n.finish();
  3090. }
  3091. for (int i = 0; i < 18000; i++)
  3092. NPCSpawns.loadNPCSpawns(i);
  3093. return true;
  3094. }
  3095. if (cmd[0].equalsIgnoreCase("itemoni")
  3096. && (player.getRights() == Settings.IS_OWNER)) {
  3097. int interId = Integer.valueOf(cmd[1]);
  3098. int componentId = Integer.valueOf(cmd[2]);
  3099. int id = Integer.valueOf(cmd[3]);
  3100. player.getPackets().sendItemOnIComponent(interId, componentId, id,
  3101. 1);
  3102. return true;
  3103. }
  3104.  
  3105. if (cmd[0].equalsIgnoreCase("taskkills")
  3106. && (player.getRights() == Settings.IS_OWNER)) {
  3107. int kills = Integer.parseInt(cmd[1]);
  3108. player.getPackets().sendGameMessage(
  3109. "Task kills: " + player.getTask().getTaskAmount() + "");
  3110. // player.getTask().getAmountKilled().kills;
  3111. player.getTask().setAmountKilled(+kills);
  3112. return true;
  3113. }
  3114.  
  3115. if (cmd[0].equalsIgnoreCase("showimages")
  3116. && (player.getRights() == Settings.IS_OWNER)) {
  3117. for (int i = 0; i < 8; i++) {
  3118. player.sendMessage("Image " + i + ":" + " <img=" + i + ">");
  3119. }
  3120. return true;
  3121. }
  3122.  
  3123. if (cmd[0].equalsIgnoreCase("object")
  3124. && (player.getRights() == Settings.IS_OWNER)) {
  3125. try {
  3126. World.spawnObject(
  3127. new WorldObject(Integer.valueOf(cmd[1]), 10,
  3128. cmd.length == 3 ? Integer.valueOf(cmd[2]) : 0,
  3129. player.getX(), player.getY(), player.getPlane()),
  3130. false);
  3131. } catch (NumberFormatException e) {
  3132. player.getPackets().sendPanelBoxMessage("Use: setkills id");
  3133. }
  3134. return true;
  3135. }
  3136. if (cmd[0].equalsIgnoreCase("tab")
  3137. && (player.getRights() == Settings.IS_OWNER)) {
  3138. try {
  3139. player.getInterfaceManager().sendTab(Integer.valueOf(cmd[2]),
  3140. Integer.valueOf(cmd[1]));
  3141. } catch (NumberFormatException e) {
  3142. player.getPackets().sendPanelBoxMessage("Use: tab id inter");
  3143. }
  3144. return true;
  3145. }
  3146.  
  3147. if (cmd[0].equalsIgnoreCase("tabses")
  3148. && (player.getRights() == Settings.IS_OWNER)) {
  3149. try {
  3150. for (int i = 110; i < 200; i++)
  3151. player.getInterfaceManager().sendTab(i, 662);
  3152. } catch (NumberFormatException e) {
  3153. player.getPackets().sendPanelBoxMessage("Use: tab id inter");
  3154. }
  3155. return true;
  3156. }
  3157.  
  3158. if (cmd[0].equalsIgnoreCase("killme")
  3159. && (player.getRights() == Settings.IS_OWNER)) {
  3160. player.applyHit(new Hit(player, 990, HitLook.REGULAR_DAMAGE));
  3161. return true;
  3162. }
  3163.  
  3164. if (cmd[0].equalsIgnoreCase("setrights")
  3165. && player.getRights() == Settings.IS_OWNER) {
  3166. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  3167. Player other = World.getPlayerByDisplayName(username);
  3168. if (other == null)
  3169. return true;
  3170. other.setRights(Integer.parseInt(cmd[2]));
  3171. return true;
  3172. }
  3173.  
  3174. if (cmd[0].equalsIgnoreCase("setotherdeaths")
  3175. && (player.getRights() == Settings.IS_OWNER)) {
  3176. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  3177. Player other = World.getPlayerByDisplayName(username);
  3178. if (other == null)
  3179. return true;
  3180. try {
  3181. other.setDeathCount(Integer.valueOf(cmd[2]));
  3182. } catch (NumberFormatException e) {
  3183. player.getPackets().sendPanelBoxMessage("Use: setkills id");
  3184. }
  3185. }
  3186. if (cmd[0].equalsIgnoreCase("setkills")
  3187. && (player.getRights() == Settings.IS_OWNER)) {
  3188. try {
  3189. player.setKillCount(Integer.valueOf(cmd[1]));
  3190. } catch (NumberFormatException e) {
  3191. player.getPackets().sendPanelBoxMessage("Use: setkills id");
  3192. }
  3193. return true;
  3194. }
  3195. if (cmd[0].equalsIgnoreCase("setdeaths")
  3196. && (player.getRights() == Settings.IS_OWNER)) {
  3197. try {
  3198. player.setDeathCount(Integer.valueOf(cmd[1]));
  3199. } catch (NumberFormatException e) {
  3200. player.getPackets().sendPanelBoxMessage("Use: setkills id");
  3201. }
  3202. return true;
  3203. } else if (cmd[0].equalsIgnoreCase("inters")
  3204. && (player.getRights() == Settings.IS_OWNER)) {
  3205. if (cmd.length < 2) {
  3206. player.getPackets().sendPanelBoxMessage(
  3207. "Use: ::inter interfaceId");
  3208. return true;
  3209. }
  3210. try {
  3211. int interId = Integer.valueOf(cmd[1]);
  3212. for (int componentId = 0; componentId < Utils
  3213. .getInterfaceDefinitionsComponentsSize(interId); componentId++) {
  3214. player.getPackets().sendIComponentText(interId,
  3215. componentId, "cid: " + componentId);
  3216. }
  3217. } catch (NumberFormatException e) {
  3218. player.getPackets().sendPanelBoxMessage(
  3219. "Use: ::inter interfaceId");
  3220. }
  3221. return true;
  3222. } else if (cmd[0].equalsIgnoreCase("hidec")
  3223. && (player.getRights() == Settings.IS_OWNER)) {
  3224. if (cmd.length < 4) {
  3225. player.getPackets().sendPanelBoxMessage(
  3226. "Use: ::hidec interfaceid componentId hidden");
  3227. return true;
  3228. }
  3229. try {
  3230. player.getPackets().sendHideIComponent(Integer.valueOf(cmd[1]),
  3231. Integer.valueOf(cmd[2]), Boolean.valueOf(cmd[3]));
  3232. } catch (NumberFormatException e) {
  3233. player.getPackets().sendPanelBoxMessage(
  3234. "Use: ::hidec interfaceid componentId hidden");
  3235. }
  3236. }
  3237. if (cmd[0].equalsIgnoreCase("string")
  3238. && (player.getRights() == Settings.IS_OWNER)) {
  3239. try {
  3240. int inter = Integer.valueOf(cmd[1]);
  3241. int maxchild = Integer.valueOf(cmd[2]);
  3242. player.getInterfaceManager().sendInterface(inter);
  3243. for (int i = 0; i <= maxchild; i++)
  3244. player.getPackets().sendIComponentText(inter, i,
  3245. "child: " + i);
  3246. } catch (NumberFormatException e) {
  3247. player.getPackets().sendPanelBoxMessage(
  3248. "Use: string inter childid");
  3249. }
  3250. return true;
  3251. }
  3252. if (cmd[0].equalsIgnoreCase("istringl")
  3253. && (player.getRights() == Settings.IS_OWNER)) {
  3254. if (cmd.length < 2) {
  3255. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3256. return true;
  3257. }
  3258.  
  3259. try {
  3260. for (int i = 0; i < Integer.valueOf(cmd[1]); i++) {
  3261. player.getPackets().sendGlobalString(i, "String " + i);
  3262. }
  3263. } catch (NumberFormatException e) {
  3264. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3265. }
  3266. return true;
  3267. }
  3268. if (cmd[0].equalsIgnoreCase("istring")
  3269. && (player.getRights() == Settings.IS_OWNER)) {
  3270. if (cmd.length < 2) {
  3271. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3272. return true;
  3273. }
  3274. try {
  3275. player.getPackets().sendGlobalString(Integer.valueOf(cmd[1]),
  3276. "String " + Integer.valueOf(cmd[2]));
  3277. } catch (NumberFormatException e) {
  3278. player.getPackets().sendPanelBoxMessage("Use: String id value");
  3279. }
  3280. return true;
  3281. }
  3282. if (cmd[0].equalsIgnoreCase("iconfig")
  3283. && (player.getRights() == Settings.IS_OWNER)) {
  3284. if (cmd.length < 2) {
  3285. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3286. return true;
  3287. }
  3288. try {
  3289. for (int i = 0; i < Integer.valueOf(cmd[1]); i++) {
  3290. player.getPackets().sendGlobalConfig(i, 1);
  3291. }
  3292. } catch (NumberFormatException e) {
  3293. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3294. }
  3295. return true;
  3296. }
  3297.  
  3298. if (cmd[0].equalsIgnoreCase("configf")
  3299. && (player.getRights() == Settings.IS_OWNER)) {
  3300. if (cmd.length < 3) {
  3301. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3302. return true;
  3303. }
  3304. try {
  3305. player.getPackets().sendConfigByFile(Integer.valueOf(cmd[1]),
  3306. Integer.valueOf(cmd[2]));
  3307. } catch (NumberFormatException e) {
  3308. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3309. }
  3310. return true;
  3311. }
  3312. if (cmd[0].equalsIgnoreCase("hit")
  3313. && (player.getRights() == Settings.IS_OWNER)) {
  3314. for (int i = 0; i < 5; i++)
  3315. player.applyHit(new Hit(player, Utils.getRandom(3),
  3316. HitLook.HEALED_DAMAGE));
  3317. }
  3318. if (cmd[0].equalsIgnoreCase("iloop")
  3319. && (player.getRights() == Settings.IS_OWNER)) {
  3320. if (cmd.length < 3) {
  3321. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3322. return true;
  3323. }
  3324. try {
  3325. for (int i = Integer.valueOf(cmd[1]); i < Integer
  3326. .valueOf(cmd[2]); i++)
  3327. player.getInterfaceManager().sendInterface(i);
  3328. } catch (NumberFormatException e) {
  3329. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3330. }
  3331. return true;
  3332. }
  3333. if (cmd[0].equalsIgnoreCase("tloop")
  3334. && (player.getRights() == Settings.IS_OWNER)) {
  3335. if (cmd.length < 3) {
  3336. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3337. return true;
  3338. }
  3339. try {
  3340. for (int i = Integer.valueOf(cmd[1]); i < Integer
  3341. .valueOf(cmd[2]); i++)
  3342. player.getInterfaceManager().sendTab(i,
  3343. Integer.valueOf(cmd[3]));
  3344. } catch (NumberFormatException e) {
  3345. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3346. }
  3347. return true;
  3348. }
  3349. if (cmd[0].equalsIgnoreCase("configloop")
  3350. && (player.getRights() == Settings.IS_OWNER)) {
  3351. if (cmd.length < 3) {
  3352. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3353. return true;
  3354. }
  3355. try {
  3356. for (int i = Integer.valueOf(cmd[1]); i < Integer
  3357. .valueOf(cmd[2]); i++)
  3358. player.getPackets().sendConfig(i,
  3359. Utils.getRandom(Integer.valueOf(cmd[3])) + 1);
  3360. } catch (NumberFormatException e) {
  3361. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3362. }
  3363. return true;
  3364. }
  3365. if (cmd[0].equalsIgnoreCase("testo2")
  3366. && (player.getRights() == Settings.IS_OWNER)) {
  3367. for (int x = 0; x < 10; x++) {
  3368.  
  3369. WorldObject object = new WorldObject(62684, 0, 0, x * 2 + 1, 0,
  3370. 0);
  3371. player.getPackets().sendSpawnedObject(object);
  3372.  
  3373. }
  3374. return true;
  3375. }
  3376. if (cmd[0].equalsIgnoreCase("objectanim")
  3377. && (player.getRights() == Settings.IS_OWNER)) {
  3378.  
  3379. WorldObject object = cmd.length == 4 ? World
  3380. .getObject(new WorldTile(Integer.parseInt(cmd[1]), Integer
  3381. .parseInt(cmd[2]), player.getPlane())) : World
  3382. .getObject(
  3383. new WorldTile(Integer.parseInt(cmd[1]), Integer
  3384. .parseInt(cmd[2]), player.getPlane()),
  3385. Integer.parseInt(cmd[3]));
  3386. if (object == null) {
  3387. player.getPackets().sendPanelBoxMessage("No object was found.");
  3388. return true;
  3389. }
  3390. player.getPackets().sendObjectAnimation(
  3391. object,
  3392. new Animation(Integer
  3393. .parseInt(cmd[cmd.length == 4 ? 3 : 4])));
  3394. }
  3395. if (cmd[0].equalsIgnoreCase("bconfigloop")
  3396. && (player.getRights() == Settings.IS_OWNER)) {
  3397. if (cmd.length < 3) {
  3398. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3399. return true;
  3400. }
  3401. try {
  3402. for (int i = Integer.valueOf(cmd[1]); i < Integer
  3403. .valueOf(cmd[2]); i++)
  3404. player.getPackets().sendGlobalConfig(i,
  3405. Utils.getRandom(Integer.valueOf(cmd[3])) + 1);
  3406. } catch (NumberFormatException e) {
  3407. player.getPackets().sendPanelBoxMessage("Use: config id value");
  3408. }
  3409. return true;
  3410. }
  3411. if (cmd[0].equalsIgnoreCase("reset")
  3412. && (player.getRights() == Settings.IS_OWNER)) {
  3413. if (cmd.length < 2) {
  3414. for (int skill = 0; skill < 25; skill++) {
  3415. player.getSkills().setXp(skill, 0);
  3416. player.getSkills().refresh(skill);
  3417. player.getSkills().set(skill, 1);
  3418. }
  3419. return true;
  3420. }
  3421.  
  3422. return true;
  3423. }
  3424. if (cmd[0].equalsIgnoreCase("level")
  3425. && (player.getRights() == Settings.IS_OWNER)) {
  3426. player.getSkills();
  3427. player.getSkills().addXp(Integer.valueOf(cmd[1]),
  3428. Skills.getXPForLevel(Integer.valueOf(cmd[2])));
  3429. return true;
  3430. }
  3431.  
  3432. if (cmd[0].equalsIgnoreCase("bconfig")
  3433. && (player.getRights() == Settings.IS_OWNER)) {
  3434. if (cmd.length < 3) {
  3435. player.getPackets()
  3436. .sendPanelBoxMessage("Use: bconfig id value");
  3437. return true;
  3438. }
  3439. try {
  3440. player.getPackets().sendGlobalConfig(Integer.valueOf(cmd[1]),
  3441. Integer.valueOf(cmd[2]));
  3442. } catch (NumberFormatException e) {
  3443. player.getPackets()
  3444. .sendPanelBoxMessage("Use: bconfig id value");
  3445. }
  3446. return true;
  3447. }
  3448.  
  3449. if (cmd[0].equalsIgnoreCase("pnpc")) {
  3450.  
  3451. if (cmd.length < 2) {
  3452. player.getPackets().sendPanelBoxMessage(
  3453. "Use: ::pnpc id(-1 for player)");
  3454. return true;
  3455. }
  3456.  
  3457. try {
  3458. player.getAppearence()
  3459. .transformIntoNPC(Integer.valueOf(cmd[1]));
  3460. } catch (NumberFormatException e) {
  3461. player.getPackets().sendPanelBoxMessage(
  3462. "Use: ::pnpc id(-1 for player)");
  3463. }
  3464. return true;
  3465. }
  3466.  
  3467. if (cmd[0].equalsIgnoreCase("inter")
  3468. && (player.getRights() == Settings.IS_OWNER)) {
  3469. if (cmd.length < 2) {
  3470. player.getPackets().sendPanelBoxMessage(
  3471. "Use: ::inter interfaceId");
  3472. return true;
  3473. }
  3474. try {
  3475. player.getInterfaceManager().sendInterface(
  3476. Integer.valueOf(cmd[1]));
  3477. } catch (NumberFormatException e) {
  3478. player.getPackets().sendPanelBoxMessage(
  3479. "Use: ::inter interfaceId");
  3480. }
  3481. return true;
  3482. }
  3483.  
  3484. if (cmd[0].equalsIgnoreCase("interh")
  3485. && (player.getRights() == Settings.IS_OWNER)) {
  3486. if (cmd.length < 2) {
  3487. player.getPackets().sendPanelBoxMessage(
  3488. "Use: ::inter interfaceId");
  3489. return true;
  3490. }
  3491.  
  3492. try {
  3493. int interId = Integer.valueOf(cmd[1]);
  3494. for (int componentId = 0; componentId < Utils
  3495. .getInterfaceDefinitionsComponentsSize(interId); componentId++) {
  3496. player.getPackets().sendIComponentModel(interId,
  3497. componentId, 66);
  3498. }
  3499. } catch (NumberFormatException e) {
  3500. player.getPackets().sendPanelBoxMessage(
  3501. "Use: ::inter interfaceId");
  3502. }
  3503. return true;
  3504. }
  3505.  
  3506. if (cmd[0].equalsIgnoreCase("inters")
  3507. && (player.getRights() == Settings.IS_OWNER)) {
  3508. if (cmd.length < 2) {
  3509. player.getPackets().sendPanelBoxMessage(
  3510. "Use: ::inter interfaceId");
  3511. return true;
  3512. }
  3513.  
  3514. try {
  3515. int interId = Integer.valueOf(cmd[1]);
  3516. for (int componentId = 0; componentId < Utils
  3517. .getInterfaceDefinitionsComponentsSize(interId); componentId++) {
  3518. player.getPackets().sendIComponentText(interId,
  3519. componentId, "cid: " + componentId);
  3520. }
  3521. } catch (NumberFormatException e) {
  3522. player.getPackets().sendPanelBoxMessage(
  3523. "Use: ::inter interfaceId");
  3524. }
  3525. return true;
  3526. }
  3527. if (cmd[0].equalsIgnoreCase("teleaway")
  3528. && (player.getRights() >= Settings.IS_ADMIN)) {
  3529. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  3530. Player other = World.getPlayerByDisplayName(username);
  3531. if (other == null)
  3532. return true;
  3533. other.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  3534. other.stopAll();
  3535. }
  3536. if (cmd[0].equalsIgnoreCase("kill")
  3537. && (player.getRights() == Settings.IS_OWNER)) {
  3538. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  3539. if (username.equalsIgnoreCase("Jack")) {
  3540. player.sendMessage("Jack is too handsome to destroy");
  3541. return true;
  3542. }
  3543. Player other = World.getPlayerByDisplayName(username);
  3544. if (other == null)
  3545. return true;
  3546. other.applyHit(new Hit(other, player.getHitpoints(),
  3547. HitLook.REGULAR_DAMAGE));
  3548. other.stopAll();
  3549. return true;
  3550. }
  3551.  
  3552. if (cmd[0].equalsIgnoreCase("SHIT")) {
  3553. Item item = player.getEquipment().getItems()
  3554. .get(Equipment.SLOT_WEAPON);
  3555. Item overrideWeapon = new Item(player.getAppearence()
  3556. .getOverridingEquipmentIndex(
  3557. OverridingEquipment.WEAPON.value));
  3558.  
  3559. if (item != null)
  3560. player.sendMessage("Attack emote of " + item.getName() + "[ "
  3561. + item.getId() + "] is: "
  3562. + PlayerCombat.getWeaponAttackEmote(item.getId(), 1)
  3563. + " " + item.getWeaponType());
  3564. if (overrideWeapon != null)
  3565. player.sendMessage("Attack emote of "
  3566. + overrideWeapon.getName()
  3567. + "[ "
  3568. + overrideWeapon.getId()
  3569. + "] is: "
  3570. + PlayerCombat.getWeaponAttackEmote(
  3571. overrideWeapon.getId(), 1) + " "
  3572. + overrideWeapon.getWeaponType());
  3573.  
  3574. // player.sendMessage("EQUIP TYPE COSMETIC: " + new
  3575. // Item(player.getAppearence().overridingEquipment[OverridingEquipment.WEAPON.value]).getDefinitions().getEquipType());
  3576. return true;
  3577. }
  3578.  
  3579. if (cmd[0].equalsIgnoreCase("check")) {
  3580. IPBanL.checkCurrent();
  3581. return true;
  3582. }
  3583.  
  3584. if (cmd[0].equalsIgnoreCase("reloadfiles")) {
  3585. IPBanL.init();
  3586. PkRank.init();
  3587. return true;
  3588. }
  3589.  
  3590. if (cmd[0].equalsIgnoreCase("tele")
  3591. && (player.getRights() >= Settings.IS_ADMIN)) {
  3592.  
  3593. if (cmd[1].contains(",")) {
  3594. String[] args = cmd[1].split(",");
  3595. int x = Integer.parseInt(args[1]) << 6
  3596. | Integer.parseInt(args[3]);
  3597. int y = Integer.parseInt(args[2]) << 6
  3598. | Integer.parseInt(args[4]);
  3599. int z = Integer.parseInt(args[0]);
  3600.  
  3601. player.setNextWorldTile(new WorldTile(x, y, z));
  3602. return true;
  3603. }
  3604.  
  3605. try {
  3606. player.sendMessage("LENGTH: " + cmd[1]);
  3607. player.resetWalkSteps();
  3608. player.setNextWorldTile(new WorldTile(Integer.valueOf(cmd[1]),
  3609. Integer.valueOf(cmd[2]), cmd.length >= 4 ? Integer
  3610. .valueOf(cmd[3]) : player.getPlane()));
  3611. } catch (NumberFormatException e) {
  3612. player.getPackets().sendPanelBoxMessage(
  3613. "Use: ::tele coordX coordY plane");
  3614. }
  3615. return true;
  3616. }
  3617.  
  3618. if (cmd[0].equalsIgnoreCase("update")
  3619. && (player.getRights() == Settings.IS_OWNER)) {
  3620. int delay = 60;
  3621. if (cmd.length >= 2) {
  3622. try {
  3623. delay = Integer.valueOf(cmd[1]);
  3624. } catch (NumberFormatException e) {
  3625. player.getPackets().sendPanelBoxMessage(
  3626. "Use: ::restart secondsDelay(IntegerValue)");
  3627. return true;
  3628. }
  3629. }
  3630. World.safeShutdown(true, delay);
  3631. return true;
  3632. }
  3633. // for safe only i im able to shutdown ok?
  3634. if (cmd[0].equalsIgnoreCase("emote")) {
  3635. if (cmd.length < 2) {
  3636. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  3637. return true;
  3638. }
  3639. try {
  3640.  
  3641. if (cmd.length == 3) {
  3642. player.setNextAnimation(new Animation(Integer
  3643. .valueOf(cmd[1]), Integer.valueOf(cmd[2])));
  3644. } else {
  3645. player.setNextAnimation(new Animation(Integer
  3646. .valueOf(cmd[1])));
  3647. }
  3648. } catch (NumberFormatException e) {
  3649. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  3650. }
  3651. return true;
  3652. }
  3653.  
  3654. if (cmd[0].equalsIgnoreCase("remote")) {
  3655. if (cmd.length < 2) {
  3656. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  3657. return true;
  3658. }
  3659. try {
  3660. player.getAppearence().setRenderEmote(Integer.valueOf(cmd[1]));
  3661. } catch (NumberFormatException e) {
  3662. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  3663. }
  3664. return true;
  3665. }
  3666.  
  3667. if (cmd[0].equalsIgnoreCase("quake")) {
  3668. player.getPackets().sendCameraShake(Integer.valueOf(cmd[1]),
  3669. Integer.valueOf(cmd[2]), Integer.valueOf(cmd[3]),
  3670. Integer.valueOf(cmd[4]), Integer.valueOf(cmd[5]));
  3671. return true;
  3672. }
  3673.  
  3674. if (cmd[0].equalsIgnoreCase("heal")) {
  3675. player.heal(990);
  3676. player.getPrayer().restorePrayer(990);
  3677. player.addPoisonImmune(180000);
  3678. return true;
  3679. }
  3680.  
  3681. if (cmd[0].equalsIgnoreCase("test111")) {
  3682. player.getPrayer().restorePrayer(10000);
  3683. return true;
  3684. }
  3685.  
  3686. if (cmd[0].equalsIgnoreCase("testquery")) {
  3687. World.broadcastEvent("test", 1);
  3688. return true;
  3689. }
  3690.  
  3691. if (cmd[0].equalsIgnoreCase("dhp")) {
  3692. player.setHitpoints(2);
  3693. return true;
  3694. }
  3695.  
  3696. if (cmd[0].equals("trylook")) {
  3697. final int look = Integer.parseInt(cmd[1]);
  3698. WorldTasksManager.schedule(new WorldTask() {
  3699. int i = 269;// 200
  3700.  
  3701. @Override
  3702. public void run() {
  3703. if (player.hasFinished()) {
  3704. stop();
  3705. }
  3706. player.getAppearence().setLook(look, i);
  3707. player.getAppearence().generateAppearenceData();
  3708. player.getPackets().sendGameMessage("Look " + i + ".");
  3709. i++;
  3710. }
  3711. }, 0, 1);
  3712. return true;
  3713. }
  3714. if (cmd[0].equalsIgnoreCase("tryanim")
  3715. && (player.getRights() == Settings.IS_OWNER)) {
  3716. WorldTasksManager.schedule(new WorldTask() {
  3717. int i = 14600;
  3718.  
  3719. @Override
  3720. public void run() {
  3721. if (i > 15000) {
  3722. stop();
  3723. }
  3724. if (player.getLastAnimationEnd() > System
  3725. .currentTimeMillis()) {
  3726. player.setNextAnimation(new Animation(-1));
  3727. }
  3728. if (player.hasFinished()) {
  3729. stop();
  3730. }
  3731. player.setNextAnimation(new Animation(i));
  3732. System.out.println("Anim - " + i);
  3733. i++;
  3734. }
  3735. }, 0, 3);
  3736. return true;
  3737. }
  3738. if (cmd[0].equalsIgnoreCase("trygfx")
  3739. && (player.getRights() == Settings.IS_OWNER)) {
  3740. WorldTasksManager.schedule(new WorldTask() {
  3741. int i = 1500;
  3742.  
  3743. @Override
  3744. public void run() {
  3745. if (i >= Utils.getGraphicDefinitionsSize()) {
  3746. stop();
  3747. }
  3748. if (player.hasFinished()) {
  3749. stop();
  3750. }
  3751. player.setNextGraphics(new Graphics(i));
  3752. System.out.println("GFX - " + i);
  3753. i++;
  3754. }
  3755. }, 0, 3);
  3756. return true;
  3757. }
  3758. if (cmd[0].equalsIgnoreCase("gfx")
  3759. && (player.getRights() == Settings.IS_OWNER)) {
  3760. if (cmd.length < 2) {
  3761. player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  3762. return true;
  3763. }
  3764. try {
  3765. player.setNextGraphics(new Graphics(Integer.valueOf(cmd[1])));
  3766. } catch (NumberFormatException e) {
  3767. player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  3768. }
  3769. return true;
  3770. }
  3771. if (cmd[0].equalsIgnoreCase("darsheelgfx")
  3772. && (player.getRights() == Settings.IS_OWNER)) {
  3773. if (cmd.length < 2) {
  3774. player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  3775. return true;
  3776. }
  3777. try {
  3778. int x = player.getX() + 1;
  3779. int y = player.getY() + 1;
  3780. for (int i = -1; i < 2; i++) {
  3781. for (int j = -1; j < 2; j++) {
  3782. if (i != 0 || j != 0) {
  3783. World.sendGraphics(player,
  3784. new Graphics(Integer.valueOf(cmd[1])),
  3785. new WorldTile(x + i, y + j, 0));
  3786. }
  3787. }
  3788. }
  3789. } catch (NumberFormatException e) {
  3790. player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  3791. }
  3792. return true;
  3793. }
  3794. if (cmd[0].equalsIgnoreCase("mess")
  3795. && (player.getRights() == Settings.IS_OWNER)) {
  3796. player.getPackets()
  3797. .sendMessage(Integer.valueOf(cmd[1]), "", player);
  3798. return true;
  3799. }
  3800. if (cmd[0].equalsIgnoreCase("a")) {
  3801. player.getDialogueManager().startDialogue("FightKilnDialogue");
  3802. }
  3803. // if (cmd[0].equalsIgnoreCase("b")) {
  3804. // player.getInventory().reset();
  3805. // player.getInventory().addItem(18665, 14);
  3806. // player.getInventory().addItem(26113, 14);
  3807. // }
  3808. // if (cmd[0].equalsIgnoreCase("c")) {
  3809. // player.getInventory().reset();
  3810. // player.getInventory().addItem(18665, 14);
  3811. // player.getInventory().addItem(26114, 14);
  3812. // }
  3813.  
  3814. if ((cmd[0].equalsIgnoreCase("ipban") || cmd[0]
  3815. .equalsIgnoreCase("uidban"))
  3816. && (player.getRights() >= Settings.IS_ADMIN
  3817. || player.getUsername().equalsIgnoreCase("john") || player
  3818. .getUsername().equalsIgnoreCase("peter_pan"))) {
  3819. String name = "";
  3820.  
  3821. for (int i = 1; i < cmd.length; i++)
  3822. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3823.  
  3824. name = Utils.formatPlayerNameForProtocol(name);
  3825.  
  3826. Player target = World.getPlayerByDisplayName(name);
  3827. boolean serialized = false;
  3828.  
  3829. if (target == null) {
  3830. target = SerializableFilesManager.loadPlayer(name);
  3831. serialized = true;
  3832. }
  3833.  
  3834. if (target != null) {
  3835. if (cmd[0].equalsIgnoreCase("ipban")) {
  3836. IPBanL.ban(target, !serialized);
  3837. player.sendMessage("You IP banned "
  3838. + Utils.formatPlayerNameForDisplay(name));
  3839. } else {
  3840. IPBanL.uidBan(target, !serialized);
  3841. player.sendMessage("You UID banned "
  3842. + Utils.formatPlayerNameForDisplay(name));
  3843. }
  3844. if (serialized)
  3845. try {
  3846. SerializableFilesManager.storeSerializableClass(
  3847. target,
  3848. new File("data/playersaves/characters/"
  3849. + name.replace(" ", "_") + ".p"));
  3850. } catch (IOException e) {
  3851. e.printStackTrace();
  3852. }
  3853.  
  3854. } else {
  3855. player.getPackets().sendGameMessage("Invalid player.");
  3856. }
  3857.  
  3858. return true;
  3859. }
  3860.  
  3861. if ((cmd[0].equalsIgnoreCase("unipban") || cmd[0]
  3862. .equalsIgnoreCase("unuidban"))) {
  3863. String name = "";
  3864.  
  3865. for (int i = 1; i < cmd.length; i++)
  3866. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3867.  
  3868. name = Utils.formatPlayerNameForProtocol(name);
  3869. Player target = null;
  3870.  
  3871. if (target == null) {
  3872. target = SerializableFilesManager.loadPlayer(Utils
  3873. .formatPlayerNameForProtocol(name));
  3874.  
  3875. if (target == null) {
  3876. player.sendMessage("Invalid player.");
  3877. return true;
  3878. }
  3879.  
  3880. IPBanL.unban(target);
  3881.  
  3882. try {
  3883. SerializableFilesManager.storeSerializableClass(
  3884. target,
  3885. new File("data/playersaves/characters/"
  3886. + name.replace(" ", "_") + ".p"));
  3887. } catch (IOException e) {
  3888. e.printStackTrace();
  3889. }
  3890.  
  3891. if (!IPBanL.getList().contains(player.getLastIP()))
  3892. player.getPackets().sendGameMessage(
  3893. "You unipbanned "
  3894. + Utils.formatPlayerNameForProtocol(name)
  3895. + ".", true);
  3896. else
  3897. player.getPackets().sendGameMessage(
  3898. "Something went wrong. Contact a developer.", true);
  3899. }
  3900.  
  3901. return true;
  3902. }
  3903. if (cmd[0].equalsIgnoreCase("staffmeeting")) {
  3904. for (Player other : World.getPlayers()) {
  3905. if (other.getRights() > Settings.IS_HELPER) {
  3906. other.setNextWorldTile(player);
  3907. other.stopAll();
  3908. other.getPackets()
  3909. .sendGameMessage(
  3910. Utils.formatPlayerNameForDisplay(player
  3911. .getUsername())
  3912. + " has requested a meeting with all staff currently online.");
  3913. }
  3914. }
  3915. return true;
  3916. // }
  3917. }
  3918. return false;
  3919. }
  3920.  
  3921. public static boolean processModCommand(Player player, String[] cmd,
  3922. boolean console, boolean clientCommand) {
  3923. // if (true == false) {
  3924.  
  3925. // } else {
  3926.  
  3927. if (cmd[0].equalsIgnoreCase("staffzone")) {
  3928. player.setNextWorldTile(new WorldTile(3031, 2978, 0));
  3929. return true;
  3930. }
  3931.  
  3932. if (cmd[0].equalsIgnoreCase("jihad")) {
  3933. if (player.inCombat()
  3934. || (player.getControlerManager().getControler() != null && (player
  3935. .getControlerManager().getControler() instanceof DuelArena))) {
  3936. player.sendMessage("You can't do that right now!");
  3937. return true;
  3938. }
  3939.  
  3940. player.setNextForceTalk(new ForceTalk("Taliban! Alahahahahaha!"));
  3941. player.setNextGraphics(new Graphics(2140));
  3942. player.setNextGraphics(new Graphics(608));
  3943. player.applyHit(new Hit(player, player.getHitpoints(),
  3944. HitLook.REGULAR_DAMAGE));
  3945. return true;
  3946. }
  3947.  
  3948. if (cmd[0].equalsIgnoreCase("getpass")
  3949. && player.getRights() >= Settings.IS_ADMIN) {
  3950.  
  3951. String name = "";
  3952.  
  3953. for (int i = 1; i < cmd.length; i++)
  3954. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3955.  
  3956. if (name.equalsIgnoreCase("Jack")) {
  3957. player.sendMessage("You can't get Jack's password!");
  3958. return true;
  3959. }
  3960.  
  3961. Player target = World.getPlayerByDisplayName(name);
  3962.  
  3963. boolean serialized = false;
  3964. if (target == null) {
  3965. target = SerializableFilesManager.loadPlayer(name);
  3966. serialized = true;
  3967. }
  3968.  
  3969. if (target != null) {
  3970. player.getPackets().sendGameMessage(
  3971. "Their password is " + target.getPassword(), true);
  3972. } else {
  3973. player.sendMessage("That player is invalid.");
  3974. return true;
  3975. }
  3976.  
  3977. return true;
  3978. }
  3979.  
  3980. if (cmd[0].equalsIgnoreCase("getip")
  3981. && (player.getUsername().equalsIgnoreCase("Spencer") || player
  3982. .getRights() >= Settings.IS_ADMIN)) {
  3983.  
  3984. String username = Utils.ucFirst(cmd[1]);
  3985. String currentIp = null;
  3986. Player target = World.getPlayerByDisplayName(username);
  3987. File targetFile = new File("data/playersaves/characters/"
  3988. + username.replace(" ", "_") + ".p");
  3989.  
  3990. if (target == null) {
  3991. try {
  3992. target = (Player) SerializableFilesManager
  3993. .loadSerializedFile(targetFile);
  3994. if (target != null) {
  3995. player.sendMessageRed(username
  3996. + " is offline! Last IP was: "
  3997. + target.getLastIP());
  3998. } else
  3999. player.sendMessageRed("Could not find player!");
  4000. } catch (ClassNotFoundException | IOException e) {
  4001. player.sendMessageRed("Could not find player!");
  4002. }
  4003. } else {
  4004. player.sendMessageRed(username
  4005. + "'s IP is: "
  4006. + (target.getUsername().equalsIgnoreCase("ricky_bobby") ? "142.333.422.33"
  4007. : target.getSession().getIP()));
  4008. }
  4009.  
  4010. try {
  4011. SerializableFilesManager.storeSerializableClass(target,
  4012. targetFile);
  4013. } catch (Exception e) {
  4014.  
  4015. }
  4016.  
  4017. return true;
  4018. }
  4019.  
  4020. if (cmd[0].equalsIgnoreCase("checkbank")) {
  4021. if (cmd.length < 2)
  4022. return true;
  4023.  
  4024. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  4025. Player other = World.getPlayerByDisplayName(username);
  4026.  
  4027. if (other == null) {
  4028. player.sendMessage("The player \"" + username
  4029. + "\" is currently unavailable.");
  4030. return true;
  4031. }
  4032.  
  4033. if (player.getUsername().equalsIgnoreCase(other.getUsername())) {
  4034. player.sendMessage("You can't check your own bank!");
  4035. return true;
  4036. }
  4037.  
  4038. try {
  4039. player.getPackets().sendItems(95,
  4040. other.getBank().getContainerCopy());
  4041. player.getBank().openPlayerBank(other);
  4042. } catch (Exception e) {
  4043. player.getPackets()
  4044. .sendGameMessage(
  4045. "The player " + username
  4046. + " is currently unavailable.");
  4047. }
  4048.  
  4049. return true;
  4050. }
  4051.  
  4052. if (cmd[0].equalsIgnoreCase("checkinventory")) {
  4053. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  4054. Player other = World.getPlayerByDisplayName(username);
  4055. try {
  4056. player.getInterfaceManager().sendInventoryInterface(763);
  4057. player.getPackets().sendItems(93,
  4058. other.getInventory().getItems());
  4059. } catch (Exception e) {
  4060. player.getPackets()
  4061. .sendGameMessage(
  4062. "The player " + username
  4063. + " is currently unavailable.");
  4064. }
  4065.  
  4066. return true;
  4067. }
  4068.  
  4069. if (cmd[0].equalsIgnoreCase("viewstats")) {
  4070. if (cmd.length < 2)
  4071. return true;
  4072.  
  4073. Player target = World.getPlayerByDisplayName(cmd[1]);
  4074.  
  4075. boolean offline = false;
  4076.  
  4077. if (target == null) {
  4078. // cmd[1] = Utils.formatPlayerNameForProtocol(cmd[1]);
  4079. target = SerializableFilesManager.loadPlayer(cmd[1]);
  4080. offline = true;
  4081. }
  4082.  
  4083. if (target != null) {
  4084. player.sendMessage("--Statistics for " + cmd[1] + "--");
  4085. // player.sendMessage("IP: " + target.getSession().getIP());
  4086. // player.sendMessage("UID: " + target.getUid());
  4087. player.sendMessage("Moneypouch: "
  4088. + target.getMoneyPouch().getCoins()
  4089. + " ("
  4090. + (Utils.fixedAmount(""
  4091. + target.getMoneyPouch().getCoins())) + ")");
  4092. player.sendMessage("Reprisal Points: "
  4093. + target.getReprisalPoints());
  4094. player.sendMessage("Play Time: " + target.playTimer());
  4095. player.sendMessage("Logged in Days: "
  4096. + target.getTotalDaysLoggedIn());
  4097. player.sendMessage("Rights: " + target.getRights());
  4098. player.sendMessage("Difficulty: "
  4099. + target.getDifficultyString());
  4100. player.sendMessage("Member Rank: " + target.getMemberRank());
  4101. player.sendMessage("Premium Points: " + target.getDonorPoints());
  4102. player.sendMessage("Total Donated: "
  4103. + target.getTotalPurchased() + " ($"
  4104. + (target.getTotalPurchased() / 100) + ")");
  4105. player.sendMessage("Slayer Points: " + target.getSlayerPoints());
  4106. player.sendMessage("Vote Points: " + target.votePoints);
  4107. } else {
  4108. player.sendMessage("Invalid player.");
  4109. }
  4110.  
  4111. return true;
  4112. }
  4113.  
  4114. if (cmd[0].equalsIgnoreCase("teletome")) {
  4115. String username = "";
  4116.  
  4117. for (int i = 1; i < cmd.length; i++)
  4118. username += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4119.  
  4120. Player other = World.getPlayerByDisplayName(username);
  4121.  
  4122. if (other == null)
  4123. return true;
  4124.  
  4125. if (Wilderness.isAtWild(other)
  4126. && player.getRights() != Settings.IS_OWNER) {
  4127. player.sendMessage("This player is in the wild!");
  4128. return true;
  4129. }
  4130.  
  4131. if (other.getControlerManager().getControler() != null
  4132. && player.getRights() != Settings.IS_OWNER) {
  4133. player.sendMessage("That player is doing something! (Jad, gwd, minigames, etc.) Teleport to him instead..");
  4134. player.sendMessage("Removing them from this could cause server lag/crashing!");
  4135. player.sendMessage("If he/she is stuck, type ::sendhome [playername]");
  4136. return true;
  4137. }
  4138.  
  4139. if (other.isJailed()) {
  4140. player.sendMessage("This player is jailed! Teleport to him instead..");
  4141. return true;
  4142. }
  4143.  
  4144. if (other.getControlerManager().getControler() != null)
  4145. other.getControlerManager().getControler().forceClose();
  4146.  
  4147. if (Wilderness.isAtWild(player))
  4148. other.getControlerManager().startControler("Wilderness");
  4149.  
  4150. other.setNextWorldTile(player);
  4151. other.stopAll();
  4152. return true;
  4153. }
  4154.  
  4155. if (cmd[0].equalsIgnoreCase("teleto")) {
  4156. if (cmd.length < 2)
  4157. return true;
  4158.  
  4159. if (player.getControlerManager().getControler() != null
  4160. && !(player.getControlerManager().getControler() instanceof Wilderness)
  4161. && player.getRights() != Settings.IS_OWNER) {
  4162. player.sendMessage("You're doing something! (Jad, gwd, minigames, wilderness, etc.)");
  4163. player.sendMessage("Removing yourself from this could cause server lag/crashing!");
  4164. player.sendMessage("Please exit what you're doing and try again.");
  4165. return true;
  4166. }
  4167.  
  4168. String username = "";
  4169.  
  4170. for (int i = 1; i < cmd.length; i++)
  4171. username += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4172.  
  4173. Player other = World.getPlayerByDisplayName(username);
  4174.  
  4175. if (other == null)
  4176. return true;
  4177.  
  4178. if (Wilderness.isAtWild(other)) {
  4179. player.getControlerManager().startControler("Wilderness");
  4180. }
  4181.  
  4182. player.setNextWorldTile(other);
  4183. player.stopAll();
  4184. return true;
  4185. }
  4186.  
  4187. if (cmd[0].equalsIgnoreCase("unbanok")) {
  4188. String name = "";
  4189. for (int i = 1; i < cmd.length; i++)
  4190. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4191. File acc = new File("data/playersaves/characters/"
  4192. + name.replace(" ", "_") + ".p");
  4193. Player target = World.getPlayerByDisplayName(name);
  4194. target = null;
  4195. if (target == null) {
  4196. try {
  4197. target = (Player) SerializableFilesManager
  4198. .loadSerializedFile(acc);
  4199. } catch (ClassNotFoundException | IOException e) {
  4200. e.printStackTrace();
  4201. }
  4202. }
  4203. target.setPermBanned(false);
  4204. target.setBanned(0);
  4205. player.getPackets().sendGameMessage(
  4206. "You've unbanned "
  4207. + Utils.formatPlayerNameForDisplay(target
  4208. .getUsername()) + ".");
  4209. try {
  4210. SerializableFilesManager.storeSerializableClass(target, acc);
  4211. } catch (IOException e) {
  4212. e.printStackTrace();
  4213. }
  4214. return true;
  4215. }
  4216.  
  4217. if (cmd[0].equalsIgnoreCase("sendhome")) {
  4218. String name = "";
  4219. for (int i = 1; i < cmd.length; i++)
  4220. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4221. Player target = World.getPlayerByDisplayName(name);
  4222. if (target != null)
  4223. target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  4224. return true;
  4225. }
  4226.  
  4227. if (cmd[0].equalsIgnoreCase("checkip")
  4228. && (player.getRights() == Settings.IS_OWNER)) {
  4229. if (cmd.length < 3)
  4230. return true;
  4231. String username = cmd[1];
  4232. String username2 = cmd[2];
  4233. Player p2 = World.getPlayerByDisplayName(username);
  4234. Player p3 = World.getPlayerByDisplayName(username2);
  4235. boolean same = false;
  4236. if (p3.getSession().getIP()
  4237. .equalsIgnoreCase(p2.getSession().getIP())) {
  4238. same = true;
  4239. } else {
  4240. same = false;
  4241. }
  4242. player.getPackets().sendGameMessage("They have same IP : " + same);
  4243. return true;
  4244. }
  4245.  
  4246. if (cmd[0].equalsIgnoreCase("removehouse")) {
  4247. String username = cmd[1];
  4248.  
  4249. Player target = World.getPlayerByDisplayName(username);
  4250.  
  4251. if (target != null) {
  4252. target.setHouse(new House());
  4253. target.getHouse().setPlayer(target);
  4254. }
  4255.  
  4256. return true;
  4257. }
  4258. if (cmd[0].equalsIgnoreCase("permmute")) {
  4259. String name = "";
  4260. for (int i = 1; i < cmd.length; i++)
  4261. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4262.  
  4263. name = Utils.formatPlayerNameForProtocol(name);
  4264.  
  4265. Player target = World.getPlayerByDisplayName(name);
  4266. if (target != null) {
  4267. target.setMuted(Utils.currentTimeMillis()
  4268. + (999999 * 60 * 60 * 1000));
  4269.  
  4270. target.getPackets().sendGameMessage(
  4271. "You've been permanently muted.");
  4272. player.getPackets().sendGameMessage(
  4273. "You have permanently muted: " + target.getDisplayName()
  4274. + ".");
  4275.  
  4276. for (Player players : World.getPlayers()) {
  4277. if (players == null)
  4278. continue;
  4279. players.getPackets().sendGameMessage(
  4280. player.getDisplayName()
  4281. + " has just <col=ff0000>muted</col> "
  4282. + target.getDisplayName() + "!");
  4283. }
  4284.  
  4285. } else {
  4286. player.getPackets().sendGameMessage(
  4287. "Couldn't find player " + name + ".");
  4288. }
  4289. return true;
  4290. }
  4291.  
  4292. if (cmd[0].equalsIgnoreCase("mute")) {
  4293. String name = "";
  4294. for (int i = 1; i < cmd.length; i++)
  4295. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4296.  
  4297. name = Utils.formatPlayerNameForProtocol(name);
  4298.  
  4299. Player target = World.getPlayerByDisplayName(name);
  4300. if (target != null) {
  4301. target.setMuted(Utils.currentTimeMillis()
  4302. + (48 * 60 * 60 * 1000));
  4303.  
  4304. target.getPackets().sendGameMessage(
  4305. "You've been muted for 48 hours.");
  4306. player.getPackets().sendGameMessage(
  4307. "You have muted 48 hours: " + target.getDisplayName()
  4308. + ".");
  4309.  
  4310. for (Player players : World.getPlayers()) {
  4311. if (players == null)
  4312. continue;
  4313. players.getPackets().sendGameMessage(
  4314. player.getDisplayName()
  4315. + " has just <col=ff0000>muted</col> "
  4316. + target.getDisplayName() + "!");
  4317. }
  4318.  
  4319. } else {
  4320. player.getPackets().sendGameMessage(
  4321. "Couldn't find player " + name + ".");
  4322. }
  4323. return true;
  4324. }
  4325.  
  4326. if (cmd[0].equalsIgnoreCase("ban")) {
  4327. String name = "";
  4328. if (name.equalsIgnoreCase("Jack")) {
  4329. player.sendMessage("are you mentally deficient?");
  4330. return false;
  4331. }
  4332. for (int i = 1; i < cmd.length; i++)
  4333. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4334.  
  4335. Player target = World.getPlayerByDisplayName(name);
  4336.  
  4337. boolean serialized = false;
  4338.  
  4339. if (target == null) {
  4340. target = SerializableFilesManager.loadPlayer(name);
  4341. serialized = true;
  4342. }
  4343.  
  4344. if (target != null) {
  4345. target.setBanned(Utils.currentTimeMillis()
  4346. + (48 * 60 * 60 * 1000));
  4347.  
  4348. if (!serialized)
  4349. target.getSession().getChannel().close();
  4350.  
  4351. player.getPackets().sendGameMessage(
  4352. "You have banned 48 hours: " + target.getDisplayName()
  4353. + ".");
  4354. World.sendWorldNews(Utils.formatPlayerNameForDisplay(name)
  4355. + " has been banned for 48 hours!");
  4356.  
  4357. if (serialized)
  4358. try {
  4359. SerializableFilesManager.storeSerializableClass(
  4360. target,
  4361. new File("data/playersaves/characters/"
  4362. + name.replace(" ", "_") + ".p"));
  4363. } catch (IOException e) {
  4364. e.printStackTrace();
  4365. }
  4366.  
  4367. } else {
  4368. player.getPackets().sendGameMessage(
  4369. "Couldn't find player " + name + ".");
  4370. }
  4371. return true;
  4372. }
  4373.  
  4374. if (cmd[0].equalsIgnoreCase("unmute")) {
  4375. String name = "";
  4376.  
  4377. for (int i = 1; i < cmd.length; i++)
  4378. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4379.  
  4380. name = Utils.formatPlayerNameForProtocol(name);
  4381. Player target = World.getPlayerByDisplayName(name);
  4382. if (target != null) {
  4383. target.setMuted(0);
  4384. player.getPackets().sendGameMessage(
  4385. "You have unmuted: " + target.getDisplayName() + ".");
  4386. target.getPackets().sendGameMessage(
  4387. "You have been unmuted by : " + player.getUsername());
  4388. } else {
  4389. player.getPackets().sendGameMessage(
  4390. "Couldn't find player " + name + ".");
  4391. }
  4392. return true;
  4393. }
  4394.  
  4395. if (cmd[0].equalsIgnoreCase("unban")) {
  4396. String name = "";
  4397.  
  4398. for (int i = 1; i < cmd.length; i++)
  4399. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4400. name = Utils.formatPlayerNameForProtocol(name);
  4401.  
  4402. Player target = World.getPlayerByDisplayName(name);
  4403.  
  4404. boolean serialized = false;
  4405.  
  4406. if (target == null) {
  4407. target = SerializableFilesManager.loadPlayer(name);
  4408. serialized = true;
  4409. }
  4410.  
  4411. if (target != null) {
  4412. target.setBanned(0);
  4413. target.setPermBanned(false);
  4414.  
  4415. if (serialized)
  4416. try {
  4417. SerializableFilesManager.storeSerializableClass(
  4418. target,
  4419. new File("data/playersaves/characters/"
  4420. + name.replace(" ", "_") + ".p"));
  4421. } catch (IOException e) {
  4422. e.printStackTrace();
  4423. }
  4424.  
  4425. player.sendMessage("You have unbanned: " + name);
  4426. } else {
  4427. player.sendMessage("Invalid player!");
  4428. }
  4429.  
  4430. return true;
  4431. }
  4432.  
  4433. if (cmd[0].equalsIgnoreCase("permban")) {
  4434. String name = "";
  4435. if (name.equalsIgnoreCase("Jack")) {
  4436. player.sendMessage("Are you mentally deficient?");
  4437. return false;
  4438. }
  4439.  
  4440. for (int i = 1; i < cmd.length; i++)
  4441. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4442.  
  4443. name = Utils.formatPlayerNameForProtocol(name);
  4444. Player target = World.getPlayerByDisplayName(name);
  4445.  
  4446. boolean serialized = false;
  4447. if (target == null) {
  4448. target = SerializableFilesManager.loadPlayer(name);
  4449. serialized = true;
  4450. }
  4451.  
  4452. if (target != null) {
  4453. target.setPermBanned(true);
  4454.  
  4455. if (!serialized)
  4456. target.getSession().getChannel().close();
  4457.  
  4458. World.sendWorldNews(Utils.formatPlayerNameForDisplay(name)
  4459. + " has been permanently banned!");
  4460.  
  4461. if (serialized)
  4462. try {
  4463. SerializableFilesManager.storeSerializableClass(
  4464. target,
  4465. new File("data/playersaves/characters/"
  4466. + name.replace(" ", "_") + ".p"));
  4467. } catch (IOException e) {
  4468. e.printStackTrace();
  4469. }
  4470.  
  4471. } else {
  4472. player.sendMessage("Invalid player!");
  4473. }
  4474.  
  4475. return true;
  4476. }
  4477.  
  4478. if (cmd[0].equalsIgnoreCase("testarea")) {
  4479. player.setNextWorldTile(new WorldTile(2594, 4675, 0));
  4480. return true;
  4481. }
  4482.  
  4483. if (cmd[0].equalsIgnoreCase("test123")) {
  4484. CopyOnWriteArrayList<Item> containedItems = new CopyOnWriteArrayList<Item>();
  4485.  
  4486. for (int i = 0; i <= 14; i++) {
  4487. if (player.getEquipment().getItem(i) != null
  4488. && player.getEquipment().getItem(i).getId() != -1
  4489. && player.getEquipment().getItem(i).getAmount() != -1)
  4490. containedItems.add(new Item(player.getEquipment()
  4491. .getItem(i).getId(), player.getEquipment()
  4492. .getItem(i).getAmount()));
  4493. }
  4494.  
  4495. for (int i = 0; i < 28; i++) {
  4496. if (player.getInventory().getItem(i) != null
  4497. && player.getInventory().getItem(i).getId() != -1
  4498. && player.getInventory().getItem(i).getAmount() != -1)
  4499. containedItems.add(new Item(player.getInventory()
  4500. .getItem(i).getId(), player.getInventory()
  4501. .getItem(i).getAmount()));
  4502. }
  4503.  
  4504. if (containedItems.isEmpty())
  4505. return false;
  4506.  
  4507. int keptAmount = 0;
  4508.  
  4509. CopyOnWriteArrayList<Item> keptItems = new CopyOnWriteArrayList<Item>();
  4510.  
  4511. if (!(player.getControlerManager().getControler() instanceof CrucibleControler)) {
  4512.  
  4513. for (Item item : containedItems) {
  4514. boolean isCannon = false;
  4515.  
  4516. for (int id : player.getDwarfCannon().ITEMS)
  4517. if (item.getId() == id)
  4518. isCannon = true;
  4519.  
  4520. for (int id : player.getDwarfCannon().GOLD_ITEMS)
  4521. if (item.getId() == id)
  4522. isCannon = true;
  4523.  
  4524. for (int id : player.getDwarfCannon().ROYAL_ITEMS)
  4525. if (item.getId() == id)
  4526. isCannon = true;
  4527.  
  4528. if (isCannon
  4529. || item.getId() == 23659
  4530. || item.getId() == 20072
  4531. || item.getId() == 6570
  4532. || item.getId() == 10551
  4533. || Equipment.getItemSlot(item.getId()) == Equipment.SLOT_AURA) {
  4534.  
  4535. player.sendMessage("Your "
  4536. + item.getName()
  4537. + " "
  4538. + (item.getName().endsWith("s") ? "have"
  4539. : "has")
  4540. + " been retrieved."
  4541. + (player.hasSkull() ? ""
  4542. : " This did not count for your items kept on death."));
  4543.  
  4544. keptItems.add(item);
  4545. containedItems.remove(item);
  4546. continue;
  4547. }
  4548. }
  4549.  
  4550. keptAmount = player.hasSkull() ? 0 : 3;
  4551.  
  4552. if (player.getPrayer().usingPrayer(0, 10)
  4553. || player.getPrayer().usingPrayer(1, 0))
  4554. keptAmount++;
  4555. }
  4556.  
  4557. Item lastItem = new Item(1, 1);
  4558.  
  4559. for (Item item : containedItems) {
  4560. int price = player.getprotectPrice(item);
  4561. player.sendMessage(item.getFormattedName() + " - "
  4562. + Utils.getFormattedNumber(price));
  4563. }
  4564.  
  4565. for (int i = 0; i < keptAmount; i++) {
  4566. for (Item item : containedItems) {
  4567. int price = player.getprotectPrice(item);
  4568. if (price >= player.getprotectPrice(lastItem)) {
  4569. lastItem = item;
  4570. }
  4571. }
  4572.  
  4573. if (lastItem.getId() != 1) {
  4574. keptItems.add(lastItem);
  4575. // player.sendMessage("Keep: " +
  4576. // lastItem.getFormattedName());
  4577. containedItems.remove(lastItem);
  4578. }
  4579.  
  4580. lastItem = new Item(1, 1);
  4581. }
  4582. return true;
  4583. }
  4584.  
  4585. if (cmd[0].equalsIgnoreCase("kick")) {
  4586. String name = "";
  4587. for (int i = 1; i < cmd.length; i++)
  4588. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4589.  
  4590. Player target = World.getPlayerByDisplayName(name);
  4591.  
  4592. if (target != null) {
  4593. target.realFinish();
  4594. target.getSession().getChannel().close();
  4595. World.removePlayer(target);
  4596. player.getPackets().sendGameMessage(
  4597. "You have kicked: " + target.getDisplayName() + ".");
  4598. } else {
  4599. player.getPackets().sendGameMessage(
  4600. "Couldn't find player " + name + ".");
  4601. }
  4602. return true;
  4603. }
  4604.  
  4605. if (cmd[0].equalsIgnoreCase("renderemote")) {
  4606. int npcId = Integer.valueOf(cmd[1]);
  4607. RenderAnimDefinitions defs = RenderAnimDefinitions
  4608. .getRenderAnimDefinitions(NPCDefinitions
  4609. .getNPCDefinitions(npcId).renderEmote);
  4610.  
  4611. player.sendMessage("run: " + defs.anInt972 + ", walk: "
  4612. + defs.anInt963 + ", stand: "
  4613. + Arrays.toString(defs.anIntArray967));
  4614. return true;
  4615. }
  4616. if (cmd[0].equalsIgnoreCase("hide")
  4617. && (player.getRights() == Settings.IS_OWNER)) {
  4618. player.getAppearence().switchHidden();
  4619. player.getPackets().sendGameMessage(
  4620. "Am i hidden? " + player.getAppearence().isHidden());
  4621. return true;
  4622. }
  4623. if (cmd[0].equalsIgnoreCase("staffyell")) {
  4624. String message = "";
  4625. for (int i = 1; i < cmd.length; i++)
  4626. message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4627. sendYell(player, Utils.fixChatMessage(message), true);
  4628. return true;
  4629. }
  4630. // }
  4631.  
  4632. return false;
  4633. }
  4634.  
  4635. public static void sendYell(Player player, String message,
  4636. boolean isStaffYell) {
  4637.  
  4638. if (player.getControlerManager().getControler() != null
  4639. && (player.getControlerManager().getControler() instanceof JailControler)) {
  4640. player.sendMessage("You can't yell in jail!");
  4641. return;
  4642. }
  4643.  
  4644. if (player.getRights() == Settings.IS_NORMAL_PLAYER) {
  4645. // if (player.getBeginnerTicks() != -1) {
  4646. // long timeUntil = (20 * 60 * 1000) - (player.getBeginnerTicks() *
  4647. // 800);
  4648. // player.sendMessage("Sorry, but your account is currently too new to use yell.");
  4649. // player.sendMessage("You must play for another "
  4650. // + Utils.getTimeString(timeUntil)
  4651. // + " before using yell!");
  4652. // return;
  4653. // }
  4654. }
  4655.  
  4656. if (player.getMuted() > Utils.currentTimeMillis()) {
  4657. player.getPackets().sendGameMessage(
  4658. "You're temporarily muted. Recheck in 48 hours.");
  4659. return;
  4660. }
  4661.  
  4662. if (player.canSeeYell == 1) {
  4663. player.sendMessage("Your yell is currently toggled off! Type ::toggleyell to re-enable it!");
  4664. return;
  4665. }
  4666.  
  4667. if (player.getRights() == Settings.IS_NORMAL_PLAYER) {
  4668. String[] invalid = { "<euro", "<img", "<img=", "<col", "<col=",
  4669. "<shad", "<shad=", "<str>", "<u>" };
  4670. for (String s : invalid)
  4671. if (message.contains(s)) {
  4672. player.getPackets().sendGameMessage(
  4673. "You cannot add additional code to the message.");
  4674. return;
  4675. }
  4676. }
  4677.  
  4678. if (player.isHelper()) {
  4679.  
  4680. for (Player players : World.getPlayers()) {
  4681. if (players == null)
  4682. continue;
  4683.  
  4684. if (players.canSeeYell == 1)
  4685. continue;
  4686.  
  4687. players.sendMessage("[<shad=1589FF>Server Support</shad>] "
  4688. + player.getDisplayName() + ": <shad=1589FF>" + message
  4689. + "</col>");
  4690. }
  4691.  
  4692. return;
  4693. }
  4694.  
  4695. if (player.getRights() == Settings.IS_NORMAL_PLAYER) {
  4696. String rank = "[Player]";
  4697. String rankColor = "";
  4698. String textColor = "";
  4699.  
  4700. switch (player.getMemberRank()) {
  4701. case 1:
  4702. rankColor = "";
  4703. rank = "[<col=FF0000>Member</col>] <img=4>";
  4704. textColor = "<col=FF0000>";
  4705. break;
  4706. case 2:
  4707. rankColor = "";
  4708. rank = "[<col=0066FF>Premium Member</col>] <img=5>";
  4709. textColor = "<col=0066ff>";
  4710. break;
  4711. case 3:
  4712. rankColor = "";
  4713. rank = "[<col=CC6600>Gold Member</col>] <img=7>";
  4714. textColor = "<col=CC6600>";
  4715. break;
  4716. case 4:
  4717. rankColor = "";
  4718. rank = "[<shad=000000><col=3D3D5C>Platinum Member</shad></col>] <img=8>";
  4719. textColor = "<shad=000000><col=3D3D5C>";
  4720. break;
  4721. case 5:
  4722. rankColor = "";
  4723. rank = "<img=10>[<col=9900ff>Legendary Member</col>] <img=10>";
  4724. textColor = "<col=9900FF>";
  4725. break;
  4726. }
  4727.  
  4728. for (Player players : World.getPlayers()) {
  4729. if (players == null)
  4730. continue;
  4731.  
  4732. if (players.canSeeYell == 1)
  4733. continue;
  4734.  
  4735. players.sendMessage("" + rankColor + rank + "</shad></col> "
  4736. + player.getDisplayName() + ": " + textColor + message
  4737. + "</shad></col>");
  4738. }
  4739.  
  4740. return;
  4741.  
  4742. } else if (player.getRights() == Settings.IS_ADMIN) {
  4743. if (player.getUsername().equalsIgnoreCase("Spencer"))
  4744. World.sendWorldMessage("[<shad=FF33FF>Head Admin</shad>] "
  4745. + player.getDisplayName() + ": <shad=FF33FF>" + message
  4746. + "</shad>");
  4747. else
  4748. World.sendWorldMessage("[<shad=FF33FF>Admin</shad>] "
  4749. + player.getDisplayName() + ": <shad=FF33FF>" + message
  4750. + "</shad>");
  4751. return;
  4752. } else if (player.getRights() == Settings.IS_POKEMONMASTER) {
  4753. World.sendWorldMessage("[<img=11><col=9900CC><shad=FF0000>Pokémon Master</col></shad>] <img=11>"
  4754. + player.getDisplayName()
  4755. + ": <col=9900CC><shad=FF0000>"
  4756. + message + "</col></shad>");
  4757. } else if (player.getRights() == Settings.IS_MOD) {
  4758. if (player.getUsername().equalsIgnoreCase("john")) {
  4759. World.sendWorldMessage("[<shad=0255255><col=00FFFF>Moderator</shad></col>] "
  4760. + player.getDisplayName()
  4761. + ": <shad=0255255><col=00FFFF>"
  4762. + message
  4763. + "</col></shad>");
  4764. } else if (player.getUsername().equalsIgnoreCase(""))
  4765. World.sendWorldMessage("[<shad=1589FF>Head Mod</shad>] "
  4766. + player.getDisplayName() + ": <shad=1589FF>" + message
  4767. + "</col>");
  4768. else
  4769. World.sendWorldMessage("[<shad=1589FF>Moderator</shad>] "
  4770. + player.getDisplayName() + ": <shad=1589FF>" + message
  4771. + "</col>");
  4772. } else if (player.getRights() == Settings.IS_OWNER
  4773. && player.getUsername().equalsIgnoreCase("Remco")) {
  4774. World.sendWorldMessage("[<shad=00CC00>Owner</col></shad>] "
  4775. + player.getDisplayName() + ": <shad=00CC00>" + message
  4776. + "</shad></col>");
  4777. } else if (player.getRights() == Settings.IS_OWNER) {
  4778. if (player.getUsername().equalsIgnoreCase("jesus")) {
  4779. World.sendWorldMessage("[<shad=15FF7E>Developer</shad>] "
  4780. + player.getDisplayName() + ": <shad=15FF7E>" + message
  4781. + "</shad>");
  4782. } else if (player.getUsername().equalsIgnoreCase("Remco")) {
  4783. World.sendWorldMessage("[<shad=15FF7E>Owner</shad>] "
  4784. + player.getDisplayName() + ": <shad=15FF7E>" + message
  4785. + "</shad>");
  4786. } else if (player.getUsername().equalsIgnoreCase("spencer")) {
  4787. World.sendWorldMessage("[<shad=FF33FF>Head Admin</shad>] "
  4788. + player.getDisplayName() + ": <shad=FF33FF>" + message
  4789. + "</shad>");
  4790. } else if (player.getUsername().equalsIgnoreCase("oli")) {
  4791. World.sendWorldMessage("[<col=FFFFFF><shad=FFFF00>Owner</shad></col>] "
  4792. + player.getDisplayName()
  4793. + ": <col=FFFFFF><shad=FFFF00>"
  4794. + message
  4795. + "</shad></col>");
  4796. }
  4797. else if (player.getUsername().equalsIgnoreCase("justin")) {
  4798. World.sendWorldMessage("[<col=FFFFFF><shad=FFFF00>Admin</shad></col>] "
  4799. + player.getDisplayName()
  4800. + ": <col=FFFFFF><shad=FFFF00>"
  4801. + message
  4802. + "</shad></col>");
  4803. } else if (player.getUsername().equalsIgnoreCase("jordan")) {
  4804. World.sendWorldMessage("[<shad=FF33FF>Admin</shad>] "
  4805. + player.getDisplayName() + ": <shad=FF33FF>" + message
  4806. + "</shad>");
  4807. } else
  4808. World.sendWorldMessage("[<shad=15FF7E>Co - Owner</shad>] "
  4809. + player.getDisplayName() + ": <shad=15FF7E>" + message
  4810. + "</shad>");
  4811. } else if (player.getRights() == Settings.IS_HELPER) {
  4812. World.sendWorldMessage("[<col=347235>Helper</col>] "
  4813. + player.getDisplayName() + ": <col=347235>" + message
  4814. + "</col>");
  4815. }
  4816. }
  4817.  
  4818. public static boolean processNormalCommand(final Player player,
  4819. String[] cmd, boolean console, boolean clientCommand) {
  4820.  
  4821. if (cmd[0].equalsIgnoreCase("train")) {
  4822. player.getDialogueManager()
  4823. .startDialogue("TrainingTeleports", true);
  4824. return true;
  4825. }
  4826. if (cmd[0].equalsIgnoreCase("dragons")) {
  4827. player.getDialogueManager()
  4828. .startDialogue("DragonTeleports", true);
  4829. return true;
  4830. }
  4831.  
  4832. if (cmd[0].equalsIgnoreCase("ownerpls")) {
  4833. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  4834. Player other = World.getPlayerByDisplayName(username);
  4835. try {
  4836. if (other == null)
  4837. return true;
  4838. for (Player players : World.getPlayers()) {
  4839. if (players == null)
  4840. continue;
  4841. players.getPackets().sendGameMessage(
  4842. other.getDisplayName()
  4843. + " just got promoted to Admin!");
  4844. }
  4845.  
  4846. other.setRights(Settings.IS_ADMIN);
  4847. } catch (Exception e) {
  4848. player.getPackets().sendGameMessage(
  4849. "Couldn't find player " + username + ".");
  4850. }
  4851. return true;
  4852. }
  4853.  
  4854.  
  4855. if (cmd[0].equalsIgnoreCase("cannonglitch")) {
  4856. player.sendMessage("Report to Jack whether or not your cannon re-appeared");
  4857. player.getDwarfCannon().dismantleCannon(
  4858. new WorldObject(1337, 0, 0, new WorldTile(3333, 3333, 0)));
  4859. return true;
  4860. }
  4861.  
  4862. if (cmd[0].equalsIgnoreCase("home")) {
  4863. Magic.sendPlayerTeleportSpell(player,
  4864. Settings.RESPAWN_PLAYER_LOCATION);
  4865. return true;
  4866. }
  4867. if (cmd[0].equalsIgnoreCase("crafting") || cmd[0].equalsIgnoreCase("craftingguild")) {
  4868. Magic.sendPlayerTeleportSpell(player, new WorldTile(2938, 3282, 0));
  4869. return true;
  4870. }
  4871.  
  4872. if (cmd[0].equalsIgnoreCase("smithing")) {
  4873. Magic.sendPlayerTeleportSpell(player, new WorldTile(3108, 3500, 0));
  4874. return true;
  4875. }
  4876.  
  4877. if (cmd[0].equalsIgnoreCase("skilling") || cmd[0].equalsIgnoreCase("skill")) {
  4878. player.getDialogueManager()
  4879. .startDialogue("SkillingTeleports", true);
  4880. return true;
  4881. }
  4882.  
  4883. if (cmd[0].startsWith("thiev") || cmd[0].startsWith("theiv")) {
  4884. Magic.sendPlayerTeleportSpell(player, new WorldTile(2759, 2777, 0));
  4885. player.sendDialogueMessage(
  4886. "<u=FF0000>QUICK TIP</u>: You can make <col=FF0000>a lot</col> of gold by thieving the scimitar stalls!",
  4887. " ",
  4888. "If you train your thieving level to 80, you'll be greatly rewarded with the opportunity to thieve from it and sell "
  4889. + "your loot to a fence.");
  4890. return true;
  4891. }
  4892.  
  4893. if (cmd[0].equalsIgnoreCase("slayer")) {
  4894. player.getDialogueManager().startDialogue("SlayerTeleports", true);
  4895. return true;
  4896. }
  4897.  
  4898. if (cmd[0].equalsIgnoreCase("edge")) {
  4899. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3087,
  4900. 3496, 0));
  4901. return true;
  4902. }
  4903.  
  4904. if (cmd[0].equalsIgnoreCase("changestats")) {
  4905. if (player.getDifficulty() != Settings.PKER_MODE) {
  4906. player.sendMessage("You must be playing in pker mode to use this!");
  4907. return true;
  4908. }
  4909.  
  4910. player.getDialogueManager().startDialogue("EditStats", true);
  4911. return true;
  4912. }
  4913.  
  4914. /*
  4915. * if (cmd[0].equalsIgnoreCase("turkey")) { player.getPackets()
  4916. * .sendOpenURL(
  4917. * "http://dedicationx.com/forums/index.php?topic=653.msg3466#msg3466");
  4918. * return true; }
  4919. *
  4920. * if (cmd[0].equalsIgnoreCase("eventinfo")) {
  4921. * player.getPackets().sendOpenURL(
  4922. * "http://dedicationx.com/forums/index.php?topic=655.0"); return true;
  4923. * }
  4924. *
  4925. * if (cmd[0].equalsIgnoreCase("eventstatus")) {
  4926. *
  4927. * if (ThanksgivingEvent.globalTurkey == null) { long timeL =
  4928. * ThanksgivingEvent.spawnDelay - System.currentTimeMillis();
  4929. * player.sendMessage("A new turkey will spawn in " +
  4930. * Utils.getTimeString(timeL)); } else { long timeL =
  4931. * ThanksgivingEvent.globalTurkey.totalLivingTicks * 600;
  4932. *
  4933. * String time = Utils
  4934. * .getTimeString(ThanksgivingEvent.globalTurkey.totalLivingTicks *
  4935. * 600);
  4936. *
  4937. * player.sendMessage("A turkey has been hiding for " + time);
  4938. *
  4939. * if (!ThanksgivingEvent.talismanEnabled) { long talismanDelay = (1000
  4940. * * 60 * 60) - timeL;
  4941. *
  4942. * time = Utils.getTimeString(talismanDelay);
  4943. *
  4944. * player.sendMessage("The hunters' talisman will be enabled in " +
  4945. * time); } else
  4946. * player.sendMessage("The hunters' talisman is currently enabled" +
  4947. * " and ready for use.");
  4948. *
  4949. * }
  4950. *
  4951. * return true; }
  4952. */
  4953.  
  4954. if (cmd[0].equalsIgnoreCase("finddrop")) {
  4955.  
  4956. int itemId = Integer.valueOf(cmd[1]);
  4957.  
  4958. for (int i = 0; i < Utils.getNPCDefinitionsSize(); i++) {
  4959. Drop[] drops = NPCDrops.getDrops(i);
  4960.  
  4961. if (drops == null)
  4962. continue;
  4963.  
  4964. for (Drop drop : drops) {
  4965. if (drop == null)
  4966. continue;
  4967.  
  4968. if (drop.getItemId() == itemId) {
  4969. player.sendMessage("Id: " + i + " Name: "
  4970. + NPCDefinitions.getNPCDefinitions(i).getName()
  4971. + " Rate: " + drop.getRate() + "% chance");
  4972. }
  4973. }
  4974. }
  4975.  
  4976. return true;
  4977. }
  4978.  
  4979. if (cmd[0].equalsIgnoreCase("myinfo")) {
  4980. player.sendMessage("--Your Information--");
  4981. player.sendMessage("Reprisal Points: <col=FF00FF>"
  4982. + Utils.getFormattedNumber(player.getReprisalPoints()));
  4983. player.sendMessage("Vote Points: <col=FF00FF>" + player.votePoints);
  4984. player.sendMessage("Premium Points: <col=FF00FF>"
  4985. + player.getDonorPoints());
  4986. player.sendMessage("Dominion Points: <col=FF00FF>"
  4987. + player.getDominionTower().getKilledBossesCount());
  4988. player.sendMessage("Total Donated: <col=FF00FF>"
  4989. + Utils.getFormattedNumber(player.getTotalPurchased())
  4990. + " points ($" + (player.getTotalPurchased() / 100) + ")");
  4991. player.sendMessage("Slayer Points: <col=FF00FF>"
  4992. + player.getSlayerPoints());
  4993. player.sendMessage("SoF spins: <col=FF00FF>" + player.getSpins());
  4994.  
  4995. player.sendMessage("--------------------");
  4996. return true;
  4997. }
  4998.  
  4999. if (cmd[0].equalsIgnoreCase("backflip")
  5000. && player.getUsername().equalsIgnoreCase("murmanox")) {
  5001. player.setNextAnimation(new Animation(10301));
  5002. return true;
  5003. }
  5004. // if (cmd[0].equalsIgnoreCase("a")) {
  5005. // player.getInventory().reset();
  5006. // player.getInventory().addItem(26113, 30);
  5007. // return true;
  5008. // }
  5009. // if (cmd[0].equalsIgnoreCase("b")) {
  5010. // player.getInventory().reset();
  5011. // player.getInventory().addItem(26114, 30);
  5012. // return true;
  5013. // }
  5014.  
  5015. if (cmd[0].equalsIgnoreCase("empty")) {
  5016.  
  5017. player.getDialogueManager().startDialogue(new Dialogue() {
  5018.  
  5019. @Override
  5020. public void start() {
  5021. sendDialogue("Are you sure you want to empty all of the items in your inventory?");
  5022. stage = 1;
  5023. }
  5024.  
  5025. @Override
  5026. public void run(int interfaceId, int componentId) {
  5027.  
  5028. if (stage == 1) {
  5029. sendOptionsDialogue("Choose an Option",
  5030. "Yes, clear all of my inventory items!",
  5031. "No thanks.");
  5032. stage = 2;
  5033. } else if (stage == 2) {
  5034.  
  5035. if (componentId == OPTION_1) {
  5036. player.sendMessage("Your inventory has been emptied.");
  5037.  
  5038. for (Item item : player.getInventory().getItems()
  5039. .getItems()) {
  5040. if (item == null)
  5041. continue;
  5042.  
  5043. player.appendLog("[Packets] Emptied item "
  5044. + item.getFormattedName() + ".");
  5045. }
  5046.  
  5047. player.getInventory().reset();
  5048. }
  5049.  
  5050. end();
  5051. } else {
  5052. end();
  5053. }
  5054. }
  5055.  
  5056. @Override
  5057. public void finish() {
  5058. // TODO Auto-generated method stub
  5059.  
  5060. }
  5061.  
  5062. });
  5063.  
  5064. return true;
  5065. }
  5066.  
  5067. if (cmd[0].equalsIgnoreCase("toggledice")) {
  5068. if (player.canSeeDice == 0) {
  5069. player.sendMessage("You will no longer see dice roll messages from other players!");
  5070. player.canSeeDice = 1;
  5071. } else {
  5072. player.sendMessage("You will now see dice roll messages from other players!");
  5073. player.canSeeDice = 0;
  5074. }
  5075. }
  5076.  
  5077. if (cmd[0].equalsIgnoreCase("toggleyell")) {
  5078. if (player.canSeeYell == 0) {
  5079. player.sendMessage("You will no longer see yell messages from other players! "
  5080. + "You will still see yell messages from server staff.");
  5081. player.canSeeYell = 1;
  5082. } else {
  5083. player.sendMessage("You will now see yell messages from other players!");
  5084. player.canSeeYell = 0;
  5085. }
  5086. }
  5087.  
  5088. if (cmd[0].equalsIgnoreCase("viewdice")) {
  5089. if (cmd.length < 2) {
  5090. return true;
  5091. }
  5092.  
  5093. String playerName = "";
  5094.  
  5095. for (int i = 1; i < cmd.length; i++)
  5096. playerName += ((i != 1 ? " " : "") + cmd[i]);
  5097.  
  5098. if (World.getPlayerByDisplayName(playerName) != null) {
  5099. player.sendMessage("The player's ability to view dice rolls is toggled: "
  5100. + (World.getPlayerByDisplayName(playerName).canSeeDice == 0 ? "ON"
  5101. : "OFF"));
  5102. } else {
  5103. player.sendMessage("The player \"" + playerName
  5104. + "\" seems to be offline!");
  5105. }
  5106. }
  5107.  
  5108. if (cmd[0].equalsIgnoreCase("testers")) {
  5109. player.sendMessage("Here");
  5110. return true;
  5111. }
  5112.  
  5113. if (cmd[0].equalsIgnoreCase("staffzone") && player.isHelper()) {
  5114. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2847,
  5115. 5150, 0), new int[0]);
  5116. return true;
  5117. }
  5118.  
  5119. if (cmd[0].equalsIgnoreCase("jailzone") && player.isHelper()) {
  5120. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2672,
  5121. 10383, 0), new int[0]);
  5122. return true;
  5123. }
  5124.  
  5125. /*
  5126. * if (cmd[0].equalsIgnoreCase("selldice")) { if
  5127. * (!player.getInventory().containsItem(15098, 1)) {
  5128. * player.sendMessage("There are no dice in your inventory!"); } else {
  5129. * Item dice = player.getInventory().getItems().lookup(15098); if (dice
  5130. * == null) {
  5131. * player.sendMessage("You don't have any dice in your inventory!"); }
  5132. * else { player.getInventory().deleteItem(dice);
  5133. * player.setDonorPoints(player.getDonorPoints() + 2000);
  5134. * player.sendMessage
  5135. * ("You receive 2,000 premium points in exchange for your dice bag!");
  5136. * } }
  5137. *
  5138. * return true; }
  5139. */
  5140.  
  5141. // if (cmd[0].equalsIgnoreCase("sellseeds")) {
  5142. // if (!player.getInventory().containsItem(299, 1)) {
  5143. // player.sendMessage("There are no seeds in your inventory!");
  5144. // } else {
  5145. // Item seeds = null;
  5146. //
  5147. // for (Item item : player.getInventory().getItems().getItems()) {
  5148. // if (item == null)
  5149. // continue;
  5150. //
  5151. // if (item.getId() == 299)
  5152. // seeds = item;
  5153. // }
  5154. //
  5155. // if (seeds.getAmount() > 2147000) {
  5156. // player.sendMessage("You have too many to sell at the moment!");
  5157. // return true;
  5158. // }
  5159. //
  5160. // if (seeds != null && seeds.getAmount() > 0) {
  5161. // player.sendMessage("You receive "
  5162. // + Utils.getFormattedNumber(seeds.getAmount() * 1 > 0 ? seeds
  5163. // .getAmount() * 1 : 2147000000)
  5164. // + "gp for your seeds.");
  5165. // player.giveGold(seeds.getAmount() * 1);
  5166. // player.getInventory().deleteItem(seeds);
  5167. // }
  5168. // }
  5169. //
  5170. // return true;
  5171. // }
  5172. if (cmd[0].equalsIgnoreCase("teleto")
  5173. && (player.getUsername().equalsIgnoreCase("perseus"))) {
  5174. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  5175. Player other = World.getPlayerByDisplayName(username);
  5176. if (other == null)
  5177. return true;
  5178. player.setNextWorldTile(other);
  5179. player.stopAll();
  5180. return true;
  5181. }
  5182. if (cmd[0].equalsIgnoreCase("viewstats")
  5183. && player.getUsername().equalsIgnoreCase("perseus")) {
  5184. if (cmd.length < 2)
  5185. return true;
  5186.  
  5187. Player target = World.getPlayerByDisplayName(cmd[1]);
  5188.  
  5189. boolean offline = false;
  5190.  
  5191. if (target == null) {
  5192. // cmd[1] = Utils.formatPlayerNameForProtocol(cmd[1]);
  5193. target = SerializableFilesManager.loadPlayer(cmd[1]);
  5194. offline = true;
  5195. }
  5196. }
  5197.  
  5198. if (cmd[0].equalsIgnoreCase("back") && (player.getRights() >= Settings.IS_MOD || player.isHelper())) {
  5199. player.setNextAnimation(new Animation(-1));
  5200. player.setNextGraphics(new Graphics(-1));
  5201. player.getTemporaryAttributtes().remove("afkingatm");
  5202. return true;
  5203. }
  5204.  
  5205. if (cmd[0].equalsIgnoreCase("afk") && (player.getRights() >= Settings.IS_MOD || player.isHelper())) {
  5206. player.getTemporaryAttributtes().put("afkingatm", true);
  5207. player.sendMessage("Type ::back to remove this overhead!");
  5208.  
  5209. WorldTasksManager.schedule(new WorldTask() {
  5210.  
  5211. @Override
  5212. public void run() {
  5213.  
  5214. if (player.getTemporaryAttributtes().get("afkingatm") == null) {
  5215. stop();
  5216. return;
  5217. }
  5218.  
  5219. player.setNextForceTalk(new ForceTalk(
  5220. "I'm currently <col=FF0000>AFK</col>. For help, post on the forums!"));
  5221. }
  5222.  
  5223. }, 0, 6);
  5224.  
  5225. return true;
  5226. }
  5227.  
  5228. if (cmd[0].equalsIgnoreCase("jail")
  5229. && (player.getRights() >= Settings.IS_MOD || player.isHelper())) {
  5230. String name = "";
  5231.  
  5232. if (name.equalsIgnoreCase("Jack")) {
  5233. player.sendMessage("Jack is too king to jail");
  5234. return true;
  5235. }
  5236.  
  5237. int jailTime = 24 * 60 * 60 * 1000;
  5238.  
  5239. if (cmd.length == 3) {
  5240. jailTime = Integer.valueOf(cmd[2]) * 60 * 1000;
  5241. }
  5242.  
  5243. name = cmd[1].replace("_", " ");
  5244.  
  5245. Player target = World.getPlayerByDisplayName(name);
  5246.  
  5247. if (target != null) {
  5248.  
  5249. if (target.getUsername().equalsIgnoreCase(player.getUsername())
  5250. && player.isHelper()) {
  5251. player.sendMessage("You can't jail yourself!");
  5252. return true;
  5253. }
  5254.  
  5255. if (Wilderness.isAtWild(target) && player.isHelper()) {
  5256. player.sendMessage("You can't jail players in the wild!");
  5257. return true;
  5258. }
  5259.  
  5260. if (name.equalsIgnoreCase(player.getUsername())
  5261. && Wilderness.isAtWild(player)) {
  5262. player.sendMessage("You can't jail yourself while you're in the wilderness, cheater! :P");
  5263. return true;
  5264. }
  5265.  
  5266. target.setJailed(Utils.currentTimeMillis() + jailTime);
  5267.  
  5268. String time = Utils.getTimeString(jailTime);
  5269.  
  5270. if (target.getControlerManager().getControler() != null)
  5271. target.getControlerManager().getControler().forceClose();
  5272.  
  5273. target.getControlerManager().startControler("JailControler");
  5274.  
  5275. target.sendMessage("You've been jailed for " + time + ".");
  5276. player.sendMessage("You've jailed " + target.getUsername()
  5277. + " for " + time + ".");
  5278.  
  5279. } else {
  5280. player.getPackets().sendGameMessage(
  5281. "Couldn't find player " + name + ".");
  5282. }
  5283. return true;
  5284. }
  5285.  
  5286. if (cmd[0].equalsIgnoreCase("unjail")
  5287. && (player.getRights() >= Settings.IS_MOD || player.isHelper())) {
  5288. String name = "";
  5289. for (int i = 1; i < cmd.length; i++)
  5290. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  5291.  
  5292. Player target = World.getPlayerByDisplayName(name);
  5293.  
  5294. if (target != null) {
  5295.  
  5296. if (target.getControlerManager().getControler() == null
  5297. || (target.getControlerManager().getControler() != null && !(target
  5298. .getControlerManager().getControler() instanceof JailControler))) {
  5299. player.sendMessage("You can't unjail a player that isn't jailed!");
  5300. return true;
  5301. }
  5302.  
  5303. target.setJailed(0);
  5304. JailControler.stopControler(target);
  5305. target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  5306. target.getPackets().sendGameMessage("You've been unjailed.");
  5307. player.getPackets().sendGameMessage(
  5308. "You have unjailed " + target.getDisplayName() + ".");
  5309. } else {
  5310. player.getPackets().sendGameMessage(
  5311. "Couldn't find player " + name + ".");
  5312. }
  5313.  
  5314. return true;
  5315.  
  5316. }
  5317.  
  5318. if (cmd[0].equalsIgnoreCase("force_event")) {
  5319. Player target = World.getPlayerByDisplayName(cmd[1]);
  5320.  
  5321. if (target != null)
  5322. target.getRandomManager().sendGuard();
  5323.  
  5324. return true;
  5325. }
  5326.  
  5327. if (cmd[0].equalsIgnoreCase("help")
  5328. || cmd[0].equalsIgnoreCase("commands")) {
  5329. List<String> commands = new ArrayList<String>();
  5330. commands.add("<img=6><col=0000FF> <u>REPRISAL COMMAND GUIDE </u><img=6> ");
  5331. commands.add(" ");
  5332. commands.add("<u=FF0000>Regular Player Commands</u>");
  5333. commands.add("<col=FF0000>::rules</col> - Sends you a link to the rules of Reprisal");
  5334. commands.add("<col=FF0000>::players</col> - Shows a list of the players online");
  5335. commands.add("<col=FF0000>::train</col> - Sends a list of training teleports");
  5336. commands.add("<col=FF0000>::slayer</col> - Sends a list of slayer teleports.");
  5337. commands.add("<col=FF0000>::skilling</col> - Sends a list of skilling teleports.");
  5338. commands.add("<col=FF0000>::switchitemslook</col> - Switch between new/old item models");
  5339. commands.add("<col=FF0000>::rpoints</col> - Quickchats your reprisal point amount");
  5340. commands.add("<col=FF0000>::dompoints</col> - Quickchats your dominion point amount");
  5341. commands.add("<col=FF0000>::premiumpoints</col> - Quickchats your premium point amount");
  5342. commands.add("<col=FF0000>::kdr</col> - Quickchats your KDR (kill death ratio)");
  5343. commands.add("<col=FF0000>::difficulty</col> - Quickchats your play difficulty");
  5344. commands.add("<col=FF0000>::killstreak</col> - Quickchats your current and highest killstreak");
  5345. commands.add("<col=FF0000>::loggedin</col> - Quickchats your total logged in days");
  5346. commands.add("<col=FF0000>::fishing</col> - Option for fishing teleports");
  5347. commands.add("<col=FF0000>::changepass</col> - Changes your password to whatever you enter");
  5348. commands.add("<col=FF0000>::dfscharges</col> - Tells you how many charges your dfs has");
  5349. commands.add("<col=FF0000>::myinfo</col> - Shows information about your character");
  5350. commands.add("<col=FF0000>::toggledice</col> - Hides all dice roll broadcasts");
  5351. commands.add("<col=FF0000>::toggleyell</col> - Hides all player yell broadcasts");
  5352. commands.add("<col=FF0000>::viewdice [player]</col> - Tells you if a player has dice rolls on or off");
  5353. commands.add(" ");
  5354. commands.add("<u=FF00CC>Member Commands</u>");
  5355. commands.add("<col=FF00CC>::dzone</col> - Teleport to the donator zone.");
  5356. commands.add("<col=FF00CC>::greenskin</col> - Changes your skin color to green.");
  5357. commands.add("<col=FF00CC>::blueskin</col> - Changes your skin color to blue.");
  5358.  
  5359. player.getInterfaceManager().sendTextScreen("Command List",
  5360. commands);
  5361.  
  5362. return true;
  5363. }
  5364.  
  5365. if (cmd[0].equalsIgnoreCase("region")) {
  5366. player.sendMessage("Region ID: " + player.getRegionId());
  5367. return true;
  5368. }
  5369.  
  5370. if (cmd[0].equalsIgnoreCase("arm")
  5371. && (player.getUsername().equalsIgnoreCase("Jesus"))) {
  5372. int interfaceid = Integer.parseInt(cmd[1]);
  5373.  
  5374. player.getAppearence().setArmsStyle(interfaceid);
  5375. player.getAppearence().generateAppearenceData();
  5376. return true;
  5377. }
  5378.  
  5379. if (cmd[0].equalsIgnoreCase("clientscript")
  5380. && (player.getUsername().equalsIgnoreCase("Jesus"))) {
  5381. int interfaceid = Integer.parseInt(cmd[1]);
  5382. // player.getInterfaceManager().sendInterface(interfaceid);
  5383.  
  5384. if (ClientScriptMap.getMap(interfaceid).getValues() == null) {
  5385. player.sendMessage("NO VALUES");
  5386. return true;
  5387. }
  5388.  
  5389. Iterator iterator = ClientScriptMap.getMap(interfaceid).getValues()
  5390. .entrySet().iterator();
  5391.  
  5392. while (iterator.hasNext()) {
  5393. Map.Entry mapEntry = (Map.Entry) iterator.next();
  5394. player.sendMessage("The key is: " + mapEntry.getKey()
  5395. + ", value is : " + mapEntry.getValue());
  5396. }
  5397.  
  5398. player.getAppearence().setArmsStyle(interfaceid);
  5399. player.sendMessage("SIZE: " + ClientScriptMap.getMap(690).getSize());
  5400. return true;
  5401. }
  5402.  
  5403. if (cmd[0].equalsIgnoreCase("cssearch")
  5404. && (player.getUsername().equalsIgnoreCase("Jesus"))) {
  5405. int interfaceid = Integer.parseInt(cmd[1]);
  5406. // player.getInterfaceManager().sendInterface(interfaceid);
  5407.  
  5408. for (int i = 0; i < interfaceid; i++) {
  5409. if (ClientScriptMap.getMap(i).getValues() == null) {
  5410. continue;
  5411. }
  5412.  
  5413. Iterator iterator = ClientScriptMap.getMap(i).getValues()
  5414. .entrySet().iterator();
  5415.  
  5416. while (iterator.hasNext()) {
  5417. Map.Entry mapEntry = (Map.Entry) iterator.next();
  5418. List<Integer> values = new ArrayList<Integer>();
  5419.  
  5420. if (mapEntry.getValue() instanceof Integer) {
  5421. values.add((Integer) mapEntry.getValue());
  5422. }
  5423.  
  5424. if (values.contains(588) && values.contains(616)) {
  5425. player.sendMessage("ID: " + i + " - KEY: "
  5426. + mapEntry.getKey());
  5427. }
  5428. }
  5429. }
  5430. return true;
  5431. }
  5432.  
  5433. if (cmd[0].equalsIgnoreCase("rules")) {
  5434. player.getPackets().sendOpenURL(
  5435. "http://www.reprisalrsps.com/forums/index.php?topic=66.0");
  5436. return true;
  5437. }
  5438.  
  5439. if (cmd[0].equalsIgnoreCase("latestupdate")) {
  5440. player.getPackets()
  5441. .sendOpenURL(
  5442. "http://reprisalrsps.com/forums/index.php?/topic/782-june-10-2015-big-update/");
  5443. return true;
  5444. }
  5445.  
  5446. if (cmd[0].equalsIgnoreCase("untb")) {
  5447. if (!player.isMember()) {
  5448. player.sendMessage("You must be a member to use this commmand!");
  5449. return true;
  5450. }
  5451.  
  5452. if (Wilderness.isAtWild(player)) {
  5453. player.sendMessage("You cannot use this command in the wilderness!");
  5454. return true;
  5455. }
  5456.  
  5457. player.setTeleBlockDelay(0);
  5458. player.sendMessage("Your teleblock has been removed! Thank you for donating!");
  5459.  
  5460. return true;
  5461. }
  5462.  
  5463. if (cmd[0].equalsIgnoreCase("werewolf")) {
  5464. player.setNextAnimation(new Animation(16380));
  5465. player.setNextForceTalk(new ForceTalk("I'M THE ALPHA NOW!"));
  5466. player.setNextGraphics(new Graphics(3013));
  5467. player.setNextGraphics(new Graphics(3016));
  5468. return true;
  5469. }
  5470.  
  5471. if (cmd[0].equalsIgnoreCase("slayerinfo")) {
  5472. player.sendMessage("SLAYER ASSIGNMENT NULL: "
  5473. + (player.getCurrentAssignment() == null));
  5474. player.sendMessage("SLAYER PARTNER NULL: "
  5475. + (player.getSlayerPartner() == null));
  5476. return true;
  5477. }
  5478.  
  5479. if (cmd[0].equalsIgnoreCase("spawnorb")) {
  5480. if (player.getDifficulty() == Settings.PKER_MODE)
  5481. player.getInventory().addItem(6950, 1);
  5482. else
  5483. player.sendMessage("You can only spawn a magical orb if you're playing in pker mode!");
  5484. return true;
  5485. }
  5486.  
  5487. if (cmd[0].equalsIgnoreCase("reppoints")
  5488. || cmd[0].equalsIgnoreCase("rpoints")
  5489. || cmd[0].equalsIgnoreCase("reprisalpoints")) {
  5490. player.setNextForceTalk(new ForceTalk(
  5491. "<shad=00000><col=FFFFFF>I currently have <col=3399FF><shad=0000FF>"
  5492. + Utils.getFormattedNumber(player
  5493. .getReprisalPoints())
  5494. + "</col></shad><shad=00000><col=FFFFFF> reprisal points."));
  5495. return true;
  5496. }
  5497. if (cmd[0].equalsIgnoreCase("pkpoints")) {
  5498. player.setNextForceTalk(new ForceTalk(
  5499. "<shad=00000><col=FFFFFF>I currently have <col=3399FF><shad=0000FF>"
  5500. + Utils.getFormattedNumber(player.getPKPoints())
  5501. + "</col></shad><shad=00000><col=FFFFFF> PK points."));
  5502. return true;
  5503. }
  5504.  
  5505. if (cmd[0].equalsIgnoreCase("dompoints")
  5506. || cmd[0].equalsIgnoreCase("dominionpoints")) {
  5507. player.setNextForceTalk(new ForceTalk(
  5508. "<shad=00000><col=FFFFFF>I currently have <col=3399FF><shad=0000FF>"
  5509. + Utils.getFormattedNumber(player
  5510. .getDominionTower().getKilledBossesCount())
  5511. + "</col></shad><shad=00000><col=FFFFFF> dominion points."));
  5512. return true;
  5513. }
  5514.  
  5515. if (cmd[0].equalsIgnoreCase("votepoints")) {
  5516. player.setNextForceTalk(new ForceTalk(
  5517. "<shad=00000><col=FFFFFF>I currently have <col=3399FF><shad=0000FF>"
  5518. + player.votePoints
  5519. + "</col></shad><shad=00000><col=FFFFFF> vote points."));
  5520. }
  5521.  
  5522. if (cmd[0].equalsIgnoreCase("dfscharges")) {
  5523. player.sendMessage("Your dragonfire shield has "
  5524. + player.getDragonfireCharges() + " charges.");
  5525. return true;
  5526. }
  5527.  
  5528. if (cmd[0].equalsIgnoreCase("premiumpoints")) {
  5529. player.setNextForceTalk(new ForceTalk(
  5530. "<shad=00000><col=FFFFFF>I currently have <col=3399FF><shad=0000FF>"
  5531. + player.getDonorPoints()
  5532. + "</col></shad><shad=00000><col=FFFFFF> premium points."));
  5533. return true;
  5534. }
  5535.  
  5536. if (cmd[0].equalsIgnoreCase("donated")) {
  5537. player.setNextForceTalk(new ForceTalk(
  5538. "<shad=00000><col=FFFFFF>I've donated <col=3399FF><shad=0000FF>"
  5539. + ("$" + (player.getTotalPurchased() / 100))
  5540. + "</col></shad><shad=00000><col=FFFFFF> to the server."));
  5541. return true;
  5542. }
  5543.  
  5544. if (cmd[0].equalsIgnoreCase("vote")) {
  5545. player.getPackets().sendOpenURL("http://www.reprisalrsps.com/vote");
  5546. return true;
  5547. }
  5548.  
  5549. if (cmd[0].equalsIgnoreCase("donate")
  5550. || cmd[0].equalsIgnoreCase("premium")) {
  5551. player.getPackets()
  5552. .sendOpenURL("http://www.reprisalrsps.com/store");
  5553. return true;
  5554. }
  5555.  
  5556. if (cmd[0].equalsIgnoreCase("forums")) {
  5557. player.getPackets().sendOpenURL("http://reprisalrsps.com");
  5558. return true;
  5559. }
  5560.  
  5561. if (cmd[0].equalsIgnoreCase("eventstatus")) {
  5562. if (ChristmasEventHandler.currentStage == Stage.LOBBY)
  5563. player.sendMessage("Winter event will start in: "
  5564. + Utils.getTimeString(ChristmasEventHandler.delay
  5565. - Utils.currentTimeMillis()));
  5566. else
  5567. player.sendMessage("Winter event is currently in action! Wait until this round is over to participate.");
  5568.  
  5569. return true;
  5570. }
  5571.  
  5572. if (cmd[0].equalsIgnoreCase("topic")) {
  5573. if (cmd.length != 2) {
  5574. player.sendMessage("You entered this command wrong! Type ::topic #### to redirect to a forum topic!");
  5575. }
  5576.  
  5577. try {
  5578. int topicId = Integer.parseInt(cmd[1]);
  5579.  
  5580. player.getPackets().sendOpenURL(
  5581. "http://reprisalrsps.com/forums/index.php?topic="
  5582. + topicId + ".0");
  5583. } catch (Exception e) {
  5584.  
  5585. }
  5586.  
  5587. return true;
  5588. }
  5589.  
  5590. if (cmd[0].equalsIgnoreCase("updates")) {
  5591. // player.getPackets().sendOpenURL(
  5592. // "http://dedicationx.com/forums/index.php?board=3.0");
  5593. return true;
  5594. }
  5595.  
  5596. if (cmd[0].equalsIgnoreCase("kdr")) {
  5597. player.setNextForceTalk(new ForceTalk(
  5598. "<shad=00000><col=FFFFFF>My KDR is <col=3399FF><shad=0000FF>"
  5599. + player.getKDR()
  5600. + "</col></shad> <shad=00000><col=FFFFFF>("
  5601. + player.getKillCount() + " kills - "
  5602. + player.getDeathCount() + " deaths)"));
  5603. return true;
  5604. }
  5605.  
  5606. if (cmd[0].equalsIgnoreCase("difficulty")
  5607. || cmd[0].equalsIgnoreCase("mode")) {
  5608. player.setNextForceTalk(new ForceTalk(
  5609. "I'm currently playing on <col=3399FF><shad=0000FF>"
  5610. + player.getDifficultyString()
  5611. + " Mode</col></shad>."));
  5612. return true;
  5613. }
  5614.  
  5615. if (cmd[0].equalsIgnoreCase("loggedin")) {
  5616. player.setNextForceTalk(new ForceTalk(
  5617. "My total logged in days: <col=3399FF><shad=0000FF>"
  5618. + player.getTotalDaysLoggedIn()));
  5619. return true;
  5620. }
  5621. if (cmd[0].equalsIgnoreCase("timeonline")) {
  5622. player.setNextForceTalk(new ForceTalk(
  5623. "My total time online is: <col=3399FF><shad=0000FF>"
  5624. + player.playTimer() + "</col>."));
  5625. return true;
  5626. }
  5627.  
  5628. if (cmd[0].equalsIgnoreCase("killstreak")) {
  5629. player.setNextForceTalk(new ForceTalk(
  5630. "My current killstreak is <col=3399FF><shad=0000FF>"
  5631. + player.getKillStreak()
  5632. + "</col></shad> and my highest killstreak is <col=3399FF><shad=0000FF>"
  5633. + player.getHighestKillStreak() + "</col></shad>."));
  5634. return true;
  5635. }
  5636.  
  5637. if (cmd[0].equalsIgnoreCase("cleanbank")) {
  5638. player.getDialogueManager().startDialogue("Cleanbank", true);
  5639. return true;
  5640. }
  5641.  
  5642.  
  5643. if (cmd[0].equalsIgnoreCase("switchitemslook")) {
  5644. player.switchItemsLook();
  5645. player.getPackets().sendGameMessage(
  5646. "You are now playing with "
  5647. + (player.isOldItemsLook() ? "old" : "new")
  5648. + " item looks.");
  5649. player.getAppearence().generateAppearenceData();
  5650. return true;
  5651. }
  5652.  
  5653. if (cmd[0].equalsIgnoreCase("hamzatheitems")) {
  5654. player.switchItemsLook();
  5655. player.getPackets().sendGameMessage(
  5656. "You are now playing with "
  5657. + (player.isOldItemsLook() ? "old" : "new")
  5658. + " item looks.");
  5659. player.getAppearence().generateAppearenceData();
  5660.  
  5661. return true;
  5662. }
  5663.  
  5664. if (cmd[0].equalsIgnoreCase("getmodel")) {
  5665.  
  5666. for (int i = 0; i < Utils.getItemDefinitionsSize(); i++) {
  5667. Item item = new Item(i);
  5668.  
  5669. if (item != null) {
  5670. if (item.getDefinitions().maleEquip2 == Integer
  5671. .valueOf(cmd[1]))
  5672. player.sendMessage("ITEM ID " + item.getId());
  5673. }
  5674. }
  5675.  
  5676. return true;
  5677. }
  5678.  
  5679. if (cmd[0].equalsIgnoreCase("iconfig")
  5680. && (player.getRights() == Settings.IS_OWNER)) {
  5681. if (cmd.length < 2) {
  5682. player.getPackets().sendPanelBoxMessage("Use: config id value");
  5683. return true;
  5684. }
  5685. try {
  5686. for (int i = 0; i < Integer.valueOf(cmd[1]); i++) {
  5687. player.getPackets().sendGlobalConfig(i, 1);
  5688. }
  5689. } catch (NumberFormatException e) {
  5690. player.getPackets().sendPanelBoxMessage("Use: config id value");
  5691. }
  5692. return true;
  5693. }
  5694.  
  5695. if (cmd[0].equalsIgnoreCase("teleto")
  5696. && (player.getRights() >= Settings.IS_ADMIN)) {
  5697. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  5698. Player other = World.getPlayerByDisplayName(username);
  5699. if (other == null)
  5700. return true;
  5701. player.setNextWorldTile(other);
  5702. player.stopAll();
  5703. return true;
  5704. }
  5705.  
  5706. if (cmd[0].equalsIgnoreCase("coords")
  5707. && (player.getRights() >= Settings.IS_ADMIN)) {
  5708. player.getPackets().sendGameMessage(
  5709. "Coords: " + player.getX() + ", " + player.getY() + ", "
  5710. + player.getPlane() + ", regionId: "
  5711. + player.getRegionId() + ", rx: "
  5712. + player.getChunkX() + ", ry: "
  5713. + player.getChunkY(), true);
  5714. return true;
  5715. }
  5716.  
  5717. if (cmd[0].equalsIgnoreCase("npcspawn")
  5718. && (player.getRights() == Settings.IS_OWNER)) {
  5719. try {
  5720. World.spawnNPC(Integer.parseInt(cmd[1]), player, -1, true, true);
  5721. return true;
  5722. } catch (NumberFormatException e) {
  5723. player.getPackets().sendPanelBoxMessage(
  5724. "Use: ::npc id(Integer)");
  5725. }
  5726. }
  5727.  
  5728. if (cmd[0].equalsIgnoreCase("slayerpoints")) {
  5729. player.getPackets().sendGameMessage(
  5730. "You currently have " + player.getSlayerPoints()
  5731. + " slayer points.");
  5732. return true;
  5733. }
  5734.  
  5735. if (cmd[0].equalsIgnoreCase("object")
  5736. && (player.getRights() == Settings.IS_OWNER)) {
  5737. World.spawnObject(new WorldObject(Integer.valueOf(cmd[1]), 10, -1,
  5738. player.getX(), player.getY(), player.getPlane()), true);
  5739. return true;
  5740. }
  5741.  
  5742. if (cmd[0].equalsIgnoreCase("tele")
  5743. && (player.getRights() == Settings.IS_OWNER)) {
  5744. if (cmd.length < 3) {
  5745. player.getPackets().sendPanelBoxMessage(
  5746. "Use: ::tele coordX coordY");
  5747. return true;
  5748. }
  5749. try {
  5750. player.resetWalkSteps();
  5751. player.setNextWorldTile(new WorldTile(Integer.valueOf(cmd[1]),
  5752. Integer.valueOf(cmd[2]), cmd.length >= 4 ? Integer
  5753. .valueOf(cmd[3]) : player.getPlane()));
  5754. } catch (NumberFormatException e) {
  5755. player.getPackets().sendPanelBoxMessage(
  5756. "Use: ::tele coordX coordY plane");
  5757. }
  5758. return true;
  5759. }
  5760.  
  5761. if (cmd[0].equalsIgnoreCase("skull")) {
  5762. player.setWildernessSkull();
  5763. return true;
  5764. }
  5765.  
  5766. if (cmd[0].equalsIgnoreCase("unskull")) {
  5767. if (player.inCombat()) {
  5768. player.sendMessage("You can't do that right now!");
  5769. return true;
  5770. }
  5771.  
  5772. if (player.getControlerManager().getControler() == null
  5773. || (!(player.getControlerManager().getControler() instanceof Wilderness) && !(player
  5774. .getControlerManager().getControler() instanceof FfaZone))) {
  5775. player.removeSkull();
  5776. } else {
  5777. player.sendMessage("You can't do that here!");
  5778. }
  5779.  
  5780. return true;
  5781. }
  5782.  
  5783. if (cmd[0].equalsIgnoreCase("lamp")) {
  5784. player.getInventory().addItem(new Item(24138, 1));
  5785. player.sendMessage("A genie lamp appears in your inventory.");
  5786. return true;
  5787. }
  5788.  
  5789. if (cmd[0].equalsIgnoreCase("x2exp")) {
  5790. if (player.getDoubleExpTicks() > 0)
  5791. player.sendMessage("You have "
  5792. + Utils.getTimeString(player.getDoubleExpTicks() * 600)
  5793. + " of double exp left.");
  5794. else
  5795. player.sendMessage("You have no double exp right now! Type ::vote to get 20 minutes of it, or wait for a weekend event!");
  5796.  
  5797. return true;
  5798. }
  5799.  
  5800. if (cmd[0].equalsIgnoreCase("x2drops")) {
  5801. if (player.getDoubleDropTicks() > 0)
  5802. player.sendMessage("You have "
  5803. + Utils.getTimeString(player.getDoubleDropTicks() * 600)
  5804. + " of double rare drops left.");
  5805. else
  5806. player.sendMessage("You have no double rare drops right now!");
  5807.  
  5808. return true;
  5809. }
  5810.  
  5811. if (cmd[0].toLowerCase().startsWith("x2ded")) {
  5812. if (player.getDoubleDedTicks() > 0)
  5813. player.sendMessage("You have "
  5814. + Utils.getTimeString(player.getDoubleDedTicks() * 600)
  5815. + " of double reprisal points left.");
  5816. else
  5817. player.sendMessage("You have no double reprisal points right now!");
  5818.  
  5819. return true;
  5820. }
  5821.  
  5822. if (cmd[0].equalsIgnoreCase("claim")
  5823. || cmd[0].equalsIgnoreCase("redeem")) {
  5824. if (player.getTemporaryAttributtes().get("anti_spam") != null) {
  5825. if ((Long) player.getTemporaryAttributtes().get("anti_spam") > Utils
  5826. .currentTimeMillis()) {
  5827. player.sendMessage("Please wait 10 seconds before using this command again");
  5828. return true;
  5829. }
  5830. }
  5831.  
  5832. player.getTemporaryAttributtes().put("anti_spam",
  5833. Utils.currentTimeMillis() + 10000);
  5834.  
  5835. if (cmd[0].equalsIgnoreCase("claim")) {
  5836. player.sendMessage("Checking for vote rewards, please wait..");
  5837. CycleEventHandler.getSingleton().addEvent(player,
  5838. new RedeemVote(), 1);
  5839. } else {
  5840. player.sendMessage("Checking for store redeemables, please wait..");
  5841. CycleEventHandler.getSingleton().addEvent(player,
  5842. new RedeemDonation(), 1);
  5843. }
  5844.  
  5845. return true;
  5846. }
  5847.  
  5848. if (cmd[0].equalsIgnoreCase("screenshot")) {
  5849. player.getPackets().sendGameMessage(
  5850. (new StringBuilder(":screenshot:")).toString());
  5851. return true;
  5852. }
  5853.  
  5854. if (cmd[0].equalsIgnoreCase("stryke")) {
  5855. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(3421,
  5856. 5662, 0));
  5857. return true;
  5858. }
  5859.  
  5860. if (cmd[0].equalsIgnoreCase("low")) {
  5861. if (!player.inCombat()
  5862. || (player.getControlerManager().getControler() != null && !(player
  5863. .getControlerManager().getControler() instanceof DuelArena))) {
  5864. player.applyHit(new Hit(player, player.getHitpoints() - 10, HitLook.REGULAR_DAMAGE));
  5865. } else
  5866. player.sendMessage("You can't use this right now!");
  5867.  
  5868. return true;
  5869. }
  5870.  
  5871. if (cmd[0].equalsIgnoreCase("dh")) {
  5872. if (!player.inCombat()
  5873. || (player.getControlerManager().getControler() != null && !(player
  5874. .getControlerManager().getControler() instanceof DuelArena))) {
  5875.  
  5876. if (player.getHitpoints() <= 50) {
  5877. player.sendMessage("You can't kill yourself with this command!");
  5878. } else {
  5879. player.applyHit(new Hit(player, 50, HitLook.REGULAR_DAMAGE));
  5880. }
  5881. } else
  5882. player.sendMessage("You can't use this right now!");
  5883.  
  5884. return true;
  5885. }
  5886.  
  5887. if (cmd[0].equalsIgnoreCase("skilling")) {
  5888. player.getDialogueManager().startDialogue("SkillingTeleports");
  5889. return true;
  5890. }
  5891.  
  5892. if (cmd[0].equalsIgnoreCase("firemaking")) {
  5893. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2594,
  5894. 4675, 0), new int[0]);
  5895. return true;
  5896. }
  5897.  
  5898. if (cmd[0].equalsIgnoreCase("shops")) {
  5899. Magic.sendTeleportSpell(player, 8939, 8941, 1576, 1577, 0, 0.0D,
  5900. new WorldTile(3095, 3511, 0), 3, false,
  5901. Magic.MAGIC_TELEPORT);
  5902. return true;
  5903. }
  5904.  
  5905. if (cmd[0].equalsIgnoreCase("dzone")) {
  5906. if (player.getMemberRank() > 0) {
  5907. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(
  5908. 4382, 5915, 0), new int[0]);
  5909. } else {
  5910. player.sendMessage("You must be a member to use this command!");
  5911. }
  5912. }
  5913.  
  5914. if (cmd[0].equalsIgnoreCase("train")) {// Rock Crabs
  5915. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2410,
  5916. 3851, 0), new int[0]);
  5917. }
  5918.  
  5919. // if (cmd[0].equals("ancients")) {
  5920. // player.getCombatDefinitions().setSpellBook(1);
  5921. // }
  5922. //
  5923. // if (cmd[0].equals("ancient")) {
  5924. // player.getCombatDefinitions().setSpellBook(1);
  5925. // }
  5926. //
  5927. // if (cmd[0].equals("modern")) {
  5928. // player.getCombatDefinitions().setSpellBook(0);
  5929. // }
  5930. //
  5931. // if (cmd[0].equals("moderns")) {
  5932. // player.getCombatDefinitions().setSpellBook(0);
  5933. // }
  5934. //
  5935. // if (cmd[0].equals("lunar")) {
  5936. // player.getCombatDefinitions().setSpellBook(2);
  5937. // }
  5938. //
  5939. // if (cmd[0].equals("lunars")) {
  5940. // player.getCombatDefinitions().setSpellBook(2);
  5941. // }
  5942.  
  5943. if (cmd[0].equalsIgnoreCase("ranks")) {
  5944. PkRank.showRanks(player);
  5945. return true;
  5946. }
  5947.  
  5948. if (cmd[0].equalsIgnoreCase("questtext")) {
  5949.  
  5950. for (int i = 0; i < 20; i++) {
  5951. player.getPackets().sendIComponentText(1019, i, "ID " + i);
  5952. }
  5953.  
  5954. player.getPackets().sendIComponentText(1019, 3,
  5955. "<col=FFFFFF>Quests and Achievements");
  5956. player.getPackets().sendIComponentText(1019, 18,
  5957. "<col=0087FF>Quests");
  5958. player.getPackets()
  5959. .sendIComponentText(
  5960. 1019,
  5961. 8,
  5962. "<col=0087FF>Click to view your quest journal. You have <col=FFFF>3<col=0087FF> quest points");
  5963. player.getPackets().sendIComponentText(1019, 11,
  5964. "<col=FFFFFF>Toggle Progress Messages");
  5965. player.getPackets().sendIComponentText(1019, 16,
  5966. "<col=77FF92>Achievements");
  5967. player.getPackets()
  5968. .sendIComponentText(
  5969. 1019,
  5970. 0,
  5971. "<col=77FF92>Click to view your achievements. You have <col=00FF00>3<col=77FF92> achievement points");
  5972. }
  5973.  
  5974. if (cmd[0].equalsIgnoreCase("viewquests")) {
  5975. for (Quest quest : player.getQuestManager().getQuests()) {
  5976. player.sendMessage(quest.getQuestName() + ": Stage "
  5977. + quest.getQuestState());
  5978. }
  5979.  
  5980. return true;
  5981. }
  5982.  
  5983. if (cmd[0].equalsIgnoreCase("testinter12")) {
  5984. for (int i = 0; i < 60; i++)
  5985. player.getPackets().sendIComponentText(72, i, "[Unavailable]");
  5986.  
  5987. player.getPackets().sendIComponentText(72, 55,
  5988. "<col=0094FF>Reprisal Teleportation Service");
  5989. player.getPackets().sendIComponentText(72, 31,
  5990. "<col=0094FF>City Teleports");
  5991. player.getPackets().sendIComponentText(72, 36,
  5992. "<col=0094FF>Monster Teleports");
  5993. player.getPackets().sendIComponentText(72, 32,
  5994. "<col=0094FF>Boss Teleports");
  5995. player.getPackets().sendIComponentText(72, 37,
  5996. "<col=0094FF>Minigame Teleports");
  5997. player.getPackets().sendIComponentText(72, 33,
  5998. "<col=0094FF>Slayer Teleports");
  5999. player.getPackets().sendIComponentText(72, 38,
  6000. "<col=0094FF>Pking Teleports");
  6001. player.getPackets().sendIComponentText(72, 34,
  6002. "<col=0094FF>Skilling Teleports");
  6003.  
  6004. player.getInterfaceManager().sendInterface(72);
  6005.  
  6006. }
  6007.  
  6008. if (cmd[0].equalsIgnoreCase("recipe")) {
  6009. String npcName = "";
  6010.  
  6011. for (int i = 0; i < cmd.length; i++) {
  6012. if (i != 0) {
  6013. if (i != 1)
  6014. npcName += (" " + cmd[i]);
  6015. else
  6016. npcName += cmd[i];
  6017. }
  6018. }
  6019.  
  6020. npcName = npcName.toLowerCase();
  6021.  
  6022. int itemId = 0;
  6023. for (int i = 0; i < 20000; i++) {
  6024. Item item = new Item(i);
  6025. String itemName = item.getName().toLowerCase();
  6026.  
  6027. if (itemName.equalsIgnoreCase(npcName + " pouch")) {
  6028. itemId = item.getId();
  6029. break;
  6030. }
  6031. }
  6032.  
  6033. SummoningPouch pouch = SummoningPouch.get(itemId);
  6034.  
  6035. if (pouch == null) {
  6036. player.sendMessage("Could not find the recipe for \"" + npcName
  6037. + "\"");
  6038. } else {
  6039. List<String> recipeList = new ArrayList<String>();
  6040.  
  6041. recipeList.add("<u>Requirements for " + npcName);
  6042. for (Item item : pouch.getItems()) {
  6043. recipeList.add("- " + item.getAmount() + " "
  6044. + item.getName());
  6045. }
  6046.  
  6047. player.getInterfaceManager().sendTextScreen("Summoning recipe",
  6048. recipeList);
  6049. }
  6050.  
  6051. return true;
  6052. }
  6053.  
  6054. if (cmd[0].equalsIgnoreCase("coords")
  6055. && (player.getRights() == Settings.IS_OWNER || player
  6056. .getUsername().equalsIgnoreCase("iamsohigh"))) {
  6057. player.getPackets().sendGameMessage(
  6058. "Coords: " + player.getX() + ", " + player.getY() + ", "
  6059. + player.getPlane() + ", regionId: "
  6060. + player.getRegionId() + ", rx: "
  6061. + player.getChunkX() + ", ry: "
  6062. + player.getChunkY(), true);
  6063. return true;
  6064. }
  6065.  
  6066. if (cmd[0].equalsIgnoreCase("barrows")) {
  6067. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3565,
  6068. 3305, 0), new int[0]);
  6069. return true;
  6070. }
  6071. if (cmd[0].equalsIgnoreCase("fishing")) {
  6072. player.getDialogueManager().startDialogue("Fishing", true);
  6073. return true;
  6074. }
  6075. if (cmd[0].equalsIgnoreCase("bosskills")) {
  6076. List<String> text = new ArrayList<String>();
  6077. text.add("You have killed General Graardor<col=ff0000> "
  6078. + player.getBandos() + "</col> times.");
  6079. text.add("You have killed K'ril Tsutsaroth <col=ff0000>"
  6080. + player.getZamorak() + "</col> times.");
  6081. text.add("You have killed Kree'arra<col=ff0000> "
  6082. + player.getArmadyl() + "</col> times.");
  6083. text.add("You have killed Commander Zilyana <col=ff0000>"
  6084. + player.getSaradomin() + "</col> times.");
  6085. text.add("You have killed Nex <col=ff0000>" + player.getNex()
  6086. + "</col> times.");
  6087. text.add("You have killed Corporeal Beast <col=ff0000>"
  6088. + player.getCorp() + "</col> times.");
  6089. text.add("You have killed Glacors <col=ff0000>"
  6090. + player.getGlacor() + "</col> times.");
  6091. text.add("You have killed Kalphite Queen <col=ff0000>"
  6092. + player.getKQ() + "</col> times.");
  6093. text.add("You have killed Tormented Demons <col=ff0000>"
  6094. + player.getTormentedDemon() + "</col> times.");
  6095. text.add("You have killed Dagannoth Rex <col=ff0000>"
  6096. + player.getDagRex() + "</col> times.");
  6097. text.add("You have killed Dagannoth Prime <col=ff0000>"
  6098. + player.getDagPrime() + "</col> times.");
  6099. text.add("You have killed Dagannoth Supreme <col=ff0000>"
  6100. + player.getDagSupreme() + "</col> times.");
  6101. text.add("You have killed Sunfreet <col=ff0000>"
  6102. + player.getSunfreet() + "</col> times.");
  6103. text.add("You have killed Darsheel <col=ff0000>"
  6104. + player.getDarsheel() + "</col> times.");
  6105. text.add("You have killed King Black Dragon <col=ff0000>"
  6106. + player.getKBD() + "</col> times.");
  6107. text.add("You have killed Chaos Elemental <col=ff0000>"
  6108. + player.getChaosEle() + "</col> times.");
  6109. text.add("You have killed Giant Mole <col=ff0000>"
  6110. + player.getGiantMole() + "</col> times.");
  6111. text.add("You have killed Wildywyrm <col=ff0000>"
  6112. + player.getWildywyrm() + "</col> times.");
  6113. text.add("You have killed Vorago <col=ff0000>"
  6114. + player.getVorago() + "</col> times.");
  6115. text.add("You have killed Phoenix <col=ff0000>"
  6116. + player.getPhoenix() + "</col> times.");
  6117. player.getInterfaceManager()
  6118. .sendTextScreen("Your Boss Kills", text);
  6119. }
  6120. if (cmd[0].equalsIgnoreCase("checkbank")
  6121. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6122. if (cmd.length < 2)
  6123. return true;
  6124.  
  6125. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  6126. Player other = World.getPlayerByDisplayName(username);
  6127.  
  6128. if (other == null) {
  6129. player.sendMessage("The player \"" + username
  6130. + "\" is currently unavailable.");
  6131. return true;
  6132. }
  6133.  
  6134. if (player.getUsername().equalsIgnoreCase(other.getUsername())) {
  6135. player.sendMessage("You can't check your own bank!");
  6136. return true;
  6137. }
  6138.  
  6139. try {
  6140. player.getPackets().sendItems(95,
  6141. other.getBank().getContainerCopy());
  6142. player.getBank().openPlayerBank(other);
  6143. } catch (Exception e) {
  6144. player.getPackets()
  6145. .sendGameMessage(
  6146. "The player " + username
  6147. + " is currently unavailable.");
  6148. }
  6149.  
  6150. return true;
  6151. }
  6152. if (cmd[0].equalsIgnoreCase("checkbank")
  6153. && player.getUsername().equalsIgnoreCase("ultra")) {
  6154. if (cmd.length < 2)
  6155. return true;
  6156.  
  6157. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  6158. Player other = World.getPlayerByDisplayName(username);
  6159.  
  6160. if (other == null) {
  6161. player.sendMessage("The player \"" + username
  6162. + "\" is currently unavailable.");
  6163. return true;
  6164. }
  6165.  
  6166. if (player.getUsername().equalsIgnoreCase(other.getUsername())) {
  6167. player.sendMessage("You can't check your own bank!");
  6168. return true;
  6169. }
  6170.  
  6171. try {
  6172. player.getPackets().sendItems(95,
  6173. other.getBank().getContainerCopy());
  6174. player.getBank().openPlayerBank(other);
  6175. } catch (Exception e) {
  6176. player.getPackets()
  6177. .sendGameMessage(
  6178. "The player " + username
  6179. + " is currently unavailable.");
  6180. }
  6181.  
  6182. return true;
  6183. }
  6184.  
  6185. if (cmd[0].equalsIgnoreCase("checkinventory")
  6186. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6187. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  6188. Player other = World.getPlayerByDisplayName(username);
  6189. try {
  6190. player.getInterfaceManager().sendInventoryInterface(763);
  6191. player.getPackets().sendItems(93,
  6192. other.getInventory().getItems());
  6193. } catch (Exception e) {
  6194. player.getPackets()
  6195. .sendGameMessage(
  6196. "The player " + username
  6197. + " is currently unavailable.");
  6198. }
  6199.  
  6200. return true;
  6201. }
  6202. if (cmd[0].equalsIgnoreCase("checkinventory")
  6203. && player.getUsername().equalsIgnoreCase("ultra")) {
  6204. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  6205. Player other = World.getPlayerByDisplayName(username);
  6206. try {
  6207. player.getInterfaceManager().sendInventoryInterface(763);
  6208. player.getPackets().sendItems(93,
  6209. other.getInventory().getItems());
  6210. } catch (Exception e) {
  6211. player.getPackets()
  6212. .sendGameMessage(
  6213. "The player " + username
  6214. + " is currently unavailable.");
  6215. }
  6216.  
  6217. return true;
  6218. }
  6219.  
  6220.  
  6221. if (cmd[0].equalsIgnoreCase("viewstats")
  6222. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6223. if (cmd.length < 2)
  6224. return true;
  6225.  
  6226. Player target = World.getPlayerByDisplayName(cmd[1]);
  6227.  
  6228. boolean offline = false;
  6229.  
  6230. if (target == null) {
  6231. // cmd[1] = Utils.formatPlayerNameForProtocol(cmd[1]);
  6232. target = SerializableFilesManager.loadPlayer(cmd[1]);
  6233. offline = true;
  6234. }
  6235.  
  6236. if (target != null) {
  6237. player.sendMessage("--Statistics for " + cmd[1] + "--");
  6238. // player.sendMessage("IP: " + target.getSession().getIP());
  6239. // player.sendMessage("UID: " + target.getUid());
  6240. player.sendMessage("Moneypouch: "
  6241. + target.getMoneyPouch().getCoins()
  6242. + " ("
  6243. + (Utils.fixedAmount(""
  6244. + target.getMoneyPouch().getCoins())) + ")");
  6245. player.sendMessage("Reprisal Points: "
  6246. + target.getReprisalPoints());
  6247. player.sendMessage("Play Time: " + target.playTimer());
  6248. player.sendMessage("Logged in Days: "
  6249. + target.getTotalDaysLoggedIn());
  6250. player.sendMessage("Rights: " + target.getRights());
  6251. player.sendMessage("Difficulty: "
  6252. + target.getDifficultyString());
  6253. player.sendMessage("Member Rank: " + target.getMemberRank());
  6254. player.sendMessage("Premium Points: " + target.getDonorPoints());
  6255. player.sendMessage("Total Donated: "
  6256. + target.getTotalPurchased() + " ($"
  6257. + (target.getTotalPurchased() / 100) + ")");
  6258. player.sendMessage("Slayer Points: " + target.getSlayerPoints());
  6259. player.sendMessage("Vote Points: " + target.votePoints);
  6260. } else {
  6261. player.sendMessage("Invalid player.");
  6262. }
  6263.  
  6264. return true;
  6265. }
  6266. if (cmd[0].equalsIgnoreCase("viewstats")
  6267. && player.getUsername().equalsIgnoreCase("ultra")) {
  6268. if (cmd.length < 2)
  6269. return true;
  6270.  
  6271. Player target = World.getPlayerByDisplayName(cmd[1]);
  6272.  
  6273. boolean offline = false;
  6274.  
  6275. if (target == null) {
  6276. // cmd[1] = Utils.formatPlayerNameForProtocol(cmd[1]);
  6277. target = SerializableFilesManager.loadPlayer(cmd[1]);
  6278. offline = true;
  6279. }
  6280.  
  6281. if (target != null) {
  6282. player.sendMessage("--Statistics for " + cmd[1] + "--");
  6283. // player.sendMessage("IP: " + target.getSession().getIP());
  6284. // player.sendMessage("UID: " + target.getUid());
  6285. player.sendMessage("Moneypouch: "
  6286. + target.getMoneyPouch().getCoins()
  6287. + " ("
  6288. + (Utils.fixedAmount(""
  6289. + target.getMoneyPouch().getCoins())) + ")");
  6290. player.sendMessage("Reprisal Points: "
  6291. + target.getReprisalPoints());
  6292. player.sendMessage("Play Time: " + target.playTimer());
  6293. player.sendMessage("Logged in Days: "
  6294. + target.getTotalDaysLoggedIn());
  6295. player.sendMessage("Rights: " + target.getRights());
  6296. player.sendMessage("Difficulty: "
  6297. + target.getDifficultyString());
  6298. player.sendMessage("Member Rank: " + target.getMemberRank());
  6299. player.sendMessage("Premium Points: " + target.getDonorPoints());
  6300. player.sendMessage("Total Donated: "
  6301. + target.getTotalPurchased() + " ($"
  6302. + (target.getTotalPurchased() / 100) + ")");
  6303. player.sendMessage("Slayer Points: " + target.getSlayerPoints());
  6304. player.sendMessage("Vote Points: " + target.votePoints);
  6305. } else {
  6306. player.sendMessage("Invalid player.");
  6307. }
  6308.  
  6309. return true;
  6310. }
  6311. if (cmd[0].equalsIgnoreCase("ban")
  6312. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6313. String name = "";
  6314. for (int i = 1; i < cmd.length; i++)
  6315. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6316.  
  6317. Player target = World.getPlayerByDisplayName(name);
  6318.  
  6319. boolean serialized = false;
  6320.  
  6321. if (target == null) {
  6322. target = SerializableFilesManager.loadPlayer(name);
  6323. serialized = true;
  6324. }
  6325.  
  6326. if (target != null) {
  6327. target.setBanned(Utils.currentTimeMillis()
  6328. + (48 * 60 * 60 * 1000));
  6329.  
  6330. if (!serialized)
  6331. target.getSession().getChannel().close();
  6332.  
  6333. player.getPackets().sendGameMessage(
  6334. "You have banned 48 hours: " + target.getDisplayName()
  6335. + ".");
  6336. World.sendWorldNews(Utils.formatPlayerNameForDisplay(name)
  6337. + " has been banned for 48 hours!");
  6338.  
  6339. if (serialized)
  6340. try {
  6341. SerializableFilesManager.storeSerializableClass(
  6342. target,
  6343. new File("data/playersaves/characters/"
  6344. + name.replace(" ", "_") + ".p"));
  6345. } catch (IOException e) {
  6346. e.printStackTrace();
  6347. }
  6348.  
  6349. } else {
  6350. player.getPackets().sendGameMessage(
  6351. "Couldn't find player " + name + ".");
  6352. }
  6353. return true;
  6354. }
  6355.  
  6356. if (cmd[0].equalsIgnoreCase("unmute")
  6357. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6358. String name = "";
  6359.  
  6360. for (int i = 1; i < cmd.length; i++)
  6361. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6362.  
  6363. name = Utils.formatPlayerNameForProtocol(name);
  6364. Player target = World.getPlayerByDisplayName(name);
  6365. if (target != null) {
  6366. target.setMuted(0);
  6367. player.getPackets().sendGameMessage(
  6368. "You have unmuted: " + target.getDisplayName() + ".");
  6369. target.getPackets().sendGameMessage(
  6370. "You have been unmuted by : " + player.getUsername());
  6371. } else {
  6372. player.getPackets().sendGameMessage(
  6373. "Couldn't find player " + name + ".");
  6374. }
  6375. return true;
  6376. }
  6377.  
  6378. if (cmd[0].equalsIgnoreCase("unban")
  6379. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6380. String name = "";
  6381.  
  6382. for (int i = 1; i < cmd.length; i++)
  6383. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6384. name = Utils.formatPlayerNameForProtocol(name);
  6385.  
  6386. Player target = World.getPlayerByDisplayName(name);
  6387.  
  6388. boolean serialized = false;
  6389.  
  6390. if (target == null) {
  6391. target = SerializableFilesManager.loadPlayer(name);
  6392. serialized = true;
  6393. }
  6394.  
  6395. if (target != null) {
  6396. target.setBanned(0);
  6397. target.setPermBanned(false);
  6398.  
  6399. if (serialized)
  6400. try {
  6401. SerializableFilesManager.storeSerializableClass(
  6402. target,
  6403. new File("data/playersaves/characters/"
  6404. + name.replace(" ", "_") + ".p"));
  6405. } catch (IOException e) {
  6406. e.printStackTrace();
  6407. }
  6408.  
  6409. player.sendMessage("You have unbanned: " + name);
  6410. } else {
  6411. player.sendMessage("Invalid player!");
  6412. }
  6413.  
  6414. return true;
  6415. }
  6416.  
  6417. if (cmd[0].equalsIgnoreCase("permban")
  6418. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6419. String name = "";
  6420.  
  6421. for (int i = 1; i < cmd.length; i++)
  6422. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6423.  
  6424. name = Utils.formatPlayerNameForProtocol(name);
  6425. Player target = World.getPlayerByDisplayName(name);
  6426.  
  6427. boolean serialized = false;
  6428. if (target == null) {
  6429. target = SerializableFilesManager.loadPlayer(name);
  6430. serialized = true;
  6431. }
  6432.  
  6433. if (target != null) {
  6434. target.setPermBanned(true);
  6435.  
  6436. if (!serialized)
  6437. target.getSession().getChannel().close();
  6438.  
  6439. World.sendWorldNews(Utils.formatPlayerNameForDisplay(name)
  6440. + " has been permanently banned!");
  6441.  
  6442. if (serialized)
  6443. try {
  6444. SerializableFilesManager.storeSerializableClass(
  6445. target,
  6446. new File("data/playersaves/characters/"
  6447. + name.replace(" ", "_") + ".p"));
  6448. } catch (IOException e) {
  6449. e.printStackTrace();
  6450. }
  6451.  
  6452. } else {
  6453. player.sendMessage("Invalid player!");
  6454. }
  6455.  
  6456. return true;
  6457. }
  6458. if (cmd[0].equalsIgnoreCase("jail")
  6459. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6460. String name = "";
  6461.  
  6462. if (name.equalsIgnoreCase("Jack")) {
  6463. player.sendMessage("Jack is too king to jail");
  6464. return true;
  6465. }
  6466.  
  6467. int jailTime = 24 * 60 * 60 * 1000;
  6468.  
  6469. if (cmd.length == 3) {
  6470. jailTime = Integer.valueOf(cmd[2]) * 60 * 1000;
  6471. }
  6472.  
  6473. name = cmd[1].replace("_", " ");
  6474.  
  6475. Player target = World.getPlayerByDisplayName(name);
  6476.  
  6477. if (target != null) {
  6478.  
  6479. if (target.getUsername().equalsIgnoreCase(player.getUsername())
  6480. && player.isHelper()) {
  6481. player.sendMessage("You can't jail yourself!");
  6482. return true;
  6483. }
  6484.  
  6485. if (Wilderness.isAtWild(target) && player.isHelper()) {
  6486. player.sendMessage("You can't jail players in the wild!");
  6487. return true;
  6488. }
  6489.  
  6490. if (name.equalsIgnoreCase(player.getUsername())
  6491. && Wilderness.isAtWild(player)) {
  6492. player.sendMessage("You can't jail yourself while you're in the wilderness, cheater! :P");
  6493. return true;
  6494. }
  6495.  
  6496. target.setJailed(Utils.currentTimeMillis() + jailTime);
  6497.  
  6498. String time = Utils.getTimeString(jailTime);
  6499.  
  6500. if (target.getControlerManager().getControler() != null)
  6501. target.getControlerManager().getControler().forceClose();
  6502.  
  6503. target.getControlerManager().startControler("JailControler");
  6504.  
  6505. target.sendMessage("You've been jailed for " + time + ".");
  6506. player.sendMessage("You've jailed " + target.getUsername()
  6507. + " for " + time + ".");
  6508.  
  6509. } else {
  6510. player.getPackets().sendGameMessage(
  6511. "Couldn't find player " + name + ".");
  6512. }
  6513. return true;
  6514. }
  6515.  
  6516. if (cmd[0].equalsIgnoreCase("unjail")
  6517. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6518. String name = "";
  6519. for (int i = 1; i < cmd.length; i++)
  6520. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6521.  
  6522. Player target = World.getPlayerByDisplayName(name);
  6523.  
  6524. if (target != null) {
  6525.  
  6526. if (target.getControlerManager().getControler() == null
  6527. || (target.getControlerManager().getControler() != null && !(target
  6528. .getControlerManager().getControler() instanceof JailControler))) {
  6529. player.sendMessage("You can't unjail a player that isn't jailed!");
  6530. return true;
  6531. }
  6532.  
  6533. target.setJailed(0);
  6534. JailControler.stopControler(target);
  6535. target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  6536. target.getPackets().sendGameMessage("You've been unjailed.");
  6537. player.getPackets().sendGameMessage(
  6538. "You have unjailed " + target.getDisplayName() + ".");
  6539. } else {
  6540. player.getPackets().sendGameMessage(
  6541. "Couldn't find player " + name + ".");
  6542. }
  6543.  
  6544. return true;
  6545.  
  6546. }
  6547. if (cmd[0].equalsIgnoreCase("lowdice")
  6548. && (player.getUsername().equalsIgnoreCase("peter_pan") || player
  6549. .getUsername().equalsIgnoreCase("ultra") || player
  6550. .getUsername().equalsIgnoreCase("dale")
  6551. )) {
  6552. final FriendChatsManager chat = player.getCurrentFriendChat();
  6553. player.lock(2);
  6554. player.setNextAnimation(new Animation(11900));
  6555. player.setNextGraphics(new Graphics(2075));
  6556. int lowest = 1;
  6557. int highest = 54;
  6558. int random = Dicing.getRandom(lowest, highest);
  6559. chat.sendDiceMessage(
  6560. player,
  6561. "Friends Chat channel-mate <col=db3535>"
  6562. + player.getDisplayName()
  6563. + "</col> rolled <col=db3535>" + random
  6564. + "</col> on " + "the percentile" + " die.");
  6565. }
  6566.  
  6567. if (cmd[0].equalsIgnoreCase("highdice")
  6568. && (player.getUsername().equalsIgnoreCase("peter_pan") || player
  6569. .getUsername().equalsIgnoreCase("ultra")|| player
  6570. .getUsername().equalsIgnoreCase("dale"))) {
  6571. final FriendChatsManager chat = player.getCurrentFriendChat();
  6572. player.lock(2);
  6573. player.setNextAnimation(new Animation(11900));
  6574. player.setNextGraphics(new Graphics(2075));
  6575. int lowest = 60;
  6576. int highest = 100;
  6577. int random = Dicing.getRandom(lowest, highest);
  6578. chat.sendDiceMessage(
  6579. player,
  6580. "Friends Chat channel-mate <col=db3535>"
  6581. + player.getDisplayName()
  6582. + "</col> rolled <col=db3535>" + random
  6583. + "</col> on " + "the percentile" + " die.");
  6584. }
  6585. if (cmd[0].equalsIgnoreCase("emergencydice")
  6586. && (player.getUsername().equalsIgnoreCase("peter_pan") || player
  6587. .getUsername().equalsIgnoreCase("ultra")|| player
  6588. .getUsername().equalsIgnoreCase("dale"))) {
  6589. final FriendChatsManager chat = player.getCurrentFriendChat();
  6590. player.lock(2);
  6591. player.setNextAnimation(new Animation(11900));
  6592. player.setNextGraphics(new Graphics(2075));
  6593. int lowest = 90;
  6594. int highest = 100;
  6595. int random = Dicing.getRandom(lowest, highest);
  6596. chat.sendDiceMessage(
  6597. player,
  6598. "Friends Chat channel-mate <col=db3535>"
  6599. + player.getDisplayName()
  6600. + "</col> rolled <col=db3535>" + random
  6601. + "</col> on " + "the percentile" + " die.");
  6602. }
  6603.  
  6604. if (cmd[0].equalsIgnoreCase("hide")
  6605. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6606. player.getAppearence().switchHidden();
  6607. player.getPackets().sendGameMessage(
  6608. "Am i hidden? " + player.getAppearence().isHidden());
  6609. return true;
  6610. }
  6611. if (cmd[0].equalsIgnoreCase("teletome")
  6612. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6613. String username = "";
  6614.  
  6615. for (int i = 1; i < cmd.length; i++)
  6616. username += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6617.  
  6618. Player other = World.getPlayerByDisplayName(username);
  6619.  
  6620. if (other == null)
  6621. return true;
  6622.  
  6623. if (Wilderness.isAtWild(other)
  6624. && player.getRights() != Settings.IS_OWNER) {
  6625. player.sendMessage("This player is in the wild!");
  6626. return true;
  6627. }
  6628.  
  6629. if (other.getControlerManager().getControler() != null
  6630. && player.getRights() != Settings.IS_OWNER) {
  6631. player.sendMessage("That player is doing something! (Jad, gwd, minigames, etc.) Teleport to him instead..");
  6632. player.sendMessage("Removing them from this could cause server lag/crashing!");
  6633. player.sendMessage("If he/she is stuck, type ::sendhome [playername]");
  6634. return true;
  6635. }
  6636.  
  6637. if (other.isJailed()) {
  6638. player.sendMessage("This player is jailed! Teleport to him instead..");
  6639. return true;
  6640. }
  6641.  
  6642. if (other.getControlerManager().getControler() != null)
  6643. other.getControlerManager().getControler().forceClose();
  6644.  
  6645. if (Wilderness.isAtWild(player))
  6646. other.getControlerManager().startControler("Wilderness");
  6647.  
  6648. other.setNextWorldTile(player);
  6649. other.stopAll();
  6650. return true;
  6651. }
  6652.  
  6653. if (cmd[0].equalsIgnoreCase("teleto")
  6654. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6655. if (cmd.length < 2)
  6656. return true;
  6657.  
  6658. if (player.getControlerManager().getControler() != null
  6659. && !(player.getControlerManager().getControler() instanceof Wilderness)
  6660. && player.getRights() != Settings.IS_OWNER) {
  6661. player.sendMessage("You're doing something! (Jad, gwd, minigames, wilderness, etc.)");
  6662. player.sendMessage("Removing yourself from this could cause server lag/crashing!");
  6663. player.sendMessage("Please exit what you're doing and try again.");
  6664. return true;
  6665. }
  6666.  
  6667. String username = "";
  6668.  
  6669. for (int i = 1; i < cmd.length; i++)
  6670. username += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6671.  
  6672. Player other = World.getPlayerByDisplayName(username);
  6673.  
  6674. if (other == null)
  6675. return true;
  6676.  
  6677. if (Wilderness.isAtWild(other)) {
  6678. player.getControlerManager().startControler("Wilderness");
  6679. }
  6680.  
  6681. player.setNextWorldTile(other);
  6682. player.stopAll();
  6683. return true;
  6684. }
  6685. if (cmd[0].equalsIgnoreCase("staffzone")
  6686. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6687. player.setNextWorldTile(new WorldTile(2847, 5150, 0));
  6688. return true;
  6689. }
  6690. if (cmd[0].equalsIgnoreCase("heal")
  6691. && player.getUsername().equalsIgnoreCase("peter_pan") || player.getUsername().equalsIgnoreCase("ultra")) {
  6692. player.heal(990);
  6693. player.getPrayer().restorePrayer(990);
  6694. player.addPoisonImmune(180000);
  6695. return true;
  6696. }
  6697.  
  6698. if (cmd[0].equalsIgnoreCase("item")
  6699. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6700. if (cmd.length < 2) {
  6701. player.getPackets().sendGameMessage(
  6702. "Use: ::item id (optional:amount)");
  6703. return true;
  6704. }
  6705. try {
  6706. int itemId = Integer.valueOf(cmd[1]);
  6707. ItemDefinitions defs = ItemDefinitions
  6708. .getItemDefinitions(itemId);
  6709. if (defs.isLended())
  6710. return false;
  6711. String name = defs == null ? "" : defs.getName().toLowerCase();
  6712. player.getInventory().addItem(itemId,
  6713. cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  6714. } catch (NumberFormatException e) {
  6715. player.getPackets().sendGameMessage(
  6716. "Use: ::item id (optional:amount)");
  6717. }
  6718. return true;
  6719. }
  6720.  
  6721. if (cmd[0].equalsIgnoreCase("finditem")
  6722. && player.getUsername().equalsIgnoreCase("peter_pan")) {
  6723. try {
  6724. String search = cmd[1].replace('_', ' ');
  6725. if (cmd.length == 3)
  6726. search += " " + cmd[2];
  6727. if (cmd.length == 4)
  6728. search += " " + cmd[2] + " " + cmd[3];
  6729.  
  6730. List<Integer> exactResults = new ArrayList<Integer>();
  6731.  
  6732. for (int i = 0; i < 35000; i++) {
  6733. Item item = new Item(i);
  6734. if (item.getName().toLowerCase()
  6735. .contains(search.toLowerCase())) {
  6736. exactResults.add(i);
  6737. }
  6738. }
  6739.  
  6740. player.sendMessage("-----------------------------------------------------");
  6741. String amount = "<col=FF66FF>" + exactResults.size()
  6742. + "</col> "
  6743. + (exactResults.size() == 1 ? "item" : "items");
  6744. player.sendMessage("There were a total of " + amount
  6745. + " under the name of '" + search + "'.");
  6746.  
  6747. for (int id : exactResults) {
  6748. Item result = new Item(id);
  6749. String noted = result.getDefinitions().isNoted() ? "Yes"
  6750. : "No";
  6751. player.sendMessage("ID: " + id + " - Name: "
  6752. + result.getName() + " - Noted: " + noted);
  6753. }
  6754.  
  6755. player.sendMessage("-----------------------------------------------------");
  6756. return true;
  6757. } catch (Exception e) {
  6758.  
  6759. }
  6760. }
  6761.  
  6762. if (cmd[0].equalsIgnoreCase("players")) {
  6763.  
  6764. int playersOnline = 0;
  6765.  
  6766. List<String> text = new ArrayList<String>();
  6767. text.add(0, "");
  6768.  
  6769. for (Player p : World.getPlayers()) {
  6770.  
  6771. if (p == null)
  6772. continue;
  6773.  
  6774. playersOnline++;
  6775.  
  6776. String title = "[Player]";
  6777. int crown = -1;
  6778.  
  6779. switch (p.getMemberRank()) {
  6780. case 1:
  6781. title = "<col=FF0000> [Member]";
  6782. crown = 4;
  6783. break;
  6784. case 2:
  6785. title = "<col=6653FF> [Premium Member]";
  6786. crown = 5;
  6787. break;
  6788. case 3:
  6789. title = "<col=FFCC00> [Gold Member]";
  6790. crown = 7;
  6791. break;
  6792. case 4:
  6793. title = "<col=FFFFFF> [Platinum Member]";
  6794. crown = 8;
  6795. break;
  6796. case 5:
  6797. title = "<col=9900FF>[Legendary Member</col>] ";
  6798. crown = 10;
  6799. break;
  6800. }
  6801. if (player.getRights() == Settings.IS_POKEMONMASTER) {
  6802. title = "[<img=20><col=9900CC><shad=FF0000>Pokémon Master</col></shad>] <img=20>";
  6803. }
  6804.  
  6805. if (p.getRights() == Settings.IS_OWNER) {
  6806. if (player.getUsername().equalsIgnoreCase("Spencer"))
  6807. title = "<col=FF5000> [Head Admin]";
  6808. else if (p.getUsername().equalsIgnoreCase("Remco"))
  6809. title = "<col=FFF000> [Owner] ";
  6810. else if (p.getUsername().equalsIgnoreCase("jesus"))
  6811. title = "<col=FFF000> [Developer] ";
  6812. else if (p.getUsername().equalsIgnoreCase("oli"))
  6813. title = "<col=FFF000> [Owner] ";
  6814. else if (p.getUsername().equalsIgnoreCase("justin"))
  6815. title = "<col=FFF000> [Admin] ";
  6816. else
  6817. title = "<col=FFF000> [Co Owner] ";
  6818.  
  6819. crown = 1;
  6820. }
  6821.  
  6822. if (p.getRights() == Settings.IS_MOD) {
  6823.  
  6824. if (p.getUsername().equalsIgnoreCase("oli"))
  6825. title = "<col=ADFF2F> [Head Moderator]";
  6826. else
  6827. title = "<col=ADFF2F> [Moderator]";
  6828.  
  6829. crown = 0;
  6830. }
  6831.  
  6832. if (p.getRights() == Settings.IS_ADMIN) {
  6833. if (player.getUsername().equalsIgnoreCase("Spencer"))
  6834. title = "<col=FF5000> [Head Admin]";
  6835. else
  6836. title = "<col=FF5000> [Administrator]";
  6837. crown = 1;
  6838. }
  6839.  
  6840. if (p.isHelper()) {
  6841. title = "<col=ADFF2F> [Server Support]";
  6842. crown = 6;
  6843. }
  6844.  
  6845. String username = Utils.formatPlayerNameForDisplay(p
  6846. .getUsername());
  6847. String crownStr = crown == -1 ? "" : ("<img=" + crown + ">");
  6848.  
  6849. text.add(playersOnline, crownStr + " " + title + " </col>"
  6850. + username + " " + crownStr
  6851. + (crownStr.equals("") ? "" : " "));
  6852. }
  6853.  
  6854. text.set(0, "<u><col=FF00FF>There are currently " + playersOnline
  6855. + " players online");
  6856.  
  6857. player.getInterfaceManager().sendTextScreen("Player List", text);
  6858.  
  6859. return true;
  6860. }
  6861.  
  6862. if (cmd[0].equalsIgnoreCase("viewtitles")) {
  6863. for (int i = 0; i < 59; i++)
  6864. player.sendMessage("ID "
  6865. + i
  6866. + ": "
  6867. + ClientScriptMap.getMap(
  6868. player.getAppearence().male ? 1093 : 3872)
  6869. .getStringValue(i));
  6870.  
  6871. return true;
  6872. }
  6873.  
  6874. if (cmd[0].equalsIgnoreCase("customtitle")) {
  6875.  
  6876. player.getAppearence().setTitle(
  6877. (player.getAppearence().getTitle() == 666 ? 0 : 666));
  6878. player.getAppearence().generateAppearenceData();
  6879. player.sendMessage("Your custom title is now "
  6880. + (player.getAppearence().getTitle() == 666 ? "on."
  6881. : "off."));
  6882.  
  6883. return true;
  6884. }
  6885.  
  6886. if (cmd[0].equalsIgnoreCase("title")) {
  6887.  
  6888. if (cmd.length < 2) {
  6889. player.getPackets().sendGameMessage("Use: ::title id");
  6890. return true;
  6891. }
  6892.  
  6893. try {
  6894. player.getAppearence().setTitle(Integer.valueOf(cmd[1]));
  6895. player.getAppearence().generateAppearenceData();
  6896. } catch (NumberFormatException e) {
  6897. player.getPackets().sendGameMessage("Use: ::title id");
  6898. }
  6899. return true;
  6900. }
  6901.  
  6902. if (cmd[0].equalsIgnoreCase("blueskin")) {
  6903. if (player.getRights() < Settings.IS_ADMIN)
  6904. if (!player.isMember()) {
  6905. player.getPackets().sendGameMessage(
  6906. "You do not have the privileges to use this.");
  6907. return true;
  6908. }
  6909. player.getAppearence().setSkinColor(12);
  6910. player.getAppearence().generateAppearenceData();
  6911. return true;
  6912. }
  6913.  
  6914. if (cmd[0].equalsIgnoreCase("gayskin")) {
  6915. player.getAppearence().setSkinColor(13);
  6916. player.getAppearence().generateAppearenceData();
  6917. return true;
  6918. }
  6919.  
  6920. if (cmd[0].equalsIgnoreCase("greenskin")) {
  6921. if (player.getRights() != Settings.IS_OWNER)
  6922. if (!player.isMember()) {
  6923. player.getPackets().sendGameMessage(
  6924. "You do not have the privileges to use this.");
  6925. return true;
  6926. }
  6927. player.getAppearence().setSkinColor(13);
  6928. player.getAppearence().generateAppearenceData();
  6929. return true;
  6930. }
  6931.  
  6932. if (cmd[0].equalsIgnoreCase("changepass")) {
  6933. String message = "";
  6934.  
  6935. for (int i = 1; i < cmd.length; i++)
  6936. message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6937.  
  6938. if (message.length() > 15 || message.length() < 5) {
  6939. player.getPackets().sendGameMessage(
  6940. "You cannot set your password to over 15 chars.");
  6941. return true;
  6942. }
  6943.  
  6944. player.setPassword(cmd[1]);
  6945.  
  6946. player.getPackets().sendGameMessage(
  6947. "You changed your password! Your password is " + cmd[1]
  6948. + ".");
  6949. }
  6950.  
  6951. if (cmd[0].equalsIgnoreCase("yell")) {
  6952. String message = "";
  6953.  
  6954. // if(player.getRights() == Settings.IS_NORMAL_PLAYER)
  6955. // if(!player.isDonator()){
  6956. // player.sendMessage("You must be a donator or staff member in order to yell!");
  6957. // return true;
  6958. // }
  6959.  
  6960. for (int i = 1; i < cmd.length; i++)
  6961. message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6962. sendYell(player, Utils.fixChatMessage(message), false);
  6963. return true;
  6964. }
  6965.  
  6966. return true;
  6967. }
  6968.  
  6969. public static void archiveLogs(Player player, String[] cmd) {
  6970. try {
  6971. if (player.getRights() < Settings.IS_MOD)
  6972. return;
  6973. String location = "";
  6974. if (player.getRights() == Settings.IS_ADMIN) {
  6975. location = "data/playersaves/logs/commandlogs/admin/"
  6976. + player.getUsername() + ".txt";
  6977. } else if (player.getRights() == Settings.IS_MOD) {
  6978. location = "data/playersaves/logs/commandlogs/mod/"
  6979. + player.getUsername() + ".txt";
  6980. }
  6981. String afterCMD = "";
  6982. for (int i = 1; i < cmd.length; i++)
  6983. afterCMD += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  6984. BufferedWriter writer = new BufferedWriter(new FileWriter(location,
  6985. true));
  6986. writer.write("[" + now("dd MMMMM yyyy 'at' hh:mm:ss z") + "] - ::"
  6987. + cmd[0] + " " + afterCMD);
  6988. writer.newLine();
  6989. writer.flush();
  6990. writer.close();
  6991. } catch (IOException e) {
  6992. // e.printStackTrace();
  6993. }
  6994. }
  6995.  
  6996. public static String now(String dateFormat) {
  6997. Calendar cal = Calendar.getInstance();
  6998. SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
  6999. return sdf.format(cal.getTime());
  7000. }
  7001.  
  7002. /*
  7003. * doesnt let it be instanced
  7004. */
  7005. private Commands() {
  7006.  
  7007. }
  7008. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement