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.

Posted

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

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 the code and then raise your hand and say i said the most stupid thing ever

wise words :P

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

    • L2Virus the one who buyed those files from me.
    • Hi ️ Are you a supplier or do you have your own modem and are looking for a place to sell numbers?  SMS.PRO - The best option for selling your numbers  You choose the selling price yourself  Sale option: public (to everyone) or private (you choose who you want to sell to)  Everything works automatically  The simplest possible connection  Visit the website SMS.PRO and start selling your numbers.  Support @alismsorg_bot
    • Good luck to anyone playing on this server . Kamael items are bugged ( stats are insane ) Commands not working properly ( .getreward for example  ... gives u free reward without voting ). When i had those files , i fixed most of the stuff .   Every 2-3 years , he closes the server because players report bugs to him about items , he dont know how to fix then he repeating the process again https://ibb.co/Fkv7y9hJ https://ibb.co/fdYP2bVQ https://ibb.co/sp1f8C61 https://ibb.co/CKZnCgL7 https://ibb.co/Z6GktJgP  
    • Hello and welcome Server started 2026-01-05 Web site: https://l2dragonlands.eu Discrod: https://discord.gg/ngQUY8FB8G Rates >Xp x500 >Sp x500 >Drop x25 >Spoil x25 Enchant rates: Safe/max enchant +500  Blessed and simple scrolls max enchant (+200)  Enchant maneger to make +500.  In server items are progresed in tiers. Weapons: Starter > Vesper > Vorpal > Elegia > Ferrum. Armors: Starter > Moirai > Vesper > Vesper Noble > Vorpal > Elegia > Scarlet. Jewels: Starter > Vesper > Vorpal > Elegia > Ferrum. Cloaks: Pearl White > Pitch Black > Frintezza > Class Cloka > Hero > Scarlet. Acessories: Goblin Circlet 1/2lvl > Half Mask Mage 1/2lvl > Half Mask Fighter 1/2lvl > Flame of valakas > Gem Mask > Ferrum Helmet. Belt: Mithril Belt > Vitality Belt. Badges: For fighter and mage from 1lvl to 6lvl upgraded in order. Bracelets: Mithril > Shiny Fighter/Mage > 1/2lvl custom talismans in bracelest. Agathion: 7 tiers upgrade in order eatch one. Clan item shop/ New weapon Spadona upgradeble from 1lvl till 85lvl. Farm zones in order: >Giran Harbor > WasteLand > Gateway > Valley of Saints > Chromatic > Ruins of Despair > Soul Harbor > Dragon Valley. >LvL up zone >PvP zone Custom instance zone. Custom buff maneger it will grand big boost in stats. Lotery maneger to gamble. Extra features ALT+B: >Events  >Rankings  >Clan  >RB Status  >Updates and other Auto Event system: >Team VS Team event - Auto event  >Capture The Flag - Auto event Olympiad: >Retail olympiad game  >Competition period [2] week  >Olympiad start time [18:00] end [00:00]  >Maximum enchant in the Olympiad is +10, not custom items in olympiada only normal ones from shop.
    • L2 VOID - ADVERTISING BANNER   L2 FURY - ANIMATED BANNER   L2 HEROIC - ANIMATED BANNER   L2 WEED - ANIMATED BANNER   L2 REFORGE - ANIMATED LOGO   L2 WARZONE - ANIMATED LOGO   L2 ACME - SPLASH SCREEN   L2 DRUGS - ANIMATED BANNER   L2 GOLD - ADVERTISING BANNER   L2 AARON - ADVERTISING BANNER  
  • 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..

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock