diff --git a/2006Redone Server/src/com/rebotted/game/players/PlayerHandler.java b/2006Redone Server/src/com/rebotted/game/players/PlayerHandler.java index 611fe12c..7634f3ad 100644 --- a/2006Redone Server/src/com/rebotted/game/players/PlayerHandler.java +++ b/2006Redone Server/src/com/rebotted/game/players/PlayerHandler.java @@ -13,7 +13,7 @@ import com.rebotted.world.GlobalDropsHandler; public class PlayerHandler { 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 boolean updateAnnounced; public static boolean updateRunning; @@ -54,18 +54,18 @@ public class PlayerHandler { return playerCount; } - public static int getPlayerBotCount() { - return playerBotCount; + public static int getPlayerShopCount() { + return playerShopCount; } public void updatePlayerNames() { - playerBotCount = 0; + playerShopCount = 0; playerCount = 0; for (int i = 0; i < GameConstants.MAX_PLAYERS; i++) { if (players[i] != null) { playersCurrentlyOn[i] = players[i].playerName; if (players[i].isBot) - playerBotCount++; + playerShopCount++; else playerCount++; } else { diff --git a/2006Redone Server/src/com/rebotted/net/packets/impl/Commands.java b/2006Redone Server/src/com/rebotted/net/packets/impl/Commands.java index 756c2201..5951724c 100644 --- a/2006Redone Server/src/com/rebotted/net/packets/impl/Commands.java +++ b/2006Redone Server/src/com/rebotted/net/packets/impl/Commands.java @@ -14,6 +14,7 @@ import com.rebotted.game.players.*; import com.rebotted.net.packets.PacketType; import com.rebotted.util.Misc; import com.rebotted.world.clip.Region; +import org.apollo.jagcached.Constants; public class Commands implements PacketType { @@ -74,6 +75,7 @@ public class Commands implements PacketType { case "coords": case "coord": case "pos": + case "loc": player.getPacketSender().sendMessage("Your coords are [" + player.absX + ", " + player.absY + ", " + player.heightLevel + "]"); break; case "password": @@ -91,13 +93,38 @@ public class Commands implements PacketType { player.logout(true); } break; - case "null": - break; case "players": - if (PlayerHandler.getPlayerCount() != 1) { - player.getPacketSender().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online."); + case "playershops": + 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 { - 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; case "shop": @@ -151,10 +178,49 @@ public class Commands implements PacketType { player.getPacketSender().closeAllWindows(); break; case "commands": - player.getPacketSender().sendMessage("::players, ::highscores, ::loc, ::stuck, ::randomtoggle, ::debug, ::togglegfx, ::shop"); - break; - case "loc": - player.getPacketSender().sendMessage(player.absX + "," + player.absY); + String[] commands = new String[]{ + "::players", + "Show how many players are online", + "", + "::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; case "stuck": player.getPlayerAssistant().startTeleport(LUMBRIDGE_X, LUMBRIDGE_Y, 0, "modern"); @@ -211,10 +277,9 @@ public class Commands implements PacketType { player.getPacketSender().sendFrame126("@dre@Highscores", 8144); - int lineNumber = 8147; + int highscoresLineNumber = 8147; for (String line : highscores){ - System.out.println(line + " - " + lineNumber); - player.getPacketSender().sendFrame126(line, lineNumber++); + player.getPacketSender().sendFrame126(line, highscoresLineNumber++); } player.getPacketSender().showInterface(8134); diff --git a/CompiledServer/production/2006rebotted/com/rebotted/game/players/PlayerHandler.class b/CompiledServer/production/2006rebotted/com/rebotted/game/players/PlayerHandler.class index d724a9d9..bdc3ea90 100644 Binary files a/CompiledServer/production/2006rebotted/com/rebotted/game/players/PlayerHandler.class and b/CompiledServer/production/2006rebotted/com/rebotted/game/players/PlayerHandler.class differ diff --git a/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands$1.class b/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands$1.class index 45d55655..ba3ba50e 100644 Binary files a/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands$1.class and b/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands$1.class differ diff --git a/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands.class b/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands.class index 26221ac0..6c347ac7 100644 Binary files a/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands.class and b/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands.class differ