Dεbian Posted December 4, 2012 Posted December 4, 2012 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 Quote
Dulens. Posted December 4, 2012 Posted December 4, 2012 Awesome No Comments ;) keep Sharing. ++ rewarded. Quote
vmlinuz Posted December 6, 2012 Posted December 6, 2012 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 απο μενα :) Quote
Dεbian Posted December 6, 2012 Author Posted December 6, 2012 Φοβερο +1 απο μενα :) Thank you, I will share more stuff today. Quote
Absolute® Posted January 4, 2013 Posted January 4, 2013 thank you mate as you say fanky code isn't work and i was need it! awesome! Quote
EnCorE Posted April 4, 2013 Posted April 4, 2013 Great Job Friend :good sir: Congratulations Stop spam NOOBZOR. Quote
Stewie Posted April 6, 2013 Posted April 6, 2013 Its good in-case you have alot online players xD Quote
DarknessVoice Posted April 13, 2013 Posted April 13, 2013 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: Quote
Recommended Posts
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.