diff --git a/Management-Server/src/main/java/ms/Management.java b/Management-Server/src/main/java/ms/Management.java index 998228c6b..5d44a4e37 100644 --- a/Management-Server/src/main/java/ms/Management.java +++ b/Management-Server/src/main/java/ms/Management.java @@ -1,6 +1,8 @@ package ms; import ms.net.NioReactor; +import ms.net.packet.IoBuffer; +import ms.net.packet.PacketHeader; import ms.net.packet.WorldPacketRepository; import ms.system.ShutdownSequence; import ms.system.mysql.SQLManager; @@ -116,6 +118,27 @@ public final class Management { player.setWorldId(0); System.out.println("Kicked player " + name + "!"); } + }, + + new Command("-say", "Send a message to all worlds") { + @Override + public void run(String... args) { + String message = String.join(" ", args); + message = message.substring(4); + for(GameServer server : WorldDatabase.getWorlds()){ + if(server == null) continue; + String finalMessage = message; + server.getPlayers().forEach((String uname, PlayerSession p) -> { + IoBuffer buffer = new IoBuffer(5, PacketHeader.BYTE); + buffer.putString(p.getUsername()); + buffer.putString("Server"); + buffer.put(2); + buffer.put(2); + buffer.putString(finalMessage); + p.getWorld().getSession().write(buffer); + }); + } + } } }; diff --git a/Server/src/main/java/core/game/interaction/npc/RoavarDialogue.java b/Server/src/main/java/core/game/interaction/npc/RoavarDialogue.java index 0af8a4669..5051340ba 100644 --- a/Server/src/main/java/core/game/interaction/npc/RoavarDialogue.java +++ b/Server/src/main/java/core/game/interaction/npc/RoavarDialogue.java @@ -44,7 +44,7 @@ public class RoavarDialogue extends DialoguePlugin { stage = 1; break; case 1: - interpreter.sendOptions("Select an Option", "Can I buy a beer?", "Can I hear some gossipp?", "Do you have a spare silver sickle?", "Nothing thanks."); + interpreter.sendOptions("Select an Option", "Can I buy a beer?", "Can I hear some gossipp?", "Nothing thanks."); stage = 2; break; case 2: @@ -58,10 +58,6 @@ public class RoavarDialogue extends DialoguePlugin { stage = 20; break; case 3: - interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Would you happen to have a spare silver sickle?"); - stage = 30; - break; - case 4: interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Nothing thanks."); stage = 40; break;