In WorldChannelInterfaceImpl.java
Add this,
public void broadcastGMMessage(String sender, byte[] message) throws RemoteException {
for (int i : WorldRegistryImpl.getInstance().getChannelServer() ) {
ChannelWorldInterface cwi = WorldRegistryImpl.getInstance().getChannel(i);
try {
cwi.broadcastGMMessage(sender, message);
} catch (RemoteException e) {
WorldRegistryImpl.getInstance().deregisterChannelS erver(i);
}
} }
Add this to WorldChannelCommonOperations.java,
public void broadcastGMMessage(String sender, byte[] message) throws RemoteException;
Add this to your PlayerCommands.java
else if (splitted[0].equals("@callgm")) {
StringBuilder sb = new StringBuilder();
sb.append(c.getPlayer().getName());
sb.append(" needs your help.");
WorldChannelInterface wci = c.getChannelServer().getWorldInterface();
try{wci.broadcastGMMessage(null, MaplePacketCreator.serverNotice(5 , sb.toString()).getBytes());} catch(Exception ex){}
}
Add this to the definitions
new CommandDefinition("callgm", "", "Calls a gm for help", 0),
Add this to WorldChannelInterfaceImpl.java,
public void broadcastGMMessage(String sender, byte[] message) throws RemoteException {
MaplePacket packet = new ByteArrayMaplePacket(message);
server.broadcastGMPacket(packet);
}
And this to your ChannelServer.java,
public void broadcastGMPacket(MaplePacket data) {
for (MapleCharacter chr : players.getAllCharacters()) {
if(chr.isGM())
chr.getClient().getSession().write(data);
}
}