Advertisement
Guest User

Commands

a guest
Jul 25th, 2013
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.40 KB | None | 0 0
  1. package server.model.players.packets;
  2.  
  3. import server.Config;
  4. import server.Connection;
  5. import server.Server;
  6. import server.model.players.Client;
  7. import server.model.players.DialogueHandler;
  8. import server.model.players.PacketType;
  9. import server.model.players.PlayerHandler;
  10. import server.model.players.PlayerSave;
  11. import server.model.players.skills.Smelting;
  12. import server.util.Misc;
  13.  
  14. /**
  15. * Commands
  16. **/
  17. public class Commands implements PacketType
  18. {
  19.  
  20.  
  21. @Override
  22. public void processPacket(Client c, int packetType, int packetSize)
  23. {
  24. String playerCommand = c.getInStream().readString();
  25. if (Config.SERVER_DEBUG)
  26. Misc.println(c.playerName+" playerCommand: "+playerCommand);
  27.  
  28. if (c.playerRights >= 0)
  29. playerCommands(c, playerCommand);
  30. if (isModerator(c.playerName) || isAdministrator(c.playerName) || isOwner(c.playerName))
  31. moderatorCommands(c, playerCommand);
  32. if(isAdministrator(c.playerName) || isOwner(c.playerName))
  33. administratorCommands(c, playerCommand);
  34. if(isOwner(c.playerName))
  35. ownerCommands(c, playerCommand);
  36. }
  37.  
  38. public boolean isModerator (String name) {
  39. for(String s: Config.MODERATORS)
  40. if(s.equalsIgnoreCase(name))
  41. return true;
  42. return false;
  43. }
  44.  
  45. public boolean isAdministrator(String name) {
  46. for(String s: Config.ADMINISTRATORS)
  47. if(s.equalsIgnoreCase(name))
  48. return true;
  49. return false;
  50. }
  51.  
  52. public boolean isOwner(String name) {
  53. for(String s: Config.OWNER)
  54. if(s.equalsIgnoreCase(name))
  55. return true;
  56. return false;
  57. }
  58.  
  59. public int button;
  60.  
  61. public void playerCommands(Client c, String playerCommand)
  62. {
  63. /*
  64. * Basic Player Commands - Players, Changepassword, Yell
  65. **/
  66. if (playerCommand.equalsIgnoreCase("players"))
  67. {
  68. c.sendMessage("There are currently "+PlayerHandler.getPlayerCount()+ " players online.");
  69. }
  70.  
  71. if (playerCommand.startsWith("changepassword") && playerCommand.length() > 15) {
  72. c.playerPass = playerCommand.substring(15);
  73. c.sendMessage("Success your new password is now: " + c.playerPass);
  74. }
  75. if (playerCommand.startsWith("/") && playerCommand.length() > 1) {
  76. if (c.clanId >= 0) {
  77. System.out.println(playerCommand);
  78. playerCommand = playerCommand.substring(1);
  79. Server.clanChat.playerMessageToClan(c.playerId, playerCommand, c.clanId);
  80. } else {
  81. if (c.clanId != -1)
  82. c.clanId = -1;
  83. c.sendMessage("You are not in a clan.");
  84. }
  85. }
  86. if (playerCommand.startsWith("smelt")) {
  87. Smelting.startSmelting(c);
  88. }
  89.  
  90. if (playerCommand.startsWith("setlevel") && c.playerRights > 0) {
  91. try {
  92. String[] args = playerCommand.split(" ");
  93. int skill = Integer.parseInt(args[1]);
  94. int level = Integer.parseInt(args[2]);
  95. if (level > 99)
  96. level = 99;
  97. else if (level < 0)
  98. level = 1;
  99. c.playerXP[skill] = c.getPA().getXPForLevel(level)+5;
  100. c.playerLevel[skill] = c.getPA().getLevelForXP(c.playerXP[skill]);
  101. c.getPA().refreshSkill(skill);
  102. c.getPA().levelUp(skill);
  103. } catch (Exception e){}
  104. }
  105. if (playerCommand.startsWith("item"))
  106. {
  107. try {
  108. String[] args = playerCommand.split(" ");
  109. if (args.length == 3) {
  110. int newItemID = Integer.parseInt(args[1]);
  111. int newItemAmount = Integer.parseInt(args[2]);
  112. if ((newItemID <= 20000) && (newItemID >= 0)) {
  113. c.getItems().addItem(newItemID, newItemAmount);
  114. } else {
  115. c.sendMessage("That item ID does not exist.");
  116. }
  117. } else {
  118. c.sendMessage("Wrong usage: (Ex:(::pickup_ID_Amount)(::item 995 1))");
  119. }
  120. } catch(Exception e) {
  121.  
  122. }
  123. }
  124. if (playerCommand.equalsIgnoreCase("players")) {
  125. c.sendMessage("There are currently "+PlayerHandler.getPlayerCount()+ " players online.");
  126. }
  127. if (playerCommand.startsWith("yell") && c.playerRights >= 1) {
  128. String rank = "";
  129. String Message = playerCommand.substring(4).toLowerCase();
  130. if (c.playerRights >= 1) {
  131. rank = "<col=160>[Mod] "+c.playerName +": ";
  132. }
  133. if (c.playerRights >= 2) {
  134. rank = "<col=160>[Admin] "+c.playerName +": ";
  135. }
  136. if (c.playerRights >= 3) {
  137. rank = "@red@[Owner] @bla@ "+c.playerName +": ";
  138. }
  139. if (c.playerRights >= 4) {
  140. rank = "<col=160>[Donator] ["+c.playerName +"]: ";
  141. }
  142. for (int j = 0; j < PlayerHandler.players.length; j++) {
  143. if (PlayerHandler.players[j] != null) {
  144. Client c2 = (Client)PlayerHandler.players[j];
  145. c2.sendMessage(rank+Misc.optimizeText(Message));
  146. }
  147. }
  148. }
  149. }
  150.  
  151. public void moderatorCommands(Client c, String playerCommand)
  152. {
  153. /*
  154. * Basic Staff Commands - Ban, Mute, Kick, Un-Ban, Un-Mute
  155. **/
  156. if (playerCommand.startsWith("ban") && playerCommand.charAt(3) == ' ')
  157. {
  158. try {
  159. String playerToBan = playerCommand.substring(4);
  160. Connection.addNameToBanList(playerToBan);
  161. Connection.addNameToFile(playerToBan);
  162. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  163. if(PlayerHandler.players[i] != null) {
  164. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  165. PlayerHandler.players[i].disconnected = true;
  166. Client c2 = (Client)PlayerHandler.players[i];
  167. c2.sendMessage(" " +c2.playerName+ " Got Banned By " + c.playerName+ ".");
  168. }
  169. }
  170. }
  171. } catch(Exception e) {
  172. c.sendMessage("Player Must Be Offline.");
  173. }
  174. }
  175. if (playerCommand.startsWith("kick") && playerCommand.charAt(4) == ' ')
  176. {
  177. try {
  178. String playerToBan = playerCommand.substring(5);
  179. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  180. if(PlayerHandler.players[i] != null) {
  181. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  182. PlayerHandler.players[i].disconnected = true;
  183. }
  184. }
  185. }
  186. } catch(Exception e) {
  187. c.sendMessage("Player Must Be Offline.");
  188. }
  189. }
  190.  
  191. if (playerCommand.startsWith("unban"))
  192. {
  193. try {
  194. String playerToBan = playerCommand.substring(6);
  195. Connection.removeNameFromBanList(playerToBan);
  196. c.sendMessage(playerToBan + " has been unbanned.");
  197. } catch(Exception e) {
  198. c.sendMessage("Player Must Be Offline.");
  199. }
  200. }
  201. }
  202. public void administratorCommands(Client c, String playerCommand)
  203. {
  204. /*
  205. * Staff Commands - Ipmute, Ipban, Un-Ipmute,
  206. **/
  207. if (playerCommand.startsWith("ipmute"))
  208. {
  209. try {
  210. String playerToBan = playerCommand.substring(7);
  211. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  212. if(PlayerHandler.players[i] != null) {
  213. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  214. Connection.addIpToMuteList(PlayerHandler.players[i].connectedFrom);
  215. c.sendMessage("You have IP Muted the user: "+PlayerHandler.players[i].playerName);
  216. Client c2 = (Client)PlayerHandler.players[i];
  217. c2.sendMessage("You have been muted by: " + c.playerName);
  218. c2.sendMessage(" " +c2.playerName+ " Got IpMuted By " + c.playerName+ ".");
  219. break;
  220. }
  221. }
  222. }
  223. } catch(Exception e) {
  224. c.sendMessage("Player Must Be Offline.");
  225. }
  226. }
  227.  
  228. if (playerCommand.startsWith("ipban"))
  229. {
  230. try {
  231. String playerToBan = playerCommand.substring(6);
  232. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  233. if(PlayerHandler.players[i] != null) {
  234. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  235. Connection.addIpToBanList(PlayerHandler.players[i].connectedFrom);
  236. Connection.addIpToFile(PlayerHandler.players[i].connectedFrom);
  237. c.sendMessage("You have IP banned the user: "+PlayerHandler.players[i].playerName+" with the host: "+PlayerHandler.players[i].connectedFrom);
  238. Client c2 = (Client)PlayerHandler.players[i];
  239. PlayerHandler.players[i].disconnected = true;
  240. c2.sendMessage(" " +c2.playerName+ " Got IpBanned By " + c.playerName+ ".");
  241. }
  242. }
  243. }
  244. } catch(Exception e) {
  245. c.sendMessage("Player Must Be Offline.");
  246. }
  247. }
  248.  
  249. if (playerCommand.startsWith("unipmute"))
  250. {
  251. try {
  252. String playerToBan = playerCommand.substring(9);
  253. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  254. if(PlayerHandler.players[i] != null) {
  255. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  256. Connection.unIPMuteUser(PlayerHandler.players[i].connectedFrom);
  257. c.sendMessage("You have Un Ip-Muted the user: "+PlayerHandler.players[i].playerName);
  258. break;
  259. }
  260. }
  261. }
  262. } catch(Exception e) {
  263. c.sendMessage("Player Must Be Offline.");
  264. }
  265. }
  266.  
  267. /*
  268. * Staff Teleportation Commands - Tele, Xteleto, Xteletome, Alltome
  269. **/
  270.  
  271. if (playerCommand.startsWith("tele"))
  272. {
  273. String[] arg = playerCommand.split(" ");
  274. if (arg.length > 3)
  275. c.getPA().movePlayer(Integer.parseInt(arg[1]),Integer.parseInt(arg[2]),Integer.parseInt(arg[3]));
  276. else if (arg.length == 3)
  277. c.getPA().movePlayer(Integer.parseInt(arg[1]),Integer.parseInt(arg[2]),c.heightLevel);
  278. }
  279.  
  280. if (playerCommand.startsWith("xteleto"))
  281. {
  282. String name = playerCommand.substring(8);
  283. for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  284. if (PlayerHandler.players[i] != null) {
  285. if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
  286. c.getPA().movePlayer(PlayerHandler.players[i].getX(), PlayerHandler.players[i].getY(), PlayerHandler.players[i].heightLevel);
  287. }
  288. }
  289. }
  290. }
  291. if (playerCommand.startsWith("fuck498")) {
  292. c.gfx100(1515);
  293. c.startAnimation(8525);
  294. }
  295. if (playerCommand.startsWith("xteletome"))
  296. {
  297. try {
  298. String playerToTele = playerCommand.substring(10);
  299. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  300. if(PlayerHandler.players[i] != null) {
  301. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToTele)) {
  302. Client c2 = (Client)PlayerHandler.players[i];
  303. c2.sendMessage("You have been teleported to " + c.playerName);
  304. c2.getPA().movePlayer(c.getX(), c.getY(), c.heightLevel);
  305. break;
  306. }
  307. }
  308. }
  309. } catch(Exception e) {
  310. c.sendMessage("Player Must Be Offline.");
  311. }
  312. }
  313.  
  314. if (playerCommand.equals("alltome"))
  315. {
  316. for (int j = 0; j < PlayerHandler.players.length; j++) {
  317. if (PlayerHandler.players[j] != null) {
  318. Client c2 = (Client)PlayerHandler.players[j];
  319. c2.teleportToX = c.absX;
  320. c2.teleportToY = c.absY;
  321. c2.heightLevel = c.heightLevel;
  322. c2.sendMessage("Mass teleport to: " + c.playerName + "");
  323. }
  324. }
  325. }
  326.  
  327. /*
  328. * Other Staff Commands - Object, Npc, Anim, Gfx, Interface, Mypos
  329. **/
  330.  
  331. if (playerCommand.startsWith("object"))
  332. {
  333. String[] args = playerCommand.split(" ");
  334. c.getPA().object(Integer.parseInt(args[1]), c.absX, c.absY, 0, 10);
  335. }
  336.  
  337. if(playerCommand.startsWith("npc"))
  338. {
  339. try {
  340. int newNPC = Integer.parseInt(playerCommand.substring(4));
  341. if(newNPC > 0) {
  342. Server.npcHandler.spawnNpc(c, newNPC, c.absX, c.absY, 0, 0, 120, 7, 70, 70, false, false);
  343. c.sendMessage("You spawn a Npc.");
  344. } else {
  345. c.sendMessage("No such NPC.");
  346. }
  347. } catch(Exception e) {
  348.  
  349. }
  350. }
  351.  
  352. if (playerCommand.startsWith("anim"))
  353. {
  354. String[] args = playerCommand.split(" ");
  355. c.startAnimation(Integer.parseInt(args[1]));
  356. c.getPA().requestUpdates();
  357. }
  358.  
  359. if (playerCommand.startsWith("gfx"))
  360. {
  361. String[] args = playerCommand.split(" ");
  362. c.gfx0(Integer.parseInt(args[1]));
  363. }
  364.  
  365. if (playerCommand.startsWith("quake"))
  366. {
  367. c.earthquake();
  368. }
  369. if (playerCommand.startsWith("uquake"))
  370. {
  371. c.unearthquake();
  372. }
  373. if (playerCommand.startsWith("interface"))
  374. {
  375. String[] args = playerCommand.split(" ");
  376. c.getPA().showInterface(Integer.parseInt(args[1]));
  377. }
  378.  
  379. if (playerCommand.equalsIgnoreCase("mypos"))
  380. {
  381. c.sendMessage("X: "+c.absX+" Y: "+c.absY+" H: "+c.heightLevel);
  382. }
  383.  
  384. /*
  385. * Other Staff Commands - Master, Item, Special, Bank
  386. **/
  387.  
  388. if (playerCommand.equalsIgnoreCase("master"))
  389. {
  390. for (int i = 0; i < 22; i++) {
  391. c.playerLevel[i] = 99;
  392. c.playerXP[i] = c.getPA().getXPForLevel(100);
  393. c.getPA().refreshSkill(i);
  394. }
  395. c.getPA().requestUpdates();
  396. }
  397.  
  398. if (playerCommand.startsWith("item"))
  399. {
  400. try {
  401. String[] args = playerCommand.split(" ");
  402. if (args.length == 3) {
  403. int newItemID = Integer.parseInt(args[1]);
  404. int newItemAmount = Integer.parseInt(args[2]);
  405. if ((newItemID <= 20000) && (newItemID >= 0)) {
  406. c.getItems().addItem(newItemID, newItemAmount);
  407. } else {
  408. c.sendMessage("That item ID does not exist.");
  409. }
  410. } else {
  411. c.sendMessage("Wrong usage: (Ex:(::pickup_ID_Amount)(::item 995 1))");
  412. }
  413. } catch(Exception e) {
  414.  
  415. }
  416. }
  417.  
  418. if (playerCommand.startsWith("spec"))
  419. {
  420. c.specAmount = 500.0;
  421. }
  422.  
  423. if (playerCommand.equalsIgnoreCase("bank"))
  424. {
  425. c.getPA().openUpBank();
  426. }
  427.  
  428. }
  429. private int i;
  430. public void ownerCommands(Client c, String playerCommand)
  431. {
  432. /*
  433. * Owner Givestaff Commands - Givedonator, Givemod, Giveadmin, Demote
  434. **/
  435. if (playerCommand.startsWith("meleehit")) {
  436. c.sendMessage(""+c.getCombat().calculateMeleeMaxHit()+"");
  437. }
  438. if (playerCommand.startsWith("rangehit")) {
  439. c.sendMessage(""+c.getCombat().rangeMaxHit()+"");
  440. c.sendMessage(""+c.getCombat().getRangeStr(i)+"");
  441. }
  442. if (playerCommand.startsWith("givedonor"))
  443. {
  444. try {
  445. String playerToMod = playerCommand.substring(10);
  446. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  447. if(PlayerHandler.players[i] != null) {
  448. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToMod)) {
  449. Client c2 = (Client)PlayerHandler.players[i];
  450. c2.sendMessage("You have been given donator status by " + c.playerName);
  451. c2.playerRights = 4;
  452. c2.logout();
  453.  
  454. break;
  455. }
  456. }
  457. }
  458. } catch(Exception e) {
  459. c.sendMessage("Player Must Be Offline.");
  460. }
  461. }
  462.  
  463. if(playerCommand.startsWith("proswitch") && c.playerRights >= 3){
  464. for (int i = 0; i < 8 ; i++){
  465. c.getItems().wearItem(c.playerItems[i]-1,i);
  466. }
  467. }
  468. if (playerCommand.equals("runes")) {
  469. for(int i = 554; i < 567; i++) {
  470. c.getItems().addItem(i, 250000);
  471. }
  472. }
  473. if (playerCommand.equals("splitbark")) {
  474. DialogueHandler.sendDialogues(c, 270, 0);
  475. }
  476. if (playerCommand.startsWith("givemod"))
  477. {
  478. try {
  479. String playerToMod = playerCommand.substring(8);
  480. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  481. if(PlayerHandler.players[i] != null) {
  482. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToMod)) {
  483. Client c2 = (Client)PlayerHandler.players[i];
  484. c2.sendMessage("You have been given mod status by " + c.playerName);
  485. c2.playerRights = 1;
  486. c2.logout();
  487. break;
  488. }
  489. }
  490. }
  491. } catch(Exception e) {
  492. c.sendMessage("Player Must Be Offline.");
  493. }
  494. }
  495.  
  496. if (playerCommand.startsWith("giveadmin"))
  497. {
  498. try {
  499. String playerToAdmin = playerCommand.substring(10);
  500. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  501. if(PlayerHandler.players[i] != null) {
  502. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToAdmin)) {
  503. Client c2 = (Client)PlayerHandler.players[i];
  504. c2.sendMessage("You have been given admin status by " + c.playerName);
  505. c2.playerRights = 2;
  506. c2.logout();
  507. break;
  508. }
  509. }
  510. }
  511. } catch(Exception e) {
  512. c.sendMessage("Player Must Be Offline.");
  513. }
  514. }
  515.  
  516. if (playerCommand.startsWith("demote"))
  517. {
  518. try {
  519. String playerToDemote = playerCommand.substring(7);
  520. for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  521. if(PlayerHandler.players[i] != null) {
  522. if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToDemote)) {
  523. Client c2 = (Client)PlayerHandler.players[i];
  524. c2.sendMessage("You have been demoted by " + c.playerName);
  525. c2.playerRights = 0;
  526. c2.logout();
  527. break;
  528. }
  529. }
  530. }
  531. } catch(Exception e) {
  532. c.sendMessage("Player Must Be Offline.");
  533. }
  534. }
  535.  
  536. /*
  537. * Owner Server Commands - Update, Reloadspawns
  538. **/
  539.  
  540. if (playerCommand.startsWith("update"))
  541. {
  542. String[] args = playerCommand.split(" ");
  543. int a = Integer.parseInt(args[1]);
  544. PlayerHandler.updateSeconds = a;
  545. PlayerHandler.updateAnnounced = false;
  546. PlayerHandler.updateRunning = true;
  547. PlayerHandler.updateStartTime = System.currentTimeMillis();
  548. }
  549.  
  550. if (playerCommand.startsWith("reloadspawns"))
  551. {
  552. Server.npcHandler = null;
  553. Server.npcHandler = new server.model.npcs.NPCHandler();
  554. for (int j = 0; j < PlayerHandler.players.length; j++) {
  555. if (PlayerHandler.players[j] != null) {
  556. Client c2 = (Client)PlayerHandler.players[j];
  557. c2.sendMessage("<shad=15695415>[" + c.playerName + "] " + "NPC Spawns have been reloaded.</col>");
  558. }
  559. }
  560.  
  561. }
  562. if (playerCommand.startsWith("spec") && c.playerRights > 2) {
  563. c.specAmount = 100.0;
  564. }
  565. if(playerCommand.startsWith("pnpc")) {
  566. int npc = Integer.parseInt(playerCommand.substring(5));
  567. if(npc < 9999){
  568. c.npcId2 = npc;
  569. c.isNpc = true;
  570. c.updateRequired = true;
  571. c.appearanceUpdateRequired = true;
  572. }
  573. }
  574. if(playerCommand.startsWith("unpc")) {
  575. c.isNpc = false;
  576. c.updateRequired = true;
  577. c.appearanceUpdateRequired = true;
  578. }
  579. if (playerCommand.startsWith("barb")) {
  580. c.sendMessage(""+c.barbPoints+"");
  581. }
  582. if (playerCommand.startsWith("seatroll")) {
  583. Server.SeaTroll.enter(c);
  584. }
  585. if (playerCommand.startsWith("jad")){
  586. c.sendMessage(""+c.waveId+"");
  587. }
  588. if (playerCommand.startsWith("save")) {
  589. PlayerSave.saveGame(c);
  590. }
  591. if (playerCommand.startsWith("lunar")) {
  592. c.setSidebarInterface(6, 16640);
  593. c.playerMagicBook = 2;
  594. } else if (playerCommand.startsWith("ancient")) {
  595. c.setSidebarInterface(6, 12855);
  596. c.playerMagicBook = 1;
  597. } else if (playerCommand.startsWith("modern")) {
  598. c.setSidebarInterface(6, 1151);
  599. c.playerMagicBook = 0;
  600. }
  601. }
  602. /*
  603. * End of Commands Class
  604. **/
  605. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement