Update Commands (#280)

* Show commands in interface

* Update players command, add playershops command

* Remove null command

* Update Commands.class
This commit is contained in:
Danial
2019-12-13 13:36:18 +13:00
committed by Josh Shippam
parent f39993e3d9
commit 9b160452ad
5 changed files with 82 additions and 17 deletions
@@ -13,7 +13,7 @@ import com.rebotted.world.GlobalDropsHandler;
public class PlayerHandler { public class PlayerHandler {
public static Player players[] = new Player[GameConstants.MAX_PLAYERS]; public static Player players[] = new Player[GameConstants.MAX_PLAYERS];
public static int playerCount = 0, playerBotCount = 0; public static int playerCount = 0, playerShopCount = 0;
public static String playersCurrentlyOn[] = new String[GameConstants.MAX_PLAYERS]; public static String playersCurrentlyOn[] = new String[GameConstants.MAX_PLAYERS];
public static boolean updateAnnounced; public static boolean updateAnnounced;
public static boolean updateRunning; public static boolean updateRunning;
@@ -54,18 +54,18 @@ public class PlayerHandler {
return playerCount; return playerCount;
} }
public static int getPlayerBotCount() { public static int getPlayerShopCount() {
return playerBotCount; return playerShopCount;
} }
public void updatePlayerNames() { public void updatePlayerNames() {
playerBotCount = 0; playerShopCount = 0;
playerCount = 0; playerCount = 0;
for (int i = 0; i < GameConstants.MAX_PLAYERS; i++) { for (int i = 0; i < GameConstants.MAX_PLAYERS; i++) {
if (players[i] != null) { if (players[i] != null) {
playersCurrentlyOn[i] = players[i].playerName; playersCurrentlyOn[i] = players[i].playerName;
if (players[i].isBot) if (players[i].isBot)
playerBotCount++; playerShopCount++;
else else
playerCount++; playerCount++;
} else { } else {
@@ -14,6 +14,7 @@ import com.rebotted.game.players.*;
import com.rebotted.net.packets.PacketType; import com.rebotted.net.packets.PacketType;
import com.rebotted.util.Misc; import com.rebotted.util.Misc;
import com.rebotted.world.clip.Region; import com.rebotted.world.clip.Region;
import org.apollo.jagcached.Constants;
public class Commands implements PacketType { public class Commands implements PacketType {
@@ -74,6 +75,7 @@ public class Commands implements PacketType {
case "coords": case "coords":
case "coord": case "coord":
case "pos": case "pos":
case "loc":
player.getPacketSender().sendMessage("Your coords are [" + player.absX + ", " + player.absY + ", " + player.heightLevel + "]"); player.getPacketSender().sendMessage("Your coords are [" + player.absX + ", " + player.absY + ", " + player.heightLevel + "]");
break; break;
case "password": case "password":
@@ -91,13 +93,38 @@ public class Commands implements PacketType {
player.logout(true); player.logout(true);
} }
break; break;
case "null":
break;
case "players": case "players":
if (PlayerHandler.getPlayerCount() != 1) { case "playershops":
player.getPacketSender().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online."); int count = playerCommand.equalsIgnoreCase("players") ? PlayerHandler.getPlayerCount() : PlayerHandler.getPlayerShopCount();
if (count != 1) {
player.getPacketSender().sendMessage("There are currently " + count + " " + (playerCommand.equalsIgnoreCase("players") ? "players" : "player shops") + " online.");
} else { } else {
player.getPacketSender().sendMessage("There is currently " + PlayerHandler.getPlayerCount() + " player online."); player.getPacketSender().sendMessage("There is currently " + count + " " + (playerCommand.equalsIgnoreCase("players") ? "player" : "player shop") + " online.");
}
if (player.playerRights > 0) {
String[] players = new String[count];
int playerIndex = 0;
for(Player _player : PlayerHandler.players) {
if(_player != null) {
if (playerCommand.equalsIgnoreCase("players") ? !_player.isBot : _player.isBot)
players[playerIndex++] = _player.properName;
}
}
// Clear all lines
for (int i = 8144; i < 8195; i++) player.getPacketSender().sendFrame126("", i);
player.getPacketSender().sendFrame126("@dre@" + (playerCommand.equalsIgnoreCase("players") ? "Players" : "Player Shops"), 8144);
int playersLineNumber = 8147;
for (String line : players){
player.getPacketSender().sendFrame126(line, playersLineNumber++);
}
player.getPacketSender().showInterface(8134);
break;
} }
break; break;
case "shop": case "shop":
@@ -151,10 +178,49 @@ public class Commands implements PacketType {
player.getPacketSender().closeAllWindows(); player.getPacketSender().closeAllWindows();
break; break;
case "commands": case "commands":
player.getPacketSender().sendMessage("::players, ::highscores, ::loc, ::stuck, ::randomtoggle, ::debug, ::togglegfx, ::shop"); String[] commands = new String[]{
break; "::players",
case "loc": "Show how many players are online",
player.getPacketSender().sendMessage(player.absX + "," + player.absY); "",
"::highscores",
"Get a list of current highscores",
"",
"::loc, ::pos, ::coord",
"Get your current world position",
"",
"::stuck",
"Return to Lumbridge when stuck",
"",
"::randomtoggle",
"Enable/Disable random events",
"",
"::debug",
"Enable/Disable debug information",
"",
"::togglegfx",
"Enable/Disable graphics rendering",
"",
"::shop",
"Open/Move player owned shop to your location",
"",
"::closeshop",
"Close your player owned shop",
"",
"::withdrawshop",
"Withdraw profits from player owned shop",
};
// Clear all lines
for (int i = 8144; i < 8195; i++) player.getPacketSender().sendFrame126("", i);
player.getPacketSender().sendFrame126("@dre@Commands", 8144);
int commandsLineNumber = 8147;
for (String line : commands){
player.getPacketSender().sendFrame126(line, commandsLineNumber++);
}
player.getPacketSender().showInterface(8134);
break; break;
case "stuck": case "stuck":
player.getPlayerAssistant().startTeleport(LUMBRIDGE_X, LUMBRIDGE_Y, 0, "modern"); player.getPlayerAssistant().startTeleport(LUMBRIDGE_X, LUMBRIDGE_Y, 0, "modern");
@@ -211,10 +277,9 @@ public class Commands implements PacketType {
player.getPacketSender().sendFrame126("@dre@Highscores", 8144); player.getPacketSender().sendFrame126("@dre@Highscores", 8144);
int lineNumber = 8147; int highscoresLineNumber = 8147;
for (String line : highscores){ for (String line : highscores){
System.out.println(line + " - " + lineNumber); player.getPacketSender().sendFrame126(line, highscoresLineNumber++);
player.getPacketSender().sendFrame126(line, lineNumber++);
} }
player.getPacketSender().showInterface(8134); player.getPacketSender().showInterface(8134);