mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
refactor commands, add click to tele command
This commit is contained in:
@@ -82,7 +82,7 @@ public abstract class Player {
|
||||
treeSpiritSpawned = false, chickenSpawned = false, clickedTree = false, filter = true,
|
||||
stopPlayer = false, npcCanAttack = true, gliderOpen = false, hasSandwhichLady = false,
|
||||
isHarvesting, openDuel = false, killedJad = false, canHealersRespawn = true, playerIsBusy = false, miningRock,
|
||||
randomEventsEnabled = false, debugMode = false;
|
||||
randomEventsEnabled = false, debugMode = false, clickToTele = false;
|
||||
|
||||
public int votePoints, thankedForDonation, saveDelay, playerKilled, gertCat, restGhost,
|
||||
romeojuliet, runeMist, vampSlayer, cookAss, doricQuest, blackKnight,
|
||||
|
||||
@@ -11,6 +11,8 @@ import redone.util.GameLogger;
|
||||
import redone.util.Misc;
|
||||
import redone.world.clip.Region;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static redone.game.content.combat.magic.MagicTeleports.LUMBRIDGE_X;
|
||||
import static redone.game.content.combat.magic.MagicTeleports.LUMBRIDGE_Y;
|
||||
|
||||
@@ -18,33 +20,36 @@ public class Commands implements PacketType {
|
||||
|
||||
@Override
|
||||
public void processPacket(Client player, int packetType, int packetSize) {
|
||||
String playerCommand = player.getInStream().readString();
|
||||
String[] messageArr = player.getInStream().readString().split(" ");
|
||||
String playerCommand = messageArr[0];
|
||||
String[] commandArguments = Arrays.copyOfRange(messageArr, 1, messageArr.length);
|
||||
if ((playerCommand.startsWith("ban") || playerCommand.startsWith("ip") || playerCommand.startsWith("mute") || playerCommand.startsWith("un")) && player.playerRights > 0 && player.playerRights < 4) {
|
||||
GameLogger.writeLog(player.playerName, "commands", player.playerName + " used command: " + playerCommand + "");
|
||||
GameLogger.writeLog(player.playerName, "commands", player.playerName + " used command: " + playerCommand);
|
||||
}
|
||||
if (player.playerRights >= 0) {
|
||||
playerCommands(player, playerCommand);
|
||||
playerCommands(player, playerCommand, commandArguments);
|
||||
}
|
||||
if (player.membership || player.playerRights > 1) {
|
||||
donatorCommands(player, playerCommand);
|
||||
donatorCommands(player, playerCommand, commandArguments);
|
||||
}
|
||||
if (player.playerRights >= 1) {
|
||||
moderatorCommands(player, playerCommand);
|
||||
moderatorCommands(player, playerCommand, commandArguments);
|
||||
}
|
||||
if (player.playerRights >= 2 && player.playerRights < 4) {
|
||||
adminCommands(player, playerCommand);
|
||||
adminCommands(player, playerCommand, commandArguments);
|
||||
}
|
||||
if (player.playerRights == 3) {
|
||||
developerCommands(player, playerCommand);
|
||||
developerCommands(player, playerCommand, commandArguments);
|
||||
}
|
||||
}
|
||||
|
||||
public static void playerCommands(Client player, String playerCommand) {
|
||||
if (playerCommand.equalsIgnoreCase("bank")) {
|
||||
public static void playerCommands(Client player, String playerCommand, String[] arguments) {
|
||||
switch (playerCommand.toLowerCase())
|
||||
{
|
||||
case "bank":
|
||||
player.getPlayerAssistant().openUpBank();
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("claimvote")) {
|
||||
break;
|
||||
case "claimvote":
|
||||
if(!Server.ersSecret.equals("")) {
|
||||
final String playerName = player.playerName;
|
||||
|
||||
@@ -72,53 +77,55 @@ public class Commands implements PacketType {
|
||||
} else {
|
||||
player.getActionSender().sendMessage("Voting Is Not Enabled");
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("coords") || playerCommand.equalsIgnoreCase("coord") || playerCommand.equalsIgnoreCase("pos")){
|
||||
break;
|
||||
case "coords":
|
||||
case "coord":
|
||||
case "pos":
|
||||
player.getActionSender().sendMessage("Your coords are [" + player.absX + "," + player.absY + "]");
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("players")) {
|
||||
if (PlayerHandler.getPlayerCount() > 1) {
|
||||
break;
|
||||
case "null":
|
||||
break;
|
||||
case "players":
|
||||
if (PlayerHandler.getPlayerCount() != 1) {
|
||||
player.getActionSender().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online.");
|
||||
} else {
|
||||
player.getActionSender().sendMessage("There is currently " + PlayerHandler.getPlayerCount() + " player online.");
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("wealth")) {
|
||||
|
||||
break;
|
||||
case "wealth":
|
||||
int totalWealth = player.getPlayerAssistant().totalGold();
|
||||
player.getActionSender().sendMessage("You currently have " + totalWealth + "gp.");
|
||||
|
||||
}
|
||||
|
||||
if (playerCommand.contains("clip") && player.playerRights < 2) {
|
||||
break;
|
||||
case "gfx100":
|
||||
if (arguments.length == 0)
|
||||
player.getActionSender().sendMessage("Must have 1 argument: ::gfx100 80");
|
||||
else
|
||||
player.gfx100(Integer.parseInt(arguments[0]));
|
||||
break;
|
||||
case "gfx0":
|
||||
if (arguments.length == 0)
|
||||
player.getActionSender().sendMessage("Must have 1 argument: ::gfx0 80");
|
||||
else
|
||||
player.gfx0(Integer.parseInt(arguments[0]));
|
||||
break;
|
||||
case "tele":
|
||||
if (player.connectedFrom.equals("127.0.0.1")) {
|
||||
try {
|
||||
if (arguments.length < 2) {
|
||||
player.getActionSender().sendMessage("Must specify x, y and optionally z coordinates: ::tele 3222 3218 0");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("gfx100"))
|
||||
{
|
||||
player.gfx100(Integer.parseInt(playerCommand.split(" ")[1]));
|
||||
if (arguments.length == 3)
|
||||
player.getPlayerAssistant().movePlayer(Integer.parseInt(arguments[0]), Integer.parseInt(arguments[1]), Integer.parseInt(arguments[2]));
|
||||
else
|
||||
player.getPlayerAssistant().movePlayer(Integer.parseInt(arguments[0]), Integer.parseInt(arguments[1]), player.heightLevel);
|
||||
} catch (Exception e) {
|
||||
player.getActionSender().sendMessage("Invalid coordinates");
|
||||
}
|
||||
if (playerCommand.startsWith("gfx0"))
|
||||
{
|
||||
player.gfx0(Integer.parseInt(playerCommand.split(" ")[1]));
|
||||
}
|
||||
|
||||
String message = null;
|
||||
System.out.println(player.playerName + " is running " + playerCommand);
|
||||
|
||||
if (playerCommand.contains("tele")) {
|
||||
if (player.connectedFrom.equals("127.0.0.1"))
|
||||
{
|
||||
player.getPlayerAssistant().startTeleport(Integer.parseInt(playerCommand.split(" ")[1]), Integer.parseInt(playerCommand.split(" ")[2]), 0, "modern");
|
||||
} else {
|
||||
player.getActionSender().sendMessage("Can't tele with ip " + player.connectedFrom);
|
||||
}
|
||||
}
|
||||
switch (playerCommand)
|
||||
{
|
||||
break;
|
||||
case "close_interface":
|
||||
player.getPlayerAssistant().closeAllWindows();
|
||||
break;
|
||||
@@ -137,14 +144,12 @@ public class Commands implements PacketType {
|
||||
case "randomtoggle":
|
||||
case "togglerandom":
|
||||
player.randomEventsEnabled = !player.randomEventsEnabled;
|
||||
message = player.randomEventsEnabled ? "You will now receive random events." : "You will no longer receieve random events.";
|
||||
player.getActionSender().sendMessage(message);
|
||||
player.getActionSender().sendMessage("You will " + (player.debugMode ? "now" : "no longer") + " receieve random events.");
|
||||
break;
|
||||
case "debug":
|
||||
case "debugmode":
|
||||
player.debugMode = !player.debugMode;
|
||||
message = player.debugMode ? "You will now receieve additional debug information when doing things" : "You will no longer receive additional info when doing things";
|
||||
player.getActionSender().sendMessage(message);
|
||||
player.getActionSender().sendMessage("You will " + (player.debugMode ? "now" : "no longer") + " receieve additional debug information when doing things.");
|
||||
break;
|
||||
case "highscores":
|
||||
for (Player p : PlayerHandler.players) {
|
||||
@@ -185,29 +190,34 @@ public class Commands implements PacketType {
|
||||
|
||||
}
|
||||
|
||||
public static void donatorCommands(Client player, String playerCommand) {
|
||||
public static void donatorCommands(Client player, String playerCommand, String[] arguments) {
|
||||
|
||||
}
|
||||
|
||||
public static void moderatorCommands(Client player, String playerCommand) {
|
||||
if (playerCommand.startsWith("yell")) {
|
||||
public static void moderatorCommands(Client player, String playerCommand, String[] arguments) {
|
||||
switch (playerCommand.toLowerCase()) {
|
||||
case "yell":
|
||||
for (int j = 0; j < PlayerHandler.players.length; j++) {
|
||||
if (PlayerHandler.players[j] != null) {
|
||||
Client c2 = (Client) PlayerHandler.players[j];
|
||||
if (player.playerRights == 1) {
|
||||
c2.getActionSender().sendMessage("@blu@[Moderator] @bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
|
||||
c2.getActionSender().sendMessage("@blu@[Moderator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
|
||||
} else if (player.playerRights == 2) {
|
||||
c2.getActionSender().sendMessage("@gre@[Administator] @bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
|
||||
c2.getActionSender().sendMessage("@gre@[Administator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
|
||||
} else if (player.playerRights == 3) {
|
||||
c2.getActionSender().sendMessage("@red@[Developer] @bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
|
||||
}
|
||||
c2.getActionSender().sendMessage("@red@[Developer] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
if (playerCommand.startsWith("mute")) {
|
||||
case "mute":
|
||||
try {
|
||||
String playerToBan = playerCommand.substring(5);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::mute playername");
|
||||
return;
|
||||
}
|
||||
String playerToBan = String.join(" ", arguments);
|
||||
Connection.addNameToMuteList(playerToBan);
|
||||
for (int i = 0; i < Constants.MAX_PLAYERS; i++) {
|
||||
if (PlayerHandler.players[i] != null) {
|
||||
@@ -221,11 +231,15 @@ public class Commands implements PacketType {
|
||||
} catch (Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
if (playerCommand.startsWith("ipmute")) {
|
||||
case "ipmute":
|
||||
try {
|
||||
String playerToBan = playerCommand.substring(7);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::ipmute playername");
|
||||
return;
|
||||
}
|
||||
String playerToBan = String.join(" ", arguments);
|
||||
for (int i = 0; i < Constants.MAX_PLAYERS; i++) {
|
||||
if (PlayerHandler.players[i] != null) {
|
||||
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
|
||||
@@ -240,11 +254,15 @@ public class Commands implements PacketType {
|
||||
} catch (Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
if (playerCommand.startsWith("unipmute")) {
|
||||
case "unipmute":
|
||||
try {
|
||||
String playerToBan = playerCommand.substring(9);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::unipmute playername");
|
||||
return;
|
||||
}
|
||||
String playerToBan = String.join(" ", arguments);
|
||||
for (int i = 0; i < Constants.MAX_PLAYERS; i++) {
|
||||
if (PlayerHandler.players[i] != null) {
|
||||
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
|
||||
@@ -257,27 +275,39 @@ public class Commands implements PacketType {
|
||||
} catch (Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
if (playerCommand.startsWith("unmute")) {
|
||||
case "unmute":
|
||||
try {
|
||||
String playerToBan = playerCommand.substring(7);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::unmute playername");
|
||||
return;
|
||||
}
|
||||
String playerToBan = String.join(" ", arguments);
|
||||
Connection.unMuteUser(playerToBan);
|
||||
} catch (Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static void adminCommands(Client player, String playerCommand) {
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("clearbank")) {
|
||||
public static void adminCommands(Client player, String playerCommand, String[] arguments) {
|
||||
switch (playerCommand.toLowerCase()) {
|
||||
case "clearbank":
|
||||
player.getItemAssistant().clearBank();
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("ipban")) { // use as ::ipban name
|
||||
break;
|
||||
case "clicktotele":
|
||||
player.clickToTele = !player.clickToTele;
|
||||
player.getActionSender().sendMessage("Click to teleport: " + (player.clickToTele ? "Enabled" : "Disabled"));
|
||||
break;
|
||||
case "ipban":
|
||||
try {
|
||||
String playerToBan = playerCommand.substring(6);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::ipban playername");
|
||||
return;
|
||||
}
|
||||
String playerToBan = String.join(" ", arguments);
|
||||
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
|
||||
if(PlayerHandler.players[i] != null) {
|
||||
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
|
||||
@@ -291,11 +321,14 @@ public class Commands implements PacketType {
|
||||
} catch(Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("ban") && playerCommand.charAt(3) == ' ') { // use as ::ban name
|
||||
break;
|
||||
case "ban":
|
||||
try {
|
||||
String playerToBan = playerCommand.substring(4);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::ban playername");
|
||||
return;
|
||||
}
|
||||
String playerToBan = String.join(" ", arguments);
|
||||
Connection.addNameToBanList(playerToBan);
|
||||
Connection.addNameToFile(playerToBan);
|
||||
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
|
||||
@@ -308,61 +341,76 @@ public class Commands implements PacketType {
|
||||
} catch(Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("unban")) {
|
||||
break;
|
||||
case "unban":
|
||||
try {
|
||||
String playerToBan = playerCommand.substring(6);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::unban playername");
|
||||
return;
|
||||
}
|
||||
String playerToBan = String.join(" ", arguments);
|
||||
Connection.removeNameFromBanList(playerToBan);
|
||||
player.getActionSender().sendMessage(playerToBan + " has been unbanned.");
|
||||
} catch(Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("empty")) {
|
||||
break;
|
||||
case "empty":
|
||||
player.getPlayerAssistant().handleEmpty();
|
||||
break;
|
||||
case "dialogue":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an id: ::dialogue id");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("dialogue")) {
|
||||
int npcType = 1552;
|
||||
int id = Integer.parseInt(playerCommand.split(" ")[1]);
|
||||
player.getDialogueHandler().sendDialogues(id, npcType);
|
||||
int dialogueID = Integer.parseInt(arguments[0]);
|
||||
player.getDialogueHandler().sendDialogues(dialogueID, npcType);
|
||||
break;
|
||||
case "interface":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an id: ::interface id");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("interface")) {
|
||||
String[] args = playerCommand.split(" ");
|
||||
player.getPlayerAssistant().showInterface(Integer.parseInt(args[1]));
|
||||
int interfaceID = Integer.parseInt(arguments[0]);
|
||||
player.getPlayerAssistant().showInterface(interfaceID);
|
||||
break;
|
||||
case "gfx":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an id: ::gfx id");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("gfx")) {
|
||||
String[] args = playerCommand.split(" ");
|
||||
player.gfx0(Integer.parseInt(args[1]));
|
||||
int gfxID = Integer.parseInt(arguments[0]);
|
||||
player.gfx0(gfxID);
|
||||
break;
|
||||
case "anim":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an id: ::anim id");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("anim")) {
|
||||
String[] args = playerCommand.split(" ");
|
||||
player.startAnimation(Integer.parseInt(args[1]));
|
||||
int animationID = Integer.parseInt(arguments[0]);
|
||||
player.startAnimation(animationID);
|
||||
player.getPlayerAssistant().requestUpdates();
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("mypos")) {
|
||||
break;
|
||||
case "mypos":
|
||||
player.getActionSender().sendMessage("X: " + player.absX);
|
||||
player.getActionSender().sendMessage("Y: " + player.absY);
|
||||
player.getActionSender().sendMessage("H: " + player.heightLevel);
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("bank")) {
|
||||
break;
|
||||
case "bank":
|
||||
player.getPlayerAssistant().openUpBank();
|
||||
}
|
||||
|
||||
|
||||
if (playerCommand.startsWith("xteletome")) {
|
||||
break;
|
||||
case "xteletome":
|
||||
case "teletome":
|
||||
try {
|
||||
String teleTo = playerCommand.substring(10);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::teletome playername");
|
||||
return;
|
||||
}
|
||||
String teleToMe = String.join(" ", arguments);
|
||||
for (int i = 0; i < PlayerHandler.players.length; i++) {
|
||||
if (PlayerHandler.players[i] != null) {
|
||||
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(teleTo)) {
|
||||
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(teleToMe)) {
|
||||
Client p = (Client) PlayerHandler.players[i];
|
||||
player.getActionSender().sendMessage(p.playerName + " has been teleported to you.");
|
||||
p.getPlayerAssistant().movePlayer(player.absX, player.absY, player.heightLevel);
|
||||
@@ -372,54 +420,51 @@ public class Commands implements PacketType {
|
||||
} catch (Exception e) {
|
||||
player.getActionSender().sendMessage("Player is not online.");
|
||||
}
|
||||
break;
|
||||
case "xteleto":
|
||||
case "teleto":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::teleto playername");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("xteleto")) {
|
||||
String name = playerCommand.substring(8);
|
||||
String teleTo = String.join(" ", arguments);
|
||||
for (int i = 0; i < PlayerHandler.players.length; i++) {
|
||||
if (PlayerHandler.players[i] != null) {
|
||||
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
|
||||
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(teleTo)) {
|
||||
player.getPlayerAssistant().movePlayer(PlayerHandler.players[i].getX(), PlayerHandler.players[i].getY(), PlayerHandler.players[i].heightLevel);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (playerCommand.startsWith("tele")) {
|
||||
String[] arg = playerCommand.split(" ");
|
||||
if (arg.length > 3) {
|
||||
player.getPlayerAssistant().movePlayer(Integer.parseInt(arg[1]), Integer.parseInt(arg[2]), Integer.parseInt(arg[3]));
|
||||
} else if (arg.length == 3) {
|
||||
player.getPlayerAssistant().movePlayer(Integer.parseInt(arg[1]), Integer.parseInt(arg[2]), player.heightLevel);
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("up")) {
|
||||
player.getActionSender().sendMessage("Could not find " + teleTo + " they must be online!");
|
||||
break;
|
||||
case "up":
|
||||
player.getPlayerAssistant().movePlayer(player.absX, player.absY, player.heightLevel + 1);
|
||||
player.getActionSender().sendMessage("You are now on height level " + player.heightLevel + ".");
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("down2")) {
|
||||
player.getPlayerAssistant().movePlayer(player.absX, player.absY + 6400, player.heightLevel);
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("down")) {
|
||||
break;
|
||||
case "up2":
|
||||
player.getPlayerAssistant().movePlayer(player.absX, player.absY - 6400, player.heightLevel);
|
||||
player.getActionSender().sendMessage("You are now on height level " + player.heightLevel + ".");
|
||||
break;
|
||||
case "down":
|
||||
player.getPlayerAssistant().movePlayer(player.absX, player.absY, player.heightLevel - 1);
|
||||
player.getActionSender().sendMessage("You are now on height level " + player.heightLevel + ".");
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("up2")) {
|
||||
player.getPlayerAssistant().movePlayer(player.absX, player.absY - 6400, player.heightLevel);
|
||||
}
|
||||
|
||||
if (playerCommand.equals("spec")) {
|
||||
break;
|
||||
case "down2":
|
||||
player.getPlayerAssistant().movePlayer(player.absX, player.absY + 6400, player.heightLevel);
|
||||
player.getActionSender().sendMessage("You are now on height level " + player.heightLevel + ".");
|
||||
break;
|
||||
case "spec":
|
||||
player.specAmount = 100.0;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("setlevel")) {
|
||||
break;
|
||||
case "setlevel":
|
||||
try {
|
||||
String[] args = playerCommand.split(" ");
|
||||
int skill = Integer.parseInt(args[1]);
|
||||
int level = Integer.parseInt(args[2]);
|
||||
if (arguments.length < 2) {
|
||||
player.getActionSender().sendMessage("Must specify a skill and level: ::setlevel 1 99");
|
||||
return;
|
||||
}
|
||||
int skill = Integer.parseInt(arguments[0]);
|
||||
int level = Integer.parseInt(arguments[1]);
|
||||
if (level > 99) {
|
||||
level = 99;
|
||||
} else if (level < 0) {
|
||||
@@ -429,12 +474,9 @@ public class Commands implements PacketType {
|
||||
player.playerLevel[skill] = player.getPlayerAssistant().getLevelForXP(player.playerXP[skill]);
|
||||
player.getPlayerAssistant().refreshSkill(skill);
|
||||
player.getPlayerAssistant().levelUp(skill);
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("spellbook")) {
|
||||
} catch (Exception ಠ_ಠ) {}
|
||||
break;
|
||||
case "spellbook":
|
||||
if (player.inWild()) {
|
||||
return;
|
||||
}
|
||||
@@ -450,47 +492,46 @@ public class Commands implements PacketType {
|
||||
player.autocastId = -1;
|
||||
player.getPlayerAssistant().resetAutocast();
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("item")) {
|
||||
break;
|
||||
case "item":
|
||||
try {
|
||||
String[] args = playerCommand.split(" ");
|
||||
if (args.length == 3) {
|
||||
int newItemID = Integer.parseInt(args[1]);
|
||||
int newItemAmount = Integer.parseInt(args[2]);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("Must specify an item id: ::item 995 1000");
|
||||
return;
|
||||
}
|
||||
int newItemID = Integer.parseInt(arguments[0]);
|
||||
int newItemAmount = arguments[1] != null ? Integer.parseInt(arguments[1]) : 1;
|
||||
if (newItemID <= 10000 && newItemID >= 0) {
|
||||
player.getItemAssistant().addItem(newItemID, newItemAmount);
|
||||
if (player.isBusy()) {
|
||||
player.getPlayerAssistant().closeAllWindows();
|
||||
}
|
||||
player.getActionSender().sendMessage("You spawn (" + newItemAmount + ") "+ ItemAssistant.getItemName(newItemID) + ".");
|
||||
player.getActionSender().sendMessage("You spawn " + newItemAmount + " × "+ ItemAssistant.getItemName(newItemID) + ".");
|
||||
} else {
|
||||
player.getActionSender().sendMessage("No such item.");
|
||||
}
|
||||
} else {
|
||||
player.getActionSender().sendMessage("Use as ::item 995 200");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("master")) {
|
||||
} catch (Exception ಠ_ಠ) {}
|
||||
break;
|
||||
case "master":
|
||||
for (int i = 0; i < 25; i++) {
|
||||
player.playerLevel[i] = 99;
|
||||
player.playerXP[i] = player.getPlayerAssistant().getXPForLevel(100);
|
||||
player.getPlayerAssistant().refreshSkill(i);
|
||||
}
|
||||
player.getPlayerAssistant().requestUpdates();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void developerCommands(Client player, String playerCommand) {
|
||||
|
||||
if (playerCommand.startsWith("giveadmin")) {
|
||||
public static void developerCommands(Client player, String playerCommand, String[] arguments) {
|
||||
switch (playerCommand.toLowerCase()) {
|
||||
case "giveadmin":
|
||||
try {
|
||||
String playerToAdmin = playerCommand.substring(10);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::giveadmin playername");
|
||||
return;
|
||||
}
|
||||
String playerToAdmin = String.join(" ", arguments);
|
||||
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
|
||||
if(PlayerHandler.players[i] != null) {
|
||||
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToAdmin)) {
|
||||
@@ -505,11 +546,14 @@ public class Commands implements PacketType {
|
||||
} catch(Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("demote")) {
|
||||
break;
|
||||
case "demote":
|
||||
try {
|
||||
String playerToAdmin = playerCommand.substring(7);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::demote playername");
|
||||
return;
|
||||
}
|
||||
String playerToAdmin = String.join(" ", arguments);
|
||||
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
|
||||
if(PlayerHandler.players[i] != null) {
|
||||
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToAdmin)) {
|
||||
@@ -524,11 +568,14 @@ public class Commands implements PacketType {
|
||||
} catch(Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("givemod")) {
|
||||
break;
|
||||
case "givemod":
|
||||
try {
|
||||
String playerToMod = playerCommand.substring(8);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify a player name: ::givemod playername");
|
||||
return;
|
||||
}
|
||||
String playerToMod = String.join(" ", arguments);
|
||||
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
|
||||
if(PlayerHandler.players[i] != null) {
|
||||
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToMod)) {
|
||||
@@ -543,24 +590,33 @@ public class Commands implements PacketType {
|
||||
} catch(Exception e) {
|
||||
player.getActionSender().sendMessage("Player Must Be Offline.");
|
||||
}
|
||||
break;
|
||||
case "object":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an ID: ::object 1000");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("object")) {
|
||||
String[] args = playerCommand.split(" ");
|
||||
player.getActionSender().object(Integer.parseInt(args[1]), player.absX, player.absY, player.heightLevel, 0, 10);
|
||||
Region.addObject(Integer.parseInt(args[1]), player.absX, player.absY, player.heightLevel, 10, 0, false);
|
||||
player.getActionSender().object(Integer.parseInt(arguments[0]), player.absX, player.absY, player.heightLevel, 0, 10);
|
||||
Region.addObject(Integer.parseInt(arguments[0]), player.absX, player.absY, player.heightLevel, 10, 0, false);
|
||||
break;
|
||||
case "object2":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an ID: ::object2 1000");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("object2")) {
|
||||
String[] args = playerCommand.split(" ");
|
||||
player.getActionSender().object(Integer.parseInt(args[1]), player.absX, player.absY, player.heightLevel, 0, 0);
|
||||
Region.addObject(Integer.parseInt(args[1]), player.absX, player.absY, player.heightLevel, 0, 0, false);
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("npc")) {
|
||||
player.getActionSender().object(Integer.parseInt(arguments[0]), player.absX, player.absY, player.heightLevel, 0, 0);
|
||||
Region.addObject(Integer.parseInt(arguments[0]), player.absX, player.absY, player.heightLevel, 0, 0, false);
|
||||
break;
|
||||
case "npc":
|
||||
try {
|
||||
int newNPC = Integer.parseInt(playerCommand.substring(4)), maxHit = NpcHandler.getNpcListCombat(newNPC) / 10,
|
||||
attack = NpcHandler.getNpcListCombat(newNPC), defence = NpcHandler.getNpcListCombat(newNPC);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an ID: ::npc 1000");
|
||||
return;
|
||||
}
|
||||
int newNPC = Integer.parseInt(arguments[0]),
|
||||
maxHit = NpcHandler.getNpcListCombat(newNPC) / 10,
|
||||
attack = NpcHandler.getNpcListCombat(newNPC),
|
||||
defence = NpcHandler.getNpcListCombat(newNPC);
|
||||
boolean attackPlayer = NpcHandler.getNpcListCombat(newNPC) > 0;
|
||||
if (newNPC > 0) {
|
||||
NpcHandler.spawnNpc(player, newNPC, player.absX, player.absY, player.heightLevel, 0, NpcHandler.getNpcListHP(newNPC), maxHit, attack, defence, attackPlayer, false);
|
||||
@@ -569,44 +625,39 @@ public class Commands implements PacketType {
|
||||
} else {
|
||||
player.getActionSender().sendMessage("Npc " + newNPC + " does not exist.");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
} catch (Exception ಠ_ಠ) {}
|
||||
break;
|
||||
case "cantAttack":
|
||||
player.npcCanAttack = !player.npcCanAttack;
|
||||
player.getActionSender().sendMessage("Npcs " + (player.npcCanAttack ? "can" : "can no longer") + " attack you.");
|
||||
break;
|
||||
case "sound":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an ID: ::sound 10");
|
||||
return;
|
||||
}
|
||||
player.getActionSender().sendSound(Integer.parseInt(arguments[0]), 100, 0);
|
||||
break;
|
||||
case "tutprog":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an ID: ::tutprog 10");
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("cantAttack")) {
|
||||
if (player.npcCanAttack == true) {
|
||||
player.getActionSender().sendMessage("Npcs can no longer attack you.");
|
||||
player.npcCanAttack = false;
|
||||
} else if (player.npcCanAttack == false) {
|
||||
player.getActionSender().sendMessage("Npcs can attack you again.");
|
||||
player.npcCanAttack = true;
|
||||
player.tutorialProgress = Integer.parseInt(arguments[0]);;
|
||||
break;
|
||||
case "song":
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify an ID: ::song 10");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("sound")) {
|
||||
String[] args = playerCommand.split(" ");
|
||||
player.getActionSender().sendSound(Integer.parseInt(args[1]), 100, 0);
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("tutprog")) {
|
||||
String[] args = playerCommand.split(" ");
|
||||
int id = Integer.parseInt(args[1]);
|
||||
player.tutorialProgress = id;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("song")) {
|
||||
String[] args = playerCommand.split(" ");
|
||||
int id = Integer.parseInt(args[1]);
|
||||
player.getActionSender().sendSong(id);
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("run")) {
|
||||
int songID = Integer.parseInt(arguments[0]);
|
||||
player.getActionSender().sendSong(songID);
|
||||
break;
|
||||
case "run":
|
||||
player.getActionSender().sendMessage("You have refilled your run-energy!");
|
||||
player.playerEnergy = 100;
|
||||
}
|
||||
|
||||
if (playerCommand.equalsIgnoreCase("runes")) {
|
||||
break;
|
||||
case "runes":
|
||||
final int amount = 10000;
|
||||
final int[][] RUNES = { { 554, amount }, { 555, amount },
|
||||
{ 556, amount }, { 557, amount }, { 558, amount },
|
||||
@@ -618,28 +669,24 @@ public class Commands implements PacketType {
|
||||
int amountToRecieve = element[1];
|
||||
player.getItemAssistant().addItem(item, amountToRecieve);
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("sidebars")) {
|
||||
break;
|
||||
case "sidebars":
|
||||
player.getPlayerAssistant().sendSidebars();
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("update")) {
|
||||
break;
|
||||
case "update":
|
||||
try {
|
||||
String[] args = playerCommand.split(" ");
|
||||
if (args.length == 2) {
|
||||
int seconds = Integer.parseInt(args[1]);
|
||||
if (arguments.length == 0) {
|
||||
player.getActionSender().sendMessage("You must specify the amount of time in seconds: ::update 300");
|
||||
return;
|
||||
}
|
||||
int seconds = Integer.parseInt(arguments[0]);
|
||||
PlayerHandler.updateSeconds = seconds;
|
||||
PlayerHandler.updateAnnounced = false;
|
||||
PlayerHandler.updateRunning = true;
|
||||
PlayerHandler.updateStartTime = System.currentTimeMillis();
|
||||
} else {
|
||||
player.getActionSender().sendMessage("Use as ::update (seconds)");
|
||||
} catch (Exception ಠ_ಠ) {}
|
||||
break;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -165,17 +165,25 @@ public class Walking implements PacketType {
|
||||
}
|
||||
|
||||
player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0;
|
||||
int firstStepX, firstStepY;
|
||||
|
||||
int firstStepX = player.getInStream().readSignedWordBigEndianA()
|
||||
- player.getMapRegionX() * 8;
|
||||
if (player.clickToTele)
|
||||
firstStepX = player.getInStream().readSignedWordBigEndianA();
|
||||
else
|
||||
firstStepX = player.getInStream().readSignedWordBigEndianA()-player.getMapRegionX()*8;
|
||||
for (int i = 1; i < player.newWalkCmdSteps; i++) {
|
||||
player.getNewWalkCmdX()[i] = player.getInStream().readSignedByte();
|
||||
player.getNewWalkCmdY()[i] = player.getInStream().readSignedByte();
|
||||
}
|
||||
|
||||
int firstStepY = player.getInStream().readSignedWordBigEndian() - player.getMapRegionY() * 8;
|
||||
if (player.clickToTele)
|
||||
firstStepY = player.getInStream().readSignedWordBigEndian();
|
||||
else
|
||||
firstStepY = player.getInStream().readSignedWordBigEndian()-player.getMapRegionY()*8;
|
||||
player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0);
|
||||
for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) {
|
||||
if (player.clickToTele)
|
||||
player.getPlayerAssistant().movePlayer(player.getNewWalkCmdX()[i1] + firstStepX, player.getNewWalkCmdY()[i1] + firstStepY, player.heightLevel);
|
||||
player.getNewWalkCmdX()[i1] += firstStepX;
|
||||
player.getNewWalkCmdY()[i1] += firstStepY;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user