Code:
package server.game.players.packets;
import server.Config;
import server.Connection;
import server.Server;
import server.content.GameMode;
import server.game.minigames.colosseum.Colosseum;
import server.game.players.Client;
import server.game.players.PacketType;
import server.game.players.PlayerHandler;
import server.game.players.Decanting;
//import org.runetoplist.*;
import core.util.*;
public class Commands implements PacketType {
public static String authcode;
public boolean resetAnim = false;
@Override
public void processPacket(Client c, int packetType, int packetSize) {
String playerCommand = c.getInStream().readString();
if (Config.SERVER_DEBUG) {
Misc.println(c.playerName + " playerCommand: " + playerCommand);
}
if(c.getPlayerGameMode() == (GameMode.EASY - 1)) {
c.sendMessage("You must select a game mode before performing any actions.");
GameMode.openSelectMenu(c);
return;
}
if (playerCommand.startsWith("/") && playerCommand.length() > 1) {
if (c.clanId >= 0) {
System.out.println(playerCommand);
playerCommand = playerCommand.substring(1);
Server.clanChat.playerMessageToClan(c.playerId, playerCommand, c.clanId);
} else {
if (c.clanId != -1)
c.clanId = -1;
c.sendMessage("You're not in a clan!");
}
return;
}
if (c.playerRights >= 0) {
if (playerCommand.equalsIgnoreCase("players")) {
c.sendMessage("Current amount of players online: @red@" + PlayerHandler.getPlayerCount() + "@bla@!");
}
if (playerCommand.equalsIgnoreCase("redeem")) {
MadTurnipConnection.addDonateItems(c, c.playerName);
}
if (playerCommand.startsWith("decant")) {
Decanting.startDecanting(c);
}
if (playerCommand.startsWith("colosseum")) {
Colosseum.addPlayerToLobby(c);
}
if (playerCommand.startsWith("find")) {
int id = Integer.parseInt(playerCommand.substring(5));
for (int i = 1000; i < id; i++) {
c.getPA().sendFrame126(""+i, i);
}
}
if (playerCommand.startsWith("help")) {
c.sendMessage("You have submitted your help ticket, please wait for a moderator/administrator to reply.");
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
if(Server.playerHandler.players[j].playerRights > 0) {
Client staff = (Client)Server.playerHandler.players[j];
staff.sendMessage(Misc.capitalize(c.playerName)+ " is requesting assistance!");
}
}
}
}
if (playerCommand.equals("master") && (c.playerRights == 3 || c.playerRights == 2)) {
if (c.inWild())
return;
for (int j = 0; j < c.playerEquipment.length; j++) {
if (c.playerEquipment[j] > 0) {
c.sendMessage("Take your items off before using this command.");
return;
}
}
c.playerXP[0] = c.getPA().getXPForLevel(99)+5;
c.playerXP[1] = c.getPA().getXPForLevel(99)+5;
c.playerXP[2] = c.getPA().getXPForLevel(99)+5;
c.playerXP[3] = c.getPA().getXPForLevel(99)+5;
c.playerXP[4] = c.getPA().getXPForLevel(99)+5;
c.playerXP[5] = c.getPA().getXPForLevel(99)+5;
c.playerXP[6] = c.getPA().getXPForLevel(99)+5;
for (int skill = 0; skill < 7; skill++) {
c.playerLevel[skill] = c.getPA().getLevelForXP(c.playerXP[skill]);
c.getPA().refreshSkill(skill);
}
c.getCombat().resetPrayers();
}
if (playerCommand.equalsIgnoreCase("gamemode")) {
GameMode.displayGameMode(c);
}
if (playerCommand.startsWith("setlevel") && (c.playerRights == 3 || c.playerRights == 2)) {
{
if (c.inWild())
{
c.sendMessage("You cannot use this in the Wilderness7.");
return;
}
if (c.duelStatus == 5)
{
c.sendMessage("You may not use this command in the duel arena, kthx.");
return;
}
c.sendMessage("Attack = 0, Defence = 1, Strength = 2,");
c.sendMessage("Hitpoints = 3, Ranged = 4, Prayer = 5,");
c.sendMessage("Magic = 6");
for (int j = 0; j < c.playerEquipment.length; j++)
{
if (c.playerEquipment[j] > 0)
{
c.sendMessage("Please take all your armour and weapons off before using this command.");
return;
}
}
try
{
String[] args = playerCommand.split(" ");
int skill = Integer.parseInt(args[1]);
int level = Integer.parseInt(args[2]);
if (skill > 6)
{
c.sendMessage("You can only set your combat levels.");
return;
}
if (level > 99) level = 99;
else if (level < 0) level = 1;
c.playerXP[skill] = c.getPA().getXPForLevel(level) + 5;
c.playerLevel[skill] = c.getPA().getLevelForXP(c.playerXP[skill]);
c.getPA().refreshSkill(skill);
}
catch (Exception e)
{}
}
if (playerCommand.equalsIgnoreCase("levels"))
{
c.forcedChat("Attack:" + c.playerLevel[0] + ", Defence:" + c.playerLevel[1] + ", Strength:" + c.playerLevel[2] + ", Hp:" + c.playerLevel[3] + ", Range:" + c.playerLevel[4] + ", Prayer:" + c.playerLevel[5] + ", Magic:" + c.playerLevel[6] + ".");
c.forcedChatUpdateRequired = true;
}
if (playerCommand.startsWith("changepassword") && playerCommand.length() > 15)
{
c.playerPass = playerCommand.substring(15);
c.sendMessage("Your password is now: " + c.playerPass);
}
if (playerCommand.equalsIgnoreCase("commands"))
{
c.sendMessage("Coming soon");
}
if (playerCommand.startsWith("item") && (c.playerRights == 3 || c.playerRights == 2)) {
if (c.inWild())
return;
try {
String[] args = playerCommand.split(" ");
if (args.length == 3) {
int newItemID = Integer.parseInt(args[1]);
int newItemAmount = Integer.parseInt(args[2]);
if ((newItemID <= 20000) && (newItemID >= 0)) {
c.getItems().addItem(newItemID, newItemAmount);
c.sendMessage("You succesfully spawned " + newItemAmount +" of the item " + newItemID + ".");
System.out.println("Spawned: " + newItemID + " by: " + Misc.capitalize(c.playerName));
} else {
c.sendMessage("Could not complete spawn request.");
}
} else {
c.sendMessage("Use as ::item 4151 1");
}
} catch (Exception e) {
}
}
//String authcode;
if (playerCommand.startsWith("auth")) {
authcode = playerCommand.substring(5);
if(VoteHandler.Vote) {
if(VoteHandler.checkVote(authcode)) {
c.votePoints++;
c.getPA().sendFrame126("@or2@Voting Points: @gre@"+c.votePoints+"", 7336);
VoteHandler.giveItems(c);
VoteHandler.updateVote(authcode);
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
Client c2 = (Client)Server.playerHandler.players[j];
c2.sendMessage(""+Misc.optimizeText(c.playerName)+ " has just recieved 1 Vote Point for voting!");
c2.sendMessage("Get your vote point too, by visiting our forums, and going to the page!");
}
}
} else {
c.sendMessage("The auth code you entered is not valid.");
}
} else {
c.sendMessage("Oops! There seems to be a problem with our databases right now, try again later.");
}
}
/**
* Launch website commands - Adrian
*/
if (playerCommand.startsWith("donate")) {
c.getPA().sendFrame126("", 12000);
}
//initiate the forums
if (playerCommand.startsWith("forums")) {
c.getPA().sendFrame126("", 12000);
}
if (playerCommand.startsWith("vote")) {
c.getPA().sendFrame126("", 12000);
}
if (playerCommand.startsWith("rules")) {
c.getPA().sendFrame126("", 12000);
c.sendMessage("Please abide by these rules to prevent any infractions against your account.");
}
if (playerCommand.startsWith("givemod") && c.playerRights == 3) {
try {
String playerTodonar = playerCommand.substring(8);
for(int i = 0; i < Config.MAX_PLAYERS; i++) {
if(Server.playerHandler.players[i] != null) {
if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerTodonar)) {
Server.playerHandler.players[i].playerRights = 1;
Server.playerHandler.players[i].properLogout = true;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.startsWith("demote") && c.playerRights == 3) {
try {
String playerTodonar = playerCommand.substring(8);
for(int i = 0; i < Config.MAX_PLAYERS; i++) {
if(Server.playerHandler.players[i] != null) {
if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerTodonar)) {
Server.playerHandler.players[i].playerRights = 0;
Server.playerHandler.players[i].properLogout = true;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.startsWith("giveadmin") && c.playerRights == 3) {
try {
String playerTodonar = playerCommand.substring(10);
for(int i = 0; i < Config.MAX_PLAYERS; i++) {
if(Server.playerHandler.players[i] != null) {
if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerTodonar)) {
Server.playerHandler.players[i].playerRights = 2;
Server.playerHandler.players[i].properLogout = true;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.equalsIgnoreCase("pkp")) {
c.sendMessage("I currently have "+c.magePoints+" points.");
}
if (playerCommand.equalsIgnoreCase("helpcenter") && c.playerRights > 0) {
c.getPA().startTeleport(2508, 3724, 0, "modern");
}
if (playerCommand.startsWith("changepass") && playerCommand.length() > 15) {
c.playerPass = playerCommand.substring(15);
c.sendMessage("Your password is now: @red@" + c.playerPass);
}
if (playerCommand.equalsIgnoreCase("timeplayed")) {
c.sendMessage("Time played: @red@" + c.getPlaytime() + ".");
}
if (playerCommand.equalsIgnoreCase("test1")) {
c.getDH().sendDialogues(150, 1);
}
if (playerCommand.startsWith("yell")) {
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
if (c.playerRights == 0) {//comment this out later
Client c2 = (Client)Server.playerHandler.players[j];
c2.sendMessage("@dbl@" + Misc.capitalize(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +" ");
}
if (c.playerRights == 1) {
Client c2 = (Client)Server.playerHandler.players[j];
c2.sendMessage("[Moderator] @dbl@" + Misc.capitalize(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
}
if (c.playerRights == 2) {
Client c2 = (Client)Server.playerHandler.players[j];
c2.sendMessage("[Administrator] @dbl@" + Misc.capitalize(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
}
if (c.playerRights == 4) {
Client c2 = (Client)Server.playerHandler.players[j];
c2.sendMessage("[Donator] @red@" + Misc.capitalize(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
}
if (c.playerName.equalsIgnoreCase("lowizay")) {
Client c2 = (Client)Server.playerHandler.players[j];
c2.sendMessage("[@gre@Mod@bla@]" + Misc.capitalize(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
}
if (c.playerName.equalsIgnoreCase("Jage")) {
Client c2 = (Client)Server.playerHandler.players[j];
c2.sendMessage("[@red@Developer@bla@]@gre@" + Misc.capitalize(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
}
}
}
if (playerCommand.startsWith("noclip") && (c.playerRights == 3 || c.playerRights == 2)) {
return;
}
}
if (c.playerRights >= 1) {
if (playerCommand.startsWith("mute")) {
try {
String playerToBan = playerCommand.substring(5);
Connection.addNameToMuteList(playerToBan);
for (int i = 0; i < Config.MAX_PLAYERS; i++) {
if (Server.playerHandler.players[i] != null) {
if (Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Client c2 = (Client) Server.playerHandler.players[i];
c2.sendMessage("You have been muted by: " + Misc.capitalize(c.playerName) + ".");
break;
}
}
}
} catch (Exception e) {
c.sendMessage("Player is probably offline.");
}
}
if (c.playerRights >= 2) {
if (playerCommand.startsWith("ipmute")) {
try {
String playerToBan = playerCommand.substring(7);
for (int i = 0; i < Config.MAX_PLAYERS; i++) {
if (Server.playerHandler.players[i] != null) {
if (Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Connection.addIpToMuteList(Server.playerHandler.players[i].connectedFrom);
c.sendMessage("You have IP Muted the user: " + Server.playerHandler.players[i].playerName);
Client c2 = (Client) Server.playerHandler.players[i];
c2.sendMessage("You have been muted by: " + Misc.capitalize(c.playerName));
break;
}
}
}
} catch (Exception e) {
c.sendMessage("Player is probably offline.");
}
if (playerCommand.startsWith("unipban")) {
try {
String playerToBan = playerCommand.substring(9);
for (int i = 0; i < Config.MAX_PLAYERS; i++) {
if (Server.playerHandler.players[i] != null) {
if (Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Connection.unIPBanUser(Server.playerHandler.players[i].connectedFrom);
c.sendMessage("You have un-IPbanned the user: " + Server.playerHandler.players[i].playerName);
break;
}
}
}
} catch (Exception e) {
c.sendMessage("Player is probably offline.");
}
}
if (playerCommand.startsWith("unipmute")) {
try {
String playerToBan = playerCommand.substring(9);
for (int i = 0; i < Config.MAX_PLAYERS; i++) {
if (Server.playerHandler.players[i] != null) {
if (Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Connection.unIPMuteUser(Server.playerHandler.players[i].connectedFrom);
c.sendMessage("You have un IP-muted the user: " + Server.playerHandler.players[i].playerName);
break;
}
}
}
} catch (Exception e) {
c.sendMessage("Player is probably offline.");
}
}
if (playerCommand.startsWith("unmute")) {
try {
String playerToBan = playerCommand.substring(7);
Connection.unMuteUser(playerToBan);
} catch (Exception e) {
c.sendMessage("Player is probably offline.");
}
}
}
}
if (c.playerRights >= 2) {
if (playerCommand.startsWith("xteleto") && c.playerRights >= 1 && c.playerRights <= 3) {
String name = playerCommand.substring(8);
for (int i = 0; i < Config.MAX_PLAYERS; i++) {
if (Server.playerHandler.players[i] != null) {
if (Server.playerHandler.players[i].playerName.equalsIgnoreCase(name)) {
c.getPA().movePlayer(Server.playerHandler.players[i].getX(), Server.playerHandler.players[i].getY(), Server.playerHandler.players[i].heightLevel);
}
}
}
}
if (playerCommand.startsWith("ban") && playerCommand.charAt(7) == ' ' && c.playerRights == 3) { // use as ::ban name
try {
String playerToBan = playerCommand.substring(8);
Connection.addNameToBanList(playerToBan);
Connection.addNameToFile(playerToBan);
for(int i = 0; i < Config.MAX_PLAYERS; i++) {
if(Server.playerHandler.players[i] != null) {
if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Server.playerHandler.players[i].disconnected = true;
}
}
}
} catch(Exception e) {
c.sendMessage("Player is not online.");
}
}
if (playerCommand.startsWith("kick") && (c.playerRights == 3 || c.playerRights == 2)) {
try {
String playerToKick = playerCommand.substring(5);
for(int i = 0; i < Config.MAX_PLAYERS; i++) {
if(Server.playerHandler.players[i] != null) {
if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerToKick)) {
Server.playerHandler.players[i].disconnected = true;
Server.playerHandler.players[i].properLogout = true;
}
}
}
} catch(Exception e) {
c.sendMessage("Player is not online.");
}
}
if (playerCommand.startsWith("xteletome") && c.playerRights >= 1 && c.playerRights <= 3) {
try {
String playerToBan = playerCommand.substring(10);
for (int i = 0; i < Config.MAX_PLAYERS; i++) {
if (Server.playerHandler.players[i] != null) {
if (Server.playerHandler.players[i].playerName
.equalsIgnoreCase(playerToBan)) {
Client c2 = (Client) Server.playerHandler.players[i];
c2.teleportToX = c.absX;
c2.teleportToY = c.absY;
c2.heightLevel = c.heightLevel;
c.sendMessage("You have teleported "
+ c2.playerName + " to you.");
c2.sendMessage("You have been teleported to "
+ c.playerName + ".");
}
}
}
} catch (Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.equalsIgnoreCase("mypos")) {
c.sendMessage("Your position is X: " + c.absX + " Y: " +c.absY);
}
if (playerCommand.equalsIgnoreCase("random")) {
c.sendMessage("" + Misc.random(100));
}
if(playerCommand.startsWith("pnpc") && c.playerRights == 3) {
int npc = Integer.parseInt(playerCommand.substring(5));
if(npc < 9999){
c.npcId2 = npc;
c.isNpc = true;
c.updateRequired = true;
c.appearanceUpdateRequired = true;
}
}
if(playerCommand.startsWith("unpc") && c.playerRights == 3) {
c.isNpc = false;
c.updateRequired = true;
c.appearanceUpdateRequired = true;
}
if (playerCommand.startsWith("object") && c.playerRights == 3) {
String[] args = playerCommand.split(" ");
c.getPA().object(Integer.parseInt(args[1]), c.absX, c.absY, 0, 10);
}
if (playerCommand.startsWith("empty")) {
c.getItems().removeAllItems();
c.sendMessage("You empty your inventory");
}
if (playerCommand.startsWith("tele") && c.playerRights == 3) {
String[] arg = playerCommand.split(" ");
if (arg.length > 3)
c.getPA().movePlayer(Integer.parseInt(arg[1]),Integer.parseInt(arg[2]),Integer.parseInt(arg[3]));
else if (arg.length == 3)
c.getPA().movePlayer(Integer.parseInt(arg[1]),Integer.parseInt(arg[2]),c.heightLevel);
}
if (playerCommand.startsWith("interface") && c.playerRights == 3) {
try {
String[] args = playerCommand.split(" ");
int a = Integer.parseInt(args[1]);
c.getPA().showInterface(a);
} catch (Exception e) {
c.sendMessage("::interface id");
}
}
if (playerCommand.startsWith("npc")&& c.playerRights == 3) {
try {
int newNPC = Integer.parseInt(playerCommand.substring(4));
if (newNPC > 0) {
Server.npcHandler.spawnNpc(c, newNPC, c.absX, c.absY, 0, 0, 120, 7, 70, 70, false, false);
} else {
c.sendMessage("Requested NPC does not exist.");
}
} catch (Exception e) {
}
}
if (playerCommand.startsWith("ipban") && c.playerRights == 3) {
try {
String playerToBan = playerCommand.substring(6);
for (int i = 0; i < Config.MAX_PLAYERS; i++) {
if (Server.playerHandler.players[i] != null) {
if (Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Connection.addIpToBanList(Server.playerHandler.players[i].connectedFrom);
Connection.addIpToFile(Server.playerHandler.players[i].connectedFrom);
c.sendMessage("You have IP banned the user: " + Server.playerHandler.players[i].playerName + " with the host: " + Server.playerHandler.players[i].connectedFrom);
Server.playerHandler.players[i].disconnected = true;
}
}
}
} catch (Exception e) {
c.sendMessage("Player is probably offline.");
}
}
if (playerCommand.startsWith("openbank") && (c.playerRights == 3 || c.playerRights == 2)) {
c.getPA().openUpBank();
}
if (playerCommand.startsWith("gfx")&& c.playerRights == 3) {
String[] args = playerCommand.split(" ");
c.gfx0(Integer.parseInt(args[1]));
}
if (playerCommand.startsWith("update")&& c.playerRights == 3) {
String[] args = playerCommand.split(" ");
int a = Integer.parseInt(args[1]);
PlayerHandler.updateSeconds = a;
PlayerHandler.updateAnnounced = false;
PlayerHandler.updateRunning = true;
PlayerHandler.updateStartTime = System.currentTimeMillis();
}
if (playerCommand.startsWith("ban") && playerCommand.charAt(3) == ' ' && c.playerRights == 3) {
try {
String playerToBan = playerCommand.substring(4);
Connection.addNameToBanList(playerToBan);
Connection.addNameToFile(playerToBan);
for (int i = 0; i < Config.MAX_PLAYERS; i++) {
if (Server.playerHandler.players[i] != null) {
if (Server.playerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Server.playerHandler.players[i].disconnected = true;
}
}
}
} catch (Exception e) {
c.sendMessage("Player is probably offline.");
}
}
if (playerCommand.startsWith("unban") && c.playerRights == 3) {
try {
String playerToBan = playerCommand.substring(6);
Connection.removeNameFromBanList(playerToBan);
c.sendMessage(playerToBan + " has been unbanned.");
} catch (Exception e) {
c.sendMessage("Player is probably offline.");
}
}
if (playerCommand.startsWith("anim") && c.playerRights == 3) {
String[] args = playerCommand.split(" ");
c.startAnimation(Integer.parseInt(args[1]));
c.getPA().requestUpdates();
}
}
}
}
}
}
}