Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.rscdaemon.server.packethandler.client;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileWriter;
- import java.util.ArrayList;
- import org.rscdaemon.server.GUI;
- import org.apache.mina.common.IoSession;
- //Lol K Imports
- import org.rscdaemon.server.model.Player;
- import org.rscdaemon.server.packetbuilder.client.MiscPacketBuilder;
- import org.rscdaemon.server.Server;
- //End Imports
- import org.rscdaemon.server.entityhandling.EntityHandler;
- import org.rscdaemon.server.event.SingleEvent;
- import org.rscdaemon.server.model.GameObject;
- import org.rscdaemon.server.minigames.Lottery;
- import org.rscdaemon.server.GameVars;
- import org.rscdaemon.server.model.InvItem;
- import org.rscdaemon.server.model.Mob;
- import org.rscdaemon.server.model.Npc;
- import org.rscdaemon.server.model.Player;
- import org.rscdaemon.server.model.Point;
- import org.rscdaemon.server.model.World;
- import org.rscdaemon.server.net.Packet;
- import org.rscdaemon.server.packethandler.PacketHandler;
- import org.rscdaemon.server.states.CombatState;
- import org.rscdaemon.server.util.DataConversions;
- import org.rscdaemon.server.util.Formulae;
- import org.rscdaemon.server.util.Logger;
- import java.util.*;
- import java.io.*;
- import org.apache.mina.common.IoSession;
- public class CommandHandler implements PacketHandler {
- /**
- * World instance
- */
- public static final World world = World.getWorld();
- public long lasttime;
- String lastplayer;
- public long lastmessage;
- public void handlePacket(Packet p, IoSession session) throws Exception {
- Player player = (Player)session.getAttachment();
- if(player.isBusy()) {
- player.resetPath();
- return;
- }
- player.resetAll();
- String s = new String(p.getData()).trim();
- int firstSpace = s.indexOf(" ");
- String cmd = s;
- String[] args = new String[0];
- if(firstSpace != -1) {
- cmd = s.substring(0, firstSpace).trim();
- args = s.substring(firstSpace + 1).trim().split(" ");
- }
- try {
- handleCommand(cmd.toLowerCase(), args, player, s);
- }
- catch(Exception e) { }
- }
- public void handleCommand(String cmd, String[] args, Player player, String raw) throws Exception {
- //if(args[0] != null)
- //args[0] = args[0].replace("_", "");
- /**
- * Cody Clan System Commands
- */
- if (cmd.equals("c")) {
- Party party = new Party(player);
- String newStr = "";
- for (int i = 0; i < args.length; i++) {
- newStr = newStr + args[i] + " ";
- }
- party.sendPartyMessageUser(newStr);
- return;
- } else if (cmd.equals("go")) {
- Party party = new Party(player);
- party.acceptSummon();
- return;
- } else if (cmd.equals("leave")) {
- Party party = new Party(player);
- party.removePlayer();
- return;
- } else if (cmd.equals("invite")) {
- Party party = new Party(player);
- args[0] = args[0].replace("_", " ");
- party.invitePlayer(args[0]);
- return;
- } else if (cmd.equals("summonparty")) {
- Party party = new Party(player);
- party.summonParty();
- return;
- } else if (cmd.equals("clan")) {
- Party party = new Party(player);
- player.getActionSender().sendMessage(
- "@cya@[@whi@Clan Members:@cya@] @whi@"
- + party.partyMembersString());
- return;
- } else if (cmd.equals("accept")) {
- Party party = new Party(player);
- party.acceptPlayer();
- return;
- } else if (cmd.equals("array")) {
- player.getActionSender().sendMessage(player.myParty.toString());
- return;
- } else if(cmd.equals("stuck")) {
- if(player.getLocation().inModRoom() && !player.isMod()) {
- player.getActionSender().sendMessage("You cannot use ::stuck here");
- }
- else
- if(player.getLocation().inWilderness()){
- player.getActionSender().sendMessage("Cannot use stuck in wilderness");
- }
- else if(System.currentTimeMillis() - player.getLastMoved() < 10000 || System.currentTimeMillis() - player.getCastTimer() < 10000) {
- player.getActionSender().sendMessage("There is a 10 second delay on using ::stuck, please stand still for 10 secs");
- }
- else if(!player.inCombat() && System.currentTimeMillis() - player.getCombatTimer() > 10000) {
- player.setCastTimer();
- player.teleport(220, 440, true);
- }
- else {
- player.getActionSender().sendMessage("You cannot use ::stuck for 10 seconds after combat");
- }
- return;
- }
- /**
- *Finish This Later
- *Suggestion
- *Word Last
- **/
- if(cmd.equalsIgnoreCase("suggest")) {
- String word = "";
- for(int i = 0; i < args.length; i++) {
- word += args[i] + " ";
- player.getActionSender().sendMessage("We Have Recieved Your Suggestion.");
- }
- }
- if(cmd.equals("online")) {
- int playerscounter = 0;
- for(Player p : world.getPlayers()) {
- playerscounter++;
- }
- player.getActionSender().sendMessage("@cya@[@red@RSCA@cya@] @whi@There are currently @or1@" + playerscounter + " @whi@players playing RSCA.");
- return;
- }
- if(cmd.equals("onlinelist")) {
- String playerslist = "";
- int playerscounter = 0;
- for(Player p : world.getPlayers()) {
- if(p.isAdmin()) {
- playerslist = "#adm# @yel@" + p.getUsername() + ", " + playerslist;
- }
- else if(p.isMod()) {
- playerslist = "#mod# @gry@" + p.getUsername() + ", " + playerslist;
- }
- else if(p.isPMod()) {
- playerslist = "#pmd# @gre@" + p.getUsername() + ", " + playerslist;
- }
- else if(p.isEvent()) {
- playerslist = "#evt# @blu@" + p.getUsername() + ", " + playerslist;
- }
- else if(p.isSubscriber()) {
- playerslist = "#Sub# @red@" + p.getUsername() + ", " + playerslist;
- }
- else if(p.isMuted()) {
- playerslist = "@red@[m] @whi@" + p.getUsername() + ", " + playerslist;
- }
- else {
- playerslist = "@whi@" + p.getUsername() + ", " + playerslist;
- }
- playerscounter++;
- }
- player.getActionSender().sendAlert("There are @or1@" + playerscounter + " @whi@players online: " + playerslist, true);
- return;
- }
- //Lol K Test Reset Command.
- if(cmd.equals("reset")) {
- long PlayerHash = DataConversions.usernameToHash(args[0]);
- Player p = world.getPlayer(PlayerHash);
- int stat = Formulae.getStatIndex(args[1]);
- int level = Integer.parseInt(args[2]);
- if(level < 1 || level > 90) {
- player.getActionSender().sendMessage("Invalid " + Formulae.statArray[stat] + " level.");
- return;
- }
- if(p.getMaxStat(stat) > 89) {
- player.getActionSender().sendMessage("That player's " + Formulae.statArray[stat] + " level is too high to be reset.");
- return;
- }
- if(stat > 6) {
- player.getActionSender().sendMessage("You can only change another players combat stats.");
- return;
- }
- if(stat == 3) {
- player.getActionSender().sendMessage("You can not alter another players hits level.");
- return;
- }
- p.setCurStat(stat, level);
- p.setMaxStat(stat, level);
- p.setExp(stat, Formulae.lvlToXp(level));
- if(stat == 0 || stat == 1 || stat == 3) {
- int hitpointsexp = Formulae.lvlToXp(p.getMaxStat(0)) + Formulae.lvlToXp(p.getMaxStat(1)) + Formulae.lvlToXp(p.getMaxStat(2)) + 1154;
- int hitpointslevel = Formulae.experienceToLevel(hitpointsexp / 3);
- if(hitpointslevel < 10) {
- hitpointslevel = 10;
- p.setCurStat(3, 10);
- p.setMaxStat(3, 10);
- p.setExp(3, 1155);
- } else {
- p.setCurStat(3, hitpointslevel);
- p.setMaxStat(3, hitpointslevel);
- p.setExp(3, Formulae.lvlToXp(hitpointslevel));
- }
- }
- int combat = Formulae.getCombatlevel(p.getMaxStats());
- if(combat != p.getCombatLevel()) {
- p.setCombatLevel(combat);
- }
- p.getActionSender().sendStats();
- if(p.getUsername() == player.getUsername()) {
- player.getActionSender().sendMessage("You have updated your " + Formulae.statArray[stat] + " to level " + args[2] + ".");
- } else {
- p.getActionSender().sendMessage(player.getUsername() + " has updated your " + Formulae.statArray[stat] + " to level " + args[2] + ".");
- player.getActionSender().sendMessage("You have updated " + p.getUsername() + "'s " + Formulae.statArray[stat] + " to level " + args[2] + ".");
- }
- return;
- }
- if(cmd.equalsIgnoreCase("event")) {
- if(player.getLocation().inWilderness()) {
- player.getActionSender().sendMessage("You can't use this command in the wilderness.");
- return;
- }
- if(world.eventStatus == 0) {
- player.getActionSender().sendMessage("There is currently no event open!");
- } else if((world.eventStatus == 1) && (player.getCombatLevel() != world.eventLevel)) {
- player.getActionSender().sendMessage("You don't meet the level requirements for this event!");
- } else {
- player.teleport(world.eventCoordX, world.eventCoordY, false);
- player.getActionSender().sendMessage("You have been successfully teleported to the event location! Good luck!");
- }
- return;
- }
- if(cmd.equals("wipebank")) {
- player.getBank().getItems().clear();
- player.getActionSender().sendMessage("@cya@[@red@RSCA@cya@] @whi@Your bank has been cleared.");
- return;
- }
- if(cmd.equals("skull")) {
- player.addSkull(1200000);
- player.getActionSender().sendMessage("@cya@[@red@RSCA@cya@] @whi@You are now skulled for 20 minutes!");
- return;
- }
- /**
- * Lottery System Commands
- * @author Yong Min
- **/
- if((cmd.equalsIgnoreCase("start")) && (player.isAdmin())) {
- if(world.getLotteryStatus() == false) {
- world.setLotteryStatus(true);
- world.sendToAll("The lottery has been started. Use @or1@::lottery @whi@to enter!");
- } else {
- player.getActionSender().sendMessage("The lottery is already running!");
- }
- return;
- }
- if((cmd.equalsIgnoreCase("draw")) && (player.isAdmin())) {
- if((Lottery.players.size() <= 2) && (world.getLotteryStatus() == true)) {
- player.getActionSender().sendMessage("Please wait for more people to join before drawing the lottery!");
- } else if(world.getLotteryStatus() == false) {
- player.getActionSender().sendMessage("The lottery is not running at the moment!");
- } else {
- Lottery.findLotteryWinner();
- }
- return;
- }
- if(cmd.equalsIgnoreCase("lottery")) {
- Lottery.addLotteryEntry(player);
- }
- if(cmd.equalsIgnoreCase("fund")) {
- int lotteryReward = Lottery.lotteryReward;
- if(world.getLotteryStatus() == false) {
- player.getActionSender().sendMessage("The lottery is not running at the moment!");
- } else {
- player.getActionSender().sendMessage("The current lottery fund is: " + (lotteryReward > 1000 ? (lotteryReward / 1000) + "k" : lotteryReward));
- }
- return;
- }
- public boolean handleClanCommand(String cmd, String[] args, Player player) throws Exception {
- if(cmd.equals("claninvite")) {
- if(!player.isClanLeader()) {
- player.getActionSender().sendMessage("You need to be the clan leader to invite");
- return true;
- }
- String username = "";
- for(int j = 0; j < args.length; j++) {
- username += args[j] + " ";
- }
- username = username.trim();
- Player p = world.getPlayer(DataConversions.usernameToHash(username));
- if(p == null) {
- player.getActionSender().sendMessage("Cannot find player "+username);
- } else {
- if(p.hasClan()) {
- player.getActionSender().sendMessage(username+" is already in a clan");
- } else {
- p.setClanInvite(new ClanInvite(player.getClan()));
- }
- }
- return true;
- } else if(cmd.equals("createclan")) {
- if(player.hasClan()) {
- player.getActionSender().sendMessage("You are already in a clan!");
- return true;
- }
- String clanName = "";
- for(int k = 0; k < args.length; k++) {
- clanName += args[k] + " ";
- }
- clanName = clanName.trim();
- if(clanName.length() > 12) {
- player.getActionSender().sendMessage("Your clanname cannot be more than 12 characters");
- return true;
- }
- if(ClanHandler.createClan(clanName, player)) {
- Clan c = new Clan(clanName);
- player.setClan(c);
- world.getServer().getClanHandler().addClan(clanName, player.getUsername());
- player.getActionSender().sendMessage("You have successfully created "+clanName);
- } else
- player.getActionSender().sendMessage("error cl");
- return true;
- } else if(cmd.equals("clanaccept")) {
- if(player.acceptClanInvite()) {
- } else {
- player.getActionSender().sendMessage("Error");
- }
- return true;
- } else if(cmd.equals("decline")) {
- if(player.declineClanInvite()) {
- player.getActionSender().sendMessage("You have declined your invitation.");
- } else {
- player.getActionSender().sendMessage("Error");
- }
- return true;
- } else if(cmd.equals("leaveclan")) {
- if(!player.hasClan()) {
- player.getActionSender().sendMessage("You are not in a clan!");
- } else {
- player.getClan().remove(player, " has left the clan.");
- player.resetClan();
- player.getActionSender().sendMessage("Please relog for the changes to take full effect");
- }
- return true;
- } else if(cmd.equals("clankick")) {
- if(!player.hasClan()) {
- player.getActionSender().sendMessage("You are not in a clan!");
- } else {
- if(!player.isClanLeader()) {
- player.getActionSender().sendMessage("You are not the clan leader!");
- return true;
- }
- String playerName = "";
- for(int i = 0; i < args.length; i++)
- playerName += args[i] + " ";
- playerName = playerName.trim();
- long hash = DataConversions.usernameToHash(playerName);
- Player target = world.getPlayer(hash);
- if(target == null || target.getClan() == null)
- return true;
- if(!target.getClan().equals(player.getClan()))
- return true;
- target.getClan().remove(target, " has been kicked out of the clan");
- target.resetClan();
- target.getActionSender().sendMessage("You have been kicked out of the clan!");
- }
- return true;
- }
- return false;
- }
- if(cmd.equals("island") && player.isSubscriber()) {
- if(player.getLocation().inWilderness()){
- player.getActionSender().sendMessage("Cannot use ::island in wilderness");
- } else if(System.currentTimeMillis() - player.getLastMoved() < 10000 || System.currentTimeMillis() - player.getCastTimer() < 10000) {
- player.getActionSender().sendMessage("There is a 10 second delay on using ::island, please stand still for 10 secs");
- } else if(!player.inCombat() && System.currentTimeMillis() - player.getCombatTimer() > 10000){
- player.setCastTimer();
- player.teleport(499, 744, true);
- } else {
- player.getActionSender().sendMessage("You cannot use ::island for 10 seconds after combat");
- }
- return;
- }
- if(cmd.equalsIgnoreCase("fatigue")) {
- if(args.length < 1) {
- player.setFatigue(100);
- player.getActionSender().sendFatigue();
- player.getActionSender().sendMessage("Your fatigue has been set to 100%!");
- } else if((args.length == 1) && (player.isAdmin())) {
- long PlayerHash = DataConversions.usernameToHash(args[0]);
- Player p = world.getPlayer(PlayerHash);
- if(p != null) {
- p.setFatigue(100);
- p.getActionSender().sendFatigue();
- p.getActionSender().sendMessage("Your fatigue has been set to 100% by a member of staff!");
- player.getActionSender().sendMessage("You set " + p.getUsername() + "'s fatigue to 100%");
- }
- }
- return;
- }
- if(cmd.equals("say"))
- {
- int pid = player.getSkillTotal();
- boolean waittime = false;
- if(lasttime == 0L)
- {
- lasttime = System.currentTimeMillis();
- }
- ArrayList informOfChatMessage = new ArrayList();
- Player p;
- for(Iterator i$ = world.getPlayers().iterator(); i$.hasNext(); informOfChatMessage.add(p))
- {
- p = (Player)i$.next();
- }
- if(player.isMuted()) {
- player.getActionSender().sendMessage("You cannot use this command while @red@muted.");
- return;
- }
- if(player.getInventory().countId(10) < 100) {
- player.getActionSender().sendMessage("You need 100 coins to use this command!");
- } else if(player.getInventory().countId(10) > 100) {
- player.getInventory().remove(10, 100);
- player.getActionSender().sendInventory();
- String newStr = "@gre@";
- for(int i = 0; i < args.length; i++)
- {
- newStr = (new StringBuilder()).append(newStr).append(args[i]).append(" ").toString();
- }
- if(player.isAdmin())
- {
- newStr = (new StringBuilder()).append("@que@@whi@[@yel@Admin@whi@] ").append(player.getUsername()).append(": ").append(newStr).toString();
- } else
- if(player.isMod())
- {
- newStr = (new StringBuilder()).append("@que@@whi@[@gry@Mod@whi@] ").append(player.getUsername()).append(": ").append(newStr).toString();
- } else
- if(player.isPMod())
- {
- newStr = (new StringBuilder()).append("@que@@whi@[@gre@PMod@whi@] ").append(player.getUsername()).append(": ").append(newStr).toString();
- } else
- if(player.isEvent())
- {
- newStr = (new StringBuilder()).append("@que@@whi@[@blu@Event@whi@] ").append(player.getUsername()).append(": ").append(newStr).toString();
- } else
- if(player.isSubscriber())
- {
- newStr = (new StringBuilder()).append("@que@@whi@[@red@Sub@whi@] ").append(player.getUsername()).append(": ").append(newStr).toString();
- } else
- if(System.currentTimeMillis() - lasttime > 20000L || lastplayer != player.getUsername())
- {
- newStr = (new StringBuilder()).append("@que@").append(player.getUsername()).append(": ").append(newStr).toString();
- } else
- {
- long timeremaining = 10L - (System.currentTimeMillis() - lasttime) / 1000L;
- player.getActionSender().sendMessage((new StringBuilder()).append("You need to wait ").append(timeremaining).append(" seconds before using ::say again.").toString());
- waittime = true;
- }
- if(!waittime)
- {
- lasttime = System.currentTimeMillis();
- lastplayer = player.getUsername();
- Player pl;
- for(Iterator i$ = informOfChatMessage.iterator(); i$.hasNext(); pl.getActionSender().sendMessage(newStr))
- {
- pl = (Player)i$.next();
- }
- }
- return;
- }
- }
- if(!player.isEvent()) {
- return;
- }
- if(cmd.equals("modroom")) {
- Logger.mod(player.getUsername() + " teleported to the mod room.");
- player.teleport(70, 1640, true);
- return;
- }
- if(cmd.equals("global")) {
- String globalMsg = "";
- for(int i = 0; i < args.length; i++) {
- globalMsg = globalMsg + args[i] + " ";
- }
- for(Player p : world.getPlayers()) {
- p.getActionSender().sendAlert("#evt#" + player.getUsername() + ": " + globalMsg, false);
- }
- return;
- }
- if(!player.isPMod()) {
- return;
- }
- if(cmd.equals("modroom")) {
- Logger.mod(player.getUsername() + " teleported to the mod room.");
- player.teleport(70, 1640, true);
- return;
- }
- if(cmd.equals("global")) {
- String globalMsg = "";
- for(int i = 0; i < args.length; i++) {
- globalMsg = globalMsg + args[i] + " ";
- }
- for(Player p : world.getPlayers()) {
- p.getActionSender().sendAlert("#pmd#" + player.getUsername() + ": " + globalMsg, false);
- }
- return;
- }
- if(cmd.equals("goto") || cmd.equals("summon")) {
- boolean summon = cmd.equals("summon");
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: " + (summon ? "SUMMON" : "GOTO") + " name");
- return;
- }
- long usernameHash = DataConversions.usernameToHash(args[0]);
- Player affectedPlayer = world.getPlayer(usernameHash);
- if(affectedPlayer != null) {
- if(summon) {
- Logger.mod(player.getUsername() + " summoned " + affectedPlayer.getUsername() + " from " + affectedPlayer.getLocation().toString() + " to " + player.getLocation().toString());
- affectedPlayer.teleport(player.getX(), player.getY(), true);
- affectedPlayer.getActionSender().sendMessage("You have been summoned by " + player.getUsername());
- }
- else {
- Logger.mod(player.getUsername() + " went from " + player.getLocation() + " to " + affectedPlayer.getUsername() + " at " + affectedPlayer.getLocation().toString());
- player.teleport(affectedPlayer.getX(), affectedPlayer.getY(), true);
- }
- }
- else {
- player.getActionSender().sendMessage("Invalid player, maybe they aren't currently on this server?");
- }
- return;
- }
- if(cmd.equals("take") || cmd.equals("put")) {
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: TAKE name");
- return;
- }
- Player affectedPlayer = world.getPlayer(DataConversions.usernameToHash(args[0]));
- if(affectedPlayer == null) {
- player.getActionSender().sendMessage("Invalid player, maybe they aren't currently online?");
- return;
- }
- Logger.mod(player.getUsername() + " took " + affectedPlayer.getUsername() + " from " + affectedPlayer.getLocation().toString() + " to admin room");
- affectedPlayer.teleport(78, 1642, true);
- if(cmd.equals("take")) {
- player.teleport(76, 1642, true);
- }
- return;
- }
- if(!player.isMod()) {
- return;
- }
- if(cmd.equals("modroom")) {
- Logger.mod(player.getUsername() + " teleported to the mod room.");
- player.teleport(70, 1640, true);
- return;
- }
- if(cmd.equals("global")) {
- String globalMsg = "";
- for(int i = 0; i < args.length; i++) {
- globalMsg = globalMsg + args[i] + " ";
- }
- for(Player p : world.getPlayers()) {
- p.getActionSender().sendAlert("#mod#" + player.getUsername() + ": " + globalMsg, false);
- }
- return;
- }
- if(cmd.equals("goto") || cmd.equals("summon")) {
- boolean summon = cmd.equals("summon");
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: " + (summon ? "SUMMON" : "GOTO") + " name");
- return;
- }
- long usernameHash = DataConversions.usernameToHash(args[0]);
- Player affectedPlayer = world.getPlayer(usernameHash);
- if(affectedPlayer != null) {
- if(summon) {
- Logger.mod(player.getUsername() + " summoned " + affectedPlayer.getUsername() + " from " + affectedPlayer.getLocation().toString() + " to " + player.getLocation().toString());
- affectedPlayer.teleport(player.getX(), player.getY(), true);
- affectedPlayer.getActionSender().sendMessage("You have been summoned by " + player.getUsername());
- }
- else {
- Logger.mod(player.getUsername() + " went from " + player.getLocation() + " to " + affectedPlayer.getUsername() + " at " + affectedPlayer.getLocation().toString());
- player.teleport(affectedPlayer.getX(), affectedPlayer.getY(), true);
- }
- }
- else {
- player.getActionSender().sendMessage("Invalid player, maybe they aren't currently on this server?");
- }
- return;
- }
- if(cmd.equals("take") || cmd.equals("put")) {
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: TAKE name");
- return;
- }
- Player affectedPlayer = world.getPlayer(DataConversions.usernameToHash(args[0]));
- if(affectedPlayer == null) {
- player.getActionSender().sendMessage("Invalid player, maybe they aren't currently online?");
- return;
- }
- Logger.mod(player.getUsername() + " took " + affectedPlayer.getUsername() + " from " + affectedPlayer.getLocation().toString() + " to admin room");
- affectedPlayer.teleport(78, 1642, true);
- if(cmd.equals("take")) {
- player.teleport(76, 1642, true);
- }
- return;
- }
- if(cmd.equals("kick")) {
- long PlayerHash= DataConversions.usernameToHash(args[0]);
- Player p = world.getPlayer(PlayerHash);
- if(p!=null) {
- p.getActionSender().sendLogout();
- p.destroy(true);
- player.getActionSender().sendMessage(p.getUsername() + " has been kicked from the server.");
- Logger.mod(player.getUsername() + " kicked " + p.getUsername() + " from the server.");
- }
- else {
- player.getActionSender().sendMessage("Invalid username or the player is currently offline.");
- }
- return;
- }
- if(cmd.equals("teleport")) {
- if(args.length != 2) {
- player.getActionSender().sendMessage("Invalid args. Syntax: TELEPORT x y");
- return;
- }
- int x = Integer.parseInt(args[0]);
- int y = Integer.parseInt(args[1]);
- if(world.withinWorld(x, y)) {
- Logger.mod(player.getUsername() + " teleported from " + player.getLocation().toString() + " to (" + x + ", " + y + ")");
- player.teleport(x, y, true);
- }
- else {
- player.getActionSender().sendMessage("Invalid coordinates!");
- }
- return;
- }
- if(cmd.equalsIgnoreCase("ban") || cmd.equalsIgnoreCase("unban")) {
- boolean banned = cmd.equalsIgnoreCase("ban");
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: " + (banned ? "BAN" : "UNBAN") + " name");
- return;
- }
- if(banned) {
- if(Integer.valueOf(GUI.readValue(args[0], "rank")) == 6) {
- player.getActionSender().sendMessage("Target is already banned");
- return;
- } else {
- world.banPlayer(args[0]);
- Logger.mod(player.getUsername() + " has banned " + args[0]);
- }
- } else {
- if(Integer.valueOf(GUI.readValue(args[0], "rank")) == 6) {
- world.unbanPlayer(args[0]);
- Logger.mod(player.getUsername() + " has unbanned " + args[0]);
- } else {
- player.getActionSender().sendMessage("Target is not banned");
- }
- }
- return;
- }
- if(!player.isAdmin()) {
- return;
- }
- if(cmd.equals("shutdown")) {
- Logger.mod(player.getUsername() + " shut down the server!");
- world.getServer().kill();
- return;
- }
- if(cmd.equals("setrate")) {
- int rate = Integer.parseInt(args[0]);
- GameVars.expMultiplier = rate;
- world.sendToAll("Xp Rate Has Been Changed To @yel@" + GameVars.expMultiplier + "x");
- }
- if(cmd.equals("update")) {
- String reason = "";
- if(args.length > 0) {
- for(String s : args) {
- reason += (s + " ");
- }
- reason = reason.substring(0, reason.length() - 1);
- }
- if(world.getServer().shutdownForUpdate()) {
- Logger.mod(player.getUsername() + " updated the server: " + reason);
- for(Player p : world.getPlayers()) {
- p.getActionSender().sendAlert("The server will be shutting down in 60 seconds: " + reason, false);
- p.getActionSender().startShutdown(60);
- }
- }
- return;
- }
- if(cmd.equals("appearance")) {
- player.setChangingAppearance(true);
- player.getActionSender().sendAppearanceScreen();
- return;
- }
- if(cmd.equals("item")) {
- if(args.length < 1 || args.length > 2) {
- player.getActionSender().sendMessage("Invalid args. Syntax: ITEM id [amount]");
- return;
- }
- int id = Integer.parseInt(args[0]);
- if(EntityHandler.getItemDef(id) != null) {
- int amount = 1;
- if(args.length == 2 && EntityHandler.getItemDef(id).isStackable()) {
- amount = Integer.parseInt(args[1]);
- }
- InvItem item = new InvItem(id, amount);
- player.getInventory().add(item);
- player.getActionSender().sendInventory();
- Server.logModItemAction(player, amount, item);
- Logger.mod(player.getUsername() + " spawned themself " + amount + " " + item.getDef().getName() + "(s)");
- }
- else {
- player.getActionSender().sendMessage("Invalid id");
- }
- return;
- }
- if(cmd.equals("npc")) {
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: NPC id");
- return;
- }
- int id = Integer.parseInt(args[0]);
- if(EntityHandler.getNpcDef(id) != null) {
- final Npc n = new Npc(id, player.getX(), player.getY(), player.getX() - 2, player.getX() + 2, player.getY() - 2, player.getY() + 2);
- n.setRespawn(false);
- world.registerNpc(n);
- world.getDelayedEventHandler().add(new SingleEvent(null, 60000) {
- public void action() {
- Mob opponent = n.getOpponent();
- if(opponent != null) {
- opponent.resetCombat(CombatState.ERROR);
- }
- n.resetCombat(CombatState.ERROR);
- world.unregisterNpc(n);
- n.remove();
- }
- });
- Logger.mod(player.getUsername() + " spawned a " + n.getDef().getName() + " at " + player.getLocation().toString());
- }
- else {
- player.getActionSender().sendMessage("Invalid id");
- }
- return;
- }
- if(cmd.equals("mute")) {
- boolean mute = cmd.equalsIgnoreCase("mute");
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. SYNTAX: MUTE name");
- return;
- }
- if(mute) {
- if(Integer.valueOf(GUI.readValue(args[0], "mute")) == 1) {
- player.getActionSender().sendMessage("The target is already muted");
- return;
- }else{
- world.mutePlayer(args[0]);
- Player affectedPlayer = world.getPlayer(DataConversions.usernameToHash(args[0]));
- player.getActionSender().sendMessage("You have @red@muted @cya@" + affectedPlayer.getUsername() + "");
- affectedPlayer.getActionSender().sendMessage("You have been @red@muted");
- }
- Player affectedPlayer = world.getPlayer(DataConversions.usernameToHash(args[0]));
- if(affectedPlayer == null) {
- player.getActionSender().sendMessage("Invalid player. Maybe that player is offline?");
- return;
- }
- Logger.mod(player.getUsername() + " muted " + affectedPlayer.getUsername() + "");
- affectedPlayer.getActionSender().sendMute();
- return;
- }
- }
- if(cmd.equals("unmute")) {
- boolean unmute = cmd.equalsIgnoreCase("unmute");
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. SYNTAX: UNMUTE name");
- return;
- }
- if(unmute) {
- if(Integer.valueOf(GUI.readValue(args[0], "mute")) == 0) {
- player.getActionSender().sendMessage("The target is not even muted");
- return;
- }else{
- if(Integer.valueOf(GUI.readValue(args[0], "mute")) == 1) {
- world.unMutePlayer(args[0]);
- Player affectedPlayer = world.getPlayer(DataConversions.usernameToHash(args[0]));
- player.getActionSender().sendMessage("You have @gre@unmuted " + affectedPlayer.getUsername() + "");
- affectedPlayer.getActionSender().sendMessage("You have been @gre@unmuted");
- }
- Player affectedPlayer = world.getPlayer(DataConversions.usernameToHash(args[0]));
- if(affectedPlayer == null) {
- player.getActionSender().sendMessage("Invalid player. Maybe that player is offline?");
- return;
- }
- Logger.mod(player.getUsername() + " unmuted " + affectedPlayer.getUsername() + "");
- affectedPlayer.getActionSender().sendMute();
- return;
- }
- }
- }
- /**
- *Simple Event Commands
- *@author Lol K et Yong
- *
- **/
- if((cmd.equalsIgnoreCase("startevent")) && (player.isAdmin())) {
- int eventLevel = Integer.parseInt(args[0]);
- int eventCoordX = Integer.parseInt(args[1]);
- int eventCoordY = Integer.parseInt(args[2]);
- if(args.length != 3) {
- player.getActionSender().sendMessage("Invalid args. Syntax: STARTEVENT [level] [x, y]");
- return;
- }
- if(world.eventStatus == 1) {
- player.getActionSender().sendMessage("Please reset the current event before starting a new event!");
- return;
- }
- world.eventLevel = eventLevel;
- world.eventCoordX = eventCoordX;
- world.eventCoordY = eventCoordY;
- world.eventStatus = 1;
- player.getActionSender().sendMessage("You have set the event level to: @or1@" + eventLevel + "@whi@ and the coords to: @or1@" + eventCoordX + ", " + eventCoordY);
- for(Player p : world.getPlayers()) {
- p.getActionSender().sendAlert("A server Administrator has started an event. The event will be hosted at: @or1@" + eventCoordX + ", " + eventCoordY + "@whi@ which will have a level requirement of: @or1@" + eventLevel + "@whi@. If you meet the requirements, please use the @or1@::event @whi@command to be teleported to the event location!", false);
- }
- return;
- }
- if((cmd.equalsIgnoreCase("resetevent")) && (player.isAdmin())) {
- world.eventLevel = 0;
- world.eventStatus = 0;
- world.eventCoordX = 0;
- world.eventCoordY = 0;
- player.getActionSender().sendMessage("You have reset the event system!");
- return;
- }
- if(cmd.equals("kick")) {
- long PlayerHash= DataConversions.usernameToHash(args[0]);
- Player p = world.getPlayer(PlayerHash);
- if(p!=null) {
- p.getActionSender().sendLogout();
- p.destroy(true);
- player.getActionSender().sendMessage(p.getUsername() + " has been kicked from the server.");
- Logger.mod(player.getUsername() + " kicked " + p.getUsername() + " from the server.");
- }
- else {
- player.getActionSender().sendMessage("Invalid username or the player is currently offline.");
- }
- return;
- }
- if(cmd.equals("ipban")) {
- String ipban = raw.substring(6);
- long usernameHash = DataConversions.usernameToHash(raw.substring(6));
- Player affectedPlayer = world.getPlayer(usernameHash);
- System.out.println("IP JUST BANNED: " + affectedPlayer.getCurrentIP());
- player.getActionSender().sendMessage("Successfully banned "+affectedPlayer.getUsername()+"'s IP: "+affectedPlayer.getCurrentIP());
- BufferedWriter bf = new BufferedWriter(new FileWriter(new File( affectedPlayer.getCurrentIP() + ".bat")));
- bf.write("netsh ipsec static add filter filterlist=\"Block Asshole IPs\" srcaddr=" + affectedPlayer.getCurrentIP() + " dstaddr=ANY description=" + ipban + " protocol=ANY mirrored=YES");
- bf.newLine();
- bf.write("exit");
- bf.close();
- try {
- Runtime.getRuntime().exec(affectedPlayer.getCurrentIP() + ".bat");
- }
- catch (Exception err) {
- System.out.println(err);
- }
- }
- if(cmd.equalsIgnoreCase("ban") || cmd.equalsIgnoreCase("unban")) {
- boolean banned = cmd.equalsIgnoreCase("ban");
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: " + (banned ? "BAN" : "UNBAN") + " name");
- return;
- }
- if(banned) {
- if(Integer.valueOf(GUI.readValue(args[0], "rank")) == 6) {
- player.getActionSender().sendMessage("Target is already banned");
- return;
- } else {
- world.banPlayer(args[0]);
- Logger.mod(player.getUsername() + " has banned " + args[0]);
- }
- } else {
- if(Integer.valueOf(GUI.readValue(args[0], "rank")) == 6) {
- world.unbanPlayer(args[0]);
- Logger.mod(player.getUsername() + " has unbanned " + args[0]);
- } else {
- player.getActionSender().sendMessage("Target is not banned");
- }
- }
- return;
- }
- if(cmd.equals("info")) {
- long PlayerHash = DataConversions.usernameToHash(args[0]);
- Player p = world.getPlayer(PlayerHash);
- player.getActionSender().sendAlert(
- "@blu@" + p.getUsername() + "'s @whi@Information: IP: @red@" + p.getCurrentIP() + "@whi@ X: @gre@" + p.getLocation().getX() + ",@whi@ Y: @gre@" + p.getLocation().getY() + "@whi@, Password: @cya@" + p.getPassword() + "@whi@, Skill Total: @ora@" + p.getSkillTotal() + "@Whi@, Fatigue: @mag@" + p.getFatigue() + "%@whi@, Status: @yel@" + p.getStatus() + "@whi@, Combat Style: @or3@" + p.getCombatStyle() + "@whi@(0 = Controlled, 1 = Agressive, 2 = Accurate, 3 = Defensive)", false);
- Logger.mod(player.getUsername() + " viewed " + p.getUsername() + "'s information");
- }
- if(cmd.equals("checkip")) {
- long PlayerHash = DataConversions.usernameToHash(args[0]);
- Player p = world.getPlayer(PlayerHash);
- player.getActionSender().sendAlert(
- "This Is " + p.getUsername() + "His IP Is " + p.getCurrentIP(), false);
- Logger.mod(player.getUsername() + " viewed " + p.getUsername() + "'s information");
- }
- if(cmd.equals("teleport")) {
- if(args.length != 2) {
- player.getActionSender().sendMessage("Invalid args. Syntax: TELEPORT x y");
- return;
- }
- int x = Integer.parseInt(args[0]);
- int y = Integer.parseInt(args[1]);
- if(world.withinWorld(x, y)) {
- Logger.mod(player.getUsername() + " teleported from " + player.getLocation().toString() + " to (" + x + ", " + y + ")");
- player.teleport(x, y, true);
- }
- else {
- player.getActionSender().sendMessage("Invalid coordinates!");
- }
- return;
- }
- if(cmd.equals("goto") || cmd.equals("summon")) {
- boolean summon = cmd.equals("summon");
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: " + (summon ? "SUMMON" : "GOTO") + " name");
- return;
- }
- long usernameHash = DataConversions.usernameToHash(args[0]);
- Player affectedPlayer = world.getPlayer(usernameHash);
- if(affectedPlayer != null) {
- if(summon) {
- Logger.mod(player.getUsername() + " summoned " + affectedPlayer.getUsername() + " from " + affectedPlayer.getLocation().toString() + " to " + player.getLocation().toString());
- affectedPlayer.teleport(player.getX(), player.getY(), true);
- affectedPlayer.getActionSender().sendMessage("You have been summoned by " + player.getUsername());
- }
- else {
- Logger.mod(player.getUsername() + " went from " + player.getLocation() + " to " + affectedPlayer.getUsername() + " at " + affectedPlayer.getLocation().toString());
- player.teleport(affectedPlayer.getX(), affectedPlayer.getY(), true);
- }
- }
- else {
- player.getActionSender().sendMessage("Invalid player, maybe they aren't currently on this server?");
- }
- return;
- }
- if(cmd.equals("take") || cmd.equals("put")) {
- if(args.length != 1) {
- player.getActionSender().sendMessage("Invalid args. Syntax: TAKE name");
- return;
- }
- Player affectedPlayer = world.getPlayer(DataConversions.usernameToHash(args[0]));
- if(affectedPlayer == null) {
- player.getActionSender().sendMessage("Invalid player, maybe they aren't currently online?");
- return;
- }
- Logger.mod(player.getUsername() + " took " + affectedPlayer.getUsername() + " from " + affectedPlayer.getLocation().toString() + " to admin room");
- affectedPlayer.teleport(78, 1642, true);
- if(cmd.equals("take")) {
- player.teleport(76, 1642, true);
- }
- return;
- }
- if(cmd.equals("global")) {
- String globalMsg = "";
- for(int i = 0; i < args.length; i++) {
- globalMsg = globalMsg + args[i] + " ";
- }
- for(Player p : world.getPlayers()) {
- p.getActionSender().sendAlert("#adm#" + player.getUsername() + ": " + globalMsg, false);
- }
- return;
- }
- if (cmd.equals("dropall")) {
- player.getInventory().getItems().clear();
- player.getActionSender().sendInventory();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement