Code:
package server.model.players.packets;
import java.io.*;
import java.util.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import server.Config;
import server.Connection;
import server.Server;
import server.util.Misc;
import server.model.players.Client;
import server.model.players.PacketType;
import server.model.players.PlayerHandler;
import server.model.players.Player;
import server.util.*;
import server.world.WorldMap;
import server.event.EventManager;
import server.event.Event;
import server.event.EventContainer;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.FileReader;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.*;
import server.model.players.packets.Commands;
/**
* Commands
**/
public class Commands implements PacketType {
public static String authcode;
@Override
public void processPacket(Client c, int packetType, int packetSize) {
String playerCommand = c.getInStream().readString();
if(c.playerRights >= 1 && c.playerRights != 4 && !playerCommand.startsWith("/")) {
try {
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
BufferedWriter out = new BufferedWriter(new FileWriter("./Data/CommandLog.txt", true));
try {
out.newLine();
out.write("[] " + c.properName + " used command (" + playerCommand + ")");
} finally {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
if(Config.SERVER_DEBUG)
Misc.println(c.playerName+" playerCommand: "+playerCommand);
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 are not in a clan.");
}
return;
}
/**
*REGULAR PLAYER COMMANDS
**/
if(c.playerRights >= 0) {
if (playerCommand.startsWith("kdr")) {
double KDR = ((double)c.KC)/((double)c.DC);
c.forcedChat("My Kill/Death ratio & Pkp is "+c.KC+"/"+c.DC+"; "+KDR+".");
}
if (playerCommand.equalsIgnoreCase("players")) {
c.sendMessage("There are currently "+ PlayerHandler.getPlayerCount()+" players online.");
}
if (playerCommand.startsWith("changepassword") && playerCommand.length() > 15) {
c.playerPass = playerCommand.substring(15);
c.sendMessage("Your password is now: " + c.playerPass);
}
if (playerCommand.equalsIgnoreCase("xplock")) {
c.expLock = !c.expLock;
c.sendMessage("Experience lock " + (c.expLock ? "activated." : "deactivated."));
}
if (playerCommand.equalsIgnoreCase("vote")) {
c.getPA().sendFrame126("www.rs-virtue.net/vote/", 12000);
c.sendMessage("<col=15138816>Make sure you vote on all 3 sites to receieve your reward!");
c.sendMessage("<col=15138816>Thanks for voting! The more votes, the more events and players we have!");
}
if (playerCommand.equalsIgnoreCase("coords")) {
c.sendMessage("X: "+c.absX);
c.sendMessage("Y: "+c.absY);
}
if (playerCommand.startsWith("auth")) {
authcode = playerCommand.substring(5);
if(VoteHandler.Vote) {
if(VoteHandler.checkVote(authcode)) {
//c.votePoints++;
VoteHandler.giveItems(c);
VoteHandler.updateVote(authcode);
} 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, please try again later!");
}
}
if (playerCommand.startsWith("skull")) {
String name = 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(name)) {
Server.playerHandler.players[i].isSkulled = true;
((Client)Server.playerHandler.players[i]).getPA().requestUpdates();
}
}
}
}
if (playerCommand.equals("donate")) {
c.getPA().sendFrame126("www.rs-virtue.net/donate", 12000);
}
if (playerCommand.equalsIgnoreCase("commands")) {
c.sendMessage("Commands: :::xplock,::kdr,::empty,::brunes,::vengrunes,::donate,::vote,::players.");
c.sendMessage("And also ::zerker, ::master and ::pure for Combat levels.");
}
if (playerCommand.equalsIgnoreCase("empty")) {
c.getPA().removeAllItems();
}
if (playerCommand.equalsIgnoreCase("help")) {
c.sendMessage("To get started, use the ::master or ::pure to level up combat stats.");
c.sendMessage("Make sure to use ::vote every 24 hours for 1 Vote point & Coins! ::vote");
c.sendMessage("The Shops are located South-West of Edgeville.");
c.sendMessage("Talk to the Make-Over Mage to change your character's appearance.");
}
if (playerCommand.equalsIgnoreCase("master")) {
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;
}
}
for (int skill = 0; skill < 7; skill++) {
c.playerXP[skill] = c.getPA().getXPForLevel(99)+5;
c.playerLevel[skill] = c.getPA().getLevelForXP(c.playerXP[skill]);
c.getPA().refreshSkill(skill);
}
c.constitution = 990;
c.getPA().requestUpdates();
}
if (playerCommand.equalsIgnoreCase("pure")) {
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(60)+5;
c.playerXP[1] = c.getPA().getXPForLevel(1)+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(52)+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.constitution = 990;
c.getPA().requestUpdates();
c.getCombat().resetPrayers();
}
if (playerCommand.equalsIgnoreCase("zerker")) {
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(60)+5;
c.playerXP[1] = c.getPA().getXPForLevel(45)+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(95)+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.constitution = 990;
c.getPA().requestUpdates();
c.getCombat().resetPrayers();
}
if (playerCommand.startsWith("untradeables") && c.isDonator >= 1) {
if (c.inWild())
return;
c.getItems().addItem(20072, 1);
c.getItems().addItem(6570, 1);
c.getItems().addItem(10548, 1);
c.getItems().addItem(10551, 1);
c.getItems().addItem(8839, 1);
c.getItems().addItem(8840, 1);
c.getItems().addItem(8842, 1);
c.getItems().addItem(11663, 1);
c.getItems().addItem(11664, 1);
c.getItems().addItem(11665, 1);
}
if (playerCommand.startsWith("yell")) {
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
Client c2 = (Client)Server.playerHandler.players[j];
if (Connection.isMuted(c)) {
return;
}
if (c.playerRights <= 0) {
c.sendMessage("<col=13500416>You must be a Donator to use ::Yell!</col>");
c.sendMessage("<col=13500416>Type ::Donate for more information.</col>");
return;
}
c.YellColor(c.playerRights);
c2.sendMessage(""+c.yellColor+""+ c.capitalized(c.playerName) +": "
+ c.capitalized(playerCommand.substring(5)) +"");
}
}
}
}
/**
* MOD and ADMIN Commands
**/
if (c.playerRights >= 1 && c.playerRights <= 3) {
if (playerCommand.startsWith("staffchat")) {
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
Client c2 = (Client)Server.playerHandler.players[j];
if(Server.playerHandler.players[j].playerRights >= 1 && Server.playerHandler.players[j].playerRights != 4) {
c2.sendMessage("[STAFF CHAT]" + c.playerName + ": " + Misc.optimize(playerCommand.substring(6)));
}
}
}
}
if (playerCommand.equalsIgnoreCase("brid") && c.playerRights > 0 && c.playerRights < 4) {
int[] equip = { 10828, 2412, 6585, 6914, 4712, 6889, -1, 4714, -1,7462, 6920, -1, 6737};
int[][] gearandpots = {{4749, 1}, {20072, 1}, {4151, 1}, {4736, 1},
{4751, 1}, {11732, 1}, {6570, 1}, {6685, 1},
{3024, 2}, {3040, 1}, {2440, 1}, {2436, 1}, {5698, 1}};
int[][] food = {{15272, 11}};
int[][] barrageandpots = {{560, 800}, {555, 1200}, {565, 400}};
if(c.inWild()) {
c.sendMessage("You cannot perform this function in the wilderness.");
return;
}
if(c.getItems().freeSlots() < 28) {
c.sendMessage("Please empty your inventory before using this function.");
return;
}
for (int i = 0; i < equip.length; i++) {
if (c.playerEquipment[i] > 0) {
c.sendMessage("Take your items off before using this function.");
return;
}
c.playerEquipment[i] = equip[i];
c.playerEquipmentN[i] = 1;
c.getItems().setEquipment(equip[i], 1, i);
}
c.getItems().removeAllItems();
c.playerMagicBook = 2;
for (int i = 0; i < gearandpots.length; i++)
c.getItems().addItem(gearandpots[i][0], gearandpots[i][1]);
for (int i = 0; i < food.length; i++)
c.getItems().addItem(food[i][0], food[i][1]);
for (int i = 0; i < barrageandpots.length; i++)
c.getItems().addItem(barrageandpots[i][0], barrageandpots[i][1]);
c.getItems().resetItems(3214);
c.getItems().resetBonus();
c.getItems().getBonus();
c.getItems().writeBonus();
}
if (playerCommand.startsWith("xteleto") && c.playerRights > 1 && c.playerRights < 4) {
String name = playerCommand.substring(8);
if (c.inWild() && c.playerRights == 0 && c.playerRights == 1 && c.playerRights == 2 && c.playerRights == 4)
return;
if (c.playerName.equalsIgnoreCase(" ") ) {
c.sendMessage("This command has been removed from your account.");
return;
}
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("xteletome") && c.playerRights > 0 && c.playerRights < 4) {
if (c.inWild() && c.playerRights == 0 && c.playerRights == 1 && c.playerRights == 2 && c.playerRights == 4)
return;
if (c.playerName.equalsIgnoreCase(" ") ) {
c.sendMessage("This command has been removed from your account.");
return;
}
String name = 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(name)) {
Client other = (Client) Server.playerHandler.players[i];
other.getPA().movePlayer(c.getX(), c.getY(), c.heightLevel);
other.sendMessage("You have been teleported to "+ c.playerName);
}
}
}
}
if (playerCommand.startsWith("bank")) {
if (c.inWild())
return;
c.getPA().openUpBank();
}
if(playerCommand.startsWith("home")) {
try {
if (c.inWild() && c.playerRights == 0 && c.playerRights == 1 && c.playerRights == 2 && c.playerRights == 4)
if (c.playerName.equalsIgnoreCase(" ") ) {
c.sendMessage("This command has been removed from your account.");
return;
}
String playerToBan = 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(playerToBan)) {
Client c2 = (Client)Server.playerHandler.players[i];
c2.teleportToX = 3087;
c2.teleportToY = 3501;
c2.sendMessage("You have been moved Home by "+c.playerName+"");
c.sendMessage("Successfully moved "+c2.playerName+".");
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.startsWith("staffzone")) {
if (c.inWild())
return;
c.getPA().movePlayer(3239, 9803, 0);
c.sendMessage("Welcome to the Staff-Zone!");
}
if (playerCommand.equalsIgnoreCase("vengrunes")) {
c.getItems().addItem(560, 200);
c.getItems().addItem(9075, 400);
c.getItems().addItem(557, 1000);
}
if (playerCommand.equalsIgnoreCase("brunes")) {
c.getItems().addItem(560, 800);
c.getItems().addItem(565, 400);
c.getItems().addItem(555, 1200);
}
if (playerCommand.startsWith("unban")) {
String playerToBan = playerCommand.substring(6);
Connection.removeNameFromBanList(playerToBan);
c.sendMessage(playerToBan + " has been unbanned.");
}
if (playerCommand.startsWith("mute") && c.playerRights > 0 && c.playerRights < 4) {
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];
c.sendMessage("You have Muted the user: "+Server.playerHandler.players[i].playerName);
c2.sendMessage("You have been muted by: " + c.playerName);
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
Client all = (Client)Server.playerHandler.players[j];
//all.sendMessage("[@red@Punishment@bla@] " + c.playerName +" has muted "+Server.playerHandler.players[i].playerName);
}
}
break;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.startsWith("ipmute") && c.playerRights > 1 && c.playerRights < 4) {
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 IP muted by: " + c.playerName);
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
Client all = (Client)Server.playerHandler.players[j];
//all.sendMessage("[@red@Punishment@bla@] " + c.playerName +" has Ip-muted "+Server.playerHandler.players[i].playerName);
}
}
break;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.startsWith("unipmute") && c.playerRights > 1 && c.playerRights < 4) {
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);
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
Client all = (Client)Server.playerHandler.players[j];
//all.sendMessage("[@red@Punishment@bla@] " + c.playerName +" has UnIp-muted "+Server.playerHandler.players[i].playerName);
}
}
break;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.startsWith("checkbank")) {
try {
String[] args = playerCommand.split(" ", 2);
for(int i = 0; i < Config.MAX_PLAYERS; i++) {
Client o = (Client) Server.playerHandler.players[i];
if(Server.playerHandler.players[i] != null) {
if(c.playerName.equalsIgnoreCase(args[1]))
return;
if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(args[1])) {
c.getPA().otherBank(c, o);
break;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.equals("commands")) {
c.sendMessage("::mute/unmute/ipmute/unipmute/teleto player_name");
}
if (playerCommand.startsWith("ban") && playerCommand.charAt(3) == ' ') { // use as ::ban name
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 Must Be Offline.");
}
}
/**
* OWNER COMMANDS
**/
if (c.playerRights == 3) {
if (playerCommand.equals("sp")) {
if (!c.inWild())
c.specAmount = 1000000.0;
}
if (playerCommand.startsWith("xteleto")) {
String name = playerCommand.substring(8);
if (c.inWild() && c.playerRights == 0 && c.playerRights == 1 && c.playerRights == 2 && c.playerRights == 4)
return;
if (c.playerName.equalsIgnoreCase(" ") ) {
c.sendMessage("This command has been removed from your account.");
return;
}
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("giveitem")) {
try {
String[] args = playerCommand.split(" ");
int newItemID = Integer.parseInt(args[1]);
int newItemAmount = Integer.parseInt(args[2]);
String otherplayer = args[3];
if (args.length > 4) {
for(int i = 4; i < args.length; i++) {
otherplayer = otherplayer + " " + args[i];
}
}
Client c2 = null;
for(int i = 0; i < Config.MAX_PLAYERS; i++) {
if(Server.playerHandler.players[i] != null) {
if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(otherplayer)) {
c2 = (Client)Server.playerHandler.players[i];
break;
}
}
}
if (c2 == null) {
c.sendMessage("Player doesn't exist.");
return;
}
c.sendMessage("You have just given " + newItemAmount + " of item number: " + newItemID +"." );
c2.sendMessage("You have just been given an item(s) by " + c.playerName + "." );
c2.getItems().addItem(newItemID, newItemAmount);
} catch(Exception e) {
c.sendMessage("Use as ::giveitem ID AMOUNT PLAYERNAME.");
}
}
if (playerCommand.startsWith("item")) {
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);
} else {
c.sendMessage("No such item.");
}
} else {
c.sendMessage("Use as ::item 995 200");
}
} catch(Exception e) {
}
}
if (playerCommand.startsWith("getitem") && c.playerRights == 3) {
String a[] = playerCommand.split(" ");
String name = "";
int results = 0;
for(int i = 1; i < a.length; i++)
name = name + a[i]+ " ";
name = name.substring(0, name.length()-1);
c.sendMessage("Searching: " + name);
for (int j = 0; j < Server.itemHandler.ItemList.length; j++) {
if (Server.itemHandler.ItemList[j] != null)
if (Server.itemHandler.ItemList[j].itemName.replace("_", " ").toLowerCase().contains(name.toLowerCase())) {
c.sendMessage("<col=255>"
+ Server.itemHandler.ItemList[j].itemName.replace("_", " ")
+ " - "
+ Server.itemHandler.ItemList[j].itemId);
results++;
}
}
c.sendMessage(results + " results found...");
}
if (playerCommand.equalsIgnoreCase("debug")) {
Server.playerExecuted = true;
}
if (playerCommand.startsWith("object")) {
String[] args = playerCommand.split(" ");
c.getPA().object(Integer.parseInt(args[1]), c.absX, c.absY, 0, 10);
}
if (playerCommand.equals("reloaditems")) {
for(int i = 0; i < Config.ITEM_LIMIT; i++)
Server.itemHandler.ItemList[i] = null;
Server.itemHandler.loadItemList("item.cfg");
Server.itemHandler.loadItemPrices("prices.txt");
c.sendMessage("Items reloaded.");
}
if (playerCommand.equals("reloadnpcs")) {
for(int i = 0; i < Server.npcHandler.maxNPCs; i++) {
Server.npcHandler.npcs[i] = null;
}
for(int i = 0; i < Server.npcHandler.maxListedNPCs; i++) {
Server.npcHandler.NpcList[i] = null;
}
Server.npcHandler.loadNPCList("./Data/CFG/npc.cfg");
Server.npcHandler.loadAutoSpawn("./Data/CFG/spawn-config.cfg");
c.sendMessage("NPCs reloaded.");
}
if (playerCommand.startsWith("reloaddrops")) {
Server.npcDrops = null;
Server.npcDrops = new server.model.npcs.NPCDrops();
}
if (playerCommand.startsWith("reloadshops")) {
Server.shopHandler = new server.world.ShopHandler();
}
if (playerCommand.startsWith("interface")) {
String[] args = playerCommand.split(" ");
c.getPA().showInterface(Integer.parseInt(args[1]));
}
if (playerCommand.startsWith("gfx")) {
String[] args = playerCommand.split(" ");
c.gfx0(Integer.parseInt(args[1]));
}
if (playerCommand.startsWith("update")) {
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.equals("massvote")) {
for (int j = 0; j < Server.playerHandler.players.length; j++)
if (Server.playerHandler.players[j] != null) {
Client c2 = (Client)Server.playerHandler.players[j];
c2.getPA().sendFrame126("www.runelocus.com/toplist/index.php?action=vote&id=36671", 12000);
}
}
if (playerCommand.startsWith("kick")) {
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 Must Be Offline.");
}
}
if (playerCommand.equalsIgnoreCase("debug")) {
Server.playerExecuted = true;
}
if(playerCommand.startsWith("www")) {
c.getPA().sendFrame126(playerCommand,0);
}
/* if (playerCommand.equals("alltome")) {
}
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
Client c2 = (Client)Server.playerHandler.players[j];
c2.teleportToX = c.absX;
c2.teleportToY = c.absY;
c2.heightLevel = c.heightLevel;
c2.sendMessage("Mass teleport to: " + c.playerName + "");
}
} */
if (playerCommand.startsWith("tele")) {
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("ipban")) { // use as ::ipban name
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;
}
}
}
}
if(playerCommand.startsWith("npc")) {
int newNPC = Integer.parseInt(playerCommand.substring(4));
if(newNPC > 0) {
Server.npcHandler.spawnNpc(c, newNPC, c.absX, c.absY, 0, 0, 50000000, 7, 70, 70, false, false);
c.sendMessage("You spawn a NPC.");
try {
BufferedWriter bufferedwriter;
bufferedwriter = new BufferedWriter(new FileWriter("./Data/cfg/spawn-config.cfg", true));
bufferedwriter.write("spawn = "+newNPC+" "+c.getX()+" "+c.getY()+" "+c.heightLevel+" 1 0 0 0 Added by "+c.playerName);
bufferedwriter.newLine();
bufferedwriter.flush();
} catch(Exception e) {
c.sendMessage("Failed to write to list.");
}
} else
c.sendMessage("No such NPC.");
}
if(playerCommand.startsWith("pnpc")) {
try {
int newNPC = Integer.parseInt(playerCommand.substring(5));
c.npcId2 = newNPC;
c.getPA().requestUpdates();
} catch(Exception e) {
}
}
if(playerCommand.startsWith("dialogue")) {
try {
int newNPC = Integer.parseInt(playerCommand.substring(9));
c.talkingNpc = newNPC;
c.getDH().sendDialogues(11, c.talkingNpc);
} catch(Exception e) {
}
}
if (playerCommand.startsWith("givedonor")) {
try {
String playerToMod = 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(playerToMod)) {
Client c2 = (Client)Server.playerHandler.players[i];
c2.sendMessage("You have been given donator status by " + c.playerName);
c2.isDonator = 1;
c2.playerRights = 4;
c2.logout();
break;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.equalsIgnoreCase("givemod")) {
try {
String playerToMod = 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(playerToMod)) {
Client c2 = (Client)Server.playerHandler.players[i];
c2.sendMessage("You have been given moderator status by " + c.playerName);
c2.playerRights = 1;
c2.logout();
break;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.startsWith("giveadmin")) {
try {
String playerToMod = 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(playerToMod)) {
Client c2 = (Client)Server.playerHandler.players[i];
c2.sendMessage("You have been given moderator rank by " + c.playerName);
c2.isDonator = 1;
c2.playerRights = 2;
c2.logout();
break;
}
}
}
} catch(Exception e) {
c.sendMessage("Player Must Be Offline.");
}
}
if (playerCommand.startsWith("tb")) {
String name = 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(name)) {
Server.playerHandler.players[i].teleBlockLength = 500000;
((Client)Server.playerHandler.players[i]).getPA().requestUpdates();
}
}
}
}
if (playerCommand.startsWith("givepkp")) {
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))
((Client)Server.playerHandler.players[i]).pkp += 100;
}
}
}
if (playerCommand.startsWith("getip")) {
String getPlayerIP = 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(getPlayerIP))
c.sendMessage(Server.playerHandler.players[i].playerName+"'s IP is "+Server.playerHandler.players[i].connectedFrom);
}
}
}
if (playerCommand.startsWith("anim")) {
String[] args = playerCommand.split(" ");
c.startAnimation(Integer.parseInt(args[1]));
c.getPA().requestUpdates();
}
if (playerCommand.startsWith("b")) {
c.getPA().openUpBank();
}
if(playerCommand.equals("fuckme")) {
c.ramboModeInitiated = true;
c.sendMessage(c.ramboModeInitiated + ":D");
}
/**
* DONATOR COMMANDS
**/
if(c.playerRights >= 1 && c.playerRights <=4) {
if (playerCommand.startsWith("bank")) {
if (c.inWild())
return;
c.getPA().openUpBank();
}
if (playerCommand.equals("dz")) {
if (c.inWild())
return;
c.startAnimation(714);
c.teleTimer = 11;
c.teleGfx = 308;
c.teleEndAnimation = 715;
c.getPA().movePlayer(3469, 9495, 0);
c.sendMessage("Welcome to the Donator Area!");
}
}
}
}
}
}