Jump to content

Boorinio

Members
  • Posts

    1,035
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Boorinio

  1. omfg i was creating a topic and when i posted i saw that one -.-
  2. Hello this code was taken from extreme i made it for interlude and putted some configs it has been tested on a live server everything works fine! Index: java/com/l2jmoxos12/gameserver/instancemanager/AutoVoteRewardHandler.java =================================================================== --- java/com/l2jmoxos12/gameserver/instancemanager/AutoVoteRewardHandler.java (revision 0) +++ java/com/l2jmoxos12/gameserver/instancemanager/AutoVoteRewardHandler.java (revision 0) @@ -0,0 +1,162 @@ +package com.l2jmoxos12.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.sql.SQLException; + +import com.l2jmoxos12.Config; +import com.l2jmoxos12.L2DatabaseFactory; +import com.l2jmoxos12.gameserver.Announcements; +import com.l2jmoxos12.gameserver.ThreadPoolManager; +import com.l2jmoxos12.gameserver.model.L2ItemInstance; +import com.l2jmoxos12.gameserver.model.L2World; +import com.l2jmoxos12.gameserver.model.actor.instance.L2PcInstance; + +public class AutoVoteRewardHandler +{ + private final String HOPZONE = "Config.HopZone_ID"; + // 60 * 1000(1000milliseconds = 1 second) = 60seconds + private final int initialCheck = 60 * 1000; + // 1800 * 1000(1000milliseconds = 1 second) = 1800seconds = 30minutes + private final int delayForCheck = Config.Delay_for_check * 1000; + private final int[] itemId = {Config.Item_ID}; + private final int[] itemCount = {Config.Item_Count}; + private final int[] maxStack = {Config.Max_Stack}; + private final int votesRequiredForReward = Config.Votes_Required; + // do not change + private int lastVoteCount = 0; + + private AutoVoteRewardHandler() + { + System.out.println("Vote Reward System Initiated."); + ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), initialCheck, delayForCheck); + } + + private class AutoReward implements Runnable + { + public void run() + { + int votes = getVotes(); + System.out.println("Server Votes: " + votes); + if (votes != 0 && getLastVoteCount() != 0 && votes >= getLastVoteCount() + votesRequiredForReward) + { + Connection con = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement("" + + "SELECT" + + " c.charId," + + " c.char_name" + + "FROM" + + " characters AS c" + + "LEFT JOIN" + + " accounts AS a" + + "ON" + + " c.account_name = a.login" + + "WHERE" + + " c.online > 0" + + "GROUP BY" + + " a.lastIP" + + "ORDER BY" + + " c.level" + + "DESC"); + ResultSet rset = statement.executeQuery(); + L2PcInstance player = null; + L2ItemInstance item = null; + while (rset.next()) + { + player = L2World.getInstance().getPlayer("charId"); + if (player != null && !player.getClient().isDetached()) + { + for (int i = 0; i < itemId.length; i++) + { + item = player.getInventory().getItemByItemId(itemId[i]); + if (item == null || item.getCount() < maxStack[i]) + player.addItem("reward", itemId[i], itemCount[i], player, true); + } + } + } + statement.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + finally + { + try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } + } + + setLastVoteCount(getLastVoteCount() + votesRequiredForReward); + } + Announcements.getInstance().announceToAll("Server Votes: " + votes + " | Next Reward on " + (getLastVoteCount() + votesRequiredForReward) + " Votes."); + if (getLastVoteCount() == 0) + setLastVoteCount(votes); + } + } + + private int getVotes() + { + URL url = null; + InputStreamReader isr = null; + BufferedReader in = null; + try + { + url = new URL(HOPZONE); + isr = new InputStreamReader(url.openStream()); + in = new BufferedReader(isr); + String inputLine; + while ((inputLine = in.readLine()) != null) + { + if (inputLine.contains("moreinfo_total_rank_text")) + return Integer.valueOf(inputLine.split(">")[2].replace("</div", "")); + } + } + catch (IOException e) + { + e.printStackTrace(); + } + 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; + } + + public static AutoVoteRewardHandler getInstance() + { + return SingletonHolder._instance; + } + + @SuppressWarnings("synthetic-access") + private static class SingletonHolder + { + protected static final AutoVoteRewardHandler _instance = new AutoVoteRewardHandler(); + } +} Index: java/com/l2jmoxos12/gameserver/GameServer.java =================================================================== --- java/com/l2jmoxos12/gameserver/GameServer.java (revision 4407) +++ java/com/l2jmoxos12/gameserver/GameServer.java (working copy) @@ -83,6 +83,7 @@ import com.l2jmoxos12.gameserver.idfactory.IdFactory; import com.l2jmoxos12.gameserver.instancemanager.AirShipManager; import com.l2jmoxos12.gameserver.instancemanager.AuctionManager; +import com.l2jmoxos12.gameserver.instancemanager.AutoVoteRewardHandler; import com.l2jmoxos12.gameserver.instancemanager.BoatManager; import com.l2jmoxos12.gameserver.instancemanager.CastleManager; import com.l2jmoxos12.gameserver.instancemanager.CastleManorManager; @@ -406,6 +407,8 @@ if ((Config.OFFLINE_TRADE_ENABLE || Config.OFFLINE_CRAFT_ENABLE) && Config.RESTORE_OFFLINERS) OfflineTradersTable.restoreOfflineTraders(); + AutoVoteRewardHandler.getInstance(); + if (Config.DEADLOCK_DETECTOR) { _deadDetectThread = new DeadLockDetector(); Index: java/com/l2jmoxos12/gameserver/Config.java =================================================================== --- java/com/l2jmoxos12/gameserver/Config.java (revision 0) +++ java/com/l2jmoxos12/gameserver/Config.java (revision 0) @@ -0,0 +1,162 @@ public static int Random_Of_Sailren_Spawn; //Vote Reward by Boorinio + public static int HopZone_ID; + public static int Delay_for_check; + public static int Item_ID; + public static int Item_Count; + public static int Max_Stack; + public static int Votes_Required; @@ -32,4 +4,153 @@ CLAN_LEADER_COLOR_CLAN_LEVEL = Integer.parseInt(L2jMoxos12Settings.getProperty("ClanLeaderColorAtClanLevel", "1")); + +HopZone_ID = Integer.parseInt(L2jMoxos12Settings.getProperty("HopZoneID", "www.google.com")); +Delay_for_check = Integer.parseInt(L2jMoxos12Settings.getProperty("Delayforcheck", "600")); +Item_ID = Integer.parseInt(L2jMoxos12Settings.getProperty("ItemID", "3470")); +Item_Count = Integer.parseInt(L2jMoxos12Settings.getProperty("ItemCount", "1")); +Max_Stack = Integer.parseInt(L2jMoxos12Settings.getProperty("MaxStack", "1")); +Votes_Required = Integer.parseInt(L2jMoxos12Settings.getProperty("VotesRequired", "10")); Index: L2jMoxos12/config/l2jmoxos12.properties =================================================================== --- L2jMoxos12/config/l2jmoxos12.properties (revision 0) +++ L2jMoxos12/config/l2jmoxos12.properties (revision 0) @@ -39,6 +39,9 @@ +# ============================= # +#L2jMoxos12 HopZone Java Vote Reward +# ============================= # +# Hopzone Url +#For example http://l2.hopzone.net/lineage2/moreinfo/L2Gang/82066.html +HopZoneID = www.google.com + +# Dealy Check +#This means in every x seconds the Handler will check for vote count +Delayforcheck = 600 + +# Item id +# The reward of your choice +ItemID = 3470 + +# Item Count +# The Count of your choice +ItemCount = 1 + +# MaxStack +# Recommended 1 +MaxStack = 1 + +# Votes Required +# Votes required between rewards +VotesRequired = 10
  3. lathos to 2005 skill einai onomazete pollen
  4. oriste search thn allh fora http://www.maxcheaters.com/forum/index.php?topic=171893.0
  5. ok akou bres to skills tis armor p.x. 532 pane sta skills bre to 532 kapou tha exei kati tetio <and> <using slotitem="7485;6;4"/> //to telyteo 4ari ipodilonei to poso enchant prepei na einai to item gia na parei to bonus </and> An to kaneis etsi: <and> <using slotitem="7485;6;16"/> //to bonus tha to parei sto +16 </and>
  6. Hello guys i bought a vps with these specifications Dedicated RAM 1024 MB Disk Space:20 GB (the value pack from here vpsland.com) i have it only for 2 days so we have 28 left... i abandon it because i moved my server into a dedicated Normally it costs $24.99=20 euro but i'm selling it 10 because i used it for 2 days Leave comment bellow!
  7. Already told you it's l2jmoxos12....
  8. Thanks man!
  9. No Problem ;)
  10. it's a server preview not an online server! there is a section for server previews don't worry a mod will move it!
  11. Wrong Section!
  12. Private Project (It's Mine)
  13. L2jMoxos12 files....
  14. I would find more buyers by selling my grandmother for 50 euro.....
  15. exw brei kaliero me ligotera leyta Des: 1) 2 x Intel Xeon - E5504 2 x 4 x 2,0 GHz 16 GB DDR3-RAM 4 x 1.000 GB SATA II 6.000 GB Traffic 179,98 Euro 2) 2 x Intel Xeon - E5504 2 x 4 x 2,0 GHz 8 GB DDR3-RAM 2 x 1.000 GB SATA II 4.000 GB 139,98 Euro Kai an goustareis plhrwneis me PaySafeCard pm an thes na se dwsw site ktlp
  16. so the sever sharing it's dedicated or homemade hosting? because no one will host his files there.....
  17. i can exchange the amount
×
×
  • Create New...