Pues basicamente es un script en el que configurar el cuando queremos que nos indique el servidor los jugadores actualmente conectados. Puede configurarse el tiempo, cada X tiempo muestra el server cuantos usuarios online tiene el server.
### Eclipse Workspace Patch 1.0
#P Coding Time!
Index: java/net/sf/l2j/gameserver/model/entity/AnnounceOnlinePlayers.java
===================================================================
--- java/net/sf/l2j/gameserver/model/entity/AnnounceOnlinePlayers.java (revision 0)
+++ java/net/sf/l2j/gameserver/model/entity/AnnounceOnlinePlayers.java (working copy)
@@ -0,0 +1,52 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.model.entity;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.Announcements;
+import net.sf.l2j.gameserver.ThreadPoolManager;
+import net.sf.l2j.gameserver.model.L2World;
+
+/**
+ *
+ * @author Debian
+ *
+ */
+
+public class AnnounceOnlinePlayers
+{
+ public static void getInstance()
+ {
+ ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable()
+ {
+ @Override
+ @SuppressWarnings("synthetic-access")
+ public void run()
+ {
+ Announce();
+ }
+ }, 0,Config.ANNOUNCE_ONLINE_PLAYERS_DELAY * 1000);
+ }
+ @SuppressWarnings("static-access")
+ private static void Announce()
+ {
+ int NumberofPlayers = L2World.getInstance().getAllPlayersCount();
+
+ if (NumberofPlayers == 1)
+ Announcements.getInstance().announceToAll(NumberofPlayers + " player is online.");
+ else
+ Announcements.getInstance().announceToAll(NumberofPlayers + " players are online.");
+ }
+}
\ No newline at end of file
Index: java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- java/net/sf/l2j/gameserver/GameServer.java (revision 270)
+++ java/net/sf/l2j/gameserver/GameServer.java (working copy)
@@ -89,6 +89,7 @@
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.PartyMatchRoomList;
import net.sf.l2j.gameserver.model.PartyMatchWaitingList;
+import net.sf.l2j.gameserver.model.entity.AnnounceOnlinePlayers;
import net.sf.l2j.gameserver.model.entity.Castle;
import net.sf.l2j.gameserver.model.entity.Hero;
import net.sf.l2j.gameserver.model.olympiad.Olympiad;
@@ -273,6 +274,9 @@
if (Config.ALLOW_WEDDING)
CoupleManager.getInstance();
+ if (Config.ALLOW_ANNOUNCE_ONLINE_PLAYERS)
+ AnnounceOnlinePlayers.getInstance();
+
Util.printSection("System");
TaskManager.getInstance();
Index: config/events.properties
===================================================================
--- config/events.properties (revision 270)
+++ config/events.properties (working copy)
@@ -229,4 +229,13 @@
AltLottery3NumberRate = 0.2
# How much adena receive characters who pick two or less of the winning number
-AltLottery2and1NumberPrize = 200
\ No newline at end of file
+AltLottery2and1NumberPrize = 200
+
+#=============================================================
+# Announce Online Players
+#=============================================================
+# Enable this feature.
+AllowAnnounceOnlinePlayers = True
+
+# Announcement Delay (in seconds)
+AnnounceOnlinePlayersDelay = 300
\ No newline at end of file
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java (revision 270)
+++ java/net/sf/l2j/Config.java (working copy)
@@ -262,6 +262,10 @@
public static float ALT_LOTTERY_3_NUMBER_RATE;
public static int ALT_LOTTERY_2_AND_1_NUMBER_PRIZE;
+ /** Announce Online Players */
+ public static boolean ALLOW_ANNOUNCE_ONLINE_PLAYERS;
+ public static int ANNOUNCE_ONLINE_PLAYERS_DELAY;
+
// --------------------------------------------------
// HexID
// --------------------------------------------------
@@ -994,6 +998,8 @@
ALT_LOTTERY_4_NUMBER_RATE = Float.parseFloat(events.getProperty("AltLottery4NumberRate", "0.2"));
ALT_LOTTERY_3_NUMBER_RATE = Float.parseFloat(events.getProperty("AltLottery3NumberRate", "0.2"));
ALT_LOTTERY_2_AND_1_NUMBER_PRIZE = Integer.parseInt(events.getProperty("AltLottery2and1NumberPrize", "200"));
+ ALLOW_ANNOUNCE_ONLINE_PLAYERS = Boolean.parseBoolean(events.getProperty("AllowAnnounceOnlinePlayers", "True"));
+ ANNOUNCE_ONLINE_PLAYERS_DELAY = Integer.parseInt(events.getProperty("AnnounceOnlinePlayersDelay", "300"));
}
catch (Exception e)
{