Jump to content

scumpiku

Members
  • Posts

    6
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

About scumpiku

Profile Information

  • Gender
    Not Telling

scumpiku's Achievements

Newbie

Newbie (1/16)

0

Reputation

  1. i found it but i dont understand how and where must edit files "source" can you explain ?more details plz
  2. sorry for duble post but can somebody answer to my topic please! :( :( :(
  3. hy all ,im new in lineage 2 server administrator and i have one big problem with l2system reward instalation... if somebody want to ask me how to instal step by step or what files must to edit,the place where is these files ...... I hope you help me and somebody answer for my problem...Thx alot! L2J Freya rev 4630 Clean (Date of last update 22/05/2011)
  4. Hello ! Who can tell me where i must to add this codes?And Where are that files to be modified! Please answer for my question! Thanks Alot!
  5. Hello ! Where can i add this? What file? or what me must to do? plz answer to me! thanks alot!
  6. hello guys ,im new in lineage 2 freya (administrator server) , i have one problem ...or one question ..... where and how can i add vote reward code's.... i mean these code's ### Eclipse Workspace Patch 1.0 #P L2J_Server_H5 Index: java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardHandler.java =================================================================== --- java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardHandler.java (revision 0) +++ java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardHandler.java (revision 0) @@ -0,0 +1,235 @@ +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.sql.SQLException; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.l2jserver.gameserver.model.item.instance.L2ItemInstance; +import com.l2jserver.Config; +import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.model.L2World; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.clientpackets.Say2; +import com.l2jserver.gameserver.network.serverpackets.CreatureSay; +import com.l2jserver.gameserver.util.Broadcast; + +public class AutoVoteRewardHandler +{ + private static Logger _log = Logger.getLogger(AutoVoteRewardHandler.class.getName()); + + private static final int initialCheck = 1 * 1000; + private static final int delayForCheck = Config.DELAY_FOR_NEXT_REWARD * 1000; + + private static int lastVoteCount = 0; + + private AutoVoteRewardHandler() + { + _log.info("Vote Reward System: Vote reward system initiated."); + if (Config.VOTE_REWARD_ENABLE) + load(); + ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), initialCheck, delayForCheck); + } + + private class AutoReward implements Runnable + { + @Override + public void run() + { + int votes = getVotes(Config.VOTE_HTML_PATCH); + System.out.println("Server Votes: " + votes); + if (votes != 0 && getLastVoteCount() != 0 && votes >= getLastVoteCount() + Config.VOTES_FOR_REWARD) + { + 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; + L2ItemInstance item2 = null; + while (rset.next()) + { + player = L2World.getInstance().getPlayer(rset.getInt("charId")); + if (player != null && !player.getClient().isDetached()) + { + item = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID); + if (item == null || item.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1) + player.addItem("reward", Config.VOTE_REWARD1_ID, Config.VOTE_REWARD1_COUNT, player, true); + item2 = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID); + + if (item2 == null || item2.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1) + player.addItem("reward", Config.VOTE_REWARD2_ID, Config.VOTE_REWARD2_COUNT, player, true); + } + } + setLastVoteCount(getLastVoteCount() + Config.VOTES_FOR_REWARD); + statement.close(); + _log.info("Vote Reward System: Reward for votes now!"); + Broadcast.toAllOnlinePlayers(new CreatureSay(1, Say2.CRITICAL_ANNOUNCE, "", "Vote Manager: Reward for players! Thanks for Vote.")); + } + catch (SQLException e) + { + e.printStackTrace(); + } + finally + { + L2DatabaseFactory.close(con); + } + + setLastVoteCount(getLastVoteCount() + Config.VOTES_FOR_REWARD); + } + Broadcast.toAllOnlinePlayers(new CreatureSay(1, Say2.CRITICAL_ANNOUNCE, "", "Vote Manager: Server votes: " + votes + " | Next Reward on " + (getLastVoteCount() + Config.VOTES_FOR_REWARD) + " Votes.")); + if (getLastVoteCount() == 0) + setLastVoteCount(votes); + } + } + + private int getVotes(String urlString) + { + URL url = null; + InputStreamReader isr = null; + BufferedReader in = null; + try + { + url = new URL(urlString); + isr = new InputStreamReader(url.openStream()); + in = new BufferedReader(isr); + String inputLine; + while ((inputLine = in.readLine()) != null) + { + if (Config.VOTE_REWARD_TOPZONE_ENABLE) + { + // for TopZone + if (inputLine.contains("<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\"")) + { + return Integer.valueOf(inputLine.split(">")[5].replace("</font", "")); + } + } + if (Config.VOTE_REWARD_HOPZONE_ENABLE) + { + // for HopZone + if (inputLine.contains("rank anonymous tooltip")) + { + @SuppressWarnings("unused") + int Sub = 12; + switch (inputLine.length()) + { + case 116: + Sub = 13; + break; + case 117: + Sub = 14; + break; + case 118: + Sub = 15; + break; + case 119: + Sub = 16; + break; + } + return Integer.valueOf(inputLine.split(">")[2].replace("</span", "")); + } + } + } + } + catch (IOException e) + { + _log.warning("Vote Reward System: "+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 AutoVoteRewardHandler getInstance() + { + return SingletonHolder._instance; + } + + @SuppressWarnings("synthetic-access") + private static class SingletonHolder + { + protected static final AutoVoteRewardHandler _instance = new AutoVoteRewardHandler(); + } +} \ No newline at end of file ### Eclipse Workspace Patch 1.0 #P L2J_Server_H5 Index: java/com/l2jserver/gameserver/GameServer.java =================================================================== --- java/com/l2jserver/gameserver/GameServer.java (revision 5219) +++ java/com/l2jserver/gameserver/GameServer.java (working copy) @@ -111,6 +111,7 @@ import com.l2jserver.gameserver.instancemanager.TransformationManager; import com.l2jserver.gameserver.instancemanager.WalkingManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; +import com.l2jserver.gameserver.instancemanager.AutoVoteRewardHandler; import com.l2jserver.gameserver.model.AutoChatHandler; import com.l2jserver.gameserver.model.AutoSpawnHandler; import com.l2jserver.gameserver.model.L2Manor; @@ -460,6 +465,9 @@ _log.info("Server Loaded in " + ((serverLoadEnd - serverLoadStart) / 1000) + " seconds"); AutoAnnounceTaskManager.getInstance(); + + if (Config.VOTE_REWARD_ENABLE) + AutoVoteRewardHandler.getInstance(); } public static void main(String[] args) throws Exception ### Eclipse Workspace Patch 1.0 #P L2J_Server_H5 Index: java/com/l2jserver/gameserver/Shutdown.java =================================================================== --- java/com/l2jserver/gameserver/Shutdown.java (revision 5219) +++ java/com/l2jserver/gameserver/Shutdown.java (working copy) @@ -33,6 +33,7 @@ import com.l2jserver.gameserver.instancemanager.ItemsOnGroundManager; import com.l2jserver.gameserver.instancemanager.QuestManager; import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager; +import com.l2jserver.gameserver.instancemanager.AutoVoteRewardHandler; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.Hero; @@ -562,6 +564,10 @@ ClanTable.getInstance().storeClanScore(); _log.info("Clan System: Data saved("+tc.getEstimatedTimeAndRestartCounter()+"ms)."); + if (Config.VOTE_REWARD_ENABLE) + AutoVoteRewardHandler.getInstance().save(); + _log.info("Vote Reward Manager: Data saved("+tc.getEstimatedTimeAndRestartCounter()+"ms)."); + // Save Cursed Weapons data before closing. CursedWeaponsManager.getInstance().saveData(); _log.info("Cursed Weapons Manager: Data saved("+tc.getEstimatedTimeAndRestartCounter()+"ms)."); ### Eclipse Workspace Patch 1.0 #P L2J_Server_H5 Index: java/com/l2jserver/Config.java =================================================================== --- java/com/l2jserver/Config.java (revision 5219) +++ java/com/l2jserver/Config.java (working copy) @@ -765,7 +781,41 @@ public static int L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP; public static int L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP; public static TIntIntHashMap L2JMOD_DUALBOX_CHECK_WHITELIST; + public static String VOTE_HTML_PATCH; + public static int VOTE_REWARD1_ID; + public static int VOTE_REWARD2_ID; + public static int VOTE_REWARD1_COUNT; + public static int VOTE_REWARD2_COUNT; + public static int VOTES_FOR_REWARD; + public static boolean VOTE_REWARD_ENABLE; + public static String SERVER_NAME_FOR_VOTES; + public static int MAX_REWARD_COUNT_FOR_STACK_ITEM1; + public static int MAX_REWARD_COUNT_FOR_STACK_ITEM2; + public static int DELAY_FOR_NEXT_REWARD; + public static boolean VOTE_REWARD_HOPZONE_ENABLE; + public static boolean VOTE_REWARD_TOPZONE_ENABLE; public static boolean L2JMOD_ALLOW_CHANGE_PASSWORD; //-------------------------------------------------- // NPC Settings @@ -2646,6 +2717,47 @@ } } L2JMOD_ALLOW_CHANGE_PASSWORD = Boolean.parseBoolean(L2JModSettings.getProperty("AllowChangePassword", "False")); + VOTE_HTML_PATCH = L2JModSettings.getProperty("VoteHtmlPatch", "Null"); + VOTE_REWARD1_COUNT = Integer.parseInt(L2JModSettings.getProperty("VoteReward1Count", "1000")); + VOTE_REWARD2_COUNT = Integer.parseInt(L2JModSettings.getProperty("VoteReward2Count", "1000")); + VOTE_REWARD1_ID = Integer.parseInt(L2JModSettings.getProperty("VoteReward1Id", "57")); + VOTE_REWARD2_ID = Integer.parseInt(L2JModSettings.getProperty("VoteReward2Id", "57")); + VOTES_FOR_REWARD = Integer.parseInt(L2JModSettings.getProperty("VotesForReward", "5")); + VOTE_REWARD_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("EnableVoteReward", "False")); + SERVER_NAME_FOR_VOTES = L2JModSettings.getProperty("ServerNameForVotes", "L2ServerName"); + MAX_REWARD_COUNT_FOR_STACK_ITEM1 = Integer.parseInt(L2JModSettings.getProperty("MaxRewardCountForStackItem1", "2000000000")); + MAX_REWARD_COUNT_FOR_STACK_ITEM2 = Integer.parseInt(L2JModSettings.getProperty("MaxRewardCountForStackItem2", "2000000000")); + DELAY_FOR_NEXT_REWARD = Integer.parseInt(L2JModSettings.getProperty("DelayForNextReward", "600")); + VOTE_REWARD_HOPZONE_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("EnableHopzoneReward", "False")); + VOTE_REWARD_TOPZONE_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("EnableTopzoneReward", "False")); } catch (Exception e) { Only this i know where i must to add # --------------------------------------------------------------------------- # Vote Reward System # --------------------------------------------------------------------------- # Set it "True" if you want to Enable Vote Reward System. EnableVoteReward = False # If you enable Vote Reward System you must fill your Html Patch. # e.g. VoteHtmlPatch = http://l2.hopzone.net / http://l2topzone.net # Html Patch for Your Vote Site # Works with TopZone & HopZone ServerNameForVotes = ServerName VoteHtmlPatch = http://l2.hopzone.net VoteReward1Count = 5 VoteReward2Count = 2 VoteReward1Id = 9627 VoteReward2Id = 3470 VotesForReward = 10 # Max a-beep-t of reward items that you want to stop reward # the player that have more than "MaxRewardCountForStack". MaxRewardCountForStackItem1 = 500 MaxRewardCountForStackItem2 = 500 # DelayForNextReward in seconds DelayForNextReward = 300 # Enable TopZone Vote Reward # Default = False EnableTopzoneReward = False # Enable HopZone Vote Reward # Default = False EnableHopzoneReward = True i hope you helping me ! Thanks Alot!
×
×
  • Create New...