Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Usuarios Online cada X tiempo

Iniciado por Swarlog, Ago 19, 2022, 12:51 AM

Tema anterior - Siguiente tema

Swarlog

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)
  {