From 9b160452ad9589c35b8877c595e3318d94cca9b6 Mon Sep 17 00:00:00 2001 From: Danial Date: Fri, 13 Dec 2019 13:36:18 +1300 Subject: [PATCH] Update Commands (#280) * Show commands in interface * Update players command, add playershops command * Remove null command * Update Commands.class --- .../rebotted/game/players/PlayerHandler.java | 10 +- .../rebotted/net/packets/impl/Commands.java | 89 +++++++++++++++--- .../rebotted/game/players/PlayerHandler.class | Bin 10450 -> 10452 bytes .../net/packets/impl/Commands$1.class | Bin 2019 -> 2019 bytes .../rebotted/net/packets/impl/Commands.class | Bin 23041 -> 24798 bytes 5 files changed, 82 insertions(+), 17 deletions(-) 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 d724a9d978c7553511c46a29e347c9e5e196f1f4..bdc3ea90eeb6fd5e8b45de3f6f0e438a9268c571 100644 GIT binary patch delta 44 scmcZw{DRH9nJzN&38kl&1R%s_vRJAB0GJaILjV8( delta 42 rcmcZ-cqwqhMkX%4f}F(4)FP++lFfUVE;8~8rl*z!z=dYBSgHU3a>x)^ 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 45d55655d08fbb8aad63760653b0cb0667a66cf8..ba3ba50e7ecdcf65351fb421c30af4cf73b1ca39 100644 GIT binary patch delta 63 zcmaFN|CoP6EgPfJFLu43-Rr3|0(A3^ojo40a4z49*O>3=Rx= RKwdS26GJ_N%j6>VLIA#04AB4p delta 63 zcmaFN|CoP6EgPfZq3}y`C4CV|93>FNA43-Q=4Au;e47Lne3{DKW4E79p R3=Ry{K#_U|=gCFvg#f(S48#Bc 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 26221ac06b353eacb11507c1f3c95efaaa88d5af..6c347ac70ad2903468926c58948ee1d8b7feca15 100644 GIT binary patch literal 24798 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 literal 23041 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 Okl`J02D=ac)c*iO8