Guest User

Untitled

a guest
Sep 16th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.00 KB | None | 0 0
  1. package server.game.packets;
  2.  
  3. import server.Config;
  4. import server.Connection;
  5. import server.game.npcs.NPCHandler;
  6. import server.game.players.Client;
  7. import server.game.players.PacketType;
  8. import server.game.players.Player;
  9. import server.game.players.PlayerHandler;
  10. import server.game.players.PlayerSave;
  11. import server.util.Misc;
  12.  
  13. /**
  14.  * Commands
  15.  * @author Andrew Edited By Humid
  16.  **/
  17.  
  18. public class Commands implements PacketType
  19. {
  20.    
  21.     @Override
  22.     public void processPacket(Client c, int packetType, int packetSize) {
  23.     String playerCommand = c.getInStream().readString();
  24.     if (Config.SERVER_DEBUG)
  25.         Misc.println(c.playerName+" playerCommand: "+playerCommand);
  26.    
  27.     if (c.playerRights >= 0)
  28.         playerCommands(c, playerCommand);
  29.     if (c.playerRights >= 1)
  30.         PlayerModCommands(c, playerCommand);
  31.     if (c.playerRights >= 2)
  32.         adminCommands(c, playerCommand);
  33.     if (c.playerRights == 3)
  34.         developerCommands(c, playerCommand);
  35.     if (c.playerRights == 4)
  36.         MemberCommands(c, playerCommand);  
  37.     }
  38.  
  39.    
  40.     public void playerCommands(Client c, String playerCommand)
  41.     {
  42.    
  43.     if (playerCommand.equalsIgnoreCase("players")) {
  44.             c.sendMessage("There are currently "
  45.                     + PlayerHandler.getPlayerCount() + " players online.");
  46.         }
  47.        
  48.     if (playerCommand.startsWith("noclip") && (c.playerRights != 3)) {
  49.         return;        
  50.     }
  51.            
  52.         if (playerCommand.startsWith("changepassword")
  53.                 && playerCommand.length() > 15) {
  54.             c.playerPass = playerCommand.substring(15);
  55.             c.sendMessage("Your password is now: " + c.playerPass);
  56.         }
  57.     }
  58.    
  59.                
  60.     public void PlayerModCommands(Client c, String playerCommand)
  61.     {
  62.    
  63.     if (playerCommand.startsWith("empty")) {
  64.     c.getPA().handleEmpty();
  65.     }
  66.    
  67.     if (playerCommand.startsWith("unmute")) {
  68.  
  69.             try {
  70.                 String playerToBan = playerCommand.substring(7);
  71.                 Connection.unMuteUser(playerToBan);
  72.             } catch (Exception e) {
  73.                 c.sendMessage("Player Must Be Offline.");
  74.             }
  75.         }
  76.         if (playerCommand.startsWith("mute")) {
  77.  
  78.             try {
  79.                 String playerToBan = playerCommand.substring(5);
  80.                 Connection.addNameToMuteList(playerToBan);
  81.                 for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  82.                     if (PlayerHandler.players[i] != null) {
  83.                         if (PlayerHandler.players[i].playerName
  84.                                 .equalsIgnoreCase(playerToBan)) {
  85.                             Client c2 = (Client) PlayerHandler.players[i];
  86.                             c2.sendMessage("You have been muted by: "
  87.                                     + c.playerName);
  88.                             break;
  89.                         }
  90.                     }
  91.                 }
  92.             } catch (Exception e) {
  93.                 c.sendMessage("Player Must Be Offline.");
  94.             }
  95.         }
  96.  
  97.     }
  98.    
  99.     public void adminCommands(Client c, String playerCommand)
  100.     {
  101.    
  102.     if (playerCommand.startsWith("bank")) {
  103.                 c.getPA().openUpBank();
  104.             }
  105.    
  106.     if (playerCommand.startsWith("xteleto")) {
  107.                 String name = playerCommand.substring(8);
  108.                 for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  109.                     if (PlayerHandler.players[i] != null) {
  110.                         if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
  111.                             c.getPA().movePlayer(PlayerHandler.players[i].getX(), PlayerHandler.players[i].getY(), PlayerHandler.players[i].heightLevel);
  112.                         }
  113.                     }
  114.                 }          
  115.             }
  116.            
  117.          if (playerCommand.startsWith("tele")) {
  118.                 String[] arg = playerCommand.split(" ");
  119.                 if (arg.length > 3)
  120.                     c.getPA().movePlayer(Integer.parseInt(arg[1]), Integer.parseInt(arg[2]), Integer.parseInt(arg[3]));
  121.                 else if (arg.length == 3)
  122.                     c.getPA().movePlayer(Integer.parseInt(arg[1]), Integer.parseInt(arg[2]), c.heightLevel);
  123.             }
  124.  
  125.     if (playerCommand.startsWith("ipban")) {
  126.                 try {
  127.                     String playerToBan = playerCommand.substring(6);
  128.                     for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  129.                         if(PlayerHandler.players[i] != null) {
  130.                             if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  131.                                 Connection.addIpToBanList(PlayerHandler.players[i].connectedFrom);
  132.                                 Connection.addIpToFile(PlayerHandler.players[i].connectedFrom);
  133.                                 c.sendMessage("@red@["+PlayerHandler.players[i].playerName+"] has been IP Banned with the host: "+PlayerHandler.players[i].connectedFrom);
  134.                                 PlayerHandler.players[i].disconnected = true;
  135.                             }
  136.                         }
  137.                     }
  138.                 } catch(Exception e) {
  139.                     c.sendMessage("Player Must Be Offline.");
  140.                 }
  141.             }
  142.  
  143.         if (playerCommand.startsWith("unban")) {
  144.  
  145.             try {
  146.                 String playerToBan = playerCommand.substring(6);
  147.                 Connection.removeNameFromBanList(playerToBan);
  148.                 c.sendMessage(playerToBan + " has been unbanned.");
  149.             } catch (Exception e) {
  150.                 c.sendMessage("Player Must Be Offline.");
  151.             }
  152.         }
  153.  
  154.  
  155.     if (playerCommand.startsWith("ban") && playerCommand.charAt(3) == ' ') {
  156.             try {
  157.                 String playerToBan = playerCommand.substring(4);
  158.                 Connection.addNameToBanList(playerToBan);
  159.                 Connection.addNameToFile(playerToBan);
  160.                 for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  161.                     if (PlayerHandler.players[i] != null) {
  162.                         if (PlayerHandler.players[i].playerName
  163.                                 .equalsIgnoreCase(playerToBan)) {
  164.                             PlayerHandler.players[i].disconnected = true;
  165.                         }
  166.                     }
  167.                 }
  168.             } catch (Exception e) {
  169.                 c.sendMessage("Player Must Be Offline.");
  170.             }
  171.         }
  172.  
  173.            if (playerCommand.startsWith("ipmute")) {
  174.             try {  
  175.                String playerToBan = playerCommand.substring(7);
  176.                for(int i = 0; i < Config.MAX_PLAYERS; i++) {
  177.                   if(PlayerHandler.players[i] != null) {
  178.                      if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
  179.                         Connection.addIpToMuteList(PlayerHandler.players[i].connectedFrom);
  180.                         c.sendMessage("You have IP Muted the user: "+PlayerHandler.players[i].playerName);
  181.                         Client c2 = (Client)PlayerHandler.players[i];
  182.                         c2.sendMessage("You have been muted by: " + c.playerName);
  183.                         break;
  184.                      }
  185.                   }
  186.                }
  187.             } catch(Exception e) {
  188.                c.sendMessage("Player Must Be Offline.");
  189.             }        
  190.          }
  191.          
  192.          if(playerCommand.startsWith("restart")) {
  193.         for(Player p : PlayerHandler.players) {
  194.         if(p == null)
  195.                  continue;                     
  196.         PlayerSave.saveGame((Client)p);
  197.         }
  198.         System.exit(0);
  199.         }
  200.        
  201.         if (playerCommand.startsWith("dialogue")) {
  202.             int npcType = 1552;
  203.             int id = Integer.parseInt(playerCommand.split(" ")[1]);
  204.             c.getDH().sendDialogues(id, npcType);
  205.         }
  206.        
  207.         if (playerCommand.startsWith("interface")) {
  208.             String[] args = playerCommand.split(" ");
  209.             c.getPA().showInterface(Integer.parseInt(args[1]));
  210.         }
  211.         if (playerCommand.startsWith("gfx")) {
  212.             String[] args = playerCommand.split(" ");
  213.             c.gfx0(Integer.parseInt(args[1]));
  214.         }
  215.         if (playerCommand.startsWith("anim")) {
  216.             String[] args = playerCommand.split(" ");
  217.             c.startAnimation(Integer.parseInt(args[1]));
  218.             c.getPA().requestUpdates();
  219.         }
  220.  
  221.         if (playerCommand.equalsIgnoreCase("mypos")) {
  222.             c.sendMessage("X: " + c.absX);
  223.             c.sendMessage("Y: " + c.absY);
  224.             c.sendMessage("H: " + c.heightLevel);
  225.         }
  226.  
  227.                 if (playerCommand.startsWith("xteletome")) {
  228.                 String name = playerCommand.substring(10);
  229.                 for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  230.                     if (PlayerHandler.players[i] != null) {
  231.                         if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
  232.                             Client other = (Client) PlayerHandler.players[i];
  233.                             other.getPA().movePlayer(c.getX(), c.getY(), c.heightLevel);
  234.                         }
  235.                     }
  236.                 }          
  237.             }
  238.            
  239.             if (playerCommand.equals("spec")) {
  240.                     c.specAmount = 100.0;
  241.             }
  242.    
  243.         if (playerCommand.startsWith("setlevel")) {
  244.             try {
  245.                 String[] args = playerCommand.split(" ");
  246.                 int skill = Integer.parseInt(args[1]);
  247.                 int level = Integer.parseInt(args[2]);
  248.                 if (level > 99) {
  249.                     level = 99;
  250.                 } else if (level < 0) {
  251.                     level = 1;
  252.                 }
  253.                 c.playerXP[skill] = c.getPA().getXPForLevel(level) + 5;
  254.                 c.playerLevel[skill] = c.getPA().getLevelForXP(
  255.                         c.playerXP[skill]);
  256.                 c.getPA().refreshSkill(skill);
  257.                 c.getPA().levelUp(skill);
  258.             } catch (Exception e) {
  259.             }
  260.         }
  261.  
  262.         if (playerCommand.startsWith("item")) {
  263.             try {
  264.                 String[] args = playerCommand.split(" ");
  265.                 if (args.length == 3) {
  266.                     int newItemID = Integer.parseInt(args[1]);
  267.                     int newItemAmount = Integer.parseInt(args[2]);
  268.                     if ((newItemID <= 25000) && (newItemID >= 0)) {
  269.                         c.getItems().addItem(newItemID, newItemAmount);
  270.                     } else {
  271.                         c.sendMessage("No such item.");
  272.                     }
  273.                 } else {
  274.                     c.sendMessage("Use as ::item 995 200");
  275.                 }
  276.             } catch (Exception e) {
  277.             }
  278.         }
  279.  
  280.  
  281.         if (playerCommand.startsWith("unipmute")) {
  282.  
  283.             try {
  284.                 String playerToBan = playerCommand.substring(9);
  285.                 for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  286.                     if (PlayerHandler.players[i] != null) {
  287.                         if (PlayerHandler.players[i].playerName
  288.                                 .equalsIgnoreCase(playerToBan)) {
  289.                             Connection
  290.                                     .unIPMuteUser(PlayerHandler.players[i].connectedFrom);
  291.                             c.sendMessage("You have Un Ip-Muted the user: "
  292.                                     + PlayerHandler.players[i].playerName);
  293.                             break;
  294.                         }
  295.                     }
  296.                 }
  297.             } catch (Exception e) {
  298.                 c.sendMessage("Player Must Be Offline.");
  299.             }
  300.         }
  301.     }
  302.    
  303.     public void developerCommands(Client c, String playerCommand)
  304.     {
  305.    
  306.             /*/if (playerCommand.startsWith("award"))
  307.                 for (Player player : PlayerHandler.players) {
  308.                     if (player != null && player.playerName.toLowerCase().equalsIgnoreCase(playerCommand.substring(6))) {
  309.                          final Client other = (Client) player;      
  310.                          other.membership = true;
  311.                          other.sendMessage("You have been awarded membership relog for it to update.");
  312.                     }
  313.                 }/*/ //add this after pre alpha is over
  314.    
  315.             if (playerCommand.startsWith("xteletome")) {
  316.                 String name = playerCommand.substring(10);
  317.                 for (int i = 0; i < Config.MAX_PLAYERS; i++) {
  318.                     if (PlayerHandler.players[i] != null) {
  319.                         if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
  320.                             Client other = (Client) PlayerHandler.players[i];
  321.                             other.getPA().movePlayer(c.getX(), c.getY(), c.heightLevel);
  322.                         }
  323.                     }
  324.                 }          
  325.             }
  326.            
  327.             if (playerCommand.equals("spec")) {
  328.                     c.specAmount = 100.0;
  329.             }
  330.    
  331.         if (playerCommand.startsWith("setlevel")) {
  332.             try {
  333.                 String[] args = playerCommand.split(" ");
  334.                 int skill = Integer.parseInt(args[1]);
  335.                 int level = Integer.parseInt(args[2]);
  336.                 if (level > 99) {
  337.                     level = 99;
  338.                 } else if (level < 0) {
  339.                     level = 1;
  340.                 }
  341.                 c.playerXP[skill] = c.getPA().getXPForLevel(level) + 5;
  342.                 c.playerLevel[skill] = c.getPA().getLevelForXP(
  343.                         c.playerXP[skill]);
  344.                 c.getPA().refreshSkill(skill);
  345.                 c.getPA().levelUp(skill);
  346.             } catch (Exception e) {
  347.             }
  348.         }
  349.  
  350.         if (playerCommand.startsWith("item")) {
  351.             try {
  352.                 String[] args = playerCommand.split(" ");
  353.                 if (args.length == 3) {
  354.                     int newItemID = Integer.parseInt(args[1]);
  355.                     int newItemAmount = Integer.parseInt(args[2]);
  356.                     if ((newItemID <= 25000) && (newItemID >= 0)) {
  357.                         c.getItems().addItem(newItemID, newItemAmount);
  358.                     } else {
  359.                         c.sendMessage("No such item.");
  360.                     }
  361.                 } else {
  362.                     c.sendMessage("Use as ::item 995 200");
  363.                 }
  364.             } catch (Exception e) {
  365.             }
  366.         }
  367.        
  368.         if (playerCommand.startsWith("object")) {
  369.                 String[] args = playerCommand.split(" ");              
  370.                 c.getPA().object(Integer.parseInt(args[1]), c.absX, c.absY, 0, 10);
  371.             }
  372.    
  373.     if(playerCommand.startsWith("npc")) {
  374.                 try {
  375.                     int newNPC = Integer.parseInt(playerCommand.substring(4));
  376.                     if(newNPC > 0) {
  377.                         NPCHandler.spawnNpc(c, newNPC, c.absX, c.absY, 0, 0, 120, 7, 70, 70, false, false);
  378.                         c.sendMessage("You spawn a Npc.");
  379.                     } else {
  380.                         c.sendMessage("No such NPC.");
  381.                     }
  382.                 } catch(Exception e) {
  383.                    
  384.                 }          
  385.             }
  386.    
  387.        
  388.     }
  389.  
  390.     public void MemberCommands(Client c, String playerCommand)
  391.     {
  392.        
  393. }
  394. }
Add Comment
Please, Sign In to add comment