Guest User

Untitled

a guest
Apr 13th, 2016
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 136.04 KB | None | 0 0
  1. package com.rs.game.player.content;
  2.  
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.ArrayList;
  9. import java.util.Calendar;
  10. import java.util.LinkedList;
  11. import java.util.List;
  12. import java.util.TimerTask;
  13.  
  14. import com.rs.Settings;
  15. import com.rs.cache.loaders.AnimationDefinitions;
  16. import com.rs.cache.loaders.Configs;
  17. import com.rs.cache.loaders.ItemDefinitions;
  18. import com.rs.cache.loaders.NPCDefinitions;
  19. import com.rs.cores.CoresManager;
  20. import com.rs.game.Animation;
  21. import com.rs.game.ForceTalk;
  22. import com.rs.game.Graphics;
  23. import com.rs.game.Hit;
  24. import com.rs.game.Hit.HitLook;
  25. import com.rs.game.Region;
  26. import com.rs.game.World;
  27. import com.rs.game.WorldObject;
  28. import com.rs.game.WorldTile;
  29. import com.rs.game.cityhandler.CityEventHandler;
  30. import com.rs.game.item.Item;
  31. import com.rs.game.minigames.clanwars.FfaZone;
  32. import com.rs.game.npc.NPC;
  33. import com.rs.game.player.BodyGlow;
  34. import com.rs.game.player.Player;
  35. import com.rs.game.player.Skills;
  36. import com.rs.game.player.content.bot.Bot;
  37. import com.rs.game.player.content.bot.BotList;
  38. import com.rs.game.player.content.grandExchange.GrandExchange;
  39. import com.rs.game.player.content.instancing.bossInstance.BossInstanceHandler;
  40. import com.rs.game.player.content.instancing.bossInstance.BossInstanceHandler.Boss;
  41. import com.rs.game.player.content.revents.EventConstants;
  42. import com.rs.game.player.content.revents.EventManager;
  43. import com.rs.game.player.content.stealingcreations.StealingCreationController;
  44. import com.rs.game.player.content.stealingcreations.StealingCreationLobbyController;
  45. import com.rs.game.player.controlers.ControlerHandler;
  46. import com.rs.game.player.controlers.Wilderness;
  47. import com.rs.game.tasks.WorldTask;
  48. import com.rs.game.tasks.WorldTasksManager;
  49. import com.rs.tools.ItemSearch;
  50. import com.rs.utils.DisplayName;
  51. import com.rs.utils.Encrypt;
  52. import com.rs.utils.IPBanL;
  53. import com.rs.utils.ItemBonuses;
  54. import com.rs.utils.Logger;
  55. import com.rs.utils.NPCBonuses;
  56. import com.rs.utils.NPCCombatDefinitionsL;
  57. import com.rs.utils.NPCDrops;
  58. import com.rs.utils.NPCSpawns;
  59. import com.rs.utils.ObjectSpawns;
  60. import com.rs.utils.PkRank;
  61. import com.rs.utils.SerializableFilesManager;
  62. import com.rs.utils.ShopsHandler;
  63. import com.rs.utils.Utils;
  64.  
  65. /*
  66. * doesnt let it be extended
  67. */
  68. public final class Commands {
  69.  
  70. public static final WorldTile RESPAWN = new WorldTile(3182, 5713, 0);
  71.  
  72. /*
  73. * all console commands only for admin, chat commands processed if they not
  74. * processed by console
  75. */
  76.  
  77. /**
  78. * returns if command was processed
  79. *
  80. */
  81. public static boolean canVote = true;
  82. public static boolean processCommand(Player player, String command,
  83. boolean console, boolean clientCommand) {
  84.  
  85. if (command.length() == 0) // if they used ::(nothing) theres no command
  86. return false;
  87. String[] cmd = command.toLowerCase().split(" ");
  88. if (cmd.length == 0)
  89. return false;
  90. if(!player.getPlayerPin().hasEnteredPin()) {
  91. player.getPackets().sendGameMessage("You have not entered your player pin.");
  92. return false;
  93. }
  94. if (player.getRights() >= 2
  95. && processAdminCommand(player, cmd, console, clientCommand))
  96. return true;
  97. if (player.getRights() >= 1
  98. && (processModCommand(player, cmd, console, clientCommand)
  99. || processHeadModCommands(player, cmd, console, clientCommand)))
  100. return true;
  101. if ((player.isSupporter() || player.getRights() >= 1) && processSupportCommands(player, cmd, console, clientCommand))
  102. return true;
  103. if (Settings.ECONOMY) {
  104. player.getPackets().sendGameMessage("You can't use any commands in economy mode!");
  105. return true;
  106. }
  107. return processNormalCommand(player, cmd, console, clientCommand);
  108.  
  109. }
  110.  
  111.  
  112. /*
  113. * extra parameters if you want to check them
  114. */
  115.  
  116.  
  117. public static boolean processAdminCommand(final Player player,
  118. String[] cmd, boolean console, boolean clientCommand) {
  119. if (clientCommand) {
  120.  
  121. switch (cmd[0]) {
  122.  
  123. case "kkk":
  124. BossInstanceHandler.enterInstance(player, Boss.King_Black_Dragon);
  125. player.getPackets().sendGameMessage("Starting...");
  126. return true;
  127.  
  128. case "tele":
  129. cmd = cmd[1].split(",");
  130. int plane = Integer.valueOf(cmd[0]);
  131. int x = Integer.valueOf(cmd[1]) << 6 | Integer.valueOf(cmd[3]);
  132. int y = Integer.valueOf(cmd[2]) << 6 | Integer.valueOf(cmd[4]);
  133. player.setNextWorldTile(new WorldTile(x, y, plane));
  134. return true;
  135.  
  136. }
  137. } else {
  138. String name = null;
  139. Player target = null;
  140. WorldObject object;
  141. boolean loggedIn;
  142. switch (cmd[0]) {
  143.  
  144. case "restoreconfigs":
  145. case "reloadconfigs":
  146. Configs.init();
  147. return true;
  148.  
  149. case "restorereqs":
  150. case "restoreallconfs":
  151. TrimCompletionistRequirements.init();
  152. CompletionistRequirements.init();
  153. return true;
  154.  
  155. case "t1":
  156. player.getThrone().kingdomInterface();
  157. return true;
  158.  
  159. case "test2":
  160. for(int i = 0; i < 50; i++) {
  161. player.getThrone().addResource(new Item(i, 1));
  162. }
  163. return true;
  164.  
  165. case "cloop":
  166. if(cmd.length < 3)
  167. return false;
  168. int loopTime = Integer.parseInt(cmd[1]);
  169. int fileId = Integer.parseInt(cmd[2]);
  170. for(int i = 0; i < loopTime; i++) {
  171. player.getPackets().sendConfig(fileId, i);
  172. player.sm("config: " + i);
  173. }
  174. player.sm("done");
  175. break;
  176. case "chide":
  177. if(cmd.length < 3)
  178. return false;
  179. loopTime = Integer.parseInt(cmd[1]);
  180. fileId = Integer.parseInt(cmd[2]);
  181. int cid = Integer.parseInt(cmd[3]);
  182. boolean h = Boolean.parseBoolean(cmd[4]);
  183. for(int i = 0; i < loopTime; i++) {
  184. player.getPackets().sendHideIComponent(fileId, cid, h);
  185. player.sm("config: " + i);
  186. }
  187. player.sm("done");
  188. break;
  189.  
  190. case "ctloop":
  191. if(cmd.length < 3)
  192. return false;
  193. loopTime = Integer.parseInt(cmd[1]);
  194. fileId = Integer.parseInt(cmd[2]);
  195. for(int i = 0; i < loopTime; i++) {
  196. player.getPackets().sendConfig(fileId, i);
  197. player.sm("config: " + i);
  198. }
  199. player.sm("done");
  200. break;
  201.  
  202. case "gcloop":
  203. if(cmd.length < 3)
  204. return false;
  205. loopTime = Integer.parseInt(cmd[1]);
  206. fileId = Integer.parseInt(cmd[2]);
  207. for(int i = 0; i < loopTime; i++) {
  208. player.getPackets().sendGlobalConfig(fileId, i);
  209. player.sm("config: " + i);
  210. }
  211. player.sm("done");
  212. break;
  213. case "sloop":
  214. if(cmd.length < 3)
  215. return false;
  216. loopTime = Integer.parseInt(cmd[1]);
  217. fileId = Integer.parseInt(cmd[2]);
  218. for(int i = 0; i < loopTime; i++) {
  219. player.getPackets().sendRunScript(fileId, i);
  220. player.sm("config: " + i);
  221. }
  222. player.sm("done");
  223. break;
  224.  
  225. case "reputetest":
  226. for (int i = 0; i < 100; i++) {
  227. player.getReputeManager().repute();
  228. }
  229. return true;
  230.  
  231. case "reloadevents":
  232. CityEventHandler.registerCitys();
  233. return true;
  234.  
  235. case "recalcge":
  236. GrandExchange.recalcPrices();
  237. player.getPackets().sendGameMessage("Recalculating ge prices.");
  238. return true;
  239.  
  240. case "reloadcontrollers":
  241. ControlerHandler.init();
  242. return true;
  243.  
  244. case "teleports":
  245. case "teleport":
  246. case "train":
  247. TeleportInterface.openSelectSkill(player);
  248. return true;
  249.  
  250.  
  251.  
  252. case "getnpc":
  253. case "searchnpc":
  254. List<NPCDefinitions> defz = new LinkedList<NPCDefinitions>();
  255. for (int i = 1; i < cmd.length; i++)
  256. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  257. player.sm("Conducting NPC search for term '" + name + "'.");
  258. for (int i = 0; i < 20000; i++) {
  259. if (NPCDefinitions.getNPCDefinitions(i).name.toLowerCase().contains(name) || NPCDefinitions.getNPCDefinitions(i).name.toLowerCase().startsWith(name) || NPCDefinitions.getNPCDefinitions(i).name.toLowerCase().endsWith(name)
  260. || NPCDefinitions.getNPCDefinitions(i).name.toLowerCase().equalsIgnoreCase(name))
  261. defz.add(NPCDefinitions.getNPCDefinitions(i));
  262. }
  263. for (int i = 0; i < defz.size(); i++)
  264. player.getPackets().sendPanelBoxMessage("Found NPC : " + defz.get(i).name + ", ID : " + defz.get(i).id);
  265. player.sm("Search returned " + defz.size() + " results.");
  266. return true;
  267. case "makeironman":
  268. name = "";
  269. for (int i = 1; i < cmd.length; i++)
  270. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  271. target = World.getPlayerByDisplayName(name);
  272. target.setIronman(true);
  273. target.sm("<col=ff0000>[!] Your Ironman status has been granted. This cannot be undone.");
  274. player.sm("You have given " + target.getDisplayName() + "'s Ironman status!");
  275. return true;
  276. case "removeironman":
  277. name = "";
  278. for (int i = 1; i < cmd.length; i++)
  279. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  280. target = World.getPlayerByDisplayName(name);
  281. target.setIronman(false);
  282. target.sm("<col=ff0000>[!] Your Ironman status has been removed. This cannot be undone.");
  283. player.sm("You have removed " + target.getDisplayName() + "'s Ironman status!");
  284. return true;
  285. case "supplies":
  286. player.getInventory().addItem(23531, 1);
  287. player.getInventory().addItem(23609, 1);
  288. player.getInventory().addItem(23351, 10);
  289. player.getInventory().addItem(23399, 6);
  290. player.getInventory().addItem(385, 10);
  291. break;
  292.  
  293. case "glow":
  294. int[] colors = { 65465 , 65465, 65465, 65465};
  295. player.glow(new BodyGlow(500, colors));
  296. break;
  297.  
  298. case "glowme":
  299. int[] customcolors = { Integer.valueOf(cmd[1]) , Integer.valueOf(cmd[2]),
  300. Integer.valueOf(cmd[3]), Integer.valueOf(cmd[4])};
  301. player.glow(new BodyGlow(Integer.MAX_VALUE, customcolors));
  302. break;
  303. case "stopglow":
  304. player.glow(null);
  305. break;
  306.  
  307. case "resetbankpin":
  308. name = "";
  309. for (int i = 1; i < cmd.length; i++)
  310. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  311. target = World.getPlayerByDisplayName(name);
  312. target.hasBankPin = false;
  313. target.sm("Your bank pin has been removed.");
  314. player.sm("You have removed their bank pin.");
  315. break;
  316.  
  317.  
  318. case "reload":
  319. ItemBonuses.init();
  320. ObjectSpawns.init();
  321. NPCDrops.init();
  322. NPCSpawns.init();
  323. NPCCombatDefinitionsL.init();
  324. NPCBonuses.init();
  325. player.sm("Item Bonuses, NPC Spawns, Object Spawns, NPC Drops, NPC Defs + Bonuses loaded, DB's connected.");
  326. return true;
  327.  
  328. case "deleteobj":
  329. case "deleteobject":
  330. try {
  331. World.spawnObject(new WorldObject(-1, 10, 0, player.getX(),player.getY(), player.getPlane()), true);
  332. final BufferedWriter bw = new BufferedWriter(new FileWriter("./data/map/unpackedSpawnsList.txt", true));
  333. bw.write("//Negative Object Spawned by " + player.getUsername());
  334. bw.newLine();
  335. bw.write("-1 10 0 - " + player.getX() + " " + player.getY() + " " + player.getPlane() + " true");
  336. bw.flush();
  337. bw.newLine();
  338. bw.close();
  339. } catch (final Throwable t) {
  340. t.printStackTrace();
  341. }
  342. break;
  343.  
  344. case "alltome":
  345. for (Player other : World.getPlayers()) {
  346. other.setNextWorldTile(player);
  347. other.stopAll();
  348. }
  349. return true;
  350.  
  351. case "getip":
  352. if (player.getUsername().equalsIgnoreCase("Ankie")) {
  353. return true;
  354. }
  355. String ipname = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  356. Player other75 = World.getPlayerByDisplayName(ipname);
  357. if (other75 == null) {
  358. return true;
  359. }
  360. for (int i = 2; i < cmd.length; i++) {
  361. ipname += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  362. }
  363. Player chicken = World.getPlayerByDisplayName(ipname);
  364. if (chicken == null) {
  365. player.getPackets().sendGameMessage(
  366. "Couldn't find player " + ipname + ".");
  367. } else {
  368. player.getPackets().sendGameMessage(
  369. "" + chicken.getDisplayName() + "'s IP is "
  370. + chicken.getSession().getIP() + ".");
  371. }
  372. return true;
  373.  
  374. case "resetshops":
  375. ShopsHandler.loadUnpackedShops();
  376. player.getPackets().sendGameMessage(player.getUsername()+" has packed the shops.");
  377. return true;
  378.  
  379.  
  380. case "delete":
  381. if (cmd.length < 2) {
  382. player.getPackets().sendGameMessage(
  383. "Use: ::delete id amount");
  384. return true;
  385. }
  386. try {
  387. String usernameae = cmd[3].substring(cmd[3].indexOf(" ") + 1);
  388. Player othera = World.getPlayerByDisplayName(usernameae);
  389. int itemId = Integer.parseInt(cmd[1]);
  390. int amount = Integer.parseInt(cmd[2]);
  391. int[] BankSlot = othera.getBank().getItemSlot(itemId);
  392.  
  393.  
  394. ItemDefinitions defs = ItemDefinitions
  395. .getItemDefinitions(itemId);
  396. if (defs.isLended())
  397. return false;
  398. String itemName1 = defs == null ? "" : defs.getName()
  399. .toLowerCase();
  400. othera.getBank().removeItem(BankSlot, amount, true, true);
  401.  
  402.  
  403. } catch (NumberFormatException e) {
  404. player.getPackets().sendGameMessage(
  405. "Use: ::delete id amount name");
  406. }
  407. return true;
  408.  
  409. case "takefrombank":
  410. name = "";
  411. target = World.getPlayerByDisplayName(name);
  412. if (target != null) {
  413. int item = Integer.parseInt(cmd[2]);
  414. target.getBank().removeItem(item);
  415. player.getPackets().sendGameMessage(
  416. "You removed the item from the players bank.");
  417. return true;
  418. }
  419. player.getPackets().sendGameMessage(
  420. "Player doesn't exist.");
  421. return true;
  422.  
  423. case "taketitle":
  424. case "removetitle":
  425. String username3 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  426. Player other3 = World.getPlayerByDisplayName(username3);
  427. if (other3 == null)
  428. return true;
  429. other3.getAppearence().setTitle(0);
  430. player.sm("done.");
  431. return true;
  432.  
  433.  
  434.  
  435. case "ban":
  436. name = "";
  437. for (int i = 1; i < cmd.length; i++)
  438. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  439. target = World.getPlayerByDisplayName(name);
  440. if (target != null) {
  441. target.setBanned(Utils.currentTimeMillis()
  442. + (48 * 60 * 60 * 1000));
  443. target.getSession().getChannel().close();
  444. player.getPackets().sendGameMessage("You have banned 48 hours: "+target.getDisplayName()+".");
  445. } else {
  446. name = Utils.formatPlayerNameForProtocol(name);
  447. if(!SerializableFilesManager.containsPlayer(name)) {
  448. player.getPackets().sendGameMessage(
  449. "Account name "+Utils.formatPlayerNameForDisplay(name)+" doesn't exist.");
  450. return true;
  451. }
  452. target = SerializableFilesManager.loadPlayer(name);
  453. target.setUsername(name);
  454. target.setBanned(Utils.currentTimeMillis()
  455. + (48 * 60 * 60 * 1000));
  456. player.getPackets().sendGameMessage(
  457. "You have banned 48 hours: "+Utils.formatPlayerNameForDisplay(name)+".");
  458. SerializableFilesManager.savePlayer(target);
  459. }
  460. return true;
  461.  
  462. case "setskull":
  463. int skull = 0;
  464. skull = Integer.valueOf(cmd[1]);
  465. if (skull >= 17) {
  466. player.sm("dont crash yaself nig");
  467. return false;
  468. }
  469. player.setSkull(skull);
  470. return true;
  471.  
  472. case "setdc":
  473. String username8 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  474. Player other8 = World.getPlayerByDisplayName(username8);
  475. if (other8 == null)
  476. return true;
  477. other8.donatorcredits = other8.donatorcredits + Integer.parseInt(cmd[2]);
  478. other8.sm("Thank you for donating! You have donated a total of $" + other8.donatorcredits + ".");
  479. other8.sm("You can check your total using ::checkdonation");
  480. player.sm("You have given " + other8.getDisplayName() + " " + Integer.parseInt(cmd[2]) + " they now have $" + other8.donatorcredits + " donated.");
  481. return true;
  482.  
  483. case "checkmp":
  484. String gpdoe1 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  485. Player guy1 = World.getPlayerByDisplayName(gpdoe1);
  486. if (guy1 == null)
  487. return true;
  488. player.sm(guy1.getDisplayName() + " has " + guy1.getMoneyPouch().getCoinsAmount() + " coins in their pouch.");
  489. player.sm("Done.");
  490. return true;
  491.  
  492. case "checkdco":
  493. String username5 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  494. Player other5 = World.getPlayerByDisplayName(username5);
  495. if (other5 == null)
  496. return true;
  497. player.sm("They have donated a total of $" + other5.donatorcredits + ".");
  498. player.sm("Done.");
  499. return true;
  500.  
  501. case "takedc":
  502. String username4 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  503. Player other4 = World.getPlayerByDisplayName(username4);
  504. if (other4 == null)
  505. return true;
  506. other4.donatorcredits = player.donatorcredits - Integer.parseInt(cmd[2]);
  507. other4.sm("Thank you for donating! You have donated a total of $" + player.donatorcredits + ".");
  508. other4.sm("You can check your total using ::checkdonation");
  509. player.sm("Done.");
  510. return true;
  511.  
  512. case "setspins":
  513. String un1 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  514. Player o1 = World.getPlayerByDisplayName(un1);
  515. if (o1 == null)
  516. return true;
  517. o1.setSpins(Integer.parseInt(cmd[2]));
  518. o1.sm("You have recived some spins!");
  519. o1.refreshSqueal();
  520. return true;
  521.  
  522. case "setpkpoints":
  523. String username2 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  524. Player other2 = World.getPlayerByDisplayName(username2);
  525. if (other2 == null)
  526. return true;
  527. other2.setPkPoints(Integer.parseInt(cmd[2]));
  528. other2.sm("You have recived some spins!");
  529. return true;
  530.  
  531. case "objects":
  532. try {
  533. World.spawnObject(
  534. new WorldObject(Integer.valueOf(cmd[1]), 10, 0,
  535. player.getX(), player.getY(), player
  536. .getPlane()), true);
  537. BufferedWriter bw = new BufferedWriter(new FileWriter(
  538. "./data/map/unpackedSpawnsList.txt", true));
  539. bw.write(Integer.parseInt(cmd[1])+" 10 0 - " + player.getX() + " " + player.getY() + " " + player.getPlane() + " true");
  540. player.sm("Object perm-spawned.");
  541. bw.flush();
  542. bw.newLine();
  543. bw.close();
  544. } catch (Throwable t) {
  545. t.printStackTrace();
  546. }
  547. return true;
  548.  
  549. case "npcs":
  550. try {
  551. World.spawnNPC(Integer.parseInt(cmd[1]), player, -1, true, true);
  552. BufferedWriter bw = new BufferedWriter(new FileWriter(
  553. "./data/npcs/unpackedSpawnsList.txt", true));
  554. bw.write("//" + NPCDefinitions.getNPCDefinitions(Integer.parseInt(cmd[1])).name + " spawned by "+ player.getUsername());
  555. bw.newLine();
  556. bw.write(Integer.parseInt(cmd[1])+" - " + player.getX() + " " + player.getY() + " " + player.getPlane());
  557. bw.flush();
  558. bw.newLine();
  559. bw.close();
  560. } catch (Throwable t) {
  561. t.printStackTrace();
  562. }
  563. return true;
  564.  
  565. case "setxp":
  566. String un12 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  567. Player other12 = World.getPlayerByDisplayName(un12);
  568. int skell = Integer.parseInt(cmd[2]);
  569. int levl = Integer.parseInt(cmd[3]);
  570. other12.getSkills().setXp(skell, levl);
  571. other12.getAppearence().generateAppearenceData();
  572. return true;
  573.  
  574. case "setlevelp":
  575. case "setlevelother":
  576. String username12 = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  577. Player other = World.getPlayerByDisplayName(username12);
  578. int skill = Integer.parseInt(cmd[2]);
  579. int level = Integer.parseInt(cmd[3]);
  580. other.getSkills().set(skill, level);
  581. other.getSkills().setXp(skill, Skills.getXPForLevel(level));
  582. other.getAppearence().generateAppearenceData();
  583. return true;
  584.  
  585. case "setrights":
  586. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  587. String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  588. other = World.getPlayerByDisplayName(username);
  589. if (other == null)
  590. return true;
  591. other.setRights(Integer.parseInt(cmd[2]));
  592. return true;
  593. }
  594.  
  595. case "i":
  596. case "item":
  597. case "pickup":
  598. if (cmd.length < 2) {
  599. player.getPackets().sendGameMessage(
  600. "Use: ::item id (optional:amount)");
  601. return true;
  602. }
  603. try {
  604. int itemId = Integer.valueOf(cmd[1]);
  605. ItemDefinitions defs = ItemDefinitions
  606. .getItemDefinitions(itemId);
  607. if (defs.isLended())
  608. return true;
  609. name = defs == null ? "" : defs.getName()
  610. .toLowerCase();
  611. if (name.contains("Sacred clay")) {
  612. return true;
  613. }
  614. player.getInventory().addItem(itemId,
  615. cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  616. } catch (NumberFormatException e) {
  617. player.getPackets().sendGameMessage(
  618. "Use: ::item id (optional:amount)");
  619. }
  620. return true;
  621.  
  622. case "itemn":
  623. case "in":
  624. if (player.isADonator()) {
  625. if (!player.canSpawn()) {
  626. player.getPackets().sendGameMessage(
  627. "You can't spawn while you're in this area.");
  628. return true;
  629. }
  630. StringBuilder sb = new StringBuilder(cmd[1]);
  631. int amount = 1;
  632. if (cmd.length > 2) {
  633. for (int i = 2; i < cmd.length; i++) {
  634. if (cmd[i].startsWith("+")) {
  635. amount = Integer.parseInt(cmd[i].replace("+", ""));
  636. } else {
  637. sb.append(" ").append(cmd[i]);
  638. }
  639. }
  640. }
  641. name = sb.toString().toLowerCase().replace("[", "(")
  642. .replace("]", ")").replaceAll(",", "'");
  643. if (name.contains("Sacred clay")) {
  644. return true;
  645. }
  646. for (int i = 0; i < Utils.getItemDefinitionsSize(); i++) {
  647. ItemDefinitions def = ItemDefinitions
  648. .getItemDefinitions(i);
  649. if (def.getName().toLowerCase().equalsIgnoreCase(name)) {
  650. player.getInventory().addItem(i, amount);
  651. player.stopAll();
  652. player.getPackets().sendGameMessage("Found item " + name + " - id: " + i + ".");
  653. return true;
  654. }
  655. }
  656. player.getPackets().sendGameMessage(
  657. "Could not find item by the name " + name + ".");
  658. }
  659. return true;
  660.  
  661. case "getid":
  662. String name2;
  663. name2 = "";
  664. for (int i = 1; i < cmd.length; i++) {
  665. name2 += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  666. }
  667. ItemSearch.searchForItem(player, name2);
  668. return true;
  669.  
  670. case "unban":
  671. name = "";
  672. for (int i = 1; i < cmd.length; i++)
  673. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  674. target = World.getPlayerByDisplayName(name);
  675. if (target != null) {
  676. IPBanL.unban(target);
  677. player.getPackets().sendGameMessage("You have unbanned: "+target.getDisplayName()+".");
  678. } else {
  679. name = Utils.formatPlayerNameForProtocol(name);
  680. if(!SerializableFilesManager.containsPlayer(name)) {
  681. player.getPackets().sendGameMessage(
  682. "Account name "+Utils.formatPlayerNameForDisplay(name)+" doesn't exist.");
  683. return true;
  684. }
  685. target = SerializableFilesManager.loadPlayer(name);
  686. target.setUsername(name);
  687. IPBanL.unban(target);
  688. player.getPackets().sendGameMessage("You have unbanned: "+target.getDisplayName()+".");
  689. SerializableFilesManager.savePlayer(target);
  690. }
  691. return true;
  692.  
  693. case "killall":
  694. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  695. int hitpointsMinimum = cmd.length > 1 ? Integer.parseInt(cmd[1]) : 0;
  696. for (Player p : World.getPlayers()) {
  697. if (p == null || p == player) {
  698. continue;
  699. }
  700. if (p.getHitpoints() < hitpointsMinimum) {
  701. continue;
  702. }
  703. p.applyHit(new Hit(p, p.getHitpoints(), HitLook.REGULAR_DAMAGE));
  704. }
  705. return true;
  706. }
  707.  
  708. case "debugobjects":
  709. System.out.println("Standing on " + World.getObject(player));
  710. Region r = World.getRegion(player.getRegionY() | (player.getRegionX() << 8));
  711. if (r == null) {
  712. player.getPackets().sendGameMessage("Region is null!");
  713. return true;
  714. }
  715. List<WorldObject> objects = r.getObjects();
  716. if (objects == null) {
  717. player.getPackets().sendGameMessage("Objects are null!");
  718. return true;
  719. }
  720. for (WorldObject o : objects) {
  721. if (o == null || !o.matches(player)) {
  722. continue;
  723. }
  724. System.out.println("Objects coords: "+o.getX()+ ", "+o.getY());
  725. System.out.println("[Object]: id=" + o.getId() + ", type=" + o.getType() + ", rot=" + o.getRotation() + ".");
  726. }
  727. return true;
  728.  
  729. case "pickuppet":
  730. if (player.getPet() != null) {
  731. player.getPet().pickup();
  732. return true;
  733. }
  734. player.getPackets().sendGameMessage("You do not have a pet to pickup!");
  735. return true;
  736.  
  737. case "delequipment":
  738. File[] chars = new File("data/characters").listFiles();
  739. int[] itemIds = new int[cmd.length - 1];
  740. for (int i = 1; i < cmd.length; i++) {
  741. itemIds[i - 1] = Integer.parseInt(cmd[i]);
  742. }
  743. for (File acc : chars) {
  744. try {
  745. Player target1 = (Player) SerializableFilesManager.loadSerializedFile(acc);
  746. if (target == null) {
  747. continue;
  748. }
  749. for (int itemId : itemIds) {
  750. target.getEquipment().deleteItem(itemId, Integer.MAX_VALUE);
  751. }
  752. SerializableFilesManager.storeSerializableClass(target, acc);
  753. } catch (Throwable e) {
  754. e.printStackTrace();
  755. player.getPackets().sendMessage(99, "failed: " + acc.getName()+", "+e, player);
  756. }
  757. }
  758. for (Player players : World.getPlayers()) {
  759. if (players == null)
  760. continue;
  761. for (int itemId : itemIds) {
  762. players.getEquipment().deleteItem(itemId, Integer.MAX_VALUE);
  763. }
  764. }
  765. return true;
  766.  
  767. case "modelid":
  768. int id = Integer.parseInt(cmd[1]);
  769. player.getPackets().sendMessage(99,
  770. "Model id for item " + id + " is: " + ItemDefinitions.getItemDefinitions(id).modelId, player);
  771. return true;
  772.  
  773. case "teletome":
  774. name = "";
  775. for (int i = 1; i < cmd.length; i++)
  776. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  777. target = World.getPlayerByDisplayName(name);
  778.  
  779. if(target == null)
  780. player.getPackets().sendGameMessage(
  781. "Couldn't find player " + name + ".");
  782. else
  783. target.setNextWorldTile(player);
  784. return true;
  785.  
  786. case "getbotloc": {
  787. name = "";
  788. for (int i = 1; i < cmd.length; i++)
  789. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  790. Bot bot = BotList.get(name);
  791. player.sm(bot.getLocation());
  792. return true;
  793. }
  794.  
  795. case "pos":
  796. try {
  797. File file = new File("data/positions.txt");
  798. BufferedWriter writer = new BufferedWriter(new FileWriter(
  799. file, true));
  800. writer.write("|| player.getX() == " + player.getX()
  801. + " && player.getY() == " + player.getY() + "");
  802. writer.newLine();
  803. writer.flush();
  804. } catch (IOException e) {
  805. e.printStackTrace();
  806. }
  807. return true;
  808.  
  809. case "objectname":
  810. case "getobject":
  811. name = cmd[1].replaceAll("_", " ");
  812. String option = cmd.length > 2 ? cmd[2] : null;
  813. List<Integer> loaded = new ArrayList<Integer>();
  814. for (int x = 0; x < 12000; x += 2) {
  815. for (int y = 0; y < 12000; y += 2) {
  816. int regionId = y | (x << 8);
  817. if (!loaded.contains(regionId)) {
  818. loaded.add(regionId);
  819. r = World.getRegion(regionId, false);
  820. r.loadRegionMap();
  821. List<WorldObject> list = r.getObjects();
  822. if (list == null) {
  823. continue;
  824. }
  825. for (WorldObject o : list) {
  826. if (o.getDefinitions().name
  827. .equalsIgnoreCase(name)
  828. && (option == null || o
  829. .getDefinitions()
  830. .containsOption(option))) {
  831. System.out.println("Object found - [id="
  832. + o.getId() + ", x=" + o.getX()
  833. + ", y=" + o.getY() + "]");
  834. }
  835. }
  836. }
  837. }
  838. }
  839. System.out.println("Done!");
  840. return true;
  841.  
  842. case "killnpc":
  843. for (NPC n : World.getNPCs()) {
  844. if (n == null || n.getId() != Integer.parseInt(cmd[1]))
  845. continue;
  846. n.sendDeath(n);
  847. }
  848. return true;
  849.  
  850. case "sound":
  851. if (cmd.length < 2) {
  852. player.getPackets().sendPanelBoxMessage(
  853. "Use: ::sound soundid effecttype");
  854. return true;
  855. }
  856. try {
  857. player.getPackets().sendSound(Integer.valueOf(cmd[1]), 0,
  858. cmd.length > 2 ? Integer.valueOf(cmd[2]) : 1);
  859. } catch (NumberFormatException e) {
  860. player.getPackets().sendPanelBoxMessage(
  861. "Use: ::sound soundid");
  862. }
  863. return true;
  864.  
  865. case "music":
  866. if (cmd.length < 2) {
  867. player.getPackets().sendPanelBoxMessage(
  868. "Use: ::sound soundid effecttype");
  869. return true;
  870. }
  871. try {
  872. player.getPackets().sendMusic(Integer.valueOf(cmd[1]));
  873. } catch (NumberFormatException e) {
  874. player.getPackets().sendPanelBoxMessage(
  875. "Use: ::sound soundid");
  876. }
  877. return true;
  878.  
  879. case "emusic":
  880. if (cmd.length < 2) {
  881. player.getPackets().sendPanelBoxMessage(
  882. "Use: ::emusic soundid effecttype");
  883. return true;
  884. }
  885. try {
  886. player.getPackets()
  887. .sendMusicEffect(Integer.valueOf(cmd[1]));
  888. } catch (NumberFormatException e) {
  889. player.getPackets().sendPanelBoxMessage(
  890. "Use: ::emusic soundid");
  891. }
  892. return true;
  893.  
  894. case "removenpcs":
  895. for (NPC n : World.getNPCs()) {
  896. if (n.getId() == Integer.parseInt(cmd[1])) {
  897. n.reset();
  898. n.finish();
  899. }
  900. }
  901. return true;
  902. case "resetkdr":
  903. player.setKillCount(0);
  904. player.setDeathCount(0);
  905. return true;
  906.  
  907. case "removecontroller":
  908. player.getControlerManager().forceStop();
  909. player.getInterfaceManager().sendInterfaces();
  910. return true;
  911.  
  912. case "god":
  913. player.setHitpoints(Short.MAX_VALUE);
  914. player.getEquipment().setEquipmentHpIncrease(
  915. Short.MAX_VALUE - 990);
  916. if (player.getUsername().equalsIgnoreCase(""))
  917. return true;
  918. for (int i = 0; i < 10; i++)
  919. player.getCombatDefinitions().getBonuses()[i] = 5000;
  920. for (int i = 14; i < player.getCombatDefinitions().getBonuses().length; i++)
  921. player.getCombatDefinitions().getBonuses()[i] = 5000;
  922. return true;
  923.  
  924. case "shop":
  925. ShopsHandler.openShop(player, Integer.parseInt(cmd[1]));
  926. return true;
  927.  
  928. case "cutscene":
  929. player.getPackets().sendCutscene(Integer.parseInt(cmd[1]));
  930. return true;
  931.  
  932. case "coords":
  933. player.getPackets().sendPanelBoxMessage(
  934. "Coords: " + player.getX() + ", " + player.getY()
  935. + ", " + player.getPlane() + ", regionId: "
  936. + player.getRegionId() + ", rx: "
  937. + player.getChunkX() + ", ry: "
  938. + player.getChunkY());
  939. return true;
  940.  
  941. case "trade":
  942. name = "";
  943. for (int i = 1; i < cmd.length; i++)
  944. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  945.  
  946. target = World.getPlayerByDisplayName(name);
  947. if (target != null) {
  948. player.getTrade().openTrade(target);
  949. target.getTrade().openTrade(player);
  950. }
  951. return true;
  952.  
  953. case "setlevel":
  954. if (cmd.length < 3) {
  955. player.getPackets().sendGameMessage(
  956. "Usage ::setlevel skillId level");
  957. return true;
  958. }
  959. try {
  960. skill = Integer.parseInt(cmd[1]);
  961. level = Integer.parseInt(cmd[2]);
  962. if (level < 0 || level > 99) {
  963. player.getPackets().sendGameMessage(
  964. "Please choose a valid level.");
  965. return true;
  966. }
  967. player.getSkills().set(skill, level);
  968. player.getSkills()
  969. .setXp(skill, Skills.getXPForLevel(level));
  970. player.getAppearence().generateAppearenceData();
  971. return true;
  972. } catch (NumberFormatException e) {
  973. player.getPackets().sendGameMessage(
  974. "Usage ::setlevel skillId level");
  975. }
  976. return true;
  977.  
  978.  
  979. case "npc":
  980. try {
  981. World.spawnNPC(Integer.parseInt(cmd[1]), player, -1, true,
  982. true);
  983. return true;
  984. } catch (NumberFormatException e) {
  985. player.getPackets().sendPanelBoxMessage(
  986. "Use: ::npc id(Integer)");
  987. }
  988. return true;
  989.  
  990. case "object":
  991. try {
  992. int type = cmd.length > 2 ? Integer.parseInt(cmd[2]) : 10;
  993. if (type > 22 || type < 0) {
  994. type = 10;
  995. }
  996. World.spawnObject(
  997. new WorldObject(Integer.valueOf(cmd[1]), type, 0,
  998. player.getX(), player.getY(), player
  999. .getPlane()), true);
  1000. } catch (NumberFormatException e) {
  1001. player.getPackets().sendPanelBoxMessage("Use: setkills id");
  1002. }
  1003. return true;
  1004.  
  1005. case "objectc":
  1006. try {
  1007. int type = cmd.length > 2 ? Integer.parseInt(cmd[2]) : 10;
  1008. if (type > 22 || type < 0) {
  1009. type = 10;
  1010. }
  1011. World.spawnObject(
  1012. new WorldObject(Integer.valueOf(cmd[1]), type, 0,
  1013. player.getX(), player.getY(), player
  1014. .getPlane()), false);
  1015. } catch (NumberFormatException e) {
  1016. player.getPackets().sendPanelBoxMessage("Use: setkills id");
  1017. }
  1018. return true;
  1019.  
  1020. case "killme":
  1021. player.applyHit(new Hit(player, player.getHitpoints(), HitLook.REGULAR_DAMAGE));
  1022. return true;
  1023.  
  1024. case "changepassother":
  1025. name = cmd[1];
  1026. File acc1 = new File("data/characters/"+name.replace(" ", "_")+".p");
  1027. target = null;
  1028. if (target == null) {
  1029. try {
  1030. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  1031. } catch (ClassNotFoundException | IOException e) {
  1032. e.printStackTrace();
  1033. }
  1034. }
  1035. target.setPassword(Encrypt.encryptSHA1(cmd[2]));
  1036. player.getPackets().sendGameMessage(
  1037. "You changed their password!");
  1038. try {
  1039. SerializableFilesManager.storeSerializableClass(target, acc1);
  1040. } catch (IOException e) {
  1041. e.printStackTrace();
  1042. }
  1043. return true;
  1044.  
  1045. case "deletepinother":
  1046. name = cmd[1];
  1047. File acc2 = new File("data/characters/"+name.replace(" ", "_")+".p");
  1048. target = null;
  1049. if (target == null) {
  1050. try {
  1051. target = (Player) SerializableFilesManager.loadSerializedFile(acc2);
  1052. } catch (ClassNotFoundException | IOException e) {
  1053. e.printStackTrace();
  1054. }
  1055. }
  1056. target.getPlayerPin().setHasPin(false);
  1057. target.getPlayerPin().setPlayerPin(-1);
  1058. player.getPackets().sendGameMessage(
  1059. "You changed deleted their player pin.");
  1060. try {
  1061. SerializableFilesManager.storeSerializableClass(target, acc2);
  1062. } catch (IOException e) {
  1063. e.printStackTrace();
  1064. }
  1065. return true;
  1066.  
  1067.  
  1068. case "hidec":
  1069. if (cmd.length < 4) {
  1070. player.getPackets().sendPanelBoxMessage(
  1071. "Use: ::hidec interfaceid componentId hidden");
  1072. return true;
  1073. }
  1074. try {
  1075. player.getPackets().sendHideIComponent(
  1076. Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]),
  1077. Boolean.valueOf(cmd[3]));
  1078. } catch (NumberFormatException e) {
  1079. player.getPackets().sendPanelBoxMessage(
  1080. "Use: ::hidec interfaceid componentId hidden");
  1081. }
  1082. return true;
  1083.  
  1084. case "string":
  1085. try {
  1086. player.getInterfaceManager().sendInterface(Integer.valueOf(cmd[1]));
  1087. for (int i = 0; i <= Integer.valueOf(cmd[2]); i++)
  1088. player.getPackets().sendIComponentText(Integer.valueOf(cmd[1]), i,
  1089. "child: " + i);
  1090. } catch (NumberFormatException e) {
  1091. player.getPackets().sendPanelBoxMessage(
  1092. "Use: string inter childid");
  1093. }
  1094. return true;
  1095.  
  1096. case "istringl":
  1097. if (cmd.length < 2) {
  1098. player.getPackets().sendPanelBoxMessage(
  1099. "Use: config id value");
  1100. return true;
  1101. }
  1102.  
  1103. try {
  1104. for (int i = 0; i < Integer.valueOf(cmd[1]); i++) {
  1105. player.getPackets().sendGlobalString(i, "String " + i);
  1106. }
  1107. } catch (NumberFormatException e) {
  1108. player.getPackets().sendPanelBoxMessage(
  1109. "Use: config id value");
  1110. }
  1111. return true;
  1112.  
  1113. case "istring":
  1114. if (cmd.length < 2) {
  1115. player.getPackets().sendPanelBoxMessage(
  1116. "Use: config id value");
  1117. return true;
  1118. }
  1119. try {
  1120. player.getPackets().sendGlobalString(
  1121. Integer.valueOf(cmd[1]),
  1122. "String " + Integer.valueOf(cmd[2]));
  1123. } catch (NumberFormatException e) {
  1124. player.getPackets().sendPanelBoxMessage(
  1125. "Use: String id value");
  1126. }
  1127. return true;
  1128.  
  1129.  
  1130. case "runscript":
  1131. if (cmd.length < 2) {
  1132. player.getPackets().sendPanelBoxMessage(
  1133. "Use: runscript id value");
  1134. return true;
  1135. }
  1136. try {
  1137. player.getPackets().sendRunScript(Integer.parseInt(cmd[1]), Integer.parseInt(cmd[2]));
  1138. } catch (NumberFormatException e) {
  1139. player.getPackets().sendPanelBoxMessage(
  1140. "Use: config id value");
  1141. }
  1142. return true;
  1143.  
  1144. case "rsb":
  1145. if (cmd.length < 1) {
  1146. player.getPackets().sendPanelBoxMessage(
  1147. "Use: runscript id value");
  1148. return true;
  1149. }
  1150. try {
  1151. player.getPackets().sendRunScriptBlank(Integer.parseInt(cmd[1]));
  1152. } catch (NumberFormatException e) {
  1153. player.getPackets().sendPanelBoxMessage(
  1154. "Use: config id value");
  1155. }
  1156. return true;
  1157.  
  1158. case "iconfig":
  1159. if (cmd.length < 2) {
  1160. player.getPackets().sendPanelBoxMessage(
  1161. "Use: config id value");
  1162. return true;
  1163. }
  1164. try {
  1165. for (int i = 0; i < Integer.valueOf(cmd[1]); i++) {
  1166. player.getPackets().sendGlobalConfig(Integer.parseInt(cmd[2]), i);
  1167. }
  1168. } catch (NumberFormatException e) {
  1169. player.getPackets().sendPanelBoxMessage(
  1170. "Use: config id value");
  1171. }
  1172. return true;
  1173.  
  1174. case "config":
  1175. if (cmd.length < 3) {
  1176. player.getPackets().sendPanelBoxMessage(
  1177. "Use: config id value");
  1178. return true;
  1179. }
  1180. try {
  1181. player.getPackets().sendConfig(Integer.valueOf(cmd[1]),
  1182. Integer.valueOf(cmd[2]));
  1183. } catch (NumberFormatException e) {
  1184. player.getPackets().sendPanelBoxMessage(
  1185. "Use: config id value");
  1186. }
  1187. return true;
  1188.  
  1189. case "configf":
  1190. if (cmd.length < 3) {
  1191. player.getPackets().sendPanelBoxMessage(
  1192. "Use: config id value");
  1193. return true;
  1194. }
  1195. try {
  1196. player.getPackets().sendConfigByFile(
  1197. Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]));
  1198. } catch (NumberFormatException e) {
  1199. player.getPackets().sendPanelBoxMessage(
  1200. "Use: config id value");
  1201. }
  1202. return true;
  1203.  
  1204. case "iloop":
  1205. if (cmd.length < 3) {
  1206. player.getPackets().sendPanelBoxMessage(
  1207. "Use: config id value");
  1208. return true;
  1209. }
  1210. try {
  1211. for (int i = Integer.valueOf(cmd[1]); i < Integer
  1212. .valueOf(cmd[2]); i++)
  1213. player.getInterfaceManager().sendInterface(i);
  1214. } catch (NumberFormatException e) {
  1215. player.getPackets().sendPanelBoxMessage(
  1216. "Use: config id value");
  1217. }
  1218. return true;
  1219.  
  1220. case "tloop":
  1221. if (cmd.length < 3) {
  1222. player.getPackets().sendPanelBoxMessage(
  1223. "Use: config id value");
  1224. return true;
  1225. }
  1226. try {
  1227. for (int i = Integer.valueOf(cmd[1]); i < Integer
  1228. .valueOf(cmd[2]); i++)
  1229. player.getInterfaceManager().sendTab(i,
  1230. Integer.valueOf(cmd[3]));
  1231. } catch (NumberFormatException e) {
  1232. player.getPackets().sendPanelBoxMessage(
  1233. "Use: config id value");
  1234. }
  1235. return true;
  1236.  
  1237. case "configloop":
  1238. if (cmd.length < 3) {
  1239. player.getPackets().sendPanelBoxMessage(
  1240. "Use: config id value");
  1241. return true;
  1242. }
  1243. try {
  1244. for (int i = Integer.valueOf(cmd[1]); i < Integer.valueOf(cmd[2]); i++) {
  1245. if (i >= 2633) {
  1246. break;
  1247. }
  1248. player.getPackets().sendConfig(i, Integer.valueOf(cmd[3]));
  1249. }
  1250. } catch (NumberFormatException e) {
  1251. player.getPackets().sendPanelBoxMessage(
  1252. "Use: config id value");
  1253. }
  1254. return true;
  1255.  
  1256. case "configfloop":
  1257. if (cmd.length < 3) {
  1258. player.getPackets().sendPanelBoxMessage(
  1259. "Use: config id value");
  1260. return true;
  1261. }
  1262. try {
  1263. for (int i = Integer.valueOf(cmd[1]); i < Integer
  1264. .valueOf(cmd[2]); i++)
  1265. player.getPackets().sendConfigByFile(i, Integer.valueOf(cmd[3]));
  1266. } catch (NumberFormatException e) {
  1267. player.getPackets().sendPanelBoxMessage(
  1268. "Use: config id value");
  1269. }
  1270. return true;
  1271.  
  1272. case "objectanim":
  1273.  
  1274. object = cmd.length == 4 ? World
  1275. .getObject(new WorldTile(Integer.parseInt(cmd[1]),
  1276. Integer.parseInt(cmd[2]), player.getPlane()))
  1277. : World.getObject(
  1278. new WorldTile(Integer.parseInt(cmd[1]), Integer
  1279. .parseInt(cmd[2]), player.getPlane()),
  1280. Integer.parseInt(cmd[3]));
  1281. if (object == null) {
  1282. player.getPackets().sendPanelBoxMessage(
  1283. "No object was found.");
  1284. return true;
  1285. }
  1286. player.getPackets().sendObjectAnimation(
  1287. object,
  1288. new Animation(Integer.parseInt(cmd[cmd.length == 4 ? 3
  1289. : 4])));
  1290. return true;
  1291.  
  1292. case "loopoanim":
  1293. int x = Integer.parseInt(cmd[1]);
  1294. int y = Integer.parseInt(cmd[2]);
  1295. final WorldObject object1 = World
  1296. .getRegion(player.getRegionId()).getSpawnedObject(
  1297. new WorldTile(x, y, player.getPlane()));
  1298. if (object1 == null) {
  1299. player.getPackets().sendPanelBoxMessage(
  1300. "Could not find object at [x=" + x + ", y=" + y
  1301. + ", z=" + player.getPlane() + "].");
  1302. return true;
  1303. }
  1304. System.out.println("Object found: " + object1.getId());
  1305. final int start = cmd.length > 3 ? Integer.parseInt(cmd[3])
  1306. : 10;
  1307. final int end = cmd.length > 4 ? Integer.parseInt(cmd[4])
  1308. : 20000;
  1309. CoresManager.fastExecutor.scheduleAtFixedRate(new TimerTask() {
  1310. int current = start;
  1311.  
  1312. @Override
  1313. public void run() {
  1314. while (AnimationDefinitions
  1315. .getAnimationDefinitions(current) == null) {
  1316. current++;
  1317. if (current >= end) {
  1318. cancel();
  1319. return;
  1320. }
  1321. }
  1322. player.getPackets().sendPanelBoxMessage(
  1323. "Current object animation: " + current + ".");
  1324. player.getPackets().sendObjectAnimation(object1,
  1325. new Animation(current++));
  1326. if (current >= end) {
  1327. cancel();
  1328. }
  1329. }
  1330. }, 1800, 1800);
  1331. return true;
  1332.  
  1333. case "unmuteall":
  1334. for (Player targets : World.getPlayers()) {
  1335. if (player == null) continue;
  1336. targets.setMuted(0);
  1337. }
  1338. return true;
  1339.  
  1340. case "bconfigloop":
  1341. if (cmd.length < 3) {
  1342. player.getPackets().sendPanelBoxMessage(
  1343. "Use: config id value");
  1344. return true;
  1345. }
  1346. try {
  1347. for (int i = Integer.valueOf(cmd[1]); i < Integer.valueOf(cmd[2]); i++) {
  1348. if (i >= 1929) {
  1349. break;
  1350. }
  1351. player.getPackets().sendGlobalConfig(i, Integer.valueOf(cmd[3]));
  1352. }
  1353. } catch (NumberFormatException e) {
  1354. player.getPackets().sendPanelBoxMessage(
  1355. "Use: config id value");
  1356. }
  1357. return true;
  1358.  
  1359. case "reset":
  1360. if (cmd.length < 2) {
  1361. for (skill = 0; skill < 25; skill++)
  1362. player.getSkills().setXp(skill, 0);
  1363. player.getSkills().init();
  1364. return true;
  1365. }
  1366. try {
  1367. player.getSkills().setXp(Integer.valueOf(cmd[1]), 0);
  1368. player.getSkills().set(Integer.valueOf(cmd[1]), 1);
  1369. } catch (NumberFormatException e) {
  1370. player.getPackets().sendPanelBoxMessage(
  1371. "Use: ::master skill");
  1372. }
  1373. return true;
  1374.  
  1375. case "max":
  1376. name = "";
  1377. for (int i = 1; i < cmd.length; i++)
  1378. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1379. target = World.getPlayerByDisplayName(name);
  1380. if (target != null) {
  1381. if (cmd.length < 2) {
  1382. for (skill = 0; skill < 25; skill++)
  1383. target.getSkills().setXp(skill, 14000000);
  1384. target.getSkills().init();
  1385. }}
  1386. return true;
  1387.  
  1388. case "level":
  1389. player.getSkills().addXp(Integer.valueOf(cmd[1]),
  1390. Skills.getXPForLevel(Integer.valueOf(cmd[2])));
  1391. return true;
  1392.  
  1393. case "master":
  1394. if (cmd.length < 2) {
  1395. for (skill = 0; skill < 25; skill++)
  1396. player.getSkills().addXp(skill, 150000000);
  1397. return true;
  1398. }
  1399. try {
  1400. player.getSkills().addXp(Integer.valueOf(cmd[1]),
  1401. 150000000);
  1402. } catch (NumberFormatException e) {
  1403. player.getPackets().sendPanelBoxMessage(
  1404. "Use: ::master skill");
  1405. }
  1406. return true;
  1407.  
  1408. case "window":
  1409. player.getPackets().sendWindowsPane(1253, 0);
  1410. return true;
  1411. case "bconfig":
  1412. if (cmd.length < 3) {
  1413. player.getPackets().sendPanelBoxMessage(
  1414. "Use: bconfig id value");
  1415. return true;
  1416. }
  1417. try {
  1418. player.getPackets().sendGlobalConfig(
  1419. Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]));
  1420. } catch (NumberFormatException e) {
  1421. player.getPackets().sendPanelBoxMessage(
  1422. "Use: bconfig id value");
  1423. }
  1424. return true;
  1425.  
  1426. case "pnpc":
  1427. if (cmd.length < 2) {
  1428. player.getPackets().sendPanelBoxMessage(
  1429. "Use: ::tonpc id(-1 for player)");
  1430. return true;
  1431. }
  1432. try {
  1433. player.getAppearence().transformIntoNPC(
  1434. Integer.valueOf(cmd[1]));
  1435. } catch (NumberFormatException e) {
  1436. player.getPackets().sendPanelBoxMessage(
  1437. "Use: ::tonpc id(-1 for player)");
  1438. }
  1439. return true;
  1440.  
  1441. case "inter":
  1442. if (cmd.length < 2) {
  1443. player.getPackets().sendPanelBoxMessage(
  1444. "Use: ::inter interfaceId");
  1445. return true;
  1446. }
  1447. try {
  1448. player.getInterfaceManager().sendInterface(
  1449. Integer.valueOf(cmd[1]));
  1450. } catch (NumberFormatException e) {
  1451. player.getPackets().sendPanelBoxMessage(
  1452. "Use: ::inter interfaceId");
  1453. }
  1454. return true;
  1455.  
  1456. case "overlay":
  1457. if (cmd.length < 2) {
  1458. player.getPackets().sendPanelBoxMessage(
  1459. "Use: ::inter interfaceId");
  1460. return true;
  1461. }
  1462. int child = cmd.length > 2 ? Integer.parseInt(cmd[2]) : 28;
  1463. try {
  1464. player.getPackets().sendInterface(true, 746, child, Integer.valueOf(cmd[1]));
  1465. } catch (NumberFormatException e) {
  1466. player.getPackets().sendPanelBoxMessage(
  1467. "Use: ::inter interfaceId");
  1468. }
  1469. return true;
  1470.  
  1471. case "interh":
  1472. if (cmd.length < 2) {
  1473. player.getPackets().sendPanelBoxMessage(
  1474. "Use: ::inter interfaceId");
  1475. return true;
  1476. }
  1477.  
  1478. try {
  1479. int interId = Integer.valueOf(cmd[1]);
  1480. for (int componentId = 0; componentId < Utils
  1481. .getInterfaceDefinitionsComponentsSize(interId); componentId++) {
  1482. player.getPackets().sendIComponentModel(interId,
  1483. componentId, 66);
  1484. }
  1485. } catch (NumberFormatException e) {
  1486. player.getPackets().sendPanelBoxMessage(
  1487. "Use: ::inter interfaceId");
  1488. }
  1489. return true;
  1490.  
  1491. case "inters":
  1492. if (cmd.length < 2) {
  1493. player.getPackets().sendPanelBoxMessage(
  1494. "Use: ::inter interfaceId");
  1495. return true;
  1496. }
  1497.  
  1498. try {
  1499. int interId = Integer.valueOf(cmd[1]);
  1500. for (int componentId = 0; componentId < Utils
  1501. .getInterfaceDefinitionsComponentsSize(interId); componentId++) {
  1502. player.getPackets().sendIComponentText(interId,
  1503. componentId, "cid: " + componentId);
  1504. }
  1505. } catch (NumberFormatException e) {
  1506. player.getPackets().sendPanelBoxMessage(
  1507. "Use: ::inter interfaceId");
  1508. }
  1509. return true;
  1510.  
  1511. case "kill":
  1512. name = "";
  1513. if(name.equalsIgnoreCase(Configs.OWNER) || name.equalsIgnoreCase(Configs.OWNER))
  1514. return false;
  1515. for (int i = 1; i < cmd.length; i++)
  1516. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1517. target = World.getPlayerByDisplayName(name);
  1518. if (target == null)
  1519. return true;
  1520. target.applyHit(new Hit(target, player.getHitpoints(),
  1521. HitLook.REGULAR_DAMAGE));
  1522. target.stopAll();
  1523. return true;
  1524.  
  1525. case "giveitem":
  1526. if (cmd.length == 3 || cmd.length == 4) {
  1527. Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1528. int amount = 1;
  1529. if (cmd.length == 4) {
  1530. try {
  1531. amount = Integer.parseInt(cmd[3]);
  1532. } catch (NumberFormatException e) {
  1533. amount = 1;
  1534. }
  1535. }
  1536. if (p != null) {
  1537. try {
  1538. Item itemToGive = new Item(Integer.parseInt(cmd[2]),amount);
  1539. boolean multiple = itemToGive.getAmount() > 1;
  1540. if (!p.getInventory().addItem(itemToGive)) {
  1541. p.getBank().addItem(itemToGive.getId(),itemToGive.getAmount(), true);
  1542. }
  1543. p.getPackets().sendGameMessage(player.getDisplayName()+" has given you "+(multiple ? itemToGive.getAmount() : "one")
  1544. + " "+itemToGive.getDefinitions().getName()+(multiple ? "s" : ""));
  1545. player.getPackets().sendGameMessage("You have given "+(multiple ? itemToGive.getAmount() : "one")
  1546. + " "+itemToGive.getDefinitions().getName()+(multiple ? "s" : "")+ " to "+p.getDisplayName());
  1547. return true;
  1548. } catch (NumberFormatException e) {
  1549. }
  1550. }
  1551.  
  1552. player.getPackets().sendGameMessage(
  1553. "Use: ::giveitem player id (optional:amount)");
  1554. return true;
  1555. }
  1556.  
  1557. case "takepromoter":
  1558. name = "";
  1559. for (int i = 1; i < cmd.length; i++)
  1560. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1561. target = World.getPlayerByDisplayName(name);
  1562. target.setPromoter(false);
  1563. SerializableFilesManager.savePlayer(target);
  1564. player.sm("Done.");
  1565. return true;
  1566.  
  1567. case "promoter":
  1568. name = "";
  1569. for (int i = 1; i < cmd.length; i++)
  1570. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1571. target = World.getPlayerByDisplayName(name);
  1572. loggedIn = true;
  1573. if (target == null) {
  1574. target = SerializableFilesManager.loadPlayer(Utils
  1575. .formatPlayerNameForProtocol(name));
  1576. if (target != null)
  1577. target.setUsername(Utils
  1578. .formatPlayerNameForProtocol(name));
  1579. loggedIn = false;
  1580. }
  1581. if (target == null)
  1582. return true;
  1583. target.setPromoter(true);
  1584. SerializableFilesManager.savePlayer(target);
  1585. if (loggedIn)
  1586. target.getPackets().sendGameMessage(
  1587. "You have been given promoter by "
  1588. + Utils.formatPlayerNameForDisplay(player
  1589. .getUsername()), true);
  1590. player.getPackets().sendGameMessage(
  1591. "You gave promoter to "
  1592. + Utils.formatPlayerNameForDisplay(target
  1593. .getUsername()), true);
  1594. World.sendWorldMessage( "<img=4>"+ Utils.formatPlayerNameForDisplay(target
  1595. .getUsername()) + " <col=00FF00>has just become a Promoter!", false);
  1596. return true;
  1597.  
  1598. case "donator":
  1599. name = "";
  1600. for (int i = 1; i < cmd.length; i++)
  1601. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1602. target = World.getPlayerByDisplayName(name);
  1603. loggedIn = true;
  1604. if (target == null) {
  1605. target = SerializableFilesManager.loadPlayer(Utils
  1606. .formatPlayerNameForProtocol(name));
  1607. if (target != null)
  1608. target.setUsername(Utils
  1609. .formatPlayerNameForProtocol(name));
  1610. loggedIn = false;
  1611. }
  1612. if (target == null)
  1613. return true;
  1614. target.setDonator(true);
  1615. SerializableFilesManager.savePlayer(target);
  1616. if (loggedIn)
  1617. target.getPackets().sendGameMessage(
  1618. "You have been given donator by "
  1619. + Utils.formatPlayerNameForDisplay(player
  1620. .getUsername()), true);
  1621. player.getPackets().sendGameMessage(
  1622. "You gave donator to "
  1623. + Utils.formatPlayerNameForDisplay(target
  1624. .getUsername()), true);
  1625. World.sendWorldMessage( "<img=8>[<col=ffffff><shad=00ff00>Donation</col></shad>] <col=ffffff><shad=00ff00>"+ target.getUsername() + " has just donated for Donator!", false);
  1626.  
  1627. return true;
  1628.  
  1629. case "super":
  1630.  
  1631. name = "";
  1632. for (int i = 1; i < cmd.length; i++)
  1633. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1634. target = World.getPlayerByDisplayName(name);
  1635. loggedIn = true;
  1636. if (target == null) {
  1637. target = SerializableFilesManager.loadPlayer(Utils
  1638. .formatPlayerNameForProtocol(name));
  1639. if (target != null)
  1640. target.setUsername(Utils
  1641. .formatPlayerNameForProtocol(name));
  1642. loggedIn = false;
  1643. }
  1644. if (target == null)
  1645. return true;
  1646. target.setSuperDonator(true);
  1647. SerializableFilesManager.savePlayer(target);
  1648. if (loggedIn)
  1649. target.getPackets().sendGameMessage(
  1650. "You have been given super status by "
  1651. + Utils.formatPlayerNameForDisplay(player
  1652. .getUsername()), true);
  1653. player.getPackets().sendGameMessage(
  1654. "You gave super to "
  1655. + Utils.formatPlayerNameForDisplay(target
  1656. .getUsername()), true);
  1657. World.sendWorldMessage( "<img=10>[<col=ffffff><shad=00ff00>Donation</col></shad>] <col=ffffff><shad=00ff00>"+ target.getUsername() + " has just donated for Super Donator!", false);
  1658.  
  1659. return true;
  1660.  
  1661. case "legend":
  1662. name = "";
  1663. for (int i = 1; i < cmd.length; i++)
  1664. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1665. target = World.getPlayerByDisplayName(name);
  1666. loggedIn = true;
  1667. if (target == null) {
  1668. target = SerializableFilesManager.loadPlayer(Utils
  1669. .formatPlayerNameForProtocol(name));
  1670. if (target != null)
  1671. target.setUsername(Utils
  1672. .formatPlayerNameForProtocol(name));
  1673. loggedIn = false;
  1674. }
  1675. if (target == null)
  1676. return true;
  1677. target.setLegendDonator(true);
  1678. SerializableFilesManager.savePlayer(target);
  1679. if (loggedIn)
  1680. target.getPackets().sendGameMessage(
  1681. "You have been given legend status by "
  1682. + Utils.formatPlayerNameForDisplay(player
  1683. .getUsername()), true);
  1684. player.getPackets().sendGameMessage(
  1685. "You gave legend to "
  1686. + Utils.formatPlayerNameForDisplay(target
  1687. .getUsername()), true);
  1688. World.sendWorldMessage( "<img=10>[<col=ffffff><shad=00ff00>Donation</col></shad>] <col=ffffff><shad=00ff00>"+ target.getUsername() + " has just donated for Legendary Donator!", false);
  1689.  
  1690. return true;
  1691.  
  1692.  
  1693. case "ultimate":
  1694. name = "";
  1695. for (int i = 1; i < cmd.length; i++)
  1696. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1697. target = World.getPlayerByDisplayName(name);
  1698. loggedIn = true;
  1699. if (target == null) {
  1700. target = SerializableFilesManager.loadPlayer(Utils
  1701. .formatPlayerNameForProtocol(name));
  1702. if (target != null)
  1703. target.setUsername(Utils
  1704. .formatPlayerNameForProtocol(name));
  1705. loggedIn = false;
  1706. }
  1707. if (target == null)
  1708. return true;
  1709. target.setUltimateDonator(true);
  1710. SerializableFilesManager.savePlayer(target);
  1711. if (loggedIn)
  1712. target.getPackets().sendGameMessage(
  1713. "You have been given ultimate status by "
  1714. + Utils.formatPlayerNameForDisplay(player
  1715. .getUsername()), true);
  1716. player.getPackets().sendGameMessage(
  1717. "You gave ultimate to "
  1718. + Utils.formatPlayerNameForDisplay(target
  1719. .getUsername()), true);
  1720. World.sendWorldMessage( "<img=14>[<col=ffffff><shad=D98611>Donation</col></shad>] <col=ffffff><shad=D98611>"+ target.getUsername() + " has just donated for Ultimate Donator!", false);
  1721.  
  1722. return true;
  1723.  
  1724. case "givesupport":
  1725. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  1726. }
  1727. name = "";
  1728. for (int i = 1; i < cmd.length; i++)
  1729. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1730. target = World.getPlayerByDisplayName(name);
  1731. boolean loggedIn1 = true;
  1732. if (target == null) {
  1733. target = SerializableFilesManager.loadPlayer(Utils
  1734. .formatPlayerNameForProtocol(name));
  1735. if (target != null)
  1736. target.setUsername(Utils
  1737. .formatPlayerNameForProtocol(name));
  1738. loggedIn1 = false;
  1739. }
  1740. if (target == null)
  1741. return true;
  1742. target.setSupporter(true);
  1743. SerializableFilesManager.savePlayer(target);
  1744. if (loggedIn1)
  1745. target.getPackets().sendGameMessage(
  1746. "You have been given supporter rank by "
  1747. + Utils.formatPlayerNameForDisplay(player
  1748. .getUsername()), true);
  1749. player.getPackets().sendGameMessage(
  1750. "You gave supporter rank to "
  1751. + Utils.formatPlayerNameForDisplay(target
  1752. .getUsername()), true);
  1753. World.sendWorldMessage( "<img=13>"+ Utils.formatPlayerNameForDisplay(target
  1754. .getUsername()) + " <col=00FF00>has just become a supporter!", false);
  1755. return true;
  1756. case "takesupport":
  1757. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  1758. }
  1759. name = "";
  1760. for (int i = 1; i < cmd.length; i++)
  1761. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1762. target = World.getPlayerByDisplayName(name);
  1763. boolean loggedIn2 = true;
  1764. if (target == null) {
  1765. target = SerializableFilesManager.loadPlayer(Utils
  1766. .formatPlayerNameForProtocol(name));
  1767. if (target != null)
  1768. target.setUsername(Utils
  1769. .formatPlayerNameForProtocol(name));
  1770. loggedIn2 = false;
  1771. }
  1772. if (target == null)
  1773. return true;
  1774. target.setSupporter(false);
  1775. SerializableFilesManager.savePlayer(target);
  1776. if (loggedIn2)
  1777. target.getPackets().sendGameMessage(
  1778. "Your supporter rank was removed by "
  1779. + Utils.formatPlayerNameForDisplay(player
  1780. .getUsername()), true);
  1781. player.getPackets().sendGameMessage(
  1782. "You removed supporter rank of "
  1783. + Utils.formatPlayerNameForDisplay(target
  1784. .getUsername()), true);
  1785. return true;
  1786. case "givegfx":
  1787. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  1788. }
  1789. name = "";
  1790. for (int i = 1; i < cmd.length; i++)
  1791. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1792. target = World.getPlayerByDisplayName(name);
  1793. boolean loggedIn11 = true;
  1794. if (target == null) {
  1795. target = SerializableFilesManager.loadPlayer(Utils
  1796. .formatPlayerNameForProtocol(name));
  1797. if (target != null)
  1798. target.setUsername(Utils
  1799. .formatPlayerNameForProtocol(name));
  1800. loggedIn11 = false;
  1801. }
  1802. if (target == null)
  1803. return true;
  1804. target.setGraphicDesigner(true);
  1805. SerializableFilesManager.savePlayer(target);
  1806. if (loggedIn11)
  1807. target.getPackets().sendGameMessage(
  1808. "You have been given graphic designer rank by "
  1809. + Utils.formatPlayerNameForDisplay(player
  1810. .getUsername()), true);
  1811. player.getPackets().sendGameMessage(
  1812. "You gave graphic designer rank to "
  1813. + Utils.formatPlayerNameForDisplay(target
  1814. .getUsername()), true);
  1815. return true;
  1816. case "takegfx":
  1817. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  1818. }
  1819. name = "";
  1820. for (int i = 1; i < cmd.length; i++)
  1821. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1822. target = World.getPlayerByDisplayName(name);
  1823. boolean loggedIn21 = true;
  1824. if (target == null) {
  1825. target = SerializableFilesManager.loadPlayer(Utils
  1826. .formatPlayerNameForProtocol(name));
  1827. if (target != null)
  1828. target.setUsername(Utils
  1829. .formatPlayerNameForProtocol(name));
  1830. loggedIn21 = false;
  1831. }
  1832. if (target == null)
  1833. return true;
  1834. target.setGraphicDesigner(false);
  1835. SerializableFilesManager.savePlayer(target);
  1836. if (loggedIn21)
  1837. target.getPackets().sendGameMessage(
  1838. "Your graphic designer rank was removed by "
  1839. + Utils.formatPlayerNameForDisplay(player
  1840. .getUsername()), true);
  1841. player.getPackets().sendGameMessage(
  1842. "You removed graphic designer rank of "
  1843. + Utils.formatPlayerNameForDisplay(target
  1844. .getUsername()), true);
  1845. return true;
  1846. case "makefmod":
  1847. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  1848. }
  1849. name = "";
  1850. for (int i = 1; i < cmd.length; i++)
  1851. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1852. target = World.getPlayerByDisplayName(name);
  1853. boolean loggedIn11221 = true;
  1854. if (target == null) {
  1855. target = SerializableFilesManager.loadPlayer(Utils
  1856. .formatPlayerNameForProtocol(name));
  1857. if (target != null)
  1858. target.setUsername(Utils
  1859. .formatPlayerNameForProtocol(name));
  1860. loggedIn11221 = false;
  1861. }
  1862. if (target == null)
  1863. return true;
  1864. target.setForumModerator(true);
  1865. SerializableFilesManager.savePlayer(target);
  1866. if (loggedIn11221)
  1867. target.getPackets().sendGameMessage(
  1868. "You have been given forum moderator rank by "
  1869. + Utils.formatPlayerNameForDisplay(player
  1870. .getUsername()), true);
  1871. player.getPackets().sendGameMessage(
  1872. "You gave forum moderator rank to "
  1873. + Utils.formatPlayerNameForDisplay(target
  1874. .getUsername()), true);
  1875. return true;
  1876. case "takefmod":
  1877. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  1878. }
  1879. name = "";
  1880. for (int i = 1; i < cmd.length; i++)
  1881. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1882. target = World.getPlayerByDisplayName(name);
  1883. boolean loggedIn7211 = true;
  1884. if (target == null) {
  1885. target = SerializableFilesManager.loadPlayer(Utils
  1886. .formatPlayerNameForProtocol(name));
  1887. if (target != null)
  1888. target.setUsername(Utils
  1889. .formatPlayerNameForProtocol(name));
  1890. loggedIn7211 = false;
  1891. }
  1892. if (target == null)
  1893. return true;
  1894. target.setGraphicDesigner(false);
  1895. SerializableFilesManager.savePlayer(target);
  1896. if (loggedIn7211)
  1897. target.getPackets().sendGameMessage(
  1898. "Your forum moderator rank was removed by "
  1899. + Utils.formatPlayerNameForDisplay(player
  1900. .getUsername()), true);
  1901. player.getPackets().sendGameMessage(
  1902. "You removed forum moderator rank of "
  1903. + Utils.formatPlayerNameForDisplay(target
  1904. .getUsername()), true);
  1905. return true;
  1906.  
  1907. case "makeadmin":
  1908. name = "";
  1909. for (int i = 1; i < cmd.length; i++)
  1910. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1911. target = World.getPlayerByDisplayName(name);
  1912. boolean loggedIn141 = true;
  1913. if (target == null) {
  1914. target = SerializableFilesManager.loadPlayer(Utils
  1915. .formatPlayerNameForProtocol(name));
  1916. if (target != null)
  1917. target.setUsername(Utils
  1918. .formatPlayerNameForProtocol(name));
  1919. loggedIn141 = false;
  1920. }
  1921. if (target == null)
  1922. return true;
  1923. target.setRights(2);
  1924. SerializableFilesManager.savePlayer(target);
  1925. if (loggedIn141)
  1926. target.getPackets().sendGameMessage(
  1927. "You have been given admin by "
  1928. + Utils.formatPlayerNameForDisplay(player
  1929. .getUsername()), true);
  1930. player.getPackets().sendGameMessage(
  1931. "You gave Player Moderator to "
  1932. + Utils.formatPlayerNameForDisplay(target
  1933. .getUsername()), true);
  1934. World.sendWorldMessage( "<img=1><col=0000ff><shad=ffffff>"+ target.getDisplayName() + " has just been promoted to Administrator!", false);
  1935.  
  1936. return true;
  1937.  
  1938.  
  1939. case "makemod":
  1940. name = "";
  1941. for (int i = 1; i < cmd.length; i++)
  1942. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1943. target = World.getPlayerByDisplayName(name);
  1944. boolean loggedIn131 = true;
  1945. if (target == null) {
  1946. target = SerializableFilesManager.loadPlayer(Utils
  1947. .formatPlayerNameForProtocol(name));
  1948. if (target != null)
  1949. target.setUsername(Utils
  1950. .formatPlayerNameForProtocol(name));
  1951. loggedIn131 = false;
  1952. }
  1953. if (target == null)
  1954. return true;
  1955. target.setRights(1);
  1956. SerializableFilesManager.savePlayer(target);
  1957. if (loggedIn131)
  1958. target.getPackets().sendGameMessage(
  1959. "You have been given Player Moderator by "
  1960. + Utils.formatPlayerNameForDisplay(player
  1961. .getUsername()), true);
  1962. player.getPackets().sendGameMessage(
  1963. "You gave Player Moderator to "
  1964. + Utils.formatPlayerNameForDisplay(target
  1965. .getUsername()), true);
  1966. World.sendWorldMessage( "<img=0> <col=ffffff><shad=0000ff>"+ target.getDisplayName() + " has just been promoted to Moderator!", false);
  1967.  
  1968. return true;
  1969.  
  1970. case "takemod":
  1971. name = "";
  1972. for (int i = 1; i < cmd.length; i++)
  1973. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1974. target = World.getPlayerByDisplayName(name);
  1975. boolean loggedIn3 = true;
  1976. if (target == null) {
  1977. target = SerializableFilesManager.loadPlayer(Utils
  1978. .formatPlayerNameForProtocol(name));
  1979. if (target != null)
  1980. target.setUsername(Utils
  1981. .formatPlayerNameForProtocol(name));
  1982. loggedIn3 = false;
  1983. }
  1984. if (target == null)
  1985. return true;
  1986. target.setRights(0);
  1987. SerializableFilesManager.savePlayer(target);
  1988. if (loggedIn3)
  1989. target.getPackets().sendGameMessage(
  1990. "Your supporter rank was removed by "
  1991. + Utils.formatPlayerNameForDisplay(player
  1992. .getUsername()), true);
  1993. player.getPackets().sendGameMessage(
  1994. "You removed supporter rank of "
  1995. + Utils.formatPlayerNameForDisplay(target
  1996. .getUsername()), true);
  1997. return true;
  1998.  
  1999. case "extreme":
  2000.  
  2001. name = "";
  2002. for (int i = 1; i < cmd.length; i++)
  2003. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2004. target = World.getPlayerByDisplayName(name);
  2005. boolean loggedIn111 = true;
  2006. if (target == null) {
  2007. target = SerializableFilesManager.loadPlayer(Utils
  2008. .formatPlayerNameForProtocol(name));
  2009. if (target != null)
  2010. target.setUsername(Utils
  2011. .formatPlayerNameForProtocol(name));
  2012. loggedIn111 = false;
  2013. }
  2014. if (target == null)
  2015. return true;
  2016. target.setExtremeDonator(true);
  2017. SerializableFilesManager.savePlayer(target);
  2018. if (loggedIn111)
  2019. target.getPackets().sendGameMessage(
  2020. "You have been given extreme donator by "
  2021. + Utils.formatPlayerNameForDisplay(player
  2022. .getUsername()), true);
  2023. player.getPackets().sendGameMessage(
  2024. "You gave extreme donator to "
  2025. + Utils.formatPlayerNameForDisplay(target
  2026. .getUsername()), true);
  2027. World.sendWorldMessage( "<img=9>[<col=ffffff><shad=00ff00>Donation</col></shad>] <col=ffffff><shad=00ff00>"+ target.getUsername() + " has just donated for Extreme Donator!", false);
  2028.  
  2029. return true;
  2030.  
  2031.  
  2032. case "takeextreme":
  2033.  
  2034. name = "";
  2035. for (int i = 1; i < cmd.length; i++)
  2036. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2037. target = World.getPlayerByDisplayName(name);
  2038. boolean loggedIn1111 = true;
  2039. if (target == null) {
  2040. target = SerializableFilesManager.loadPlayer(Utils
  2041. .formatPlayerNameForProtocol(name));
  2042. if (target != null)
  2043. target.setUsername(Utils
  2044. .formatPlayerNameForProtocol(name));
  2045. loggedIn1111 = false;
  2046. }
  2047. if (target == null)
  2048. return true;
  2049. target.setExtremeDonator(false);
  2050. SerializableFilesManager.savePlayer(target);
  2051. if (loggedIn1111)
  2052. target.getPackets().sendGameMessage(
  2053. "Your extreme donator was removed by "
  2054. + Utils.formatPlayerNameForDisplay(player
  2055. .getUsername()), true);
  2056. player.getPackets().sendGameMessage(
  2057. "You removed extreme donator from "
  2058. + Utils.formatPlayerNameForDisplay(target
  2059. .getUsername()), true);
  2060. return true;
  2061.  
  2062. case "monthdonator":
  2063. if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  2064. }
  2065. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2066. target = World.getPlayerByDisplayName(name);
  2067. if (target == null)
  2068. return true;
  2069. target.makeDonator(1);
  2070. SerializableFilesManager.savePlayer(target);
  2071. target.getPackets().sendGameMessage(
  2072. "You have been given donator by "
  2073. + Utils.formatPlayerNameForDisplay(player
  2074. .getUsername()), true);
  2075. player.getPackets().sendGameMessage(
  2076. "You gave donator to "
  2077. + Utils.formatPlayerNameForDisplay(target
  2078. .getUsername()), true);
  2079. return true;
  2080.  
  2081. case "takedonator":
  2082.  
  2083. name = "";
  2084. for (int i = 1; i < cmd.length; i++)
  2085. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2086. target = World.getPlayerByDisplayName(name);
  2087. boolean loggedIn121 = true;
  2088. if (target == null) {
  2089. target = SerializableFilesManager.loadPlayer(Utils
  2090. .formatPlayerNameForProtocol(name));
  2091. if (target != null)
  2092. target.setUsername(Utils
  2093. .formatPlayerNameForProtocol(name));
  2094. loggedIn121 = false;
  2095. }
  2096. if (target == null)
  2097. return true;
  2098. target.setDonator(false);
  2099. target.setSuperDonator(false);
  2100. target.setExtremeDonator(false);
  2101. target.setLegendDonator(false);
  2102. target.setUltimateDonator(false);
  2103. SerializableFilesManager.savePlayer(target);
  2104. if (loggedIn121)
  2105. target.getPackets().sendGameMessage(
  2106. "Your donator was removed by "
  2107. + Utils.formatPlayerNameForDisplay(player
  2108. .getUsername()), true);
  2109. player.getPackets().sendGameMessage(
  2110. "You removed donator from "
  2111. + Utils.formatPlayerNameForDisplay(target
  2112. .getUsername()), true);
  2113.  
  2114. return true;
  2115.  
  2116. case "takesuper":
  2117.  
  2118. name = "";
  2119. for (int i = 1; i < cmd.length; i++)
  2120. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2121. target = World.getPlayerByDisplayName(name);
  2122. boolean loggedIn122 = true;
  2123. if (target == null) {
  2124. target = SerializableFilesManager.loadPlayer(Utils
  2125. .formatPlayerNameForProtocol(name));
  2126. if (target != null)
  2127. target.setUsername(Utils
  2128. .formatPlayerNameForProtocol(name));
  2129. loggedIn121 = false;
  2130. }
  2131. if (target == null)
  2132. return true;
  2133. target.setSuperDonator(false);
  2134. SerializableFilesManager.savePlayer(target);
  2135. if (loggedIn122)
  2136. target.getPackets().sendGameMessage(
  2137. "Your donator was removed by "
  2138. + Utils.formatPlayerNameForDisplay(player
  2139. .getUsername()), true);
  2140. player.getPackets().sendGameMessage(
  2141. "You removed donator from "
  2142. + Utils.formatPlayerNameForDisplay(target
  2143. .getUsername()), true);
  2144. return true;
  2145.  
  2146. case "takelegend":
  2147.  
  2148. name = "";
  2149. for (int i = 1; i < cmd.length; i++)
  2150. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2151. target = World.getPlayerByDisplayName(name);
  2152. boolean loggedIn123 = true;
  2153. if (target == null) {
  2154. target = SerializableFilesManager.loadPlayer(Utils
  2155. .formatPlayerNameForProtocol(name));
  2156. if (target != null)
  2157. target.setUsername(Utils
  2158. .formatPlayerNameForProtocol(name));
  2159. loggedIn121 = false;
  2160. }
  2161. if (target == null)
  2162. return true;
  2163. target.setLegendDonator(false);
  2164. SerializableFilesManager.savePlayer(target);
  2165. if (loggedIn123)
  2166. target.getPackets().sendGameMessage(
  2167. "Your donator was removed by "
  2168. + Utils.formatPlayerNameForDisplay(player
  2169. .getUsername()), true);
  2170. player.getPackets().sendGameMessage(
  2171. "You removed donator from "
  2172. + Utils.formatPlayerNameForDisplay(target
  2173. .getUsername()), true);
  2174. return true;
  2175.  
  2176. case "sevent":
  2177. player.sm("Event: " +EventConstants.values()[Utils.random(4, EventConstants.values().length)]);
  2178. return true;
  2179.  
  2180. case "bank":
  2181. case "b":
  2182. if(player.getControlerManager().getControler() instanceof StealingCreationLobbyController) {
  2183. return false;
  2184. }
  2185. player.getBank().openBank();
  2186. return true;
  2187.  
  2188.  
  2189. case "reloadfiles":
  2190. IPBanL.init();
  2191. PkRank.init();
  2192. return true;
  2193.  
  2194. case "tele":
  2195. if (cmd.length < 3) {
  2196. player.getPackets().sendPanelBoxMessage(
  2197. "Use: ::tele coordX coordY");
  2198. return true;
  2199. }
  2200. try {
  2201. player.resetWalkSteps();
  2202. player.setNextWorldTile(new WorldTile(Integer
  2203. .valueOf(cmd[1]), Integer.valueOf(cmd[2]),
  2204. cmd.length >= 4 ? Integer.valueOf(cmd[3]) : player
  2205. .getPlane()));
  2206. } catch (NumberFormatException e) {
  2207. player.getPackets().sendPanelBoxMessage(
  2208. "Use: ::tele coordX coordY plane");
  2209. }
  2210. return true;
  2211.  
  2212. case "shutdown":
  2213. int delay = 60;
  2214. if (cmd.length >= 2) {
  2215. try {
  2216. delay = Integer.valueOf(cmd[1]);
  2217. } catch (NumberFormatException e) {
  2218. player.getPackets().sendPanelBoxMessage(
  2219. "Use: ::shutdown secondsDelay(IntegerValue)");
  2220. return true;
  2221. }
  2222. }
  2223. if(delay < 5) {
  2224. for(Player p : World.getPlayers()) {
  2225. if(p == null)
  2226. continue;
  2227. p.logout(false);
  2228. }
  2229. }
  2230. World.safeShutdown(false, delay);
  2231. World.sendWorldMessage("<col=ff0000><shad=000000>[System] The server is being updated! Type ::patchnotes to see the updates.", false);
  2232. return true;
  2233.  
  2234. case "restart":
  2235. delay = 60;
  2236. if (cmd.length >= 2) {
  2237. try {
  2238. delay = Integer.valueOf(cmd[1]);
  2239. } catch (NumberFormatException e) {
  2240. player.getPackets().sendPanelBoxMessage(
  2241. "Use: ::restart secondsDelay(IntegerValue)");
  2242. return true;
  2243. }
  2244. }
  2245. World.safeShutdown(true, delay);
  2246. World.sendWorldMessage("<col=ff0000><shad=000000>[System] The server is being updated! Type ::patchnotes to see the updates.", false);
  2247. return true;
  2248.  
  2249. case "emote":
  2250. if (cmd.length < 2) {
  2251. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  2252. return true;
  2253. }
  2254. try {
  2255. player.setNextAnimation(new Animation(Integer
  2256. .valueOf(cmd[1])));
  2257. } catch (NumberFormatException e) {
  2258. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  2259. }
  2260. return true;
  2261.  
  2262. case "remote":
  2263. if (cmd.length < 2) {
  2264. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  2265. return true;
  2266. }
  2267. try {
  2268. player.getAppearence().setRenderEmote(
  2269. Integer.valueOf(cmd[1]));
  2270. } catch (NumberFormatException e) {
  2271. player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  2272. }
  2273. return true;
  2274.  
  2275. case "nmaster":
  2276. for(int i = 0; i < 25; i++) {
  2277. player.getSkills().setXp(i, 200000000);
  2278. }
  2279. player.getPackets().sendGameMessage("You are a pleb.");
  2280. return true;
  2281.  
  2282. case "quake":
  2283. player.getPackets().sendCameraShake(Integer.valueOf(cmd[1]),
  2284. Integer.valueOf(cmd[2]), Integer.valueOf(cmd[3]),
  2285. Integer.valueOf(cmd[4]), Integer.valueOf(cmd[5]));
  2286. return true;
  2287.  
  2288. case "getrender":
  2289. player.getPackets().sendGameMessage("Testing renders");
  2290. for (int i = 0; i < 3000; i++) {
  2291. try {
  2292. player.getAppearence().setRenderEmote(i);
  2293. player.getPackets().sendGameMessage("Testing " + i);
  2294. Thread.sleep(600);
  2295. } catch (InterruptedException e) {
  2296. e.printStackTrace();
  2297. }
  2298. }
  2299. return true;
  2300.  
  2301. case "spec":
  2302. player.getCombatDefinitions().setSpecialAttack(100);
  2303. return true;
  2304.  
  2305. case "trylook":
  2306. final int look = Integer.parseInt(cmd[1]);
  2307. WorldTasksManager.schedule(new WorldTask() {
  2308. int i = 269;// 200
  2309.  
  2310. @Override
  2311. public void run() {
  2312. if (player.hasFinished()) {
  2313. stop();
  2314. }
  2315. player.getAppearence().setLook(look, i);
  2316. player.getAppearence().generateAppearenceData();
  2317. player.getPackets().sendGameMessage("Look " + i + ".");
  2318. i++;
  2319. }
  2320. }, 0, 1);
  2321. return true;
  2322.  
  2323. case "tryinter":
  2324. WorldTasksManager.schedule(new WorldTask() {
  2325. int i = 1;
  2326.  
  2327. @Override
  2328. public void run() {
  2329. if (player.hasFinished()) {
  2330. stop();
  2331. }
  2332. player.getInterfaceManager().sendInterface(i);
  2333. System.out.println("Inter - " + i);
  2334. i++;
  2335. }
  2336. }, 0, 1);
  2337. return true;
  2338.  
  2339. case "t44_mim":
  2340. WorldTasksManager.schedule(new WorldTask() {
  2341. int i = 16700;
  2342.  
  2343. @Override
  2344. public void run() {
  2345. if (i >= Utils.getAnimationDefinitionsSize()) {
  2346. stop();
  2347. return;
  2348. }
  2349. if (player.getLastAnimationEnd() > System
  2350. .currentTimeMillis()) {
  2351. player.setNextAnimation(new Animation(-1));
  2352. }
  2353. if (player.hasFinished()) {
  2354. stop();
  2355. }
  2356. player.setNextAnimation(new Animation(i));
  2357. System.out.println("Anim - " + i);
  2358. i++;
  2359. }
  2360. }, 0, 3);
  2361. return true;
  2362.  
  2363. case "animcount":
  2364. System.out.println(Utils.getAnimationDefinitionsSize() + " anims.");
  2365. return true;
  2366.  
  2367. case "trygfx":
  2368. WorldTasksManager.schedule(new WorldTask() {
  2369. int i = 1500;
  2370.  
  2371. @Override
  2372. public void run() {
  2373. if (i >= Utils.getGraphicDefinitionsSize()) {
  2374. stop();
  2375. }
  2376. if (player.hasFinished()) {
  2377. stop();
  2378. }
  2379. player.setNextGraphics(new Graphics(i));
  2380. System.out.println("GFX - " + i);
  2381. i++;
  2382. }
  2383. }, 0, 3);
  2384. return true;
  2385.  
  2386. case "gfx":
  2387. if (cmd.length < 2) {
  2388. player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  2389. return true;
  2390. }
  2391. try {
  2392. player.setNextGraphics(new Graphics(Integer.valueOf(cmd[1]), 0, 0));
  2393. } catch (NumberFormatException e) {
  2394. player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  2395. }
  2396. return true;
  2397. case "sync":
  2398. int animId = Integer.parseInt(cmd[1]);
  2399. int gfxId = Integer.parseInt(cmd[2]);
  2400. int height = cmd.length > 3 ? Integer.parseInt(cmd[3]) : 0;
  2401. player.setNextAnimation(new Animation(animId));
  2402. player.setNextGraphics(new Graphics(gfxId, 0, height));
  2403. return true;
  2404.  
  2405. case "mess":
  2406. player.getPackets().sendMessage(Integer.valueOf(cmd[1]), "",
  2407. player);
  2408. return true;
  2409. case "unpermban":
  2410. name = "";
  2411. for (int i = 1; i < cmd.length; i++)
  2412. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2413. File acc = new File("data/characters/"+name.replace(" ", "_")+".p");
  2414. target = null;
  2415. if (target == null) {
  2416. try {
  2417. target = (Player) SerializableFilesManager.loadSerializedFile(acc);
  2418. } catch (ClassNotFoundException | IOException e) {
  2419. e.printStackTrace();
  2420. }
  2421. }
  2422. target.setPermBanned(false);
  2423. target.setBanned(0);
  2424. player.getPackets().sendGameMessage(
  2425. "You've unbanned "+Utils.formatPlayerNameForDisplay(target.getUsername())+ ".");
  2426. try {
  2427. SerializableFilesManager.storeSerializableClass(target, acc);
  2428. } catch (IOException e) {
  2429. e.printStackTrace();
  2430. }
  2431. return true;
  2432.  
  2433. case "permban":
  2434. name = "";
  2435. for (int i = 1; i < cmd.length; i++)
  2436. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2437. target = World.getPlayerByDisplayName(name);
  2438. if (target != null) {
  2439. target.setPermBanned(true);
  2440. target.getPackets().sendGameMessage(
  2441. "You've been perm banned by "+Utils.formatPlayerNameForDisplay(player.getUsername())+".");
  2442. player.getPackets().sendGameMessage(
  2443. "You have perm banned: "+target.getDisplayName()+".");
  2444. target.getSession().getChannel().close();
  2445. SerializableFilesManager.savePlayer(target);
  2446. } else {
  2447. File acc11 = new File("data/characters/"+name.replace(" ", "_")+".p");
  2448. try {
  2449. target = (Player) SerializableFilesManager.loadSerializedFile(acc11);
  2450. } catch (ClassNotFoundException | IOException e) {
  2451. e.printStackTrace();
  2452. }
  2453. if (target.getRights() == 2)
  2454. return true;
  2455. target.setPermBanned(true);
  2456. player.getPackets().sendGameMessage(
  2457. "You have perm banned: "+Utils.formatPlayerNameForDisplay(name)+".");
  2458. try {
  2459. SerializableFilesManager.storeSerializableClass(target, acc11);
  2460. } catch (IOException e) {
  2461. e.printStackTrace();
  2462. }
  2463. }
  2464. return true;
  2465.  
  2466. case "scscsc":
  2467. player.getControlerManager().startControler("StealingCreationController");
  2468. break;
  2469.  
  2470. case "ipban":
  2471. name = "";
  2472. for (int i = 1; i < cmd.length; i++)
  2473. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2474. target = World.getPlayerByDisplayName(name);
  2475. boolean loggedIn11111 = true;
  2476. if (target == null) {
  2477. target = SerializableFilesManager.loadPlayer(Utils
  2478. .formatPlayerNameForProtocol(name));
  2479. if (target != null)
  2480. target.setUsername(Utils
  2481. .formatPlayerNameForProtocol(name));
  2482. loggedIn11111 = false;
  2483. }
  2484. if (target != null) {
  2485. if (target.getRights() == 2)
  2486. return true;
  2487. IPBanL.ban(target, loggedIn11111);
  2488. player.getPackets().sendGameMessage(
  2489. "You've permanently ipbanned "
  2490. + (loggedIn11111 ? target.getDisplayName()
  2491. : name) + ".");
  2492. } else {
  2493. player.getPackets().sendGameMessage(
  2494. "Couldn't find player " + name + ".");
  2495. }
  2496. return true;
  2497.  
  2498. case "unipban":
  2499. name = "";
  2500. for (int i = 1; i < cmd.length; i++)
  2501. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2502. File acc11 = new File("data/characters/"+name.replace(" ", "_")+".p");
  2503. target = null;
  2504. if (target == null) {
  2505. try {
  2506. target = (Player) SerializableFilesManager.loadSerializedFile(acc11);
  2507. } catch (ClassNotFoundException | IOException e) {
  2508. e.printStackTrace();
  2509. }
  2510. }
  2511. IPBanL.unban(target);
  2512. player.getPackets().sendGameMessage(
  2513. "You've unipbanned "+Utils.formatPlayerNameForDisplay(target.getUsername())+ ".");
  2514. try {
  2515. SerializableFilesManager.storeSerializableClass(target, acc11);
  2516. } catch (IOException e) {
  2517. e.printStackTrace();
  2518. }
  2519. return true;
  2520.  
  2521. case "staffmeeting":
  2522. for (Player staff : World.getPlayers()) {
  2523. if (staff.getRights() == 0)
  2524. continue;
  2525. staff.setNextWorldTile(new WorldTile(2675, 10418, 0));
  2526. staff.getPackets().sendGameMessage("You been teleported for a staff meeting by "+player.getDisplayName());
  2527. }
  2528. return true;
  2529.  
  2530. case "demote":
  2531. name = "";
  2532. for (int i = 1; i < cmd.length; i++)
  2533. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2534. target = World.getPlayerByDisplayName(name);
  2535. if (target == null)
  2536. target = SerializableFilesManager.loadPlayer(Utils
  2537. .formatPlayerNameForProtocol(name));
  2538. if (target != null) {
  2539. if(target.getRights() >= 2)
  2540. return true;
  2541. target.setRights(0);
  2542. player.getPackets().sendGameMessage(
  2543. "You demote "
  2544. + Utils.formatPlayerNameForDisplay(target
  2545. .getUsername()));
  2546. } else {
  2547. player.getPackets().sendGameMessage(
  2548. "Couldn't find player " + name + ".");
  2549. }
  2550. SerializableFilesManager.savePlayer(target);
  2551. return true;
  2552. case "fightkiln":
  2553. player.getControlerManager().startControler("FightKilnControler", 1);
  2554. return true;
  2555. case "setfirecapes":
  2556. name = "";
  2557. for (int i = 1; i < cmd.length; i++)
  2558. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2559. target = World.getPlayerByDisplayName(name);
  2560. if (target == null)
  2561. target = SerializableFilesManager.loadPlayer(Utils
  2562. .formatPlayerNameForProtocol(name));
  2563. if (target != null) {
  2564. target.setCompletedFightKiln();
  2565. target.setCompletedFightCaves();
  2566. target.getInventory().addItem(23659, 1);
  2567. target.getInventory().addItem(6570, 1);
  2568. } else {
  2569. player.getPackets().sendGameMessage(
  2570. "Couldn't find player " + name + ".");
  2571. }
  2572. SerializableFilesManager.savePlayer(target);
  2573. return true;
  2574. case "setkiln":
  2575. name = "";
  2576. for (int i = 1; i < cmd.length; i++)
  2577. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2578. target = World.getPlayerByDisplayName(name);
  2579. if (target == null)
  2580. target = SerializableFilesManager.loadPlayer(Utils
  2581. .formatPlayerNameForProtocol(name));
  2582. if (target != null) {
  2583. target.setCompletedFightKiln();
  2584. //target.setCompletedFightCaves();
  2585. target.getInventory().addItem(23659, 1);
  2586. //target.getInventory().addItem(6570, 1);
  2587. } else {
  2588. player.getPackets().sendGameMessage(
  2589. "Couldn't find player " + name + ".");
  2590. }
  2591. SerializableFilesManager.savePlayer(target);
  2592. return true;
  2593. case "setfirecape":
  2594. name = "";
  2595. for (int i = 1; i < cmd.length; i++)
  2596. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2597. target = World.getPlayerByDisplayName(name);
  2598. if (target == null)
  2599. target = SerializableFilesManager.loadPlayer(Utils
  2600. .formatPlayerNameForProtocol(name));
  2601. if (target != null) {
  2602. target.setCompletedFightCaves();
  2603. //target.setCompletedFightCaves();
  2604. target.getInventory().addItem(6570, 1);
  2605. //target.getInventory().addItem(6570, 1);
  2606. } else {
  2607. player.getPackets().sendGameMessage(
  2608. "Couldn't find player " + name + ".");
  2609. }
  2610. SerializableFilesManager.savePlayer(target);
  2611. return true;
  2612. case "setkilledqbd":
  2613. name = "";
  2614. for (int i = 1; i < cmd.length; i++)
  2615. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2616. target = World.getPlayerByDisplayName(name);
  2617. if (target == null)
  2618. target = SerializableFilesManager.loadPlayer(Utils
  2619. .formatPlayerNameForProtocol(name));
  2620. if (target != null) {
  2621. target.setKilledQueenBlackDragon(true);
  2622. //target.setCompletedFightCaves();
  2623. //target.getInventory().addItem(23659, 1);
  2624. //target.getInventory().addItem(6570, 1);
  2625. } else {
  2626. player.getPackets().sendGameMessage(
  2627. "Couldn't find player " + name + ".");
  2628. }
  2629. SerializableFilesManager.savePlayer(target);
  2630. return true;
  2631.  
  2632. case "viewbank":
  2633. case "checkbank":
  2634. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2635. target = World.getPlayerByDisplayName(name);
  2636. try {
  2637. player.getPackets().sendItems(95, target.getBank().getContainerCopy());
  2638. player.getBank().openPlayerBank(target);
  2639. } catch (Exception e){
  2640. player.getPackets().sendGameMessage("The player " + name + " is currently unavailable.");
  2641. }
  2642. return true;
  2643.  
  2644. case "setdomtower":
  2645. name = "";
  2646. for (int i = 1; i < cmd.length; i++)
  2647. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2648. target = World.getPlayerByDisplayName(name);
  2649. if (target == null)
  2650. target = SerializableFilesManager.loadPlayer(Utils
  2651. .formatPlayerNameForProtocol(name));
  2652. if (target != null) {
  2653. target.setDominionTowerKills(100);
  2654.  
  2655. } else {
  2656. player.getPackets().sendGameMessage(
  2657. "Couldn't find player " + name + ".");
  2658. }
  2659. SerializableFilesManager.savePlayer(target);
  2660. return true;
  2661.  
  2662. case "setprestige":
  2663. name = "";
  2664. for (int i = 1; i < cmd.length; i++)
  2665. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2666. target = World.getPlayerByDisplayName(name);
  2667. if (target == null)
  2668. target = SerializableFilesManager.loadPlayer(Utils
  2669. .formatPlayerNameForProtocol(name));
  2670. if (target != null) {
  2671. target.prestigeTokens = 5;
  2672.  
  2673. } else {
  2674. player.getPackets().sendGameMessage(
  2675. "Couldn't find player " + name + ".");
  2676. }
  2677. SerializableFilesManager.savePlayer(target);
  2678. return true;
  2679.  
  2680. }
  2681. }
  2682. return false;
  2683. }
  2684.  
  2685. public static boolean processHeadModCommands(Player player, String[] cmd,
  2686. boolean console, boolean clientCommand) {
  2687. if (clientCommand) {
  2688.  
  2689. } else {
  2690. String name;
  2691. Player target;
  2692.  
  2693. switch (cmd[0]) {
  2694. case "jail":
  2695. name = "";
  2696. for (int i = 1; i < cmd.length; i++)
  2697. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2698. target = World.getPlayerByDisplayName(name);
  2699. if (target != null) {
  2700. target.setJailed(Utils.currentTimeMillis()
  2701. + (24 * 60 * 60 * 1000));
  2702. target.getControlerManager()
  2703. .startControler("JailControler");
  2704. target.getPackets().sendGameMessage(
  2705. "You've been Jailed for 24 hours by "+Utils.formatPlayerNameForDisplay(player.getUsername())+".");
  2706. player.getPackets().sendGameMessage(
  2707. "You have Jailed 24 hours: "+target.getDisplayName()+".");
  2708. SerializableFilesManager.savePlayer(target);
  2709. } else {
  2710. File acc1 = new File("data/characters/"+name.replace(" ", "_")+".p");
  2711. try {
  2712. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  2713. } catch (ClassNotFoundException | IOException e) {
  2714. e.printStackTrace();
  2715. }
  2716. target.setJailed(Utils.currentTimeMillis()
  2717. + (24 * 60 * 60 * 1000));
  2718. player.getPackets().sendGameMessage(
  2719. "You have muted 24 hours: "+Utils.formatPlayerNameForDisplay(name)+".");
  2720. try {
  2721. SerializableFilesManager.storeSerializableClass(target, acc1);
  2722. } catch (IOException e) {
  2723. e.printStackTrace();
  2724. }
  2725. }
  2726. return true;
  2727.  
  2728. case "viewbank":
  2729. name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2730. target = World.getPlayerByDisplayName(name);
  2731. try {
  2732. player.getPackets().sendItems(95, target.getBank().getContainerCopy());
  2733. player.getBank().openPlayerBank(target);
  2734. } catch (Exception e){
  2735. player.getPackets().sendGameMessage("The player " + name + " is currently unavailable.");
  2736. }
  2737. return true;
  2738.  
  2739.  
  2740. case "kick":
  2741. if (player.getRights() < 1) {
  2742. player.getPackets().sendGameMessage(
  2743. "You cannot use this command.");
  2744. return false;
  2745. }
  2746. name = "";
  2747. for (int i = 1; i < cmd.length; i++)
  2748. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2749. target = World.getPlayerByDisplayName(name);
  2750. if (target == null) {
  2751. player.getPackets().sendGameMessage(
  2752. Utils.formatPlayerNameForDisplay(name)+" is not logged in.");
  2753. return true;
  2754. }
  2755. target.getSession().getChannel().close();
  2756. player.getPackets().sendGameMessage("You have kicked: "+target.getDisplayName()+".");
  2757. return true;
  2758.  
  2759. case "mute":
  2760. name = "";
  2761. for (int i = 1; i < cmd.length; i++)
  2762. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2763. target = World.getPlayerByDisplayName(name);
  2764. if (target != null) {
  2765. target.setMuted(Utils.currentTimeMillis()
  2766. + (player.getRights() >= 1 ? (48 * 60 * 60 * 1000) : (1 * 60 * 60 * 1000)));
  2767. target.getPackets().sendGameMessage(
  2768. "You've been muted for " + (player.getRights() >= 1 ? " 48 hours by " : "1 hour by ") +Utils.formatPlayerNameForDisplay(player.getUsername())+".");
  2769. player.getPackets().sendGameMessage(
  2770. "You have muted " + (player.getRights() >= 1 ? " 48 hours by " : "1 hour by ") + target.getDisplayName()+".");
  2771. } else {
  2772. name = Utils.formatPlayerNameForProtocol(name);
  2773. if(!SerializableFilesManager.containsPlayer(name)) {
  2774. player.getPackets().sendGameMessage(
  2775. "Account name "+Utils.formatPlayerNameForDisplay(name)+" doesn't exist.");
  2776. return true;
  2777. }
  2778. target = SerializableFilesManager.loadPlayer(name);
  2779. target.setUsername(name);
  2780. target.setMuted(Utils.currentTimeMillis()
  2781. + (player.getRights() >= 1 ? (48 * 60 * 60 * 1000) : (1 * 60 * 60 * 1000)));
  2782. player.getPackets().sendGameMessage(
  2783. "You have muted " + (player.getRights() >= 1 ? " 48 hours by " : "1 hour by ") + target.getDisplayName()+".");
  2784. SerializableFilesManager.savePlayer(target);
  2785. }
  2786. return true;
  2787.  
  2788. }
  2789. }
  2790. return false;
  2791. }
  2792.  
  2793. public static boolean processSupportCommands(Player player, String[] cmd,
  2794. boolean console, boolean clientCommand) {
  2795. String name = "";
  2796. Player target;
  2797. if (clientCommand) {
  2798.  
  2799. } else {
  2800. switch (cmd[0]) {
  2801. case "sz":
  2802. if (player.isLocked() || player.getControlerManager().getControler() != null) {
  2803. player.getPackets().sendGameMessage("You cannot tele anywhere from here.");
  2804. return true;
  2805. }
  2806. player.setNextWorldTile(new WorldTile(2977, 5792, 1));
  2807. return true;
  2808.  
  2809. case "ticket":
  2810. TicketSystem.answerTicket(player);
  2811. return true;
  2812.  
  2813. case "finishticket":
  2814. TicketSystem.removeTicket(player);
  2815. return true;
  2816.  
  2817. case "info":
  2818. String namecheckcmd = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2819. Player displayname = World.getPlayerByDisplayName(namecheckcmd);
  2820. if (namecheckcmd == null)
  2821. return true;
  2822. if(displayname == null)
  2823. return false;
  2824. if (displayname.getRights() > 0)
  2825. return true;
  2826. player.sm("Information for " + displayname.getDisplayName() + ":");
  2827. player.sm("Original name: " + displayname.getUsername() + ".");
  2828. player.sm("Players IP Address: " + displayname.getSession().getIP() + ".");
  2829. player.getPackets().sendItems(95, displayname.getBank().getContainerCopy());
  2830. player.getBank().openPlayerBank(displayname);
  2831. player.sm("Here is their bank.");
  2832. return true;
  2833.  
  2834. case "removedisplay":
  2835. String name1 = "";
  2836. for (int i = 1; i < cmd.length; i++)
  2837. name1 += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2838. Player target1 = World.getPlayerByDisplayName(name1);
  2839. if (target1 != null) {
  2840. target1.setDisplayName(Utils.formatPlayerNameForDisplay(target1.getUsername()));
  2841. target1.getPackets().sendGameMessage(
  2842. "Your display name was removed by "+Utils.formatPlayerNameForDisplay(player.getUsername())+".");
  2843. player.getPackets().sendGameMessage(
  2844. "You have removed display name of "+target1.getDisplayName()+".");
  2845. SerializableFilesManager.savePlayer(target1);
  2846. } else {
  2847. File acc1 = new File("data/characters/"+name1.replace(" ", "_")+".p");
  2848. try {
  2849. target1 = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  2850. } catch (ClassNotFoundException | IOException e) {
  2851. e.printStackTrace();
  2852. }
  2853. target1.setDisplayName(Utils.formatPlayerNameForDisplay(target1.getUsername()));
  2854. player.getPackets().sendGameMessage(
  2855. "You have removed display name of "+target1.getDisplayName()+".");
  2856. try {
  2857. SerializableFilesManager.storeSerializableClass(target1, acc1);
  2858. } catch (IOException e) {
  2859. e.printStackTrace();
  2860. }
  2861. }
  2862. return true;
  2863.  
  2864.  
  2865. case "unmute":
  2866. for (int i = 1; i < cmd.length; i++)
  2867. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2868. target = World.getPlayerByDisplayName(name);
  2869. if (target != null) {
  2870. target.setMuted(0);
  2871. target.getPackets().sendGameMessage(
  2872. "You've been unmuted by "+Utils.formatPlayerNameForDisplay(player.getUsername())+".");
  2873. player.getPackets().sendGameMessage(
  2874. "You have unmuted: "+target.getDisplayName()+".");
  2875. SerializableFilesManager.savePlayer(target);
  2876. } else {
  2877. File acc1 = new File("data/characters/"+name.replace(" ", "_")+".p");
  2878. try {
  2879. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  2880. } catch (ClassNotFoundException | IOException e) {
  2881. e.printStackTrace();
  2882. }
  2883. target.setMuted(0);
  2884. player.getPackets().sendGameMessage(
  2885. "You have unmuted: "+Utils.formatPlayerNameForDisplay(name)+".");
  2886. try {
  2887. SerializableFilesManager.storeSerializableClass(target, acc1);
  2888. } catch (IOException e) {
  2889. e.printStackTrace();
  2890. }
  2891. }
  2892. return true;
  2893.  
  2894. case "jail":
  2895. name = "";
  2896. for (int i = 1; i < cmd.length; i++)
  2897. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2898. target = World.getPlayerByDisplayName(name);
  2899. if (target != null) {
  2900. target.setJailed(Utils.currentTimeMillis()
  2901. + (24 * 60 * 60 * 1000));
  2902. target.getControlerManager()
  2903. .startControler("JailControler");
  2904. target.getPackets().sendGameMessage(
  2905. "You've been Jailed for 24 hours by "+Utils.formatPlayerNameForDisplay(player.getUsername())+".");
  2906. player.getPackets().sendGameMessage(
  2907. "You have Jailed 24 hours: "+target.getDisplayName()+".");
  2908. SerializableFilesManager.savePlayer(target);
  2909. } else {
  2910. File acc1 = new File("data/characters/"+name.replace(" ", "_")+".p");
  2911. try {
  2912. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  2913. } catch (ClassNotFoundException | IOException e) {
  2914. e.printStackTrace();
  2915. }
  2916. target.setJailed(Utils.currentTimeMillis()
  2917. + (24 * 60 * 60 * 1000));
  2918. player.getPackets().sendGameMessage(
  2919. "You have muted 24 hours: "+Utils.formatPlayerNameForDisplay(name)+".");
  2920. try {
  2921. SerializableFilesManager.storeSerializableClass(target, acc1);
  2922. } catch (IOException e) {
  2923. e.printStackTrace();
  2924. }
  2925. }
  2926. return true;
  2927.  
  2928. case "kick":
  2929. name = "";
  2930. for (int i = 1; i < cmd.length; i++)
  2931. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2932. target = World.getPlayerByDisplayName(name);
  2933. if (target == null) {
  2934. player.getPackets().sendGameMessage(
  2935. Utils.formatPlayerNameForDisplay(name)+" is not logged in.");
  2936. return true;
  2937. }
  2938. target.getSession().getChannel().close();
  2939. player.getPackets().sendGameMessage("You have kicked: "+target.getDisplayName()+".");
  2940. return true;
  2941.  
  2942. case "staffyell":
  2943. String message = "";
  2944. for (int i = 1; i < cmd.length; i++)
  2945. message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2946. sendYell(player, Utils.fixChatMessage(message), true);
  2947. return true;
  2948.  
  2949. case "forcekick":
  2950. name = "";
  2951. for (int i = 1; i < cmd.length; i++)
  2952. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2953. target = World.getPlayerByDisplayName(name);
  2954. if (target == null) {
  2955. player.getPackets().sendGameMessage(
  2956. Utils.formatPlayerNameForDisplay(name)+" is not logged in.");
  2957. return true;
  2958. }
  2959. target.forceLogout();
  2960. player.getPackets().sendGameMessage("You have kicked: "+target.getDisplayName()+".");
  2961. return true;
  2962.  
  2963. case "unjail":
  2964. name = "";
  2965. for (int i = 1; i < cmd.length; i++)
  2966. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2967. target = World.getPlayerByDisplayName(name);
  2968. if (target != null) {
  2969. target.setJailed(0);
  2970. target.getControlerManager()
  2971. .startControler("JailControler");
  2972. target.getPackets().sendGameMessage(
  2973. "You've been unjailed by "+Utils.formatPlayerNameForDisplay(player.getUsername())+".");
  2974. player.getPackets().sendGameMessage(
  2975. "You have unjailed: "+target.getDisplayName()+".");
  2976. SerializableFilesManager.savePlayer(target);
  2977. } else {
  2978. File acc1 = new File("data/characters/"+name.replace(" ", "_")+".p");
  2979. try {
  2980. target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  2981. } catch (ClassNotFoundException | IOException e) {
  2982. e.printStackTrace();
  2983. }
  2984. target.setJailed(0);
  2985. player.getPackets().sendGameMessage(
  2986. "You have unjailed: "+Utils.formatPlayerNameForDisplay(name)+".");
  2987. try {
  2988. SerializableFilesManager.storeSerializableClass(target, acc1);
  2989. } catch (IOException e) {
  2990. e.printStackTrace();
  2991. }
  2992. }
  2993. return true;
  2994.  
  2995. case "teleto":
  2996. if (player.isLocked() || player.getControlerManager().getControler() != null) {
  2997. player.getPackets().sendGameMessage("You cannot tele anywhere from here.");
  2998. return true;
  2999. }
  3000. name = "";
  3001. for (int i = 1; i < cmd.length; i++)
  3002. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3003. target = World.getPlayerByDisplayName(name);
  3004. if(target == null)
  3005. player.getPackets().sendGameMessage(
  3006. "Couldn't find player " + name + ".");
  3007. else
  3008. player.setNextWorldTile(target);
  3009. return true;
  3010. }
  3011. }
  3012. return false;
  3013. }
  3014.  
  3015. public static boolean processModCommand(Player player, String[] cmd,
  3016. boolean console, boolean clientCommand) {
  3017. if (clientCommand) {
  3018.  
  3019. } else {
  3020. switch (cmd[0]) {
  3021.  
  3022. case "voteon":
  3023. canVote = true;
  3024. player.sm("Voting has been enabled.");
  3025. return true;
  3026. case "voteoff":
  3027. canVote = false;
  3028. player.sm("Voting has been disabled.");
  3029. return true;
  3030. case "checkinv":
  3031. if(cmd[1].length() == 0) {
  3032. return false;
  3033. }
  3034. Player pl2 = World.getPlayer(cmd[1]);
  3035. if(pl2 == null)
  3036. return false;
  3037. int freeslots = pl2.getInventory().getFreeSlots();
  3038. int usedslots = 28 - freeslots;
  3039. int total;
  3040. player.getPackets().sendGameMessage("<img=1>Inventory Information<img=1>");
  3041. player.getPackets().sendGameMessage("<col=DF7401>" + Utils.formatPlayerNameForDisplay(cmd[1]) + "</col> has used <col=DF7401>" + (28 - freeslots) + " </col>of <col=DF7401>" + freeslots + "</col> inventory slots.");
  3042. player.getPackets().sendGameMessage("Inventory contains:");
  3043. for(int i = 0; i < usedslots; i++) {
  3044. total = pl2.getInventory().getItems().getNumberOf(pl2.getInventory().getItems().get(i).getId());
  3045. player.getPackets().sendGameMessage("<col=088A08>" + total + "</col><col=BDBDBD> x </col><col=088A08>" + pl2.getInventory().getItems().get(i).getName());
  3046.  
  3047. }
  3048. return true;
  3049.  
  3050. case "hide":
  3051. player.getAppearence().switchHidden();
  3052. player.getPackets().sendGameMessage("Hidden? " + player.getAppearence().isHidden());
  3053. return true;
  3054.  
  3055.  
  3056. case "addsc":
  3057. if(Configs.DEVELOPER_WORLD) {
  3058. player.setStealingCreationPoints(player.getStealingCreationPoints() + 1000);
  3059. }
  3060. return true;
  3061.  
  3062. case "teletome":
  3063. String name = "";
  3064. Player target = null;
  3065. for (int i = 1; i < cmd.length; i++)
  3066. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3067. target = World.getPlayerByDisplayName(name);
  3068. if(target == null)
  3069. player.getPackets().sendGameMessage(
  3070. "Couldn't find player " + name + ".");
  3071. else {
  3072. if (target.isLocked() || target.getControlerManager().getControler() != null) {
  3073. player.getPackets().sendGameMessage("You cannot teleport this player.");
  3074. return true;
  3075. }
  3076. if (target.getRights() > 1) {
  3077. player.getPackets().sendGameMessage(
  3078. "Unable to teleport a developer to you.");
  3079. return true;
  3080. }
  3081. target.setNextWorldTile(player);
  3082. }
  3083. return true;
  3084. case "unnull":
  3085. case "sendhome":
  3086. name = "";
  3087. for (int i = 1; i < cmd.length; i++)
  3088. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3089. target = World.getPlayerByDisplayName(name);
  3090. if(target == null)
  3091. player.getPackets().sendGameMessage(
  3092. "Couldn't find player " + name + ".");
  3093. else {
  3094. target.unlock();
  3095. target.getControlerManager().forceStop();
  3096. if(target.getNextWorldTile() == null) //if controler wont tele the player
  3097. target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  3098. player.getPackets().sendGameMessage("You have unnulled: "+target.getDisplayName()+".");
  3099. return true;
  3100. }
  3101. return true;
  3102. }
  3103. }
  3104. return false;
  3105. }
  3106.  
  3107. public static void sendYell(Player player, String message, boolean staffYell) {
  3108. if (!player.isADonator() && !player.isExtremeDonator() && player.getRights() == 0 && !player.isLegendDonator() && !player.isSuperDonator())
  3109. return;
  3110. if (player.getMuted() > Utils.currentTimeMillis()) {
  3111. player.getPackets().sendGameMessage("You temporary muted. Recheck in 48 hours.");
  3112. return;
  3113. }
  3114. if (staffYell) {
  3115. World.sendWorldMessage("[<col=00ffff>Staff</col>] "
  3116. +(player.getRights() > 1 ? "<img=1>" : (player.isSupporter() ? "<img=13>": "<img=0>"))
  3117. + player.getDisplayName()+": <col=00ffff>"
  3118. +message+"</col>", true);
  3119. return;
  3120. }
  3121. if(message.length() > 100)
  3122. message = message.substring(0, 100);
  3123. if (message.toLowerCase().equals("eco") && player.getRights() == 0) {
  3124. return;
  3125. }
  3126. if (player.getRights() < 2) {
  3127. String[] invalid = { "<euro", "<img", "<img=", "<col", "<col=",
  3128. "<shad", "<shad=", "<str>", "<u>" };
  3129. for (String s : invalid)
  3130. if (message.contains(s)) {
  3131. player.getPackets().sendGameMessage("You cannot add additional code to the message.");
  3132. return;
  3133. }
  3134.  
  3135. if (player.isForumModerator())
  3136. World.sendWorldMessage("[<img=0><col=FFFFFF><shad=F5D00C>Forum Moderator</shad></col>] <img=0>" + player.getDisplayName() + ": <col=FFFFFF><shad=F5D00C>" + message + "", false);
  3137.  
  3138. else if (player.getRights() == 1)
  3139. World.sendWorldMessage("[<col=808080><shad=515756>Moderator</shad></col>] <img=0>" + player.getDisplayName() + ": <col=808080><shad=515756>" + message + "", false);
  3140.  
  3141. else if (player.isSupporter() && player.getRights() == 0)
  3142. World.sendWorldMessage("[<img=13><col=58ACFA><shad=2E2EFE>Support Team</shad></col>] <img=13> "+player.getDisplayName()+": <col=58ACFA><shad=2E2EFE>"+message+"</shad></col>.", false);
  3143.  
  3144. else if (player.isPromoter())
  3145. World.sendWorldMessage("[<col=99FFFF>Promoter</shad></col>] <img=4>" + player.getDisplayName() + ": <col=99FFFF><shad=000000>" + message + "", false);
  3146.  
  3147. else if (player.isUltimateDonator())
  3148. World.sendWorldMessage("<img=14>[<col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ED7818" : player.getYellColor())+">Ultimate Donator</shad></col>] "
  3149. + player.getDisplayName() + ": <col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ED7818" : player.getYellColor())+">" + message + "</shad></col>", false);
  3150.  
  3151. else if (player.isLegendDonator())
  3152. World.sendWorldMessage("<img=11>[<col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "99FFFF" : player.getYellColor())+">Legendary Donator</shad></col>] "
  3153. + player.getDisplayName() + ": <col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "99FFFF" : player.getYellColor())+">" + message + "</shad></col>", false);
  3154.  
  3155. else if(player.isExtremeDonator() && player.getRights() == 0)
  3156. World.sendWorldMessage("<img=9>[<col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ff0000" : player.getYellColor())+">Extreme Donator</shad></col>] "
  3157. + player.getDisplayName() + ": <col="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ff0000" : player.getYellColor())+">" + message + "</shad></col>", false);
  3158.  
  3159. else if (player.isSuperDonator())
  3160. World.sendWorldMessage("<img=10>[<col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "0C9CCC" : player.getYellColor())+">Super Donator</col></shad>] "
  3161. + player.getDisplayName() + ": <col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "0C9CCC" : player.getYellColor())+">" + message + "</shad></col>", false);
  3162.  
  3163. else if (player.isADonator() && player.getRights() == 0)
  3164. World.sendWorldMessage("<img=8>[<col=02ab2f>Donator</col>] " + player.getDisplayName() + ": <col=02ab2f>" + message + "</col>", false);
  3165.  
  3166. else
  3167. World.sendWorldMessage("[<col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "000099" : player.getYellColor())+">"
  3168. +((player.getRights() == 1 && player.getUsername().contains("")) ? "Moderator" : "Global Mod") + "</shad></col>] <img=0>"
  3169. + player.getDisplayName() + ": <col=FFFFFF><shad="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "000099" : player.getYellColor())+">" + message + "</shad></col>", false);
  3170. return;
  3171.  
  3172. } else if (player.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  3173. World.sendWorldMessage("[<col=FFFFFF><shad=7F61BA>Owner</col></shad>] <img=1>" + player.getDisplayName() + ": <col=FFFFFF><shad=7F61BA>" + message + "</col></shad>", false);
  3174. } else if(player.getRights() == 2) {
  3175. World.sendWorldMessage("[<col=EDE909><shad=000000>Administrator</col></shad>] <img=1>" + player.getDisplayName() + ": <col=EDE909>" + message + "</col>", false);
  3176. }
  3177. }
  3178.  
  3179. public static boolean processNormalCommand(Player player, String[] cmd,
  3180. boolean console, boolean clientCommand) {
  3181. if (clientCommand) {
  3182.  
  3183. } else {
  3184. String message;
  3185. switch (cmd[0]) {
  3186.  
  3187. case "house":
  3188. if(!player.isADonator()) {
  3189. player.getPackets().sendGameMessage("You must be a donator to access this command.");
  3190. return false;
  3191. }
  3192. if(!player.canSpawn())
  3193. return false;
  3194. player.getHouse().enterMyHouse();
  3195. return true;
  3196.  
  3197. case "setpp":
  3198. case "changepp":
  3199. if(!player.getPlayerPin().hasEnteredPin()) {
  3200. return false;
  3201. }
  3202. player.getPlayerPin().promptChange();
  3203. break;
  3204.  
  3205.  
  3206. case "empty":
  3207. player.getDialogueManager().startDialogue("ConfirmEmpty");
  3208. return true;
  3209.  
  3210. case "topic":
  3211. case "thread":
  3212. if (cmd.length < 2) {
  3213. player.sm("SYNTAX - ::thread (id)");
  3214. return false;
  3215. }
  3216. try {
  3217. final int id = Integer.parseInt(cmd[1]);
  3218. //http://thefrostbite.org/community/index.php?showtopic=26
  3219. player.getPackets().sendOpenURL(Configs.FORUM + "index.php?showtopic=" + id);
  3220. } catch (final NumberFormatException e) {
  3221. player.sm("SYNTAX - ::thread (id)");
  3222. }
  3223. break;
  3224.  
  3225.  
  3226. case "forum":
  3227. case "community":
  3228. player.getPackets().sendOpenURL(Configs.FORUM);
  3229. break;
  3230.  
  3231. case "hs":
  3232. case "highscores":
  3233. case "leaderboards":
  3234. player.getPackets().sendOpenURL(Configs.WEBSITE + "/highscores/");
  3235. break;
  3236.  
  3237. case "vote":
  3238. player.getPackets().sendOpenURL(Configs.VOTE);
  3239. return true;
  3240.  
  3241. case "donate":
  3242. player.getPackets().sendOpenURL(Configs.SHOP);
  3243. return true;
  3244.  
  3245. case "donatebenefits":
  3246. case "db":
  3247. player.getPackets().sendOpenURL("http://thefrostbite.org/community/index.php?/topic/25-donation-information/");
  3248. return true;
  3249.  
  3250. case "website":
  3251. player.getPackets().sendOpenURL(Configs.WEBSITE);
  3252. return true;
  3253.  
  3254.  
  3255. case "setyellcolor":
  3256. case "changeyellcolor":
  3257. case "yellcolor":
  3258. if(player.isASuperDonator()) {
  3259. player.getPackets().sendRunScript(109, new Object[] { "Please enter the yell color in HEX format." });
  3260. player.getTemporaryAttributtes().put("yellcolor", Boolean.TRUE);
  3261. } else {
  3262. player.sm("You cannot use this command.");
  3263. }
  3264. return true;
  3265.  
  3266. case "cannon":
  3267. if(player.isAExtremeDonator()) {
  3268. for(int i =0; i < player.getDwarfCannon().ROYAL_ITEMS.length; i++) {
  3269. if(player.hasItem(player.getDwarfCannon().ROYAL_CANNON[i]))
  3270. continue;
  3271. if(player.getInventory().hasFreeSlots()) {
  3272. player.getInventory().addItem(player.getDwarfCannon().ROYAL_ITEMS[i]);
  3273. } else {
  3274. player.getBank().addItem(player.getDwarfCannon().ROYAL_ITEMS[i], 1, false);
  3275. }
  3276. }
  3277. player.sm("You have retreived your dwarf cannon.");
  3278. }
  3279. break;
  3280.  
  3281. case "donatorhelm":
  3282. case "donorhelm":
  3283. if(!player.isALegendDonator()) {
  3284. player.getPackets().sendGameMessage("You must be a legendary donator to use this command.");
  3285. return false;
  3286. }
  3287. if(player.hasItem(12681)) {
  3288. player.getPackets().sendGameMessage("You already have a donator helm");
  3289. return false;
  3290. }
  3291. if(player.getInventory().hasFreeSlots()) {
  3292. player.getInventory().addItem(12681);
  3293. }
  3294. return true;
  3295.  
  3296. case "darkbeasts":
  3297. if (player.isLocked() || player.getControlerManager().getControler() != null) {
  3298. player.getPackets().sendGameMessage("You cannot tele anywhere from here.");
  3299. return true;
  3300. }
  3301. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(1650, 5301, 0));
  3302. return true;
  3303.  
  3304.  
  3305.  
  3306. case "checkpkpoints":
  3307. case "checkpkp":
  3308. case "pkpoints":
  3309. case "pkp":
  3310. player.getPackets().sendGameMessage("You currently have " + player.pkpoints + " pk points.");
  3311. return true;
  3312.  
  3313.  
  3314. case "checkdonation":
  3315. player.sm("You currently have donated a total of $"+player.donatorcredits+".");
  3316. return true;
  3317.  
  3318.  
  3319. case "i":
  3320. case "item":
  3321. case "pickup":
  3322. if (cmd.length < 2) {
  3323. player.getPackets().sendGameMessage(
  3324. "Use: ::item id (optional:amount)");
  3325. return false;
  3326. }
  3327. if(!Configs.DEVELOPER_WORLD) {
  3328. return false;
  3329. }
  3330. try {
  3331. int itemId = Integer.valueOf(cmd[1]);
  3332. ItemDefinitions defs = ItemDefinitions
  3333. .getItemDefinitions(itemId);
  3334. if (defs.isLended())
  3335. return false;
  3336. String name = defs == null ? "" : defs.getName()
  3337. .toLowerCase();
  3338. if (name.contains("Sacred clay")) {
  3339. return false;
  3340. }
  3341. player.getInventory().addItem(itemId,
  3342. cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  3343. } catch (NumberFormatException e) {
  3344. player.getPackets().sendGameMessage(
  3345. "Use: ::item id (optional:amount)");
  3346. }
  3347. return true;
  3348.  
  3349. case "sc":
  3350. case "creations":
  3351. case "stealingcreations":
  3352. case "stealing":
  3353. if (player.isLocked() || player.getControlerManager().getControler() != null) {
  3354. player.getPackets().sendGameMessage("You cannot tele anywhere from here.");
  3355. return false;
  3356. }
  3357. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2968, 9693, 0));
  3358. return true;
  3359.  
  3360.  
  3361. case "chill":
  3362. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(3041, 4532, 0));
  3363. return true;
  3364.  
  3365. case "wcourse":
  3366. case "wildycourse":
  3367. player.getDialogueManager().startDialogue("WildernessCourse");
  3368. return true;
  3369.  
  3370. case "connect": {
  3371. Bot bot = null;
  3372. String name = "";//;;connect username, password
  3373. String password = "";
  3374. if(cmd.length < 3) {
  3375. player.getPackets().sendGameMessage("Incorect syntax: ;;connect username password");
  3376. return false;
  3377. }
  3378. name = cmd[1];
  3379. password = cmd[2];
  3380. if(World.containsPlayer(name)) {
  3381. player.getPackets().sendGameMessage("This bot is already logged in.");
  3382. return false;
  3383. }
  3384. if(SerializableFilesManager.containsPlayer(cmd[1])) {
  3385. bot = (Bot) SerializableFilesManager.loadPlayer(name);
  3386. if(!password.equalsIgnoreCase(bot.getPassword())) {
  3387. player.getPackets().sendGameMessage("You have entered the bots password incorrectly.");
  3388. return false;
  3389. }
  3390. bot.setUsername(name);
  3391. bot.startup();
  3392. player.sm("Bot logged in!: "+bot.getInfo() + ".");
  3393. } else {
  3394. player.sm(Utils.formatPlayerNameForDisplay(name) + " does not exist.");
  3395. }
  3396. return true;
  3397. }
  3398.  
  3399. case "createbot": {//1, 2, 3, 4
  3400. String username = "";
  3401. String password = "";
  3402. String opassword = "";
  3403. Bot bot = null;
  3404. if(cmd.length < 4) {
  3405. player.getPackets().sendGameMessage("Incorect syntax: ;;newbot username password repeat-password");
  3406. return false;
  3407. }
  3408. username = cmd[1];
  3409. password = cmd[2];
  3410. opassword = cmd[3];
  3411. if(!password.equalsIgnoreCase(opassword)) {
  3412. player.getPackets().sendGameMessage("Both passwords do not match.");
  3413. return false;
  3414. }
  3415. if(SerializableFilesManager.containsPlayer(username)) {
  3416. player.sm(Utils.formatString(username) + " already exists!");
  3417. return false;
  3418. }
  3419. bot = new Bot(username, password, new WorldTile(Settings.START_PLAYER_LOCATION)).startup();
  3420. player.sm("Bot created!: "+bot.getInfo() + ".");
  3421. return true;
  3422. }
  3423.  
  3424. case "givemax": {
  3425. String name = "";
  3426. for (int i = 1; i < cmd.length; i++)
  3427. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3428. Bot bot = BotList.get(name);
  3429. if(bot == null)
  3430. return false;
  3431. for (int skill = 0; skill < 25; skill++)
  3432. bot.getSkills().addXp(skill, 150000000);
  3433. bot.friendsChat("WOOT! " + player.getDisplayName() + " finally mastered me!");
  3434. return true;
  3435. }
  3436.  
  3437. case "fcbot": {
  3438. String name = "";
  3439. if(cmd.length < 2)
  3440. return false;
  3441. name = cmd[1];
  3442. message = cmd[2];
  3443. Bot bot = BotList.get(name);
  3444. if(bot == null)
  3445. return false;
  3446. for(int i = 2; i < cmd.length;i++) {
  3447. bot.friendsChat(Utils.fixChatMessage(cmd[i]));
  3448. }
  3449. return true;
  3450. }
  3451.  
  3452. case "ftbot": {
  3453. String name = "";
  3454. if(cmd.length < 2)
  3455. return false;
  3456. name = cmd[1];
  3457. message = cmd[2];
  3458. Bot bot = BotList.get(name);
  3459. if(bot == null)
  3460. return false;
  3461. for(int i = 2; i < cmd.length;i++) {
  3462. bot.publicChat(Utils.fixChatMessage(cmd[i]));
  3463. }
  3464. return true;
  3465. }
  3466.  
  3467. case "disconnect": {
  3468. String name = "";
  3469. String password = "";
  3470. if(cmd.length < 3) {
  3471. player.sm("Incorrect Syntax: ;;disconnect username password");
  3472. return false;
  3473. }
  3474. Bot bot = BotList.get(name);
  3475. if(bot != null) {
  3476. bot.finish();
  3477. player.sm("Bot disconnected: "+bot.getInfo());
  3478. } else
  3479. player.sm("That bot is not online.");
  3480. return true;
  3481. }
  3482.  
  3483. case "market":
  3484. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(3165, 3476, 0));
  3485. return true;
  3486.  
  3487.  
  3488. case "getid":
  3489. String name2;
  3490. name2 = "";
  3491. for (int i = 1; i < cmd.length; i++) {
  3492. name2 += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3493. }
  3494. ItemSearch.searchForItem(player, name2);
  3495. return true;
  3496.  
  3497. case "imid":
  3498. int id = Integer.parseInt(cmd[1]);
  3499. player.getPackets().sendMessage(99,
  3500. "<col=0f00ff>ModelID Drop Model</col> for <col=ff00ff>Item " + id + " </col>is:<col=00ff00> " + ItemDefinitions.getItemDefinitions(id).modelId, player);
  3501. player.getPackets().sendMessage(99,
  3502. "<col=0f00ff>ModelID Male Model 1</col> for <col=ff00ff>Item " + id + " </col>is:<col=00ff00> " + ItemDefinitions.getItemDefinitions(id).maleEquip1, player);
  3503. player.getPackets().sendMessage(99,
  3504. "<col=0f00ff>ModelID Female Model 1</col> for <col=ff00ff>Item " + id + " </col>is:<col=00ff00> " + ItemDefinitions.getItemDefinitions(id).femaleEquip1, player);
  3505. player.getPackets().sendMessage(99,
  3506. "<col=0f00ff>ModelName</col> for <col=ff00ff>Item " + id + " </col>is:<col=00ff00> " + ItemDefinitions.getItemDefinitions(id).getName(), player);
  3507. return true;
  3508.  
  3509. case "imid2":
  3510. int id2 = Integer.parseInt(cmd[1]);
  3511. World.addGroundItem(new Item(id2, 1), new WorldTile(player.getX() + 1, player.getY(), player.getPlane()));
  3512. return true;
  3513.  
  3514. case "ge":
  3515. if(!player.isUltimateDonator()) {
  3516. player.getPackets().sendGameMessage("You need to be an Ultimate Donator to use this command.");
  3517. return false;
  3518. }
  3519. player.getGeManager().openGrandExchange();
  3520. return true;
  3521.  
  3522. case "geh":
  3523. if(!player.isUltimateDonator()) {
  3524. player.getPackets().sendGameMessage("You need to be an Ultimate Donator to use this command.");
  3525. return false;
  3526. }
  3527. player.getGeManager().openHistory();
  3528. return true;
  3529.  
  3530. case "gec":
  3531. if(!player.isUltimateDonator()) {
  3532. player.getPackets().sendGameMessage("You need to be an Ultimate Donator to use this command.");
  3533. return false;
  3534. }
  3535. player.getGeManager().openCollectionBox();
  3536. return true;
  3537.  
  3538. case "home":
  3539. if(player.getControlerManager().getControler() instanceof Wilderness) {
  3540. player.getPackets().sendGameMessage("You cannot teleport out of the wilderness");
  3541. return false;
  3542. }
  3543. player.getControlerManager().removeControlerWithoutCheck();
  3544. player.getControlerManager().forceStop();
  3545. player.getInterfaceManager().removeScreenInterface();
  3546. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(Settings.RESPAWN_PLAYER_LOCATION));
  3547. return true;
  3548.  
  3549. case "44mstream":
  3550. player.getPackets().sendOpenURL("http://www.hitbox.tv/44m");
  3551. return true;
  3552.  
  3553. case "starter":
  3554. if(!player.claimedStarter) {
  3555. player.getDialogueManager().startDialogue("StarterChoice");
  3556. } else {
  3557. player.sm("You have already claimed your starter.");
  3558. }
  3559. return true;
  3560.  
  3561. case "edit":
  3562. case "account":
  3563. case "update":
  3564. if(!player.isASuperDonator()) {
  3565. player.sm("You need to be a Premium Donator to use this feature.");
  3566. return true;
  3567. }
  3568. player.getDialogueManager().startDialogue("EditAccount");
  3569. return true;
  3570.  
  3571.  
  3572. case "claimsuit":
  3573. int mined = player.getGoldOreMined();
  3574. if(mined >= 100) {
  3575. if(!player.hasItem(20787)) {
  3576. player.getBank().addItem(20787, 1, true);
  3577. }
  3578. }
  3579. if(mined >= 200) {
  3580. if(!player.hasItem(20788)) {
  3581. player.getBank().addItem(20788, 1, true);
  3582. }
  3583. }
  3584. if(mined >= 500) {
  3585. if(!player.hasItem(20790)) {
  3586. player.getBank().addItem(20790, 1, true);
  3587. }
  3588. }
  3589. if(mined >= 750) {
  3590. if(!player.hasItem(20791)) {
  3591. player.getBank().addItem(20791, 1, true);
  3592. }
  3593. }
  3594. if(mined >= 1000) {
  3595. if(!player.hasItem(20789)) {
  3596. player.getBank().addItem(20789, 1, true);
  3597. }
  3598. }
  3599. return true;
  3600.  
  3601. case "events":
  3602. player.getPackets().sendGameMessage("<col=F08C00>Active Events: " + (EventManager.getActiveEvents() == null ? "None." : EventManager.getActiveEvents().toString()) + "\n");
  3603. return true;
  3604.  
  3605. case "edge":
  3606. if (player.isLocked() || player.getControlerManager().getControler() != null) {
  3607. player.getPackets().sendGameMessage("You cannot tele anywhere from here.");
  3608. return true;
  3609. }
  3610. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(3090, 3520, 0));
  3611. return true;
  3612.  
  3613. case "fire":
  3614. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2574, 4848, 0));
  3615. return true;
  3616.  
  3617. case "chaos":
  3618. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2281, 4837, 0));
  3619. return true;
  3620.  
  3621. case "nature":
  3622. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2400, 4835, 0));
  3623. return true;
  3624.  
  3625. case "death":
  3626. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2208, 4830, 0));
  3627. return true;
  3628.  
  3629. case "blood":
  3630. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2468, 4889, 1));
  3631. return true;
  3632.  
  3633.  
  3634. case "setdisplay":
  3635. String name = "";
  3636. for (int i = 1; i < cmd.length; i++)
  3637. name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3638. if (!player.isSuperDonator()) {
  3639. player.getPackets().sendGameMessage(
  3640. "You need to be a Super Donator to use this feature");
  3641. return true;
  3642. }
  3643. if (name.length() > 12 || name.length() <= 3) {
  3644. player.getPackets()
  3645. .sendGameMessage(
  3646. "You cannot have more than 12 & less than 2 chars in a display.");
  3647. return true;
  3648. }
  3649. if (name.contains("#") || name.contains("~")
  3650. || name.contains("?") || name.contains(":")
  3651. || name.startsWith(" ") || name.endsWith(" ")
  3652. || name.contains(" ") || name.endsWith("_")
  3653. || name.startsWith("_") || name.startsWith(" ")
  3654. || name.contains("/") || name.contains("/")) {
  3655. player.getPackets().sendGameMessage(
  3656. "Your name cannot contain illegal characters.");
  3657. return true;
  3658. }
  3659. if (name.equalsIgnoreCase(player.getUsername())) {
  3660. player.setDisplayName(null);
  3661. player.getAppearence().generateAppearenceData();
  3662. player.getPackets().sendGameMessage(
  3663. "You changed your display name back to default.");
  3664. return true;
  3665. }
  3666. if (SerializableFilesManager.containsPlayer(name) || DisplayName.containsDisplay(name)) {
  3667. player.getPackets().sendGameMessage("This name has already been taken.");
  3668. return true;
  3669. }
  3670. String[] invalid = { "<img", "<img=", "<col", "<col=", "<shad",
  3671. "<shad=", "<str>", "<u>" };
  3672. for (String s : invalid) {
  3673. if (name.contains(s)) {
  3674. name = name.replace(s, "");
  3675. player.getPackets().sendGameMessage(
  3676. "You cannot add additional code to your name.");
  3677. return true;
  3678. }
  3679. }
  3680. Utils.formatPlayerNameForDisplay(name);
  3681. DisplayName.writeDisplayName(name);
  3682. player.getPackets().sendGameMessage(
  3683. "You changed your display name to "
  3684. + name + ".");
  3685. player.getPackets().sendGameMessage("Remember this can only be done once every 30 days.");
  3686. player.setDisplayName(name);
  3687. player.addDisplayTime(2592000 * 1000);
  3688. player.getAppearence().generateAppearenceData();
  3689. return true;
  3690.  
  3691. case "runespan":
  3692. Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(4297, 6040, 1));
  3693. player.getControlerManager().startControler("RuneSpanControler");
  3694. return true;
  3695.  
  3696. case "ticket":
  3697. if (player.getMuted() > Utils.currentTimeMillis()) {
  3698. player.getPackets().sendGameMessage(
  3699. "You temporary muted. Recheck in 48 hours.");
  3700. return true;
  3701. }
  3702. TicketSystem.requestTicket(player);
  3703. player.getPackets().sendGameMessage("You have sent a ticket, please wait for a staff member to get to you.");
  3704. return true;
  3705.  
  3706. case "ranks":
  3707. PkRank.showRanks(player);
  3708. return true;
  3709. case "score":
  3710. case "kdr":
  3711. double kill = player.getKillCount();
  3712. double death = player.getDeathCount();
  3713. double dr = kill / death;
  3714. player.setNextForceTalk(new ForceTalk(
  3715. "<col=ff0000>I've killed " + player.getKillCount()
  3716. + " players and have been killed "
  3717. + player.getDeathCount() + " times."));
  3718. return true;
  3719. case "players":
  3720. player.getInterfaceManager().sendInterface(1245);
  3721. player.getPackets().sendRunScript(4017,
  3722. World.getPlayers().size() + 2);
  3723. int number = 0;
  3724. for (int i = 0; i < 100; i++) {
  3725. player.getPackets().sendIComponentText(1245, i, "");
  3726. }
  3727. for (Player p : World.getPlayers()) {
  3728. if (p == null) {
  3729. continue;
  3730. }
  3731. number++;
  3732. String titles = "";
  3733. if(p.isADonator()) {
  3734. titles = "[<img=8><col=1A7009>Regular Donator</col>]";
  3735. }
  3736. if(p.isSuperDonator()) {
  3737. titles = "[<img=10><col=1323D1>Super Donator</col>]";
  3738. }
  3739. if(p.isExtremeDonator()) {
  3740. titles = "[<img=9><col=ffffff><shad=FF0000>Extreme Donator</col></shad>]";
  3741. }
  3742. if(p.isLegendDonator()) {
  3743. titles = "[<img=11><col=ffffff><shad=DB8F0B>Legendary Donator</col></shad>]";
  3744. }
  3745. if(p.isUltimateDonator()) {
  3746. titles = "[<img=14><col=ffffff><shad=ED7818>Ultimate Donator</col></shad>]";
  3747. }
  3748. if(p.isIronman()) {
  3749. titles = "[<img=12><col=757778><shad=A7A8A8>Ironman</col>]";
  3750. }
  3751. if(p.isSupporter()) {
  3752. titles = "[<img=13><col=0C87C4>Support Team</col>]";
  3753. }
  3754. if(p.isForumModerator()) {
  3755. titles = "[<img=0><shad=F5D00C><col=ffffff>Forum Moderator</shad></col>]";
  3756. }
  3757. if(p.getRights() == 1) {
  3758. titles = "[<img=0><shad=515756><col=ffffff>Moderator</shad></col>]";
  3759. }
  3760. if(p.getRights() == 2) {
  3761. titles = "[<img=1><col=EDE909>Administrator</col>]";
  3762. }
  3763. if(p.getUsername().equalsIgnoreCase(Configs.OWNER)) {
  3764. titles = "[<img=1><col=ffffff><shad=0000ff>Frostbite Owner</col></shad>]";
  3765. }
  3766. if(p.getUsername().equalsIgnoreCase(Configs.CO_OWNER)) {
  3767. titles = "[<img=1><col=ffffff><shad=0000ff>Frostbite Co-Owner</col></shad>]";
  3768. }
  3769. if(p.getUsername().equalsIgnoreCase(Configs.SERVER_MANAGER)) {
  3770. titles = "[<img=1><col=ffffff><shad=0000ff>Frostbite Manager</col></shad>]";
  3771. }
  3772. if(p.getUsername().equalsIgnoreCase(Configs.SERVER_DEVELOPER)) {
  3773. titles = "[<img=1><col=ffffff><shad=7A0996>Frostbite Developer</col></shad>]";
  3774. }
  3775. if(p.getUsername().equalsIgnoreCase(Configs.WEB_DEVELOPER)) {
  3776. titles = "[<img=1><col=ffffff><shad=7A0996>Frostbite Web Developer</col></shad>]";
  3777. }
  3778. if(p.getUsername().equalsIgnoreCase(Configs.HEAD_MODERATOR)) {
  3779. titles = "[<img=0><col=515756>Head Moderator</col>]";
  3780. }
  3781. if(p.getUsername().equalsIgnoreCase(Configs.HEAD_SUPPORT)) {
  3782. titles = "[<img=13><col=0C87C4>Head Support</col>]";
  3783. }
  3784. if(p.getRights() == 0) {
  3785. //titles = "[" + p.getClassManager().getClassNameWithColor() + "]";
  3786. }
  3787. player.getPackets().sendIComponentText(1245, 14 + number,
  3788. titles + p.getDisplayName());
  3789. }
  3790. player.getPackets().sendIComponentText(1245, 330,
  3791. "Frostbite Players Online");
  3792. player.getPackets().sendIComponentText(1245, 13,
  3793. "Players Online: " + number);
  3794. player.getPackets().sendGameMessage(
  3795. "There are currently " + World.getPlayers().size()
  3796. + " players online.");
  3797. return true;
  3798.  
  3799. case "title":
  3800. if (!player.isADonator()) {
  3801. player.getPackets().sendGameMessage(
  3802. "You do not have the privileges to use this.");
  3803. return true;
  3804. }
  3805. if (Integer.valueOf(cmd[1]) > 90) {
  3806. player.sm("You are restricted from using this title.");
  3807. }
  3808. if (cmd.length < 2) {
  3809. player.getPackets().sendGameMessage("Use: ::title id");
  3810. return true;
  3811. }
  3812. try {
  3813. player.getAppearence().setTitle(Integer.valueOf(cmd[1]));
  3814. } catch (NumberFormatException e) {
  3815. player.getPackets().sendGameMessage("Use: ::title id");
  3816. }
  3817. return true;
  3818.  
  3819. case "setname":
  3820. if (!player.isSuperDonator()) {
  3821. player.getPackets().sendGameMessage(
  3822. "You must be a Super Donator to use this feature.");
  3823. player.sm("To remove your current display name, type ::removedisplay.");
  3824. return true;
  3825. }
  3826. player.getTemporaryAttributtes().put("setdisplay", Boolean.TRUE);
  3827. player.getPackets().sendInputNameScript("Enter the display name you wish:");
  3828. return true;
  3829.  
  3830. case "resettask":
  3831. case "rtask":
  3832. if(player.isASuperDonator()) {
  3833. player.getSlayerManager().skipCurrentTask();
  3834. player.getPackets().sendGameMessage("Your slayer task has been reset.");
  3835. } else {
  3836. player.sm("You need to be a super donator to use this command.");
  3837. }
  3838. return true;
  3839.  
  3840. case "bank":
  3841. if (player.isIronman) {
  3842. player.sm("Ironman accounts cannot use the bank command.");
  3843. return false;
  3844. }
  3845. if(player.getControlerManager().getControler() instanceof StealingCreationLobbyController ||
  3846. player.getControlerManager().getControler() instanceof StealingCreationController) {
  3847. return false;
  3848. }
  3849. if (!player.canSpawn()) {
  3850. player.getPackets().sendGameMessage(
  3851. "You can't bank while you're in this area.");
  3852. return false;
  3853. }
  3854. if (!player.isASuperDonator()) {
  3855. player.getPackets().sendGameMessage(
  3856. "You do not have the privileges to use this.");
  3857. return false;
  3858. }
  3859. if (player.isSuperDonator() || player.isLegendDonator()) {
  3860. if (!Wilderness.isAtWild(player) && !FfaZone.inShadowBoss(player)) {
  3861. player.stopAll();
  3862. player.getBank().openBank();
  3863. return true;
  3864. } else {
  3865. player.sm("You cannot bank here..");
  3866. return false;
  3867. }
  3868. }
  3869. player.stopAll();
  3870. player.getBank().openBank();
  3871. return true;
  3872.  
  3873. case "blueskin":
  3874. if (!player.isADonator()) {
  3875. player.getPackets().sendGameMessage(
  3876. "You do not have the privileges to use this.");
  3877. return true;
  3878. }
  3879. player.getAppearence().setSkinColor(12);
  3880. player.getAppearence().generateAppearenceData();
  3881. return true;
  3882.  
  3883. case "greenskin":
  3884. if (!player.isADonator()) {
  3885. player.getPackets().sendGameMessage(
  3886. "You do not have the privileges to use this.");
  3887. return true;
  3888. }
  3889. player.getAppearence().setSkinColor(13);
  3890. player.getAppearence().generateAppearenceData();
  3891. return true;
  3892.  
  3893. case "beforename":
  3894. if (!player.isSuperDonator() || !player.isLegendDonator()) {
  3895. player.getPackets().sendGameMessage(
  3896. "You do not have the privileges to use this.");
  3897. return true;
  3898. }
  3899. player.getAppearence().setTitle(900);
  3900. player.getAppearence().generateAppearenceData();
  3901. return true;
  3902.  
  3903. case "aftername":
  3904. if (!player.isSuperDonator() || !player.isLegendDonator()) {
  3905. player.getPackets().sendGameMessage(
  3906. "You do not have the privileges to use this.");
  3907. return true;
  3908. }
  3909. player.getAppearence().setTitle(901);
  3910. player.getAppearence().generateAppearenceData();
  3911. return true;
  3912.  
  3913.  
  3914. case "claimdonation":
  3915. case "donated":
  3916. try{
  3917. player.rspsdata(player, player.getUsername());
  3918. }catch(Exception e){
  3919. }
  3920. break;
  3921.  
  3922. case "makeover":
  3923. PlayerLook.openCharacterCustomizing(player);
  3924. break;
  3925.  
  3926. case "authcode":
  3927. case "auth":
  3928. case "claim":
  3929. case "claimvote":
  3930. case "voted":
  3931. case "redeem":
  3932. player.getPackets().sendRunScript(109, new Object[] {"Please enter a authentication code :"});
  3933. player.getTemporaryAttributtes().put("authenticatevotes", Boolean.TRUE);
  3934. player.getInterfaceManager().closeChatBoxInterface();
  3935. return true;
  3936.  
  3937. case "bosskills":
  3938. player.showBossKills(player);
  3939. break;
  3940. case "patchnotes":
  3941. Player.openPatchNotes(player);
  3942. return true;
  3943. case "report":
  3944. case "bug":
  3945. if(cmd.length < 2) {
  3946. player.getPackets().sendGameMessage("Incorect Syntax: ;;bug/report (description of bug)");
  3947. return false;
  3948. }
  3949. String bug = "";
  3950. bug = cmd[1];
  3951. Logger.report(player, bug, true);
  3952. break;
  3953. case "suggest":
  3954. case "idea":
  3955. if(cmd.length < 2) {
  3956. player.getPackets().sendGameMessage("Incorect Syntax: ;;bug/report (description of bug)");
  3957. return false;
  3958. }
  3959. String idea = "";
  3960. for (int i = 1; i < cmd.length; i++)
  3961. idea += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3962. Logger.report(player, idea, false);
  3963. break;
  3964. case "songoftheday":
  3965. player.getPackets().sendOpenURL(Settings.SONG_OF_THE_DAY);
  3966. break;
  3967. case "commands":
  3968. String list = "::Home"
  3969. + " <br>"
  3970. + "::Market"
  3971. + "<br>"
  3972. + "::Train/Teleport"
  3973. + "<br>"
  3974. + "::Events (Shows active skill/minigame events)"
  3975. + "<br>"
  3976. + "::Players"
  3977. + "<br>"
  3978. + "::Empty"
  3979. + "<br>"
  3980. + "::Ticket"
  3981. + "<br>"
  3982. + "::Answer (Trivia answer)"
  3983. + "<br>"
  3984. + "::Claim (Voting reward)"
  3985. + "<br>"
  3986. + "::Pricecheck/::pc (itemId) [Shows sell back price to shops]"
  3987. + "<br>"
  3988. + "::Gepricecheck/::gpc (itemId) [Shows sell/buy price in ge]"
  3989. + "<br>"
  3990. + "::Website"
  3991. + "<br>"
  3992. + "::Vote"
  3993. + "<br>"
  3994. + "::Highscores/::Leaderboards"
  3995. + "<br>"
  3996. + "::Forum"
  3997. + "<br>"
  3998. + "::Donate"
  3999. + "<br>"
  4000. + "::Db/::donatorbenefits (view the benefits of being a donator)"
  4001. + "<br>"
  4002. + "::Topic (id)/::Thread (id)"
  4003. + "<br>"
  4004. + "::Quests (Shows which quests are fully working)"
  4005. + "<br>"
  4006. + "::Edge (teleports you to edgeville)"
  4007. + "<br>"
  4008. + "::Makeover"
  4009. + "<br>"
  4010. + "::Tts/rtime (Shows the time left until server restart)"
  4011. + "<br>"
  4012. + "";
  4013. player.getInterfaceManager().sendInterface(1166);
  4014. player.getPackets().sendIComponentText(1166, 23, "Frostbite Commands");
  4015. player.getPackets().sendIComponentText(1166, 1, list);
  4016. player.getPackets().sendIComponentText(1166, 2, "");
  4017. break;
  4018. case "pricecheck":
  4019. case "pc":
  4020. if(cmd.length < 2) {
  4021. player.getPackets().sendGameMessage("Syntax: pc: id");
  4022. return false;
  4023. }
  4024. int price = Integer.valueOf(cmd[1]);
  4025. Item item = new Item(price);
  4026. player.getPackets().sendGameMessage(Utils.formatString(item.getName()) + " is currently selling for " + Utils.formatNumber(Shop.getSellPrice(item, player)) + " coins in the general store.");
  4027. break;
  4028. case "gepricecheck":
  4029. case "gpc":
  4030. if(cmd.length < 2) {
  4031. player.getPackets().sendGameMessage("Syntax: gpc: id");
  4032. return false;
  4033. }
  4034. price = Integer.valueOf(cmd[1]);
  4035. item = new Item(price);
  4036. player.getPackets().sendGameMessage(Utils.formatString(item.getName()) + " is currently selling for " + ItemDefinitions.getItemDefinitions(item.getId()).getValue(item.getId()) + " coins in the grand exchange.");
  4037. break;
  4038. case "quests":
  4039. String quests = "Rune Mysteries"
  4040. + "<br>"
  4041. + "Pirates Treasure"
  4042. + "<br>"
  4043. + "Prince ali Rescue"
  4044. + "<br>"
  4045. + "";
  4046. player.getInterfaceManager().sendInterface(1166);
  4047. player.getPackets().sendIComponentText(1166, 23, "Frostbite Commands");
  4048. player.getPackets().sendIComponentText(1166, 1, quests);
  4049. player.getPackets().sendIComponentText(1166, 2, "");
  4050. break;
  4051. case "tts":
  4052. case "rtime":
  4053. case "restartt":
  4054. player.getPackets().sendGameMessage("<img=5>[<col=FFFFFF><shad=EB901A>Server Restart Reminder</shad></col>] - <col=FFFFFF><shad=EB901A>" + Configs.SERVER_NAME + " will restart in " + World.restartTimerLeft + (World.restartTimerLeft == 1 ? " hour" : " hours") + ".");
  4055. break;
  4056. case "teleports":
  4057. case "teleport":
  4058. case "train":
  4059. TeleportInterface.openSelectSkill(player);
  4060. break;
  4061. case "answer":
  4062. if (cmd.length >= 2) {
  4063. String answer = cmd[1];
  4064. if (cmd.length == 3) {
  4065. answer = cmd[1] + " " + cmd[2];
  4066. }
  4067. if (cmd.length == 4) {
  4068. answer = cmd[1] + " " + cmd[2] + " " + cmd[3];
  4069. }
  4070. if (cmd.length == 5) {
  4071. answer = cmd[1] + " " + cmd[2] + " " + cmd[3] + " " + cmd[4];
  4072. }
  4073. if (cmd.length == 6) {
  4074. answer = cmd[1] + " " + cmd[2] + " " + cmd[3] + " " + cmd[4] + " " + cmd[5];
  4075. }
  4076. TriviaBot.verifyAnswer(player, answer);
  4077. } else {
  4078. player.sm("Syntax is ::" + cmd[0] + " <answer input>.");
  4079. }
  4080. return true;
  4081. case "hideyell":
  4082. player.setYellOff(!player.isYellOff());
  4083. player.getPackets().sendGameMessage("You have turned " +(player.isYellOff() ? "off" : "on") + " yell.");
  4084. return true;
  4085.  
  4086. case "changepass":
  4087. case "changepassword":
  4088. case "password":
  4089. message = "";
  4090. for (int i = 1; i < cmd.length; i++)
  4091. message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4092. if (message.length() > 15 || message.length() < 5) {
  4093. player.getPackets().sendGameMessage(
  4094. "You cannot set your password to over 15 chars.");
  4095. return true;
  4096. }
  4097. player.setPassword(Encrypt.encryptSHA1(cmd[1]));
  4098. player.getPackets().sendGameMessage(
  4099. "You changed your password! Your password is " + cmd[1]
  4100. + ".");
  4101. return true;
  4102.  
  4103. case "yell":
  4104. message = "";
  4105. for (int i = 1; i < cmd.length; i++)
  4106. message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4107. sendYell(player, Utils.fixChatMessage(message), false);
  4108. return true;
  4109.  
  4110. case "switchitemslook":
  4111. case "itemslook":
  4112. player.switchItemsLook();
  4113. player.getPackets().sendGameMessage("You are now playing with " + (player.isOldItemsLook() ? "old" : "new") + " item looks.");
  4114. return true;
  4115.  
  4116. }
  4117. }
  4118. return true;
  4119. }
  4120.  
  4121. public static void archiveLogs(Player player, String[] cmd) {
  4122. try {
  4123. if (player.getRights() < 1)
  4124. return;
  4125. String location = "";
  4126. if (player.getRights() == 2) {
  4127. location = "data/logs/admin/" + player.getUsername() + ".txt";
  4128. } else if (player.getRights() == 1) {
  4129. location = "data/logs/mod/" + player.getUsername() + ".txt";
  4130. }
  4131. String afterCMD = "";
  4132. for (int i = 1; i < cmd.length; i++)
  4133. afterCMD += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  4134. BufferedWriter writer = new BufferedWriter(new FileWriter(location,
  4135. true));
  4136. writer.write("[" + currentTime("dd MMMMM yyyy 'at' hh:mm:ss z") + "] - ::"
  4137. + cmd[0] + " " + afterCMD);
  4138. writer.newLine();
  4139. writer.flush();
  4140. writer.close();
  4141. } catch (IOException e) {
  4142. e.printStackTrace();
  4143. }
  4144. }
  4145.  
  4146. public static String currentTime(String dateFormat) {
  4147. Calendar cal = Calendar.getInstance();
  4148. SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
  4149. return sdf.format(cal.getTime());
  4150. }
  4151.  
  4152. /*
  4153. * doesnt let it be instanced
  4154. */
  4155. private Commands() {
  4156.  
  4157. }
  4158. }
Add Comment
Please, Sign In to add comment