Jump to content

[Share]Announcement online players every X seconds(configurable)


Recommended Posts

Posted

So,crystalia pm'ed me today and asked me if I could do that,and i did it.

 

so,here you're

 

 

### Eclipse Workspace Patch 1.0
#P L2_GameServer_It
Index: java/net/sf/l2j/gameserver/PlayersOnlineAnnouncement.java
===================================================================
--- java/net/sf/l2j/gameserver/PlayersOnlineAnnouncement.java	(revision 0)
+++ java/net/sf/l2j/gameserver/PlayersOnlineAnnouncement.java	(revision 0)
@@ -0,0 +1,44 @@
+/*
+ * 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;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.model.L2World;
+
+/**
+ * @author fanky
+ *
+ */
+public class PlayersOnlineAnnouncement implements Runnable
+{
+
+	@Override
+	public void run()
+	{
+		Announcements.getInstance().announceToAll("There are "+L2World.getInstance().getAllPlayersCount()+" players online");
+		ThreadPoolManager.getInstance().scheduleGeneral(new PlayersOnlineAnnouncement(), Config.ANNOUNCE_ONLINE_PLAYER_EVERY * 1000);
+		
+	}
+	public static PlayersOnlineAnnouncement getInstance()
+	 {
+	      return SingletonHolder._instance;
+	  }
+	
+	  @SuppressWarnings("synthetic-access")
+	  private static class SingletonHolder
+	  {
+	      protected static final PlayersOnlineAnnouncement _instance = new PlayersOnlineAnnouncement();
+	  }
+}
Index: java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- java/net/sf/l2j/gameserver/GameServer.java	(revision 5585)
+++ java/net/sf/l2j/gameserver/GameServer.java	(working copy)
@@ -350,6 +350,9 @@
		CharTemplateTable.getInstance();
		NobleSkillTable.getInstance();
		HeroSkillTable.getInstance();
+		
+		if (Config.ALLOW_ANNOUNCE_ONLINE_PLAYERS)
+		PlayersOnlineAnnouncement.getInstance();

         //Call to load caches
         HtmCache.getInstance();
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 5585)
+++ java/net/sf/l2j/Config.java	(working copy)
@@ -882,6 +882,10 @@
     public static boolean L2JMOD_WEDDING_SAMESEX;
     public static boolean L2JMOD_WEDDING_FORMALWEAR;
     public static int L2JMOD_WEDDING_DIVORCE_COSTS;
+    
+    // auto announcement online players
+    public static int ANNOUNCE_ONLINE_PLAYER_EVERY;
+    public static boolean ALLOW_ANNOUNCE_ONLINE_PLAYERS;

     // Packet information
     /** Count the a-beep-t of packets per minute ? */
@@ -1859,7 +1863,8 @@
                 L2JMOD_WEDDING_SAMESEX                  = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingAllowSameSex", "False"));
                 L2JMOD_WEDDING_FORMALWEAR               = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingFormalWear", "True"));
                 L2JMOD_WEDDING_DIVORCE_COSTS            = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20"));
-
+                ANNOUNCE_ONLINE_PLAYER_EVERY               = Integer.parseInt(L2JModSettings.getProperty("AnnounceOnlinePlayerEvery","60"));
+                ALLOW_ANNOUNCE_ONLINE_PLAYERS           = Boolean.parseBoolean(L2JModSettings.getProperty("AllowAnnounceOnlinePlayers","True"));
                 if (TVT_EVENT_PARTICIPATION_NPC_ID == 0)
                 {
                     TVT_EVENT_ENABLED = false;
Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties	(revision 5585)
+++ java/config/l2jmods.properties	(working copy)
@@ -132,3 +132,12 @@
# ex.: 1;2;3;4;5;6
# no ";" at the start or end
TvTEventDoorsCloseOpenOnStartEnd =
+
+#---------------------------------------------------------------
+# Auto Announcement Engine by fanky                    -
+#---------------------------------------------------------------
+# It 'll announce every x(seconds) online players
+# Enable this engine?
+AllowAnnounceOnlinePlayers = True
+# Announcement every ?(Seconds)
+AnnounceOnlinePlayerEvery = 60

 

I didn't actually test it,but it normally it should work.

if someone could test it and feedback me I would be pleased.

Guest Elfocrash
Posted

You wrong here : scheduleGeneral it should be ->scheduleGeneralAtFixedRate

read the code and then raise your hand and say i said the most stupid thing ever

Posted

read the code and then raise your hand and say i said the most stupid thing ever

read what i wrote: You wrong here : scheduleGeneral it should be ->scheduleGeneralAtFixedRate because scheduleGeneral execute tasks once and scheduleGeneralAtFixedRate execute tasks periodicaly

 

whos the stupid now?

Guest Elfocrash
Posted

read what i wrote: You wrong here : scheduleGeneral it should be ->scheduleGeneralAtFixedRate because scheduleGeneral execute tasks once and scheduleGeneralAtFixedRate execute tasks periodicaly

read the code and then raise your hand and say i said the most stupid thing ever

Posted

Elfocrash read the share [share]Announcement online players every X seconds(configurable) its a code that runs periodicaly... the scheduleGeneral its wrong. it should be scheduleGeneralAtFixedRate(periodicaly)

Guest Elfocrash
Posted

Elfocrash read the share [share]Announcement online players every X seconds(configurable) its a code that runs periodicaly... the scheduleGeneral its wrong. it should be scheduleGeneralAtFixedRate(periodicaly)

read the code and then raise your hand and say i said the most stupid thing ever

Posted

read what i wrote: You wrong here : scheduleGeneral it should be ->scheduleGeneralAtFixedRate because scheduleGeneral execute tasks once and scheduleGeneralAtFixedRate execute tasks periodicaly

 

whos the stupid now?

lolololo.

 

back to your cave dude,pls.

Posted

read what i wrote: You wrong here : scheduleGeneral it should be ->scheduleGeneralAtFixedRate because scheduleGeneral execute tasks once and scheduleGeneralAtFixedRate execute tasks periodicaly

 

whos the stupid now?

lolololo.

 

back to your cave dude,pls.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • the forum says you are known as #1 scammer here,not this random guy 
    • VAELOR Lineage II Interlude · L2OFF · x12   GRAND OPENING 23 October 2026 · 17:00 UTC   Website: https://l2vaelor.com/ Discord: https://discord.gg/qMgPxH2fd4   ━━━━━━━━━━━━━━━━━━━━━━   WHAT VAELOR AIMS TO BE   Vaelor is an international L2OFF Interlude x12 server built to preserve the original Interlude experience. Combat, classes, crafting, sieges, Olympiad and progression remain close to retail. The changes are limited to the pace and convenience features that make sense on an x12 server.   RATES   EXP and SP: x12 Party EXP and SP: x13.2 Adena: x10 Drop: x5 Spoil: x9 Quest EXP and SP: x3 Quest Adena: x3 Raid Boss Drop: x3   SERVER INFORMATION   Server location: France Main language: English Level cap: 80 Safe enchant: +3, or +4 for full body armor Maximum enchant: +16 Enchant through +15: 70% physical weapons, 40% magic weapons, 66% armor Final step to +16: 35% physical weapons, 20% magic weapons, 66% armor Buff slots: 20 First and second class changes: free Third class change: original quest Game windows: 3   GAMEPLAY   No auto-farm or custom equipment. Level-scaled buffer with presets, custom schemes and support for both players and pets. The available buffs are gradually reduced as the character levels, helping early progression without replacing support classes later in the game. The Global Gatekeeper only connects towns and villages. Travel is free below level 40, then uses level-based Adena fees, with half-price travel between 18:00 and 06:00 UTC. There are no direct teleports to farming zones. The Alt+B Market is a centralized convenience shop containing only consumables and utility items already sold without limits by regular town merchants. Its prices are deliberately higher, so visiting the original NPC merchants remains the economical choice. It does not sell equipment, crafting materials, enchant scrolls or Life Stones. Drop Search finds either an item or a monster and shows where items drop or can be spoiled, including the server rates and the viewing character's level penalty. Player Shop Search and Offline Shop make it easier to find and trade with actual player-run stores while keeping the economy in players' hands. Offline shops remain active for up to 48 hours. Rankings and live Raid Boss and Grand Boss status are available through Alt+B. Character PIN and Computer Lock provide additional account and character protection. Restored and corrected Interlude content includes the Frozen Labyrinth and Ice Queen quest chain, Primeval Isle and Sailren, Wild Beast Reserve, Rainbow Springs Hall, Pagan Temple, and quests around Pavel Ruins and the Plunderous Plains. Auto learn and auto loot are enabled. Castle sieges every two weeks Olympiad daily from 18:00 to 00:00 UTC   PREMIUM AND STORE   Premium grants +15% EXP and SP, +5% Adena, Drop and Spoil, one additional game window and convenience features. The store is limited to Premium, cosmetic accessories and character services. Equipment, enchants, combat stats and access to content are not sold.   ━━━━━━━━━━━━━━━━━━━━━━   Create account: https://l2vaelor.com/register Download: https://l2vaelor.com/#download Discord: https://discord.gg/qMgPxH2fd4
    • Of these guy's like Williams, dont use a new version of L2JMobius in CENTURIES...  People sure know how to badmouth others, but when is someone actually going to do something "BETTER"? And before you claim yours is better, prove it with benchmarks—or else shove your opinion, you know where.
    • Hello everyone! We are proud to present L2 Talkaas, a High Five mid-rate server. Rates Exp x15 | Adena x10 | Drop x10 | Spoil x10 Main features Autofarm system Autoloot and auto-learn skills GM Shop, Buffer and Teleport in Community Board Offline shop Max 2 boxes per player Vote rewards with an exclusive item for full voters Dates Beta: START NOW 2026 Grand Opening: November 2026 Website: https://l2talkaas.com Discord: https://discord.gg/zcVE9kuHQv See you in game!
    • -50% on ALL SERVICES CHARTSMM.COM ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ WHY US? • Own Soft - We complete all orders threw our own soft • Speed 300.000/hour ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ TELEGRAM  Subs *All prices are already discounted ➥ 0.35$ — Lifetime ➥ 0.3$ — 90 Days ➥ 0.25$— 60 Days ➥ 0.2$ — 30 Days ➥ 0.12$ — 7 Days Premium Subs *All prices are already discounted ➥ 2.6$ — 15 Days ➥ 5$ — 30 Days ➥ 9.6$ — 60 Days ➥ 14$— 90 Days SUBS for SEO *All prices are already discounted ➥ 0.75$ — FROM SEARCH ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ WEBSITE: CHARTSMM.COM Telegram: CHARTSMM
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..