Fanky Posted August 28, 2012 Posted August 28, 2012 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.
Dulens. Posted August 28, 2012 Posted August 28, 2012 Thank you! I had this feature, but I lost whole my L2 backup huh :3 Thanks again!
Fanky Posted August 28, 2012 Author Posted August 28, 2012 feedback me if you don't mind when you'll test it.
EdenEternal Posted August 28, 2012 Posted August 28, 2012 http://maxcheaters.com/forum/index.php?topic=66290.0
Fanky Posted August 28, 2012 Author Posted August 28, 2012 http://maxcheaters.com/forum/index.php?topic=66290.0 ehm,didn't saw it.
AbsolutePower Posted August 29, 2012 Posted August 29, 2012 You wrong here : scheduleGeneral it should be ->scheduleGeneralAtFixedRate because scheduleGeneral execute tasks once and scheduleGeneralAtFixedRate execute tasks periodicaly
Guest Elfocrash Posted August 29, 2012 Posted August 29, 2012 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
AbsolutePower Posted August 29, 2012 Posted August 29, 2012 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 August 29, 2012 Posted August 29, 2012 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
AbsolutePower Posted August 29, 2012 Posted August 29, 2012 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 August 29, 2012 Posted August 29, 2012 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
vampir Posted August 29, 2012 Posted August 29, 2012 read the code and then raise your hand and say i said the most stupid thing ever wise words :P
Fanky Posted August 31, 2012 Author Posted August 31, 2012 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.
Fanky Posted August 31, 2012 Author Posted August 31, 2012 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now