Jump to content

Auto Announce Online Players.


Dεbian

Recommended Posts

Hey everyone,

 

I saw Fanky's code which isn't working and I coded this code from scratch.

 

Description : Every X minutes (seconds in config) an announcement appears which says how many players are online.

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

 

For any problems, pm me!

 

Kind regards,

 

Debian

Link to comment
Share on other sites

Hey everyone,

 

I saw Fanky's code which isn't working and I coded this code from scratch.

 

Description : Every X minutes (seconds in config) an announcement appears which says how many players are online.

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

 

For any problems, pm me!

 

Kind regards,

 

Debian

Φοβερο +1 απο μενα :)

Link to comment
Share on other sites

  • 5 weeks later...
  • 1 month later...
  • 5 weeks later...

Hey everyone,

 

I saw Fanky's code which isn't working and I coded this code from scratch.

 

Description : Every X minutes (seconds in config) an announcement appears which says how many players are online.

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

 

For any problems, pm me!

 

Kind regards,

 

Debian

 

where to add this code to make it works :D ? :poker face:

Link to comment
Share on other sites

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...