Jump to content

extr3me

Members
  • Posts

    332
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by extr3me

  1. GL with your server man :X THIS WILL BE THE BEST ROMANIAN SERVER
  2. private static final int initialCheck is the first check of votes on hopzone/topzone private static final int delayForCheck this is deley between every check of votes
  3. Hy all MXC Users this is an hopzone and topzone vote reward for freya with sql to save all vote count on server restart ;) HF with it Index: java/com/l2jserver/Config.java =================================================================== --- java/com/l2jserver/Config.java (revision 4422) +++ java/com/l2jserver/Config.java (working copy) @@ -620,6 +625,8 @@ //-------------------------------------------------- // L2JMods Settings //-------------------------------------------------- + public static boolean L2JMOD_VOTE_ENGINE_ENABLE; + public static boolean L2JMOD_VOTE_ENGINE_SAVE; public static boolean L2JMOD_CHAMPION_ENABLE; public static boolean L2JMOD_CHAMPION_PASSIVE; public static int L2JMOD_CHAMPION_FREQUENCY; @@ -2162,6 +2174,8 @@ is = new FileInputStream(new File(L2JMOD_CONFIG_FILE)); L2JModSettings.load(is); + L2JMOD_VOTE_ENGINE_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("EnableAutoVoteEngine", "false")); + L2JMOD_VOTE_ENGINE_SAVE = Boolean.parseBoolean(L2JModSettings.getProperty("AutoVoteEngineSaveLoad", "false")); L2JMOD_CHAMPION_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("ChampionEnable", "false")); L2JMOD_CHAMPION_PASSIVE = Boolean.parseBoolean(L2JModSettings.getProperty("ChampionPassive", "false")); L2JMOD_CHAMPION_FREQUENCY = Integer.parseInt(L2JModSettings.getProperty("ChampionFrequency", "0")); @@ -3071,8 +3085,11 @@ else if (pName.equalsIgnoreCase("AltSubclassEverywhere")) ALT_GAME_SUBCLASS_EVERYWHERE = Boolean.parseBoolean(pValue); else if (pName.equalsIgnoreCase("AltMembersCanWithdrawFromClanWH")) ALT_MEMBERS_CAN_WITHDRAW_FROM_CLANWH = Boolean.parseBoolean(pValue); else if (pName.equalsIgnoreCase("DwarfRecipeLimit")) DWARF_RECIPE_LIMIT = Integer.parseInt(pValue); - else if (pName.equalsIgnoreCase("CommonRecipeLimit")) COMMON_RECIPE_LIMIT = Integer.parseInt(pValue); + else if (pName.equalsIgnoreCase("CommonRecipeLimit")) COMMON_RECIPE_LIMIT = Integer.parseInt(pValue); + else if (pName.equalsIgnoreCase("EnableAutoVoteEngine")) L2JMOD_VOTE_ENGINE_ENABLE = Boolean.parseBoolean(pValue); + else if (pName.equalsIgnoreCase("AutoVoteEngineSaveLoad")) L2JMOD_VOTE_ENGINE_SAVE = Boolean.parseBoolean(pValue); + else if (pName.equalsIgnoreCase("ChampionEnable")) L2JMOD_CHAMPION_ENABLE = Boolean.parseBoolean(pValue); else if (pName.equalsIgnoreCase("ChampionFrequency")) L2JMOD_CHAMPION_FREQUENCY = Integer.parseInt(pValue); else if (pName.equalsIgnoreCase("ChampionMinLevel")) L2JMOD_CHAMP_MIN_LVL = Integer.parseInt(pValue); Index: java/com/l2jserver/gameserver/GameServer.java =================================================================== --- java/com/l2jserver/gameserver/GameServer.java (revision 4422) +++ java/com/l2jserver/gameserver/GameServer.java (working copy) @@ -87,6 +89,7 @@ import com.l2jserver.gameserver.instancemanager.AirShipManager; import com.l2jserver.gameserver.instancemanager.AntiFeedManager; import com.l2jserver.gameserver.instancemanager.AuctionManager; +import com.l2jserver.gameserver.instancemanager.AutoVoteRewardManager; import com.l2jserver.gameserver.instancemanager.BoatManager; import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.instancemanager.CastleManorManager; @@ -478,6 +488,9 @@ _log.info("Server Loaded in " + ((serverLoadEnd - serverLoadStart) / 1000) + " seconds"); AutoAnnounceTaskManager.getInstance(); + + if (Config.L2JMOD_VOTE_ENGINE_ENABLE) + AutoVoteRewardManager.getInstance(); } Index: java/com/l2jserver/gameserver/Shutdown.java =================================================================== --- java/com/l2jserver/gameserver/Shutdown.java (revision 4422) +++ java/com/l2jserver/gameserver/Shutdown.java (working copy) @@ -20,8 +20,10 @@ import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.datatables.ClanTable; import com.l2jserver.gameserver.datatables.OfflineTradersTable; +import com.l2jserver.gameserver.instancemanager.AutoVoteRewardManager; import com.l2jserver.gameserver.instancemanager.CastleManorManager; import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager; import com.l2jserver.gameserver.instancemanager.GrandBossManager; @@ -538,12 +540,19 @@ ClanTable.getInstance().storeClanScore(); _log.info("Clan System: Data saved!!"); + if (Config.L2JMOD_VOTE_ENGINE_SAVE && Config.L2JMOD_VOTE_ENGINE_ENABLE) + AutoVoteRewardManager.getInstance().save(); + Index: java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardManager.java =================================================================== --- java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardManager.java (revision 0) +++ java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardManager.java (revision 0) @@ -0,0 +1,220 @@ +package com.l2jserver.gameserver.instancemanager; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.l2jserver.Config; +import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.gameserver.Announcements; +import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.model.L2World; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; + +public class AutoVoteRewardManager +{ + private static Logger _log = Logger.getLogger(AutoVoteRewardManager.class.getName()); + + private static final String http = "http://l2.hopzone.net/lineage2/moreinfo/L2WorldPvP/74078.html"; + private static final int initialCheck = 1 * 1000; + private static final int delayForCheck = 1800 * 1000; + private static final int[] itemId = { 20034, 57 }; + private static final int[] itemCount = { 2, 1000 }; + private static final int votesRequiredForReward = 8; + + private static List<String> _ips = new ArrayList<String>(); + private static int lastVoteCount = 0; + + private AutoVoteRewardManager() + { + _log.info("AutoVoteRewardManager: Vote reward system initiated."); + if (Config.L2JMOD_VOTE_ENGINE_SAVE) + load(); + ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), initialCheck, delayForCheck); + } + + private class AutoReward implements Runnable + { + public void run() + { + int votes = getVotes(); + _log.info("AutoVoteRewardManager: We now have " + votes + "/"+(getLastVoteCount()+votesRequiredForReward)+" vote(s). Next check in "+(delayForCheck/1000)+" sec."); + Announcements.getInstance().announceToAll("Vote on http://L2TopZone.com"); + + if (votes >= getLastVoteCount() + votesRequiredForReward) + { + Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values(); + { + for (L2PcInstance onlinePlayer : pls) + { + if (onlinePlayer.isOnline() && !onlinePlayer.getClient().isDetached() && !_ips.contains(onlinePlayer.getClient().getConnection().getInetAddress().getHostAddress())) + { + for (int i = 0; i < itemId.length; i++) + { + onlinePlayer.addItem("vote_reward", itemId[i], itemCount[i], onlinePlayer, true); + } + + _ips.add(onlinePlayer.getClient().getConnection().getInetAddress().getHostAddress()); + } + } + } + _log.info("AutoVoteRewardManager: Reward for votes now!"); + Announcements.getInstance().announceToAll("Reward for players! Thanks for Vote."); + setLastVoteCount(getLastVoteCount() + votesRequiredForReward); + } + + if (getLastVoteCount() == 0) + { + setLastVoteCount(votes); + } + else if ((getLastVoteCount() + votesRequiredForReward) - votes > votesRequiredForReward || votes > (getLastVoteCount() + votesRequiredForReward)) + { + setLastVoteCount(votes); + } + + Announcements.getInstance().announceToAll("We have " + votes + " vote(s). Next reward on " + (getLastVoteCount()+votesRequiredForReward) + " vote."); + _ips.clear(); + } + } + + private int getVotes() + { + URL url = null; + InputStreamReader isr = null; + BufferedReader in = null; + try + { + url = new URL(http); + isr = new InputStreamReader(url.openStream()); + in = new BufferedReader(isr); + String inputLine; + while ((inputLine = in.readLine()) != null) + { + // for top-zone + //if (inputLine.contains("<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\"")) + //{ + //return Integer.valueOf(inputLine.split(">")[5].replace("</font", "")); + //} + + //for hopzone + if (inputLine.contains("moreinfo_total_rank_text")) + return Integer.valueOf(inputLine.split(">")[2].replace("</div", "")); + } + } + catch (IOException e) + { + _log.warning("AutoVoteRewardHandler: "+e); + } + finally + { + try + { + in.close(); + } + catch (IOException e) + {} + try + { + isr.close(); + } + catch (IOException e) + {} + } + return 0; + } + + private void setLastVoteCount(int voteCount) + { + lastVoteCount = voteCount; + } + + private int getLastVoteCount() + { + return lastVoteCount; + } + + private void load() + { + int votes = 0; + Connection con = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement("SELECT vote FROM votes LIMIT 1"); + ResultSet rset = statement.executeQuery(); + + while (rset.next()) + { + votes = rset.getInt("vote"); + } + rset.close(); + statement.close(); + } + catch (Exception e) + { + _log.log(Level.WARNING, "data error on vote: ", e); + } + finally + { + L2DatabaseFactory.close(con); + } + + setLastVoteCount(votes); + } + + public void save() + { + Connection con = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement("UPDATE votes SET vote = ? WHERE id=1"); + statement.setInt(1, getLastVoteCount()); + statement.execute(); + statement.close(); + } + catch (Exception e) + { + _log.log(Level.WARNING, "data error on vote: ", e); + } + finally + { + L2DatabaseFactory.close(con); + } + } + + public static AutoVoteRewardManager getInstance() + { + return SingletonHolder._instance; + } + + @SuppressWarnings("synthetic-access") + private static class SingletonHolder + { + protected static final AutoVoteRewardManager _instance = new AutoVoteRewardManager(); + } +} \ No newline at end of file Index: java/config/l2jmods.properties =================================================================== --- java/config/l2jmods.properties (revision 4422) +++ java/config/l2jmods.properties (working copy) @@ -418,3 +417,14 @@ will be 1+2=3. Use 0 or negative value for unlimited number of connections. Default: 127.0.0.1,0 (no limits from localhost) DualboxCheckWhitelist = 127.0.0.1,0 + +--------------------------------------------------------------------------- +Auto Vote Event Manager +--------------------------------------------------------------------------- +Enable +Default: False +EnableAutoVoteEngine = False + +Save and Load votes count on start/shutdown to database +Default: False +AutoVoteEngineSaveLoad = False And The Sql to save votes count on restart server becouse all vote reward reset votes on server restart -- ---------------------------- -- Table structure for `votes` -- ---------------------------- DROP TABLE IF EXISTS `votes`; CREATE TABLE `votes` ( `id` int(6) NOT NULL, `vote` int(6) NOT NULL, PRIMARY KEY (`id`) ) DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of votes -- ---------------------------- INSERT INTO votes VALUES ('1', '0');
  4. lol enter and you will see ;)
  5. lol enter and you will see ;)
  6. the server is not on hopzone ;) becouse of that he don't have many players but server is ok and uptime 100%
  7. the server is not on hopzone ;) becouse of that he don't have many players but server is ok and uptime 100%
  8. Thx To All For Good Words ;) i wait for you on server
  9. Thx To All For Good Words ;) i wait for you on server
  10. Try To Use WinSCP to connect to your host ;) you can edit file and see folders and with right click on file you have a lot of commands
  11. Update Topic New Server 100x Opened Join Us ;)
  12. la voi ca la voi da la noi o intreaba unu pe profa daca mai e virgina si ea de colo : da ce mata mai e virgina ?:))
  13. yes they get reward , i will try to make it just for one ip but not promising anything
  14. lol make it with 1 vote for test :| or put the url from other server :|
  15. se baga careva pe game browseru meu ? www.star-ogame.com
  16. interesant atunci astept ;) si ma bag si yo :D
×
×
  • Create New...

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