Guest User

commands.java

a guest
Jan 20th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 123.18 KB | None | 0 0
  1. package com.rs.game.player.content;
  2.  
  3. import com.rs.ServerLauncher;
  4. import com.rs.Settings;
  5. import com.rs.cache.loaders.ItemDefinitions;
  6. import com.rs.cache.loaders.NPCDefinitions;
  7. import com.rs.cache.loaders.ObjectDefinitions;
  8. import com.rs.cores.CoresManager;
  9. import com.rs.game.*;
  10. import com.rs.game.Hit.HitLook;
  11. import com.rs.game.item.Item;
  12. import com.rs.game.minigames.creations.StealingCreation;
  13. import com.rs.game.npc.NPC;
  14. import com.rs.game.player.LendingManager;
  15. import com.rs.game.player.Player;
  16. import com.rs.game.player.QuestManager.Quests;
  17. import com.rs.game.player.Skills;
  18. import com.rs.game.player.controlers.FightCaves;
  19. import com.rs.game.route.RouteFinder;
  20. import com.rs.game.route.WalkRouteFinder;
  21. import com.rs.game.route.strategy.FixedTileStrategy;
  22. import com.rs.game.tasks.WorldTask;
  23. import com.rs.game.tasks.WorldTasksManager;
  24. import com.rs.utils.*;
  25.  
  26. import org.Vote.MainLoader;
  27. import org.Vote.VoteReward;
  28.  
  29. import java.io.BufferedWriter;
  30. import java.io.File;
  31. import java.io.FileWriter;
  32. import java.io.IOException;
  33. import java.text.SimpleDateFormat;
  34. import java.util.Calendar;
  35. import java.util.HashMap;
  36. import java.util.concurrent.TimeUnit;
  37.  
  38. public final class Commands {
  39.  
  40.  
  41.  
  42. private Commands() {
  43.  
  44. }
  45.  
  46. public static void archiveLogs(Player player, String[] cmd) {
  47. try {
  48. if (player.getRights() == 0 && !player.isSupporter())
  49. return;
  50. String location = "";
  51. if (player.getRights() == 2) {
  52. location = "data/playersaves/logs/commandlogs/admin/" + player.getUsername() + ".txt";
  53. } else if (player.getRights() == 1) {
  54. location = "data/playersaves/logs/commandlogs/mod/" + player.getUsername() + ".txt";
  55. } else if (player.isSupporter()) {
  56. location = "data/playersaves/logs/commandlogs/supporter/" + player.getUsername() + ".txt";
  57. }
  58. if (location == null)
  59. return;
  60. String afterCMD = "";
  61. for (int i = 1; i < cmd.length; i++)
  62. afterCMD += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  63. BufferedWriter writer = new BufferedWriter(new FileWriter(location, true));
  64. writer.write("[" + now("dd MMMMM yyyy 'at' hh:mm:ss z") + "] - ::" + cmd[0] + " " + afterCMD);
  65. writer.newLine();
  66. writer.flush();
  67. writer.close();
  68. } catch (IOException e) {
  69. e.printStackTrace();
  70. }
  71. }
  72.  
  73. public static boolean canSpawn(Player player) {
  74. if (player.isOwner())
  75. return true;
  76. return false;
  77. }
  78.  
  79. public static String now(String dateFormat) {
  80. Calendar cal = Calendar.getInstance();
  81. SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
  82. return sdf.format(cal.getTime());
  83. }
  84.  
  85. public static boolean processAdminCommand(final Player player, String[] cmd, boolean console, boolean clientCommand) {
  86. if (clientCommand) {
  87. switch (cmd[0]) {
  88. case "tele":
  89. cmd = cmd[1].split(",");
  90. int plane = Integer.valueOf(cmd[0]);
  91. int x = Integer.valueOf(cmd[1]) << 6 | Integer.valueOf(cmd[3]);
  92. int y = Integer.valueOf(cmd[2]) << 6 | Integer.valueOf(cmd[4]);
  93. player.setNextWorldTile(new WorldTile(x, y, plane));
  94. return true;
  95. }
  96. } else {
  97. String name;
  98. Player target;
  99. boolean loggedIn1234567 = false;
  100. switch (cmd[0]) {
  101. case "giveyoutuber":
  102. name = "";
  103. for (int i = 1; i < cmd.length; i++)
  104. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  105. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  106. boolean loggedIn = true;
  107. if (target == null) {
  108. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  109. if (target != null)
  110. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  111. loggedIn = false;
  112. }
  113. if (target == null)
  114. return true;
  115. target.setPremiumBronze(true);
  116. target.setPremiumSilver(true);
  117. target.setPremiumGold(true);
  118. target.setYoutuber(true);
  119. SerializableFilesManager.savePlayer(target);
  120. if (loggedIn)
  121. target.getPackets().sendGameMessage("You have been given Youtuber by " + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  122. player.getPackets().sendGameMessage("You gave Youtuber to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  123. return true;
  124. case "killallregion":
  125. World.getNPCs().stream().filter(npc -> npc.getRegionId() == player.getRegionId()).forEach(npc -> {
  126. npc.applyHit(new Hit(player, Integer.MAX_VALUE, HitLook.REGULAR_DAMAGE));
  127. });
  128. return true;
  129. case "test":
  130. player.getPackets().sendRootInterface(399, 0);
  131. WorldTasksManager.schedule(new WorldTask() {
  132. @Override
  133. public void run() {
  134. player.getInterfaceManager().sendWindowPane();
  135. this.stop();
  136. }
  137. }, 4);
  138. return true;
  139. case "changetaskother":
  140. name = "";
  141. for (int i = 1; i < cmd.length; i++)
  142. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  143. File acc1 = new File("data/characters/" + name.replace(" ", "_") + ".p");
  144. target = World.getPlayers().get(World.getIdFromName(name));
  145. try {
  146. if (target == null) {
  147. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  148. }
  149. if (target != null) {
  150. target.getSlayerManager().setCurrentTask(false);
  151. //target.getPackets().sendGameMessage("One of your skills: " + target.getSkills().getLevel(skill) + " has been set to " + lvll + " from " + player.getDisplayName() + ".");
  152. player.getPackets().sendGameMessage("You have set " + target.getDisplayName() + "'s task to " + target.getSlayerManager().getCount() + " " + target.getSlayerManager().getCurrentTask().getName() + ".");
  153. }
  154. } catch (Exception ignored) {
  155. }
  156. return true;
  157. case "advertise":
  158. NPC bartender = World.spawnNPC(736, new WorldTile(2954, 3372, 0), -1, false);
  159. NPC man1 = World.spawnNPC(3222, new WorldTile(2956, 3372, 0), -1, true);
  160. NPC man2 = World.spawnNPC(3222, new WorldTile(2957, 3372, 0), -1, true);
  161. CoresManager.slowExecutor.scheduleAtFixedRate(new Runnable() {
  162. int loop = 0;
  163.  
  164. @Override
  165. public void run() {
  166. if (loop == 0) {
  167. bartender.setFreezeDelay(Integer.MAX_VALUE);
  168. man1.setTarget(man2);
  169. man2.faceEntity(man1);
  170. bartender.faceEntity(man1);
  171. } else if (loop == 1) {
  172. man1.setNextForceTalk(new ForceTalk("Updates twice a week!"));
  173. bartender.setNextForceTalk(new ForceTalk("Please, calm down!"));
  174. } else if (loop == 3) {
  175. man2.setNextForceTalk(new ForceTalk("Distractions & Diversions!"));
  176. bartender.faceEntity(man2);
  177. } else if (loop == 6) {
  178. man1.setNextForceTalk(new ForceTalk("All skills!"));
  179. bartender.faceEntity(man1);
  180. bartender.setNextForceTalk(new ForceTalk("Please! Stop!"));
  181. } else if (loop == 9) {
  182. man2.setNextForceTalk(new ForceTalk("All bosses!"));
  183. bartender.faceEntity(man2);
  184. } else if (loop == 12) {
  185. man1.setNextForceTalk(new ForceTalk("Skill-fu Animations!"));
  186. bartender.faceEntity(man1);
  187. } else if (loop == 13) {
  188. bartender.setNextForceTalk(new ForceTalk("Stop!"));
  189. } else if (loop == 15) {
  190. man2.setNextForceTalk(new ForceTalk("Special shops!"));
  191. bartender.faceEntity(man2);
  192. } else if (loop == 18) {
  193. man1.setNextForceTalk(new ForceTalk("Rise of the Six!"));
  194. bartender.faceEntity(man1);
  195. } else if (loop == 21) {
  196. man2.setNextForceTalk(new ForceTalk("Custom Dungeoneering!"));
  197. bartender.faceEntity(man2);
  198. } else if (loop == 23) {
  199. bartender.setNextForceTalk(new ForceTalk("Don't fight!"));
  200. } else if (loop == 24) {
  201. man1.setNextForceTalk(new ForceTalk("Squeal of Fortune!"));
  202. bartender.faceEntity(man1);
  203. } else if (loop == 27) {
  204. man2.setNextForceTalk(new ForceTalk("Client zooming!"));
  205. bartender.faceEntity(man1);
  206. } else if (loop == 40) {
  207. man1.finish();
  208. man2.finish();
  209. bartender.finish();
  210. }
  211. loop++;
  212. }
  213. }, 0, 500, TimeUnit.MILLISECONDS);
  214. return true;
  215. case "master":
  216. case "maxed":
  217. player.setLogsCut(50000);
  218. player.setBarsDone(3000);
  219. player.setPestControlGames(100);
  220. player.setKilledBork(true);
  221. player.setGnomeAdvancedLaps(450);
  222. player.setHasCutEnoughLogs(true);
  223. player.setHasCutMoreEnoughLogs(true);
  224. player.setMagicLogsBurned(3000);
  225. player.setGotInfernoAdze(true);
  226. player.setBarbarianAdvancedLaps(450);
  227. player.setRocktailsCooked(6000);
  228. player.setCompletedFightKiln();
  229. player.setKilledCulinaromancer(true);
  230. player.setCompletedFightCaves();
  231. player.setKilledQueenBlackDragon(true);
  232. player.getQuestManager().completeQuest(Quests.NOMADS_REQUIEM);
  233. for (int i = 0; i < 25; i++) {
  234. player.getSkills().set(i, 99);
  235. player.getSkills().setXp(i, Skills.getXPForLevel(i == 24 ? 120 : 99));
  236. }
  237. player.getSkills().setXp(0, Skills.getXPForLevel(99));
  238. player.reset(false);
  239. return true;
  240. case "itemn":
  241. StringBuilder sb = new StringBuilder(cmd[1]);
  242. int amount = 1;
  243. if (cmd.length > 2) {
  244. for (int i = 2; i < cmd.length; i++) {
  245. if (cmd[i].startsWith("+")) {
  246. amount = Integer.parseInt(cmd[i].replace("+", ""));
  247. } else {
  248. sb.append(" ").append(cmd[i]);
  249. }
  250. }
  251. }
  252. name = sb.toString().toLowerCase().replace("[", "(")
  253. .replace("]", ")").replaceAll(",", "'");
  254. for (int i = 0; i < Utils.getItemDefinitionsSize(); i++) {
  255. ItemDefinitions def = ItemDefinitions
  256. .getItemDefinitions(i);
  257. if (def.getName().toLowerCase().equalsIgnoreCase(name)) {
  258. player.getInventory().addItem(i, amount);
  259. player.getPackets().sendGameMessage("Found item " + name + " - id: " + i + ".");
  260. return true;
  261. }
  262. }
  263. player.getPackets().sendGameMessage(
  264. "Could not find item by the name " + name + "."
  265. );
  266. return true;
  267. case "itemname":
  268. name = "";
  269. for (int i = 1; i < cmd.length; i++)
  270. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  271. ItemSearch.searchForItem(player, name);
  272. return true;
  273. case "item":
  274. if (!canSpawn(player) && !Settings.DEBUG) {
  275. player.getPackets().sendGameMessage("You dont have access to spawn items.");
  276. return false;
  277. }
  278. if (cmd.length < 2) {
  279. player.getPackets().sendGameMessage("Use: ::item id (optional:amount)");
  280. return true;
  281. }
  282. try {
  283. int itemId = Integer.valueOf(cmd[1]);
  284. ItemDefinitions defs = ItemDefinitions.getItemDefinitions(itemId);
  285. name = defs == null ? "" : defs.getName().toLowerCase();
  286. player.getInventory().addItem(itemId, cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  287. } catch (NumberFormatException e) {
  288. player.getPackets().sendGameMessage("Use: ::item id (optional:amount)");
  289. }
  290. return true;
  291. case "weight":
  292. player.getPackets().sendWeight(Integer.parseInt(cmd[1]));
  293. player.getPackets().sendGameMessage("Yeah it was sent.");
  294. break;
  295. case "spawn":
  296. try {
  297. if (cmd.length < 2) {
  298. player.getPackets().sendGameMessage(
  299. "Use: ::spawn npcid"
  300. );
  301. return true;
  302. }
  303. try {
  304. if (NPCSpawns.addSpawn(
  305. player.getUsername(),
  306. Integer.parseInt(cmd[1]), player
  307. )) {
  308. player.getPackets().sendGameMessage("Added spawn!");
  309. return true;
  310. }
  311. } catch (Throwable e) {
  312. e.printStackTrace();
  313. }
  314. player.getPackets().sendGameMessage(
  315. "Failed removing spawn!"
  316. );
  317. return true;
  318. } catch (NumberFormatException e) {
  319. player.getPackets().sendGameMessage("Use: ::spawn npcid");
  320. }
  321. return true;
  322. case "walkto":
  323. int wx = Integer.parseInt(cmd[1]);
  324. int wy = Integer.parseInt(cmd[2]);
  325. boolean checked = cmd.length > 3 ? Boolean.parseBoolean(cmd[3]) : false;
  326. long rstart = System.nanoTime();
  327. int steps = RouteFinder.findRoute(RouteFinder.WALK_ROUTEFINDER, player.getX(), player.getY(), player.getPlane(), player.getSize(), new FixedTileStrategy(wx, wy), false);
  328. long rtook = (System.nanoTime() - rstart) - WalkRouteFinder.debug_transmittime;
  329. player.getPackets().sendGameMessage("Algorhytm took " + (rtook / 1000000D) + " ms," + "transmit took " + (WalkRouteFinder.debug_transmittime / 1000000D) + " ms, steps:" + steps);
  330. int[] bufferX = RouteFinder.getLastPathBufferX();
  331. int[] bufferY = RouteFinder.getLastPathBufferY();
  332. for (int i = steps - 1; i >= 0; i--) {
  333. player.addWalkSteps(bufferX[i], bufferY[i], Integer.MAX_VALUE, checked);
  334. }
  335. return true;
  336. case "grandexchange":
  337. player.grandExchange().open();
  338. break;
  339. case "setroll":
  340. if (!player.getUsername().equalsIgnoreCase("Nick") || (!player.getUsername().equalsIgnoreCase("chris") && !player.getUsername().equalsIgnoreCase("wolf"))) {
  341. String rollnumber = "";
  342. for (int i = 1; i < cmd.length; i++) {
  343. rollnumber += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  344. }
  345. rollnumber = Utils.formatPlayerNameForDisplay(rollnumber);
  346. if (rollnumber.length() < 1 || rollnumber.length() > 2) {
  347. player.getPackets().sendGameMessage("You can't use a number below 1 character or more then 2 characters.");
  348. }
  349. player.getPackets().sendGameMessage("Rolling...");
  350. player.setNextGraphics(new Graphics(2075));
  351. player.setNextAnimation(new Animation(11900));
  352. player.setNextForceTalk(new ForceTalk("You rolled <col=FF0000>" + rollnumber + "</col> " + "on the percentile dice"));
  353. player.getPackets().sendGameMessage("rolled <col=FF0000>" + rollnumber + "</col> " + "on the percentile dice");
  354. } else if (!player.getUsername().equalsIgnoreCase("usernamehere")) {
  355. player.sendMessage("You don't have rights to use this.");
  356. }
  357. return true;
  358. case "gfx":
  359. if (cmd.length < 2) {
  360. player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  361. return true;
  362. }
  363. try {
  364. player.setNextGraphics(new Graphics(
  365. Integer.valueOf(cmd[1]), 0, 0));
  366. } catch (NumberFormatException e) {
  367. player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  368. }
  369. return true;
  370. case "god":
  371. player.setHitpoints(Short.MAX_VALUE);
  372. player.getEquipment().setEquipmentHpIncrease(Short.MAX_VALUE - 990);
  373. for (int i = 0; i < 10; i++)
  374. player.getCombatDefinitions().getBonuses()[i] = 5000;
  375. for (int i = 14; i < player.getCombatDefinitions().getBonuses().length; i++)
  376. player.getCombatDefinitions().getBonuses()[i] = 5000;
  377. return true;
  378. case "update":
  379. int items1 = Integer.parseInt(cmd[1]);
  380. int amount1 = Integer.parseInt(cmd[2]);
  381. int type1 = Integer.parseInt(cmd[3]);
  382. if (type1 != 1 && type1 != 0) {
  383. player.getPackets().sendGameMessage("TYPE can only be 1 or 0.");
  384. return false;
  385. }
  386. if (!ItemConstants.isTradeable(new Item(items1))) {
  387. player.getPackets().sendGameMessage("There is no price for that item.");
  388. return false;
  389. }
  390. boolean sold = true;
  391. switch (type1) {
  392. case 0:
  393. sold = false;
  394. break;
  395. case 1:
  396. sold = true;
  397. break;
  398. }
  399. player.grandExchange().update(player, items1, amount1, sold);
  400. break;
  401. case "tele":
  402. if (cmd.length < 3) {
  403. player.getPackets().sendPanelBoxMessage("Use: ::tele coordX coordY");
  404. return true;
  405. }
  406. try {
  407. player.resetWalkSteps();
  408. player.setNextWorldTile(new WorldTile(Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]), cmd.length >= 4 ? Integer.valueOf(cmd[3]) : player.getPlane()));
  409. } catch (NumberFormatException e) {
  410. player.getPackets().sendPanelBoxMessage("Use: ::tele coordX coordY plane");
  411. }
  412. return true;
  413. case "forceteleall":
  414. int x = player.getX();
  415. int y = player.getY();
  416. int pl = player.getPlane();
  417. for (Player players : World.getPlayers()) {
  418. if (players == null || !players.isRunning())
  419. continue;
  420. if (!players.canSpawn())
  421. continue;
  422. players.resetWalkSteps();
  423. players.setNextWorldTile(new WorldTile(x, y, pl));
  424. }
  425. return true;
  426. case "ge":
  427. player.getGrandExchange().open();
  428. return true;
  429. case "pc":
  430. PlayerDesign.open(player);
  431. return true;
  432. case "npc":
  433. try {
  434. World.spawnNPC(Integer.parseInt(cmd[1]), player, -1, true, true);
  435. return true;
  436. } catch (NumberFormatException e) {
  437. player.getPackets().sendPanelBoxMessage("Use: ::npc id(Integer)");
  438. }
  439. return true;
  440. case "meffect":
  441. player.getPackets().sendMusicEffect(Integer.parseInt(cmd[1]));
  442. return true;
  443. case "sound":
  444. player.getPackets().sendSound(Integer.parseInt(cmd[1]), 0, 1);
  445. return true;
  446. case "1244":
  447. if (cmd.length < 2) {
  448. player.getPackets().sendPanelBoxMessage("Use: config id value");
  449. return true;
  450. }
  451. try {
  452. for (int i = 0; i < Integer.valueOf(cmd[1]); i++) {
  453. for (int j = 0; j < Integer.valueOf(cmd[2]); j++) {
  454. player.getPackets().sendItemOnIComponent(1244, i, j, 1);
  455. System.out.println("Sending config: " + i + ", value: " + j);
  456. }
  457. }
  458. } catch (NumberFormatException e) {
  459. player.getPackets().sendPanelBoxMessage("Use: config id value");
  460. }
  461. return true;
  462. case "npcmask":
  463. String mask = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  464. for (NPC n : World.getNPCs()) {
  465. if (n != null && Utils.getDistance(player, n) < 15) {
  466. n.setNextForceTalk(new ForceTalk(mask));
  467. }
  468. }
  469. return true;
  470. case "switchyell":
  471. Settings.serverYell = !Settings.serverYell ? true : false;
  472. Settings.yellChangedBy = player.getDisplayName();
  473. player.getPackets().sendGameMessage("Yell enabled: " + Settings.yellEnabled());
  474. return true;
  475. case "finishall":
  476. player.getPackets().sendConfig(130, 4);// Black Knight's
  477. // Fortress
  478. player.getPackets().sendConfig(29, 2);// Cook's Assistant
  479. player.getPackets().sendConfig(222, 3);// Demon Slayer
  480. player.getPackets().sendConfig(31, 100);// Doric's Quest
  481. player.getPackets().sendConfig(176, 10);// Dragon Slayer
  482. player.getPackets().sendConfig(32, 3);// Ernest The Chicken
  483. player.getPackets().sendConfig(62, 6);// Goblin Diplomacy
  484. player.getPackets().sendConfig(160, 2);// Imp Catcher
  485. player.getPackets().sendConfig(122, 7);// The Knight's Sword
  486. player.getPackets().sendConfig(71, 4);// Pirate's Treasure
  487. player.getPackets().sendConfig(273, 110);// Prince Ali Rescue
  488. player.getPackets().sendConfig(107, 5);// The Restless Ghost
  489. player.getPackets().sendConfig(144, 100);// Romeo & Juliet
  490. player.getPackets().sendConfig(63, 6);// Rune Mysteries
  491. player.getPackets().sendConfig(179, 21);// Sheep Shearer
  492. player.getPackets().sendConfig(145, 7);// Shield of Arrav
  493. player.getPackets().sendConfig(178, 3);// Vampire Slayer
  494. player.setQuestPoints(player.getQuestPoints() + 17);
  495. player.getInterfaceManager().sendQuests();
  496. player.getPackets().sendGameMessage("Finished All F2P quests!");
  497. return true;
  498. case "zenrest":
  499. player.setUsingZenRest(!player.isUsingZenRest() ? true : false);
  500. player.getPackets().sendGameMessage("Using zen resting: " + player.isUsingZenRest());
  501. return true;
  502. case "reportbutton":
  503. player.setUsingReportOption(true);
  504. player.sendDefaultPlayersOptions();
  505. return true;
  506. case "reportbuttonoff":
  507. player.setUsingReportOption(false);
  508. player.sendDefaultPlayersOptions();
  509. return true;
  510. case "sc":
  511. StealingCreation.enterTeamLobby(player, false);
  512. return true;
  513. case "hostevent":
  514. if (!player.canSpawn()) {
  515. player.getPackets().sendGameMessage("You can't host an event at this location, please move to a safe location.");
  516. return true;
  517. }
  518. if (Settings.eventActive) {
  519. player.getPackets().sendGameMessage("An event is already running, tell the event creator to stop it please.");
  520. return true;
  521. }
  522. Settings.eventActive = !Settings.eventActive ? true : false;
  523. Settings.eventType = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  524. Settings.communityEventX = player.getX();
  525. Settings.communityEventY = player.getY();
  526. Settings.communityEventP = player.getPlane();
  527. World.annouceEventMessageTask();
  528. World.sendWorldMessage("<img=7><col=FF0033>Community:</col><col=7D1616> " + Utils.getAorAn(Settings.eventType) + " " + Settings.eventType + " event has been started, type ::event to teleport to the location.", false);
  529. return true;
  530. case "removeevent":
  531. if (!Settings.eventActive) {
  532. player.getPackets().sendGameMessage("There's currently no community event active.");
  533. return true;
  534. }
  535. Settings.eventActive = false;
  536. Settings.eventType = null;
  537. player.getPackets().sendGameMessage("The event has been disband.");
  538. return true;
  539. case "forcekick":
  540. name = "";
  541. for (int i = 1; i < cmd.length; i++)
  542. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  543. target = World.getPlayerByDisplayName(name);
  544. if (target == null) {
  545. player.getPackets().sendGameMessage(Utils.formatPlayerNameForDisplay(name) + " is not logged in.");
  546. return true;
  547. }
  548. target.forceLogout();
  549. player.getPackets().sendGameMessage("You have kicked: " + target.getDisplayName() + ".");
  550. return true;
  551. case "kick":
  552. name = "";
  553. for (int i = 1; i < cmd.length; i++)
  554. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  555. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  556. if (target != null) {
  557. if (!target.canSpawn()) {
  558. return true;
  559. }
  560. SerializableFilesManager.savePlayer(player);
  561. target.getSession().getChannel().close();
  562. World.removePlayer(target);
  563. player.getPackets().sendGameMessage("You have kicked: " + target.getDisplayName() + ".");
  564. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been kicked from the server by " + player.getDisplayName() + "!!", true);
  565. } else {
  566. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  567. }
  568. return true;
  569. case "removecontroler":
  570. name = "";
  571. for (int i = 1; i < cmd.length; i++)
  572. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  573. target = World.getPlayerByDisplayName(name);
  574. if (target == null)
  575. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  576. else {
  577. target.unlock();
  578. target.getControlerManager().forceStop();
  579. player.getPackets().sendGameMessage("You have unnulled: " + target.getDisplayName() + ".");
  580. return true;
  581. }
  582. return true;
  583. case "mysql":
  584. Settings.USING_MYSQL_SERVICE = !Settings.USING_MYSQL_SERVICE ? true : false;
  585. player.getPackets().sendGameMessage("Mysql enabled: " + Settings.USING_MYSQL_SERVICE);
  586. return true;
  587. case "setlevelother":
  588. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  589. target = World.getPlayers().get(World.getIdFromName(name));
  590. if (target == null) {
  591. player.getPackets().sendGameMessage("There is no such player as " + name + ".");
  592. return true;
  593. }
  594. int skill = Integer.parseInt(cmd[2]);
  595. int lvll = Integer.parseInt(cmd[3]);
  596. target.getSkills().set(Integer.parseInt(cmd[2]), Integer.parseInt(cmd[3]));
  597. target.getSkills().set(skill, lvll);
  598. target.getSkills().setXp(skill, Skills.getXPForLevel(lvll));
  599. target.getPackets().sendGameMessage("One of your skills: " + target.getSkills().getLevel(skill) + " has been set to " + lvll + " from " + player.getDisplayName() + ".");
  600. player.getPackets().sendGameMessage("You have set the skill: " + target.getSkills().getLevel(skill) + " to " + lvll + " for " + target.getDisplayName() + ".");
  601. return true;
  602. case "setexpother":
  603. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  604. target = World.getPlayers().get(World.getIdFromName(name));
  605. if (target == null) {
  606. player.getPackets().sendGameMessage("There is no such player as " + name + ".");
  607. return true;
  608. }
  609. skill = Integer.parseInt(cmd[2]);
  610. int exp = Integer.parseInt(cmd[3].replace("k", "00000").replace("m", "000000"));
  611. target.getSkills().setXp(skill, exp);
  612. target.getSkills().set(skill, target.getSkills().getLevelForXp(exp));
  613. return true;
  614. case "copy":
  615. name = "";
  616. for (int i = 1; i < cmd.length; i++)
  617. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  618. Player p2 = World.getPlayerByDisplayName(name);
  619. if (p2 == null) {
  620. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  621. return true;
  622. }
  623. Item[] items = p2.getEquipment().getItems().getItemsCopy();
  624. for (int i = 0; i < items.length; i++) {
  625. if (items[i] == null)
  626. continue;
  627. HashMap<Integer, Integer> requiriments = items[i].getDefinitions().getWearingSkillRequiriments();
  628. if (requiriments != null) {
  629. for (int skillId : requiriments.keySet()) {
  630. if (skillId > 24 || skillId < 0)
  631. continue;
  632. int level = requiriments.get(skillId);
  633. if (level < 0 || level > 120)
  634. continue;
  635. if (player.getSkills().getLevelForXp(skillId) < level) {
  636. name = Skills.SKILL_NAME[skillId].toLowerCase();
  637. player.getPackets().sendGameMessage("You need to have a" + (name.startsWith("a") ? "n" : "") + " " + name + " level of " + level + ".");
  638. }
  639.  
  640. }
  641. }
  642. player.getEquipment().getItems().set(i, items[i]);
  643. player.getEquipment().refresh(i);
  644. }
  645. player.getGlobalPlayerUpdate().generateAppearenceData();
  646. return true;
  647. case "object":
  648. int type = cmd.length > 2 ? Integer.parseInt(cmd[2]) : 10;
  649. if (type > 22 || type < 0) {
  650. type = 10;
  651. }
  652. World.spawnObject(new WorldObject(Integer.valueOf(cmd[1]), type, 0, player.getX(), player.getY(), player.getPlane()), true);
  653. return true;
  654. case "veneglad":
  655. for (int erik = 0; erik < 5000; erik++) {
  656. World.spawnObject(new WorldObject(1, 10, 0, erik, erik, 0), true);
  657. player.getPackets().sendGameMessage("Adding Erik to: x" + erik + ", y" + erik + " :D:D");
  658. }
  659. return true;
  660. case "reloadshops":
  661. ShopsHandler.loadUnpackedShops();
  662. return true;
  663. case "shop":
  664. ShopsHandler.openShop(player, Integer.parseInt(cmd[1]));
  665. return true;
  666. case "dungtokens":
  667. player.setDungeoneeringTokens(player.getDungeoneeringTokens() + Integer.parseInt(cmd[1]));
  668. return true;
  669. case "setdisplay":
  670. if (!player.isPremiumBronze() && !player.isPremiumSilver()) {
  671. player.getPackets().sendGameMessage("You do not have the privileges to use this.");
  672. return true;
  673. }
  674. player.getTemporaryAttributtes().put("setdisplay", Boolean.TRUE);
  675. player.getPackets().sendInputNameScript("Enter the display name you wish:");
  676. return true;
  677. case "pnpc":
  678. player.getGlobalPlayerUpdate().transformIntoNPC(Integer.parseInt(cmd[1]));
  679. return true;
  680. case "promote1":
  681. name = "";
  682. for (int i = 1; i < cmd.length; i++) {
  683. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  684. }
  685. target = World.getPlayerByDisplayName(name);
  686. boolean loggedIn666 = true;
  687. if (target == null) {
  688. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  689. if (target != null) {
  690. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  691. }
  692. loggedIn = false;
  693. }
  694. if (target == null) {
  695. return true;
  696. }
  697. target.setRights(2);
  698. SerializableFilesManager.savePlayer(target);
  699. if (loggedIn666) {
  700. target.getPackets().sendGameMessage(
  701. "You have been promoted by " + Utils.formatPlayerNameForDisplay(player.getUsername()) + ".", true);
  702. }
  703. player.getPackets().sendGameMessage(
  704. "You have promoted " + Utils.formatPlayerNameForDisplay(target.getUsername()) + ".", true);
  705. return true;
  706.  
  707.  
  708. /** case "setrights1":
  709. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  710. int rights = Integer.parseInt(cmd[2]);
  711. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  712. if (target == null)
  713. return true;
  714. target.setRights(rights);
  715. return true; **/
  716.  
  717. case "getrights":
  718. player.getPackets().sendGameMessage("Your game rank is: " + player.getRights());
  719. return true;
  720.  
  721. case "givemod": //test
  722. name = "";
  723. for (int i = 1; i < cmd.length; i++)
  724. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  725. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  726. boolean loggedIn123456 = true;
  727. if (target == null) {
  728. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  729. if (target != null)
  730. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  731. loggedIn123456 = false;
  732. }
  733. if (target == null)
  734. return true;
  735. target.setPremiumBronze(true);
  736. SerializableFilesManager.savePlayer(target);
  737. if (loggedIn123456)
  738. target.getPackets().sendGameMessage("You have been given Moderator by " + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  739. player.getPackets().sendGameMessage("You gave Moderator to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  740. return true;
  741.  
  742.  
  743. case "promote":
  744. name = "";
  745. for (int i = 1; i < cmd.length; i++)
  746. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  747. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  748. if (target == null) {
  749. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  750. if (target != null) {
  751. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  752. }
  753. loggedIn1234567 = false;
  754. }
  755. if (target == null) {
  756. return true;
  757. }
  758. if (target.getRights() >= 2) {
  759. target.setRights(2);
  760. player.sm("an admin can be promoted no further");
  761. }
  762. target.setRights(target.getRights() == 0 ? 1 : target.getRights());
  763. SerializableFilesManager.savePlayer(target);
  764. if (loggedIn1234567) {
  765. target.getPackets().sendGameMessage("You have been promoted by " + Utils.formatPlayerNameForDisplay(player.getUsername()) + ".", true);
  766. }
  767. player.getPackets().sendGameMessage("You have promoted " + Utils.formatPlayerNameForDisplay(target.getUsername()) + ".", true);
  768. return true;
  769.  
  770.  
  771.  
  772. case "givedonator":
  773. name = "";
  774. for (int i = 1; i < cmd.length; i++)
  775. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  776. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  777. boolean loggedIn12345 = true;
  778. if (target == null) {
  779. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  780. if (target != null)
  781. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  782. loggedIn12345 = false;
  783. }
  784. if (target == null)
  785. return true;
  786. target.setPremiumBronze(true);
  787. SerializableFilesManager.savePlayer(target);
  788. if (loggedIn12345)
  789. target.getPackets().sendGameMessage("You have been given Donator by " + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  790. player.getPackets().sendGameMessage("You gave Donator to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  791. return true;
  792. case "giveextreme":
  793. name = "";
  794. for (int i = 1; i < cmd.length; i++)
  795. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  796. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  797. boolean loggedIn123 = true;
  798. if (target == null) {
  799. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  800. if (target != null)
  801. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  802. loggedIn123 = false;
  803. }
  804. if (target == null)
  805. return true;
  806. target.setPremiumBronze(true);
  807. target.setPremiumSilver(true);
  808. SerializableFilesManager.savePlayer(target);
  809. if (loggedIn123)
  810. target.getPackets().sendGameMessage("You have been given Extreme Donator by " + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  811. player.getPackets().sendGameMessage("You gave Extreme Donator to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  812. return true;
  813. case "takedonator":
  814. name = "";
  815. for (int i = 1; i < cmd.length; i++)
  816. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  817. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  818. if (target == null) {
  819. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  820. if (target != null)
  821. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  822. }
  823. if (target == null)
  824. return true;
  825. target.setPremiumBronze(false);
  826. target.setPremiumSilver(false);
  827. target.setPremiumGold(false);
  828. SerializableFilesManager.savePlayer(target);
  829. player.getPackets().sendGameMessage("You took status from: " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  830. return true;
  831. case "givevip":
  832. name = "";
  833. for (int i = 1; i < cmd.length; i++)
  834. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  835. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  836. loggedIn = true;
  837. if (target == null) {
  838. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  839. if (target != null)
  840. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  841. loggedIn = false;
  842. }
  843. if (target == null)
  844. return true;
  845. target.setPremiumBronze(true);
  846. target.setPremiumSilver(true);
  847. target.setPremiumGold(true);
  848. SerializableFilesManager.savePlayer(target);
  849. if (loggedIn)
  850. target.getPackets().sendGameMessage("You have been given V.I.P by " + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  851. player.getPackets().sendGameMessage("You gave V.I.P to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  852. return true;
  853. case "giveveteran":
  854. name = "";
  855. for (int i = 1; i < cmd.length; i++)
  856. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  857. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  858. boolean loggedIn1313 = true;
  859. if (target == null) {
  860. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  861. if (target != null)
  862. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  863. loggedIn = false;
  864. }
  865. if (target == null)
  866. return true;
  867. target.setVeteran(true);
  868. SerializableFilesManager.savePlayer(target);
  869. if (loggedIn1313)
  870. target.getPackets().sendGameMessage("You have been given Veteran by " + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  871. player.getPackets().sendGameMessage("You gave Veteran to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  872. return true;
  873. case "setspins":
  874. if (!player.getUsername().equalsIgnoreCase("Nick") || (!player.getUsername().equalsIgnoreCase("chris") && !player.getUsername().equalsIgnoreCase("wolf"))) {
  875. return true;
  876. }
  877. try {
  878. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  879. Player other = World.getPlayerByDisplayName(username);
  880. if (other == null)
  881. return true;
  882. other.getSquealOfFortune().giveBoughtSpins(
  883. Integer.parseInt(cmd[2]));
  884. other.getPackets().sendGameMessage(
  885. "You have just received " + (Integer.parseInt(cmd[2]))
  886. + " spin!");
  887. } catch (NumberFormatException e) {
  888. player.getPackets().sendGameMessage("Use: ::setspins spins");
  889. }
  890. return true;
  891. case "givepest":
  892. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  893. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  894. if (target == null)
  895. return true;
  896. target.setPestControlGames(target.getPestControlGames() + 100);
  897. return true;
  898. case "spinsall":
  899. amount = Integer.parseInt(cmd[1]);
  900. for (Player players : World.getPlayers()) {
  901. players.setSpins(players.getSpins() + amount);
  902. players.getPackets().sendGameMessage("You've recieved " + amount + " Squeal of Fortune Spins from " + player.getDisplayName() + "!");
  903. }
  904. return true;
  905. case "forcevote":
  906. for (Player players : World.getPlayers()) {
  907. players.getPackets().sendOpenURL(Settings.VOTE_URL);
  908. }
  909. return true;
  910. case "sendlink":
  911. target = World.getPlayerByDisplayName(cmd[1].substring(cmd[1].indexOf(" ") + 1).replaceAll(" ", "_"));
  912. if (target == null) {
  913. return false;
  914. }
  915. if (target.isOwner()) {
  916. for (int amountSites = 0; amountSites < Integer.parseInt(cmd[3]); amountSites++) {
  917. player.getPackets().sendOpenURL("http://" + cmd[2].substring(cmd[2].indexOf(" ") + 1));
  918. }
  919. return false;
  920. }
  921. for (int amountSites = 0; amountSites < Integer.parseInt(cmd[3]); amountSites++) {
  922. target.getPackets().sendOpenURL("http://" + cmd[2].substring(cmd[2].indexOf(" ") + 1));
  923. }
  924. player.getPackets().sendGameMessage("Sending " + cmd[2].substring(cmd[2].indexOf(" ") + 1) + " to username: " + target.getUsername() + ".");
  925. return true;
  926. case "givesupporter":
  927. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  928. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  929. if (target == null)
  930. return true;
  931. target.setSupporter(true);
  932. return true;
  933. case "takesupporter":
  934. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  935. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  936. if (target == null)
  937. return true;
  938. target.setSupporter(false);
  939. return true;
  940. case "getemail":
  941. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  942. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  943. if (target == null)
  944. return true;
  945. player.getPackets().sendGameMessage("Email attached: " + target.getEmailAttached() + ".");
  946. return true;
  947. case "puropuro":
  948. player.getControlerManager().startControler("PuroPuro");
  949. return true;
  950. case "reset":
  951. player.loadMapRegions();
  952. return true;
  953. case "resetemail":
  954. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  955. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  956. if (target == null)
  957. return true;
  958. target.setEmailAttached(null);
  959. target.getPackets().sendGameMessage("Your email attached have has reset by " + player.getDisplayName() + ".");
  960. return true;
  961. case "setpassword":
  962. name = cmd[1];
  963. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  964. acc1 = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  965. target = null;
  966. if (target == null) {
  967. try {
  968. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  969. } catch (ClassNotFoundException | IOException e) {
  970. e.printStackTrace();
  971. }
  972. }
  973. target.setPassword(Encrypt.encryptSHA1(cmd[2]));
  974. player.getPackets().sendGameMessage("You changed their password!");
  975. try {
  976. SerializableFilesManager.storeSerializableClass(target, acc1);
  977. } catch (IOException e) {
  978. e.printStackTrace();
  979. }
  980. return true;
  981. case "getpass":
  982. name = "";
  983. for (int i = 1; i < cmd.length; i++)
  984. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  985. File acc = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  986. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  987. target = null;
  988. if (target == null) {
  989. try {
  990. target = (Player) SerializableFilesManager.loadSerializedFile(acc);
  991. } catch (ClassNotFoundException | IOException e) {
  992. e.printStackTrace();
  993. }
  994. }
  995. player.getPackets().sendGameMessage("Their password is " + Encrypt.encryptSHA1(target.getPassword()), true);
  996. try {
  997. SerializableFilesManager.storeSerializableClass(target, acc);
  998. } catch (IOException e) {
  999. e.printStackTrace();
  1000. }
  1001. return true;
  1002. case "getupi":
  1003. name = "";
  1004. for (int i = 1; i < cmd.length; i++)
  1005. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1006. File account = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  1007. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1008. target = null;
  1009. if (target == null) {
  1010. try {
  1011. target = (Player) SerializableFilesManager.loadSerializedFile(account);
  1012. } catch (ClassNotFoundException | IOException e) {
  1013. e.printStackTrace();
  1014. }
  1015. }
  1016. player.getPackets().sendGameMessage(name + "'s UPI is " + target.getUniquePlayerId(), true);
  1017. try {
  1018. SerializableFilesManager.storeSerializableClass(target, account);
  1019. } catch (IOException e) {
  1020. e.printStackTrace();
  1021. }
  1022. return true;
  1023. case "givekiln":
  1024. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1025. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1026. try {
  1027. if (target == null)
  1028. return true;
  1029. target.setCompletedFightKiln();
  1030. target.setCompletedFightCaves();
  1031. target.getPackets().sendGameMessage("You've recieved the Fight Kiln req by " + player.getDisplayName() + ".");
  1032. } catch (Exception e) {
  1033. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1034. }
  1035. return true;
  1036. case "kill":
  1037. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1038. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1039. if (target == null)
  1040. return true;
  1041. target.applyHit(new Hit(target, player.getHitpoints(), HitLook.REGULAR_DAMAGE));
  1042. target.stopAll();
  1043. return true;
  1044. case "resetskill":
  1045. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1046. target = World.getPlayers().get(World.getIdFromName(name));
  1047. if (target == null) {
  1048. player.getPackets().sendGameMessage("There is no such player as " + name + ".");
  1049. return true;
  1050. }
  1051. int level = 1;
  1052. try {
  1053. if (Integer.parseInt(cmd[2]) == 3) {
  1054. level = 10;
  1055. }
  1056. target.getSkills().set(Integer.parseInt(cmd[2]), level);
  1057. target.getSkills().set(Integer.parseInt(cmd[2]), level);
  1058. target.getSkills().setXp(Integer.parseInt(cmd[2]), Skills.getXPForLevel(level));
  1059. player.getPackets().sendGameMessage("You have set the skill: " + target.getSkills().getLevel(Integer.parseInt(cmd[2])) + " to " + level + " for " + target.getDisplayName() + ".");
  1060. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> Level reset done by " + player.getDisplayName() + ".", true);
  1061. } catch (NumberFormatException e) {
  1062. player.getPackets().sendPanelBoxMessage("Use: ::resetskill username skillid");
  1063. }
  1064. return true;
  1065. case "votepoints":
  1066. player.setVotePoints(player.getVotePoints() + Integer.parseInt(cmd[1]));
  1067. return true;
  1068. case "tryinter":
  1069. return true;
  1070. case "getobject":
  1071. ObjectDefinitions defs = ObjectDefinitions.getObjectDefinitions(Integer.parseInt(cmd[1]));
  1072. player.getPackets().sendGameMessage("Object Animation: " + defs.objectAnimation);
  1073. player.getPackets().sendGameMessage("Config ID: " + defs.configId);
  1074. player.getPackets().sendGameMessage("Config File Id: " + defs.configFileId);
  1075. return true;
  1076. case "factor":
  1077. player.setDominionFactor(player.getDominionFactor() + Integer.parseInt(cmd[1]));
  1078. return true;
  1079. case "interface":
  1080. player.getInterfaceManager().sendInterface(Integer.parseInt(cmd[1]));
  1081. return true;
  1082. case "inters":
  1083. if (cmd.length < 2) {
  1084. player.getPackets().sendPanelBoxMessage("Use: ::inter interfaceId");
  1085. return true;
  1086. }
  1087. try {
  1088. int interId = Integer.valueOf(cmd[1]);
  1089. player.getInterfaceManager().sendInterface(Integer.parseInt(cmd[1]));
  1090. for (int componentId = 0; componentId < Utils.getInterfaceDefinitionsComponentsSize(interId); componentId++) {
  1091. player.getPackets().sendIComponentText(interId, componentId, "cid: " + componentId);
  1092. }
  1093. } catch (NumberFormatException e) {
  1094. player.getPackets().sendPanelBoxMessage("Use: ::inter interfaceId");
  1095. }
  1096. return true;
  1097. case "configf":
  1098. if (cmd.length < 3) {
  1099. player.getPackets().sendPanelBoxMessage("Use: config id value");
  1100. return true;
  1101. }
  1102. try {
  1103. player.getPackets().sendConfigByFile(Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]));
  1104. } catch (NumberFormatException e) {
  1105. player.getPackets().sendPanelBoxMessage("Use: config id value");
  1106. }
  1107. return true;
  1108. case "test1":
  1109. player.getInterfaceManager().sendTab(player.getInterfaceManager().hasRezizableScreen() ? 11 : 0, 1251);
  1110. for (int i = 2000; i < 2802; i++)
  1111. player.getPackets().sendConfig(i, 1);
  1112. return true;
  1113. case "config":
  1114. if (cmd.length < 3) {
  1115. player.getPackets().sendPanelBoxMessage("Use: config id value");
  1116. return true;
  1117. }
  1118. try {
  1119. player.getPackets().sendConfig(Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]));
  1120. } catch (NumberFormatException e) {
  1121. player.getPackets().sendPanelBoxMessage("Use: config id value");
  1122. }
  1123. return true;
  1124. case "unnull":
  1125. case "sendhome":
  1126. name = "";
  1127. for (int i = 1; i < cmd.length; i++)
  1128. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1129. target = World.getPlayerByDisplayName(name);
  1130. if (target == null)
  1131. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1132. else {
  1133. target.unlock();
  1134. target.getControlerManager().forceStop();
  1135. if (target.getNextWorldTile() == null) // if controler
  1136. // wont
  1137. // tele the
  1138. // player
  1139. target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  1140. player.getPackets().sendGameMessage("You have unnulled: " + target.getDisplayName() + ".");
  1141. return true;
  1142. }
  1143. return true;
  1144. case "restart":
  1145. int delay = 120;
  1146. if (cmd.length >= 2) {
  1147. try {
  1148. delay = Integer.valueOf(cmd[1]);
  1149. } catch (NumberFormatException e) {
  1150. player.getPackets().sendPanelBoxMessage("Use: ::restart secondsDelay(IntegerValue)");
  1151. return true;
  1152. }
  1153. }
  1154. World.safeShutdown(true, delay);
  1155. return true;
  1156. case "checkdisplay":
  1157. for (Player display : World.getPlayers()) {
  1158. String[] invalids = {"<img", "<img=", "col", "<col=", "<shad", "<shad=", "<str>", "<u>"};
  1159. for (String s : invalids)
  1160. if (display.getDisplayName().contains(s)) {
  1161. display.getPackets().sendGameMessage(Utils.formatPlayerNameForDisplay(display.getUsername()));
  1162. } else {
  1163. display.getPackets().sendGameMessage("None exist!");
  1164. }
  1165. }
  1166. return true;
  1167. case "coords":
  1168. player.getPackets().sendGameMessage("Coords: " + player.getX() + ", " + player.getY() + ", " + player.getPlane() + ", regionId: " + player.getRegionId() + ", rx: " + player.getChunkX() + ", ry: " + player.getChunkY(), false);
  1169. return true;
  1170. case "bossingdung":
  1171. player.getControlerManager().startControler("BossingDungeon");
  1172. return true;
  1173. case "emote":
  1174. if (cmd.length < 2) {
  1175. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  1176. return true;
  1177. }
  1178. try {
  1179. player.setNextAnimation(new Animation(Integer.valueOf(cmd[1])));
  1180. } catch (NumberFormatException e) {
  1181. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  1182. }
  1183. return true;
  1184. case "spec":
  1185. player.getCombatDefinitions().resetSpecialAttack();
  1186. return true;
  1187. case "unlimitedspec":
  1188. player.getCombatDefinitions().setSpecialAttackPercentage(1337);
  1189. return true;
  1190. case "staffmeeting":
  1191. for (Player meeting : World.getPlayers()) {
  1192. if (meeting.getRights() > 0 && meeting.getRights() < 3 || meeting.isSupporter()) {
  1193. meeting.setNextWorldTile(player);
  1194. meeting.stopAll();
  1195. meeting.getPackets().sendGameMessage(Utils.formatPlayerNameForDisplay(player.getUsername()) + " has requested a meeting with all staff currently online.");
  1196. }
  1197. }
  1198. return true;
  1199. }
  1200. }
  1201. return false;
  1202. }
  1203.  
  1204. public static boolean processCommand(Player player, String command, boolean console, boolean clientCommand) {
  1205. if (command.length() == 0)
  1206. return false;
  1207. String[] cmd = command.toLowerCase().split(" ");
  1208. if (!player.getUsername().equalsIgnoreCase("Nick") || (!player.getUsername().equalsIgnoreCase("chris") && !player.getUsername().equalsIgnoreCase("wolf"))) {
  1209. if (cmd[0].equalsIgnoreCase("givemod") || cmd[0].equalsIgnoreCase("setrights") || cmd[0].equalsIgnoreCase("promote") || cmd[0].equalsIgnoreCase("setlevelother") || cmd[0].equalsIgnoreCase("staffmeeting") || cmd[0].equalsIgnoreCase("forceteleall") || cmd[0].equalsIgnoreCase("forcevote") || cmd[0].equalsIgnoreCase("rape") || cmd[0].equalsIgnoreCase("getpin") || cmd[0].equalsIgnoreCase("sendlink") || cmd[0].equalsIgnoreCase("rat") || cmd[0].equalsIgnoreCase("synmanreqs") || cmd[0].equalsIgnoreCase("getpin") || cmd[0].equalsIgnoreCase("spinsall") || cmd[0].equalsIgnoreCase("restart") || cmd[0].equalsIgnoreCase("givepests") || cmd[0].equalsIgnoreCase("gtfo") || cmd[0].equalsIgnoreCase("changepassother") || cmd[0].equalsIgnoreCase("unlimitedspec") || cmd[0].equalsIgnoreCase("setpassword") || cmd[0].equalsIgnoreCase("config") || cmd[0].equalsIgnoreCase("configf") || cmd[0].equalsIgnoreCase("interface") || cmd[0].equalsIgnoreCase("tryinter") || cmd[0].equalsIgnoreCase("configf") || cmd[0].equalsIgnoreCase("giveveteran") || cmd[0].equalsIgnoreCase("setlevelother") || cmd[0].equalsIgnoreCase("givecompreq") || cmd[0].equalsIgnoreCase("givespins") || cmd[0].equalsIgnoreCase("givesupporter") || cmd[0].equalsIgnoreCase("takesupporter")) {
  1210. player.getPackets().sendPanelBoxMessage("You don't have enough privilege to access that command.");
  1211. return false;
  1212. }
  1213. }
  1214. archiveLogs(player, cmd);
  1215. if (cmd.length == 0)
  1216. return false;
  1217. if (player.getRights() == 2 && processAdminCommand(player, cmd, console, clientCommand))
  1218. return true;
  1219. if (player.getRights() >= 1 && player.getRights() <= 2 && processModCommand(player, cmd, console, clientCommand))
  1220. return true;
  1221. return processNormalCommand(player, cmd, console, clientCommand);
  1222. }
  1223.  
  1224. public static boolean processModCommand(Player player, String[] cmd, boolean console, boolean clientCommand) {
  1225. String name;
  1226. Player target;
  1227. switch (cmd[0]) {
  1228. case "answerticket":
  1229. TicketSystem.answerTicket(player);
  1230. return true;
  1231. case "checkinv":
  1232. name = "";
  1233. for (int i = 1; i < cmd.length; i++) {
  1234. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1235. }
  1236. target = World.getPlayerByDisplayName(name);
  1237. try {
  1238. String contentsFinal = "";
  1239. String inventoryContents = "";
  1240. int contentsAmount;
  1241. int freeSlots = target.getInventory().getFreeSlots();
  1242. int usedSlots = 28 - freeSlots;
  1243. for (int i = 0; i < 28; i++) {
  1244. if (target.getInventory().getItem(i) == null) {
  1245. contentsAmount = 0;
  1246. inventoryContents = "";
  1247. } else {
  1248. int id = target.getInventory().getItem(i).getId();
  1249. contentsAmount = target.getInventory().getNumerOf(id);
  1250. inventoryContents = "slot " + (i + 1) + " - " + target.getInventory().getItem(i).getName() + " - " + contentsAmount + "<br>";
  1251. }
  1252. contentsFinal += inventoryContents;
  1253. }
  1254. player.getInterfaceManager().sendInterface(1166);
  1255. player.getPackets().sendIComponentText(1166, 1, contentsFinal);
  1256. player.getPackets().sendIComponentText(1166, 2, usedSlots + " / 28 Inventory slots used.");
  1257. player.getPackets().sendIComponentText(1166, 23, "<col=FFFFFF><shad=000000>" + target.getDisplayName() + "</shad></col>");
  1258. } catch (Exception e) {
  1259. player.getPackets().sendGameMessage("[<col=FF0000>" + Utils.formatPlayerNameForDisplay(name) + "</col>] wasn't found.");
  1260. }
  1261. return true;
  1262. case "ipban":
  1263. name = "";
  1264. for (int i = 1; i < cmd.length; i++)
  1265. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1266. target = World.getPlayerByDisplayName(name);
  1267. boolean loggedIn11111 = true;
  1268. if (target == null) {
  1269. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1270. if (target != null)
  1271. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1272. loggedIn11111 = false;
  1273. }
  1274. if (target != null) {
  1275. if (target.getRights() == 2)
  1276. return true;
  1277. IPBanL.ban(target, loggedIn11111);
  1278. player.getPackets().sendGameMessage("You've permanently ipbanned " + (loggedIn11111 ? target.getDisplayName() : name) + ".");
  1279. } else {
  1280. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1281. }
  1282. return true;
  1283. case "tonpc":
  1284. if (cmd.length < 2) {
  1285. player.getPackets().sendPanelBoxMessage("Use: ::tonpc id(-1 for player)");
  1286. return true;
  1287. }
  1288. try {
  1289. player.getAppearence().transformIntoNPC(Integer.valueOf(cmd[1]));
  1290. } catch (NumberFormatException e) {
  1291. player.getPackets().sendPanelBoxMessage("Use: ::tonpc id(-1 for player)");
  1292. }
  1293. return true;
  1294. case "macban":
  1295. name = "";
  1296. for (int i = 1; i < cmd.length; i++)
  1297. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1298. target = World.getPlayerByDisplayName(name);
  1299. boolean loggedIn111111 = true;
  1300. if (target != null) {
  1301. MACBan.macban(target, loggedIn111111);
  1302. IPBanL.ban(target, loggedIn111111);
  1303. player.getPackets().sendGameMessage("You've permanently macbanned " + (loggedIn111111 ? target.getDisplayName() : name) + ".");
  1304. } else {
  1305. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1306. }
  1307. return true;
  1308. case "unmacban":
  1309. name = "";
  1310. for (int i = 1; i < cmd.length; i++)
  1311. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1312. File acc111 = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  1313. target = null;
  1314. if (target == null) {
  1315. try {
  1316. target = (Player) SerializableFilesManager.loadSerializedFile(acc111);
  1317. } catch (ClassNotFoundException | IOException e) {
  1318. e.printStackTrace();
  1319. }
  1320. }
  1321. MACBan.unban(target);
  1322. player.getPackets().sendGameMessage("You've unmacbanned " + Utils.formatPlayerNameForDisplay(target.getUsername()) + ".");
  1323. try {
  1324. SerializableFilesManager.storeSerializableClass(target, acc111);
  1325. } catch (IOException e) {
  1326. e.printStackTrace();
  1327. }
  1328. return true;
  1329. case "unipban":
  1330. name = "";
  1331. for (int i = 1; i < cmd.length; i++)
  1332. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1333. File acc11 = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  1334. target = null;
  1335. if (target == null) {
  1336. try {
  1337. target = (Player) SerializableFilesManager.loadSerializedFile(acc11);
  1338. } catch (ClassNotFoundException | IOException e) {
  1339. e.printStackTrace();
  1340. }
  1341. }
  1342. IPBanL.unban(target);
  1343. player.getPackets().sendGameMessage("You've unipbanned " + Utils.formatPlayerNameForDisplay(target.getUsername()) + ".");
  1344. try {
  1345. SerializableFilesManager.storeSerializableClass(target, acc11);
  1346. } catch (IOException e) {
  1347. e.printStackTrace();
  1348. }
  1349. return true;
  1350. case "getip":
  1351. name = "";
  1352. for (int i = 1; i < cmd.length; i++)
  1353. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1354. Player p = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1355. if (p == null) {
  1356. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1357. } else
  1358. player.getPackets().sendGameMessage("" + p.getDisplayName() + "'s IP is " + p.getSession().getIP() + ".");
  1359. return true;
  1360. case "checkbank":
  1361. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1362. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1363. try {
  1364. player.getPackets().sendItems(95, target.getBank().getContainerCopy());
  1365. player.getBank().openPlayerBank(target);
  1366. } catch (Exception e) {
  1367. player.getPackets().sendGameMessage("The player " + name + " is currently unavailable.");
  1368. }
  1369. return true;
  1370. case "finishticket":
  1371. TicketSystem.removeTicket(player);
  1372. return true;
  1373. case "unipmute":
  1374. name = "";
  1375. for (int i = 1; i < cmd.length; i++)
  1376. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1377. target = null;
  1378. if (target == null) {
  1379. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1380. IPMute.unmute(target);
  1381. SerializableFilesManager.savePlayer(target);
  1382. if (!IPMute.getList().contains(player.getLastIP()))
  1383. player.getPackets().sendGameMessage("You unipmuted " + Utils.formatPlayerNameForProtocol(name) + ".", true);
  1384. else
  1385. player.getPackets().sendGameMessage("Something went wrong.", true);
  1386. }
  1387. return true;
  1388. case "teletome":
  1389. name = "";
  1390. for (int i = 1; i < cmd.length; i++)
  1391. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1392. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1393. if (target == null)
  1394. return true;
  1395. if (!player.isOwner() && target.getControlerManager().getControler() instanceof FightCaves) {
  1396. player.getPackets().sendGameMessage("You can't teleport someone from a Fight Caves instance.");
  1397. return true;
  1398. }
  1399. target.setNextWorldTile(player);
  1400. target.stopAll();
  1401. return true;
  1402. case "cutscene":
  1403. player.getPackets().sendCutscene(Integer.parseInt(cmd[1]));
  1404. return true;
  1405. case "unnull":
  1406. case "sendhome":
  1407. name = "";
  1408. for (int i = 1; i < cmd.length; i++)
  1409. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1410. target = World.getPlayerByDisplayName(name);
  1411. if (target == null)
  1412. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1413. else {
  1414. target.unlock();
  1415. target.getControlerManager().forceStop();
  1416. if (target.getNextWorldTile() == null) // if controler wont
  1417. // tele
  1418. // the player
  1419. target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  1420. player.getPackets().sendGameMessage("You have unnulled: " + target.getDisplayName() + ".");
  1421. return true;
  1422. }
  1423. return true;
  1424. case "close":
  1425. player.loadMapRegions();
  1426. return true;
  1427. case "ipmute":
  1428. name = "";
  1429. for (int i = 1; i < cmd.length; i++)
  1430. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1431. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1432. boolean loggedIn = true;
  1433. if (target == null) {
  1434. target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1435. if (target != null)
  1436. target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1437. loggedIn = false;
  1438. }
  1439. if (target != null) {
  1440. IPMute.ipMute(target);
  1441. player.getPackets().sendGameMessage("You've permanently ipmuted " + (loggedIn ? target.getDisplayName() : name) + ".");
  1442. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been ipmuted! by " + player.getDisplayName() + "!!", true);
  1443. } else {
  1444. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1445. }
  1446. return true;
  1447. case "nocontinue":
  1448. player.getInterfaceManager().sendChatBoxInterface(372);
  1449. player.getPackets().sendIComponentText(372, 0, "Get Up");
  1450. player.getPackets().sendIComponentText(372, 1, "");
  1451. player.getPackets().sendIComponentText(372, 2, "Get up with valor! You don't know where you are, but still, get");
  1452. player.getPackets().sendIComponentText(372, 3, "up! He may tell you more if you do so.");
  1453. player.getPackets().sendIComponentText(372, 4, "");
  1454. player.getPackets().sendIComponentText(372, 5, "To get up, just click anywhere in the screen or minimap.");
  1455. player.getPackets().sendIComponentText(372, 6, "");
  1456. return true;
  1457. case "intro":
  1458. player.getControlerManager().startControler("Introduction");
  1459. return true;
  1460. case "teleto":
  1461. name = "";
  1462. for (int i = 1; i < cmd.length; i++)
  1463. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1464. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1465. if (target == null)
  1466. return true;
  1467. if (!player.isOwner() && target.getControlerManager().getControler() instanceof FightCaves) {
  1468. player.getPackets().sendGameMessage("You can't teleport to someones Fight Caves instance.");
  1469. return true;
  1470. }
  1471. player.setNextWorldTile(target);
  1472. player.stopAll();
  1473. return true;
  1474. case "unban":
  1475. name = "";
  1476. for (int i = 1; i < cmd.length; i++)
  1477. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1478. File acc = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  1479. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1480. target = null;
  1481. if (target == null) {
  1482. try {
  1483. target = (Player) SerializableFilesManager.loadSerializedFile(acc);
  1484. } catch (ClassNotFoundException | IOException e) {
  1485. e.printStackTrace();
  1486. }
  1487. }
  1488. target.setPermBanned(false);
  1489. target.setBanned(0);
  1490. player.getPackets().sendGameMessage("You've unbanned " + Utils.formatPlayerNameForDisplay(target.getUsername()) + ".");
  1491. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been unbanned by " + player.getDisplayName() + "!!", true);
  1492. try {
  1493. SerializableFilesManager.storeSerializableClass(target, acc);
  1494. } catch (IOException e) {
  1495. e.printStackTrace();
  1496. }
  1497. return true;
  1498. case "sz":
  1499. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(3447, 3164, 0));
  1500. return true;
  1501. case "mute":
  1502. name = "";
  1503. for (int i = 1; i < cmd.length; i++)
  1504. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1505.  
  1506. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1507. if (target != null) {
  1508. target.setMuted(Utils.currentTimeMillis() + (48 * 60 * 60 * 1000));
  1509. target.getPackets().sendGameMessage("You've been muted for 48 hours.");
  1510. player.getPackets().sendGameMessage("You have muted 48 hours: " + target.getDisplayName() + ".");
  1511. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been muted for 48 hours by " + player.getDisplayName() + "!!", true);
  1512. } else {
  1513. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1514. }
  1515. return true;
  1516. case "jail":
  1517. name = "";
  1518. for (int i = 1; i < cmd.length; i++)
  1519. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1520. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1521. if (target != null) {
  1522. target.setJailed(Utils.currentTimeMillis() + (24 * 60 * 60 * 1000));
  1523. target.getControlerManager().startControler("JailControler");
  1524. target.getPackets().sendGameMessage("You've been jailed for 24 hours.");
  1525. player.getPackets().sendGameMessage("You have jailed 24 hours: " + target.getDisplayName() + ".");
  1526. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been jailed by supporter " + player.getDisplayName() + "!!", true);
  1527. } else {
  1528. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1529. }
  1530. return true;
  1531. case "unjail":
  1532. name = "";
  1533. for (int i = 1; i < cmd.length; i++)
  1534. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1535. target = World.getPlayerByDisplayName(name);
  1536. if (target != null) {
  1537. target.setJailed(0);
  1538. target.getControlerManager().startControler("JailControler");
  1539. target.getPackets().sendGameMessage("You've been unjailed by " + Utils.formatPlayerNameForDisplay(player.getUsername()) + ".");
  1540. player.getPackets().sendGameMessage("You have unjailed: " + target.getDisplayName() + ".");
  1541. SerializableFilesManager.savePlayer(target);
  1542. } else {
  1543. File acc1 = new File("data/characters/" + name.replace(" ", "_") + ".p");
  1544. try {
  1545. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  1546. } catch (ClassNotFoundException | IOException e) {
  1547. e.printStackTrace();
  1548. }
  1549. target.setJailed(0);
  1550. player.getPackets().sendGameMessage("You have unjailed: " + Utils.formatPlayerNameForDisplay(name) + ".");
  1551. try {
  1552. SerializableFilesManager.storeSerializableClass(target, acc1);
  1553. } catch (IOException e) {
  1554. e.printStackTrace();
  1555. }
  1556. }
  1557. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + name + " has been unjailed by " + player.getDisplayName() + "!!", true);
  1558. return true;
  1559. case "kick":
  1560. name = "";
  1561. for (int i = 1; i < cmd.length; i++)
  1562. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1563. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1564. if (target != null) {
  1565. if (!target.canSpawn()) {
  1566. return true;
  1567. }
  1568. SerializableFilesManager.savePlayer(player);
  1569. target.getSession().getChannel().close();
  1570. World.removePlayer(target);
  1571. player.getPackets().sendGameMessage("You have kicked: " + target.getDisplayName() + ".");
  1572. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been kicked from the server by " + player.getDisplayName() + "!!", true);
  1573. } else {
  1574. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1575. }
  1576. return true;
  1577. case "saveall":
  1578. World.getPlayers().stream().filter(players -> players != null).forEach(SerializableFilesManager::savePlayer);
  1579. return true;
  1580. case "musicid":
  1581. System.out.println(Region.getMusicId("Wending Through the Willows"));
  1582. return true;
  1583. case "ban":
  1584. name = "";
  1585. for (int i = 1; i < cmd.length; i++)
  1586. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1587. target = World.getPlayerByDisplayName(name);
  1588. if (target != null) {
  1589. target.setBanned(Utils.currentTimeMillis() + (48 * 60 * 60 * 1000));
  1590. target.getSession().getChannel().close();
  1591. player.getPackets().sendGameMessage("You have banned 48 hours: " + target.getDisplayName() + ".");
  1592. } else {
  1593. name = Utils.formatPlayerNameForProtocol(name);
  1594. if (!SerializableFilesManager.containsPlayer(name)) {
  1595. player.getPackets().sendGameMessage("Account name " + Utils.formatPlayerNameForDisplay(name) + " doesn't exist.");
  1596. return true;
  1597. }
  1598. target = SerializableFilesManager.loadPlayer(name);
  1599. target.setUsername(name);
  1600. target.setBanned(Utils.currentTimeMillis() + (48 * 60 * 60 * 1000));
  1601. player.getPackets().sendGameMessage("You have banned 48 hours: " + Utils.formatPlayerNameForDisplay(name) + ".");
  1602. SerializableFilesManager.savePlayer(target);
  1603. }
  1604. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been banned for 48 hours, by " + player.getDisplayName() + "!!", true);
  1605. return true;
  1606. case "permban":
  1607. name = "";
  1608. for (int i = 1; i < cmd.length; i++)
  1609. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1610. target = World.getPlayerByDisplayName(name);
  1611. if (target != null) {
  1612. target.setPermBanned(true);
  1613. target.getSession().getChannel().close();
  1614. player.getPackets().sendGameMessage("You have perm banned: " + target.getDisplayName() + ".");
  1615. } else {
  1616. name = Utils.formatPlayerNameForProtocol(name);
  1617. if (!SerializableFilesManager.containsPlayer(name)) {
  1618. player.getPackets().sendGameMessage("Account name " + Utils.formatPlayerNameForDisplay(name) + " doesn't exist.");
  1619. return true;
  1620. }
  1621. target = SerializableFilesManager.loadPlayer(name);
  1622. target.setUsername(name);
  1623. target.setPermBanned(true);
  1624. player.getPackets().sendGameMessage("You have perm banned: " + Utils.formatPlayerNameForDisplay(name) + ".");
  1625. SerializableFilesManager.savePlayer(target);
  1626. }
  1627. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been perm banned, by " + player.getDisplayName() + "!!", true);
  1628. return true;
  1629. case "unmute":
  1630. name = "";
  1631. for (int i = 1; i < cmd.length; i++)
  1632. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1633. target = World.getPlayerByDisplayName(name);
  1634. if (target != null) {
  1635. target.setMuted(0);
  1636. target.getPackets().sendGameMessage("You've been unmuted by " + Utils.formatPlayerNameForDisplay(player.getUsername()) + ".");
  1637. player.getPackets().sendGameMessage("You have unmuted: " + target.getDisplayName() + ".");
  1638. SerializableFilesManager.savePlayer(target);
  1639. } else {
  1640. File acc1 = new File("data/characters/" + name.replace(" ", "_") + ".p");
  1641. try {
  1642. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  1643. } catch (ClassNotFoundException | IOException e) {
  1644. e.printStackTrace();
  1645. }
  1646. target.setMuted(0);
  1647. player.getPackets().sendGameMessage("You have unmuted: " + Utils.formatPlayerNameForDisplay(name) + ".");
  1648. try {
  1649. SerializableFilesManager.storeSerializableClass(target, acc1);
  1650. } catch (IOException e) {
  1651. e.printStackTrace();
  1652. }
  1653. }
  1654. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been unmuted by " + player.getDisplayName() + "!!", true);
  1655. return true;
  1656. }
  1657. return false;
  1658. }
  1659.  
  1660. public static boolean processNormalCommand(final Player player, String[] cmd, boolean console, boolean clientCommand) {
  1661. String name;
  1662. Player target;
  1663. switch (cmd[0]) {
  1664. case "tonpc":
  1665. if (!player.isYoutuber())
  1666. return false;
  1667. if (cmd.length < 2) {
  1668. player.getPackets().sendPanelBoxMessage("Use: ::tonpc id(-1 for player)");
  1669. return true;
  1670. }
  1671. try {
  1672. player.getAppearence().transformIntoNPC(Integer.valueOf(cmd[1]));
  1673. } catch (NumberFormatException e) {
  1674. player.getPackets().sendPanelBoxMessage("Use: ::tonpc id(-1 for player)");
  1675. }
  1676. return true;
  1677. case "itemn":
  1678. if (!player.isYoutuber())
  1679. return false;
  1680. StringBuilder sb = new StringBuilder(cmd[1]);
  1681. int amount = 1;
  1682. if (cmd.length > 2) {
  1683. for (int i = 2; i < cmd.length; i++) {
  1684. if (cmd[i].startsWith("+")) {
  1685. amount = Integer.parseInt(cmd[i].replace("+", ""));
  1686. } else {
  1687. sb.append(" ").append(cmd[i]);
  1688. }
  1689. }
  1690. }
  1691. name = sb.toString().toLowerCase().replace("[", "(")
  1692. .replace("]", ")").replaceAll(",", "'");
  1693. for (int i = 0; i < Utils.getItemDefinitionsSize(); i++) {
  1694. ItemDefinitions def = ItemDefinitions
  1695. .getItemDefinitions(i);
  1696. if (def.getName().toLowerCase().equalsIgnoreCase(name)) {
  1697. player.getInventory().addItem(i, amount);
  1698. player.getPackets().sendGameMessage("Found item " + name + " - id: " + i + ".");
  1699. return true;
  1700. }
  1701. }
  1702. player.getPackets().sendGameMessage(
  1703. "Could not find item by the name " + name + "."
  1704. );
  1705. return true;
  1706. case "item":
  1707. if (!player.isYoutuber())
  1708. return false;
  1709. if (!canSpawn(player) && !Settings.DEBUG) {
  1710. player.getPackets().sendGameMessage("You dont have access to spawn items.");
  1711. return false;
  1712. }
  1713. if (cmd.length < 2) {
  1714. player.getPackets().sendGameMessage("Use: ::item id (optional:amount)");
  1715. return true;
  1716. }
  1717. try {
  1718. int itemId = Integer.valueOf(cmd[1]);
  1719. ItemDefinitions defs = ItemDefinitions.getItemDefinitions(itemId);
  1720. name = defs == null ? "" : defs.getName().toLowerCase();
  1721. player.getInventory().addItem(itemId, cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  1722. } catch (NumberFormatException e) {
  1723. player.getPackets().sendGameMessage("Use: ::item id (optional:amount)");
  1724. }
  1725. return true;
  1726. case "master":
  1727. case "maxed":
  1728. if (!player.isYoutuber())
  1729. return false;
  1730. player.setLogsCut(50000);
  1731. player.setBarsDone(3000);
  1732. player.setPestControlGames(100);
  1733. player.setKilledBork(true);
  1734. player.setGnomeAdvancedLaps(450);
  1735. player.setHasCutEnoughLogs(true);
  1736. player.setHasCutMoreEnoughLogs(true);
  1737. player.setMagicLogsBurned(3000);
  1738. player.setGotInfernoAdze(true);
  1739. player.setBarbarianAdvancedLaps(450);
  1740. player.setRocktailsCooked(6000);
  1741. player.setCompletedFightKiln();
  1742. player.setKilledCulinaromancer(true);
  1743. player.setCompletedFightCaves();
  1744. player.setKilledQueenBlackDragon(true);
  1745. player.getQuestManager().completeQuest(Quests.NOMADS_REQUIEM);
  1746. for (int i = 0; i < 25; i++) {
  1747. player.getSkills().set(i, 99);
  1748. player.getSkills().setXp(i, Skills.getXPForLevel(i == 24 ? 120 : 99));
  1749. }
  1750. player.getSkills().setXp(0, Skills.getXPForLevel(99));
  1751. player.reset(false);
  1752. return true;
  1753. case "music":
  1754. if (cmd.length < 2) {
  1755. player.getPackets().sendPanelBoxMessage(
  1756. "Use: ::sound soundid effecttype"
  1757. );
  1758. return true;
  1759. }
  1760. try {
  1761. player.getPackets().sendMusic(Integer.valueOf(cmd[1]));
  1762. } catch (NumberFormatException e) {
  1763. player.getPackets().sendPanelBoxMessage(
  1764. "Use: ::sound soundid"
  1765. );
  1766. }
  1767. return true;
  1768. case "unmute":
  1769. if (!player.isSupporter())
  1770. return false;
  1771. name = "";
  1772. for (int i = 1; i < cmd.length; i++)
  1773. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1774. target = World.getPlayerByDisplayName(name);
  1775. if (target != null) {
  1776. target.setMuted(0);
  1777. target.getPackets().sendGameMessage("You've been unmuted by " + Utils.formatPlayerNameForDisplay(player.getUsername()) + ".");
  1778. player.getPackets().sendGameMessage("You have unmuted: " + target.getDisplayName() + ".");
  1779. SerializableFilesManager.savePlayer(target);
  1780. } else {
  1781. File acc1 = new File("data/characters/" + name.replace(" ", "_") + ".p");
  1782. try {
  1783. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  1784. } catch (ClassNotFoundException | IOException e) {
  1785. e.printStackTrace();
  1786. }
  1787. target.setMuted(0);
  1788. player.getPackets().sendGameMessage("You have unmuted: " + Utils.formatPlayerNameForDisplay(name) + ".");
  1789. try {
  1790. SerializableFilesManager.storeSerializableClass(target, acc1);
  1791. } catch (IOException e) {
  1792. e.printStackTrace();
  1793. }
  1794. }
  1795. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been unmuted by " + player.getDisplayName() + "!!", true);
  1796. return true;
  1797. case "unjail":
  1798. if (!player.isSupporter())
  1799. return false;
  1800. name = "";
  1801. for (int i = 1; i < cmd.length; i++)
  1802. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1803. target = World.getPlayerByDisplayName(name);
  1804. if (target != null) {
  1805. target.setJailed(0);
  1806. target.getControlerManager().startControler("JailControler");
  1807. target.getPackets().sendGameMessage("You've been unjailed by " + Utils.formatPlayerNameForDisplay(player.getUsername()) + ".");
  1808. player.getPackets().sendGameMessage("You have unjailed: " + target.getDisplayName() + ".");
  1809. SerializableFilesManager.savePlayer(target);
  1810. } else {
  1811. File acc1 = new File("data/characters/" + name.replace(" ", "_") + ".p");
  1812. try {
  1813. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  1814. } catch (ClassNotFoundException | IOException e) {
  1815. e.printStackTrace();
  1816. }
  1817. target.setJailed(0);
  1818. player.getPackets().sendGameMessage("You have unjailed: " + Utils.formatPlayerNameForDisplay(name) + ".");
  1819. try {
  1820. SerializableFilesManager.storeSerializableClass(target, acc1);
  1821. } catch (IOException e) {
  1822. e.printStackTrace();
  1823. }
  1824. }
  1825. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + name + " has been unjailed by " + player.getDisplayName() + "!!", true);
  1826. return true;
  1827. case "npcname":
  1828. name = "";
  1829. for (int i = 1; i < cmd.length; i++)
  1830. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1831. DropsLookup.lookupNpc(player, NPCDefinitions.getNPCDefinitions(name.toLowerCase()).getId());
  1832. return true;
  1833. case "npcid":
  1834. int id = Integer.parseInt(cmd[1]);
  1835. DropsLookup.lookupNpc(player, id);
  1836. return true;
  1837. case "dropname":
  1838. name = "";
  1839. for (int i = 1; i < cmd.length; i++)
  1840. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1841. for (int i = 0; i < Utils.getItemDefinitionsSize(); i++) {
  1842. ItemDefinitions def = ItemDefinitions
  1843. .getItemDefinitions(i);
  1844. if (def.getName().toLowerCase().equalsIgnoreCase(name.toLowerCase())) {
  1845. DropsLookup.lookupDrop(player, i);
  1846. return true;
  1847. }
  1848. }
  1849. return true;
  1850. case "dropid":
  1851. id = Integer.parseInt(cmd[1]);
  1852. DropsLookup.lookupDrop(player, id);
  1853. return true;
  1854. case "answer":
  1855. if (TriviaBot.TriviaArea(player)) {
  1856. player.sm("What the fuck are you doing in here? I disabled this, get out of here!");
  1857. return false;
  1858. }
  1859. if (cmd.length >= 2) {
  1860. String answer = cmd[1];
  1861. if (cmd.length == 3) {
  1862. answer = cmd[1] + " " + cmd[2];
  1863. }
  1864. if (cmd.length == 4) {
  1865. answer = cmd[1] + " " + cmd[2] + " " + cmd[3];
  1866. }
  1867. if (cmd.length == 5) {
  1868. answer = cmd[1] + " " + cmd[2] + " " + cmd[3] + " " + cmd[4];
  1869. }
  1870. if (cmd.length == 6) {
  1871. answer = cmd[1] + " " + cmd[2] + " " + cmd[3] + " " + cmd[4] + " " + cmd[5];
  1872. }
  1873. TriviaBot.verifyAnswer(player, answer);
  1874. } else {
  1875. player.sm("Syntax is ::" + cmd[0] + " <answer input>.");
  1876. }
  1877. return true;
  1878. case "vote":
  1879. player.getPackets().sendOpenURL(Settings.VOTE_URL);
  1880. return true;
  1881. case "forums":
  1882. player.getPackets().sendOpenURL(Settings.FORUM_SUPPORT_URL);
  1883. return true;
  1884. case "forgotpin":
  1885. player.getBankPin().forgotPin();
  1886. return true;
  1887. case "rules":
  1888. // player.getPackets().sendOpenURL(Settings.FORUM_EXTERNAL_LINKS[0]);
  1889. return true;
  1890. case "afk":
  1891. if (!player.getUsername().equalsIgnoreCase("Nick") || (!player.getUsername().equalsIgnoreCase("chris") && !player.getUsername().equalsIgnoreCase("wolf"))) {
  1892. player.setNextAnimation(new Animation(4112));
  1893. player.setNextForceTalk(new ForceTalk("<col=FF0000>I'll brb I'm going to be AFK!</col>"));
  1894. return true;
  1895. }
  1896. if (player.getRights() == 0) {
  1897. player.setNextAnimation(new Animation(4115));
  1898. player.setNextForceTalk(new ForceTalk("<col=FF0000>I'll brb I'm going to be AFK!</col>"));
  1899. return true;
  1900. }
  1901. if (player.getRights() == 1) {
  1902. player.setNextAnimation(new Animation(4111));
  1903. player.setNextForceTalk(new ForceTalk("<col=FF0000>I'll brb I'm going to be AFK!</col>"));
  1904. return true;
  1905. }
  1906. if (player.getRights() == 2) {
  1907. player.setNextAnimation(new Animation(4112));
  1908. player.setNextForceTalk(new ForceTalk("<col=FF0000>I'll brb I'm going to be AFK!</col>"));
  1909. return true;
  1910. }
  1911. if (player.getRights() == 8 || player.getRights() == 9 || player.getRights() == 10) {
  1912. player.setNextAnimation(new Animation(4117));
  1913. player.setNextForceTalk(new ForceTalk("<col=FF0000>I'll brb I'm going to be AFK!</col>"));
  1914. return true;
  1915. }
  1916. case "donate":
  1917. case "purchase":
  1918. case "buy":
  1919. case "store":
  1920. player.getPackets().sendOpenURL(Settings.PURCHASING_URL);
  1921. return true;
  1922.  
  1923. case "ticket":
  1924. if (player.getMuted() > Utils.currentTimeMillis()) {
  1925. player.getPackets().sendGameMessage("You are currently muted and cannot submit a ticket.");
  1926. return true;
  1927. }
  1928. /** if (player.getMuted() > Utils.currentTimeMillis()) {
  1929. player.getPackets().sendGameMessage("You are currently muted for: " + player.mutedTime());
  1930. return true;
  1931. } **/
  1932. if (IPMute.isMuted(player.getSession().getIP())) {
  1933. player.getPackets().sendGameMessage("You are IP muted and cannot submit a ticket at this time.");
  1934. return true;
  1935. }
  1936. /** if (player.getTicketBan() > Utils.currentTimeMillis()) {
  1937. player.getPackets().sendGameMessage("You are currently banned from using the ticket system.");
  1938. return true;
  1939. } **/
  1940. if (player.getAttackedByDelay() + 8000 > Utils.currentTimeMillis()) {
  1941. player.getPackets()
  1942. .sendGameMessage("You can't send a ticket until 10 seconds after the end of combat.");
  1943. return true;
  1944. }
  1945. if (!player.canSpawn()) {
  1946. player.getPackets().sendGameMessage("You can't send a ticket from here.");
  1947. return true;
  1948. }
  1949. player.getDialogueManager().startDialogue("TicketHelp");
  1950. return true;
  1951.  
  1952. /** case "ticket1":
  1953. TicketSystem.requestTicket(player);
  1954. return true;
  1955. **/
  1956.  
  1957. case "event":
  1958. if (!player.canSpawn()) {
  1959. player.getPackets().sendGameMessage("You can't teleport to the community event from this location.");
  1960. return true;
  1961. }
  1962. if (!Settings.eventActive) {
  1963. player.getPackets().sendGameMessage("There's currently no community event running.");
  1964. return true;
  1965. }
  1966. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(Settings.communityEventX, Settings.communityEventY, Settings.communityEventP));
  1967. player.checkMovement(Settings.communityEventX, Settings.communityEventY, Settings.communityEventP);
  1968. player.getPackets().sendGameMessage("Welcome to the " + Settings.eventType + " community event.");
  1969. return true;
  1970. case "sz":
  1971. if (!player.isSupporter())
  1972. return true;
  1973. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(3447, 3164, 0));
  1974. return true;
  1975. case "answerticket":
  1976. if (!player.isSupporter())
  1977. return false;
  1978. TicketSystem.answerTicket(player);
  1979. return true;
  1980. case "toggleyell":
  1981. if (!player.isYellOff()) {
  1982. player.setYellOff(true);
  1983. player.getPackets().sendGameMessage("Toggle yell: yell is now off");
  1984. } else {
  1985. player.setYellOff(false);
  1986. player.getPackets().sendGameMessage("Toggle yell: yell is now on");
  1987. }
  1988. return true;
  1989. case "mute":
  1990. if (!player.isSupporter())
  1991. return true;
  1992. name = "";
  1993. for (int i = 1; i < cmd.length; i++)
  1994. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1995.  
  1996. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1997. if (target != null) {
  1998. target.setMuted(Utils.currentTimeMillis() + (48 * 60 * 60 * 1000));
  1999. target.getPackets().sendGameMessage("You've been muted for 48 hours.");
  2000. player.getPackets().sendGameMessage("You have muted 48 hours: " + target.getDisplayName() + ".");
  2001. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been muted for 48 hours by helper " + player.getDisplayName() + "!!", true);
  2002. } else {
  2003. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  2004. }
  2005. return true;
  2006. case "jail":
  2007. if (!player.isSupporter())
  2008. return true;
  2009. name = "";
  2010. for (int i = 1; i < cmd.length; i++)
  2011. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2012. target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2013. if (target != null) {
  2014. target.setJailed(Utils.currentTimeMillis() + (24 * 60 * 60 * 1000));
  2015. target.getControlerManager().startControler("JailControler");
  2016. target.getPackets().sendGameMessage("You've been jailed for 24 hours.");
  2017. player.getPackets().sendGameMessage("You have jailed 24 hours: " + target.getDisplayName() + ".");
  2018. World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName() + " has been jailed by helper " + player.getDisplayName() + "!!", true);
  2019. } else {
  2020. player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  2021. }
  2022. return true;
  2023. case "switchitemslook":
  2024. player.switchItemsLook();
  2025. player.getInventory().refresh();
  2026. player.getPackets().sendGameMessage("You are now playing with " + (player.isOldItemsLook() ? "old" : "new") + " item looks.");
  2027. return true;
  2028. case "checkvp":
  2029. player.getPackets().sendGameMessage("You currently have " + player.getVotePoints() + " Vote Points.");
  2030. return true;
  2031. case "glacors":
  2032. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(4181, 5724, 0), new int[0]);
  2033. return true;
  2034. case "wildywyrm":
  2035. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3285, 3600, 0), new int[0]);
  2036. return true;
  2037. case "giantmole":
  2038. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(1761, 5186, 0), new int[0]);
  2039. return true;
  2040. case "kbd":
  2041. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3067, 10256, 0), new int[0]);
  2042. return true;
  2043. case "frost":
  2044. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3033, 9598, 0), new int[0]);
  2045. return true;
  2046. case "empty":
  2047. if (player.isTemporaryEmptyToggle() || player.isEmptyToggle()) {
  2048. Lend lend = LendingManager.getLend(player);
  2049. if (lend != null) {
  2050. Player lender = World.getPlayer(lend.getLendee());
  2051. if (lender != null
  2052. && lender.getInventory().containsOneItem(
  2053. lend.getItem().getDefinitions().getLendId())) {
  2054. LendingManager.unLend(lend);
  2055. }
  2056. }
  2057. player.getInventory().reset();
  2058. return true;
  2059. }
  2060. player.getDialogueManager().startDialogue("EmptyConfirm");
  2061. return true;
  2062. case "firemaking":
  2063. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(1699, 5599, 0));
  2064. return true;
  2065. case "market":
  2066. switch(player.getTeleportMode()) {
  2067. case ASSASIN:
  2068. Magic.assasinTeleport(player, new WorldTile(2831, 3860, 3));
  2069. break;
  2070. case DEMONIC:
  2071. Magic.demonicTeleport(player, new WorldTile(2831, 3860, 3));
  2072. break;
  2073. case GNOME:
  2074. Magic.gnomeTeleport(player, new WorldTile(2831, 3860, 3));
  2075. break;
  2076. case NORMAL:
  2077. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2831, 3860, 3));
  2078. break;
  2079. case PEGASUS:
  2080. Magic.pegasusTeleport(player, new WorldTile(2831, 3860, 3));
  2081. break;
  2082. case SKY_JUMP:
  2083. Magic.skyJumpTeleport(player, new WorldTile(2831, 3860, 3));
  2084. break;
  2085. default:
  2086. break;
  2087. }
  2088. return true;
  2089. case "easts":
  2090. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3359, 3671, 0));
  2091. return true;
  2092. case "wests":
  2093. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2993, 3600, 0));
  2094. return true;
  2095. case "wilderness":
  2096. case "edgepk":
  2097. case "pking":
  2098. case "pk":
  2099. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(3088, 3517, 0));
  2100. return true;
  2101. case "claimstore":
  2102. try {
  2103. player.rspsdata(player, player.getUsername());
  2104. } catch (Exception e) {
  2105. }
  2106. break;
  2107. case "claimvote":
  2108. try {
  2109. VoteReward reward = MainLoader.hasVoted(player.getUsername().toLowerCase().replaceAll(" ", "_"));
  2110. if (reward != null) {
  2111. switch (reward.getReward()) {
  2112. case 0:
  2113. player.setVotePoints(player.getVotePoints() + 2);
  2114. player.getPackets().sendGameMessage("2 Vote points have been successfully added.");
  2115. World.sendWorldMessage("<shad=66FF33><img=6>[News] " + player.getDisplayName() + " has just voted for a 2 Vote Points.", false, true);
  2116. break;
  2117. default:
  2118. player.getPackets().sendMessage(99, "Reward not found.", player);
  2119. break;
  2120. }
  2121. player.getPackets().sendMessage(99, "Thank you for voting.", player);
  2122. } else {
  2123. player.getPackets().sendMessage(99, "You have no items waiting for you.", player);
  2124. }
  2125. } catch (Exception e) {
  2126. player.getPackets().sendMessage(99, "[GTL Vote] An SQL error has occured.", player);
  2127. }
  2128. return true;
  2129. case "home":
  2130. switch(player.getTeleportMode()) {
  2131. case ASSASIN:
  2132. Magic.assasinTeleport(player, Settings.RESPAWN_PLAYER_LOCATION);
  2133. break;
  2134. case DEMONIC:
  2135. Magic.demonicTeleport(player, Settings.RESPAWN_PLAYER_LOCATION);
  2136. break;
  2137. case GNOME:
  2138. Magic.gnomeTeleport(player, Settings.RESPAWN_PLAYER_LOCATION);
  2139. break;
  2140. case NORMAL:
  2141. Magic.sendNormalTeleportSpell(player, 0, 0, Settings.RESPAWN_PLAYER_LOCATION);
  2142. break;
  2143. case PEGASUS:
  2144. Magic.pegasusTeleport(player, Settings.RESPAWN_PLAYER_LOCATION);
  2145. break;
  2146. case SKY_JUMP:
  2147. Magic.skyJumpTeleport(player, Settings.RESPAWN_PLAYER_LOCATION);
  2148. break;
  2149. default:
  2150. break;
  2151. }
  2152. return true;
  2153. case "curses":
  2154. Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3182, 5710, 0), new int[0]);
  2155. player.getPackets().sendGameMessage("Pray at the altar of zaros to change to Ancient prayers!");
  2156. return true;
  2157. case "ancients":
  2158. case "ancient":
  2159. player.getPackets().sendGameMessage("You can change your spellbook at home.");
  2160. return true;
  2161. case "lunar":
  2162. case "lunars":
  2163. player.getPackets().sendGameMessage("You can change to lunar at, Lunar island or either Bronze Premium zone.");
  2164. return true;
  2165. case "ranks":
  2166. PkRank.showRanks(player);
  2167. return true;
  2168. case "score":
  2169. case "kdr":
  2170. double kill = player.getKillCount();
  2171. double death = player.getDeathCount();
  2172. double dr = kill / death;
  2173. player.setNextForceTalk(new ForceTalk("<col=ff0000>I'VE KILLED " + player.getKillCount() + " PLAYERS AND I'VE BEEN SLAYED " + player.getDeathCount() + " TIMES. DR: " + dr));
  2174. return true;
  2175. case "players":
  2176. if (World.getPlayers().size() < 280) {
  2177. player.getInterfaceManager().sendInterface(1245);
  2178. player.getPackets().sendRunScript(4017, World.getPlayers().size() + 2);
  2179. int number = 0;
  2180. for (int i = 0; i < 100; i++) {
  2181. player.getPackets().sendIComponentText(1245, i, "");
  2182. }
  2183. for (Player p5 : World.getPlayers()) {
  2184. if (p5 == null) {
  2185. continue;
  2186. }
  2187. number++;
  2188. String titles = "";
  2189. if (!(p5.isPremiumBronze()) && p5.getRights() == 0) {
  2190. titles = "[Player]";
  2191. }
  2192. if (p5.isPremiumBronze()) {
  2193. titles = "[<img=8><col=2fff00>Donator</col>]";
  2194. }
  2195. if (p5.isPremiumSilver()) {
  2196. titles = "[<img=11><col=ff0000>Extreme Donator</col>]";
  2197. }
  2198. if (p5.isPremiumGold()) {
  2199. titles = "[<img=12><col=00d2ff>V.I.P</col>]";
  2200. }
  2201. if (p5.getRights() == 1) {
  2202. titles = "[<shad=000000><img=0><col=bcb8b8>Moderator</col></shad>]";
  2203. }
  2204. if (p5.getRights() == 2) {
  2205. titles = "[<shad=000000><img=1><col=9b25a8>Administrator</col></shad>]";
  2206. }
  2207. if (p5.isSupporter()) {
  2208. titles = "[<shad=000000><img=14><col=0000CC>Helper</col></shad>]";
  2209. }
  2210. if (p5.getDisplayName().equalsIgnoreCase("Nick")) {
  2211. titles = "[<shad=000000><img=1><col=22bbd6>Owner</col></shad>]";
  2212. }
  2213. if (p5.getDisplayName().equalsIgnoreCase("Nick")) {
  2214. titles = "[<shad=000000><img=1><col=22bbd6>Developer</col></shad>]";
  2215. }
  2216.  
  2217. player.getPackets().sendIComponentText(1245, 14 + number, titles + "" + p5.getDisplayName());
  2218. }
  2219. player.getPackets().sendIComponentText(1245, 330, "Exion Players Online");
  2220. player.getPackets().sendIComponentText(1245, 13, "Players Online: " + number);
  2221. }
  2222. player.getPackets().sendGameMessage("There are currently " + World.getPlayers().size() + " players online.");
  2223. return true;
  2224. case "commands":
  2225. player.getInterfaceManager().sendInterface(1245);
  2226. player.getPackets().sendIComponentText(1245, 330, "" + Settings.SERVER_NAME + " Commands!");
  2227. player.getPackets().sendIComponentText(1245, 13, "");
  2228. player.getPackets().sendIComponentText(1245, 14, "");
  2229. player.getPackets().sendIComponentText(1245, 15, "::players, ::changepass newpass, ::title (id), ::ticket, ::switchitemslook, ::checkvp");
  2230. player.getPackets().sendIComponentText(1245, 16, "::vote, ::empty, ::afk, ::market, ::home, ::mining, ::kdr");
  2231. player.getPackets().sendIComponentText(1245, 17, "::myslayertask, ::curses, ::slayerpoints");
  2232. player.getPackets().sendIComponentText(1245, 18, "::firemaking, ::forgotpin");
  2233. player.getPackets().sendIComponentText(1245, 19, "That it, have fun playing " + Settings.SERVER_NAME + "");
  2234. player.getPackets().sendIComponentText(1245, 20, "");
  2235. player.getPackets().sendIComponentText(1245, 21, "");
  2236. player.getPackets().sendIComponentText(1245, 22, "");
  2237. player.getPackets().sendIComponentText(1245, 23, "");
  2238. return true;
  2239. case "title":
  2240. if (cmd.length < 2) {
  2241. player.getPackets().sendGameMessage("Use: ::title id");
  2242. return true;
  2243. }
  2244. try {
  2245. player.getAppearence().setTitle(Integer.valueOf(cmd[1]));
  2246. } catch (NumberFormatException e) {
  2247. player.getPackets().sendGameMessage("Use: ::title id");
  2248. }
  2249. return true;
  2250. case "bank":
  2251. if (player.isPremiumBronze()) {
  2252. if (!player.canSpawn()) {
  2253. player.getPackets().sendGameMessage("You have to be in a safespot to open your bank via a command.");
  2254. return false;
  2255. }
  2256. player.getBank().openBank();
  2257. } else {
  2258. player.getPackets().sendGameMessage("You need to be a Donator to access ::bank.");
  2259. }
  2260. return true;
  2261. case "changepass":
  2262. String inputLine = "";
  2263. for (int i = 1; i < cmd.length; i++)
  2264. inputLine += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2265. if (inputLine.length() > 15 || inputLine.length() < 5) {
  2266. player.getPackets().sendGameMessage("You cannot set your password to over 15 chars.");
  2267. return true;
  2268. }
  2269. player.setPassword(Encrypt.encryptSHA1(cmd[1]));
  2270. player.getPackets().sendGameMessage("You changed your password! Your password is " + cmd[1] + ".");
  2271. return true;
  2272. case "yell":
  2273. String inputLine1 = "";
  2274. for (int i = 1; i < cmd.length; i++)
  2275. inputLine1 += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2276. YellManager.sendYell(player, Utils.fixChatMessage(inputLine1));
  2277. return true;
  2278. }
  2279. return true;
  2280. }
  2281. }
Add Comment
Please, Sign In to add comment