Kalispera MxC! Perasa ena java code gia VoteReward kai mou bgazei auto p tha deite parakato stin eikona sto Gameserver Console..an borei kapoios na m pei ti lathos kanw...
Xrhsimopiw L2j Interlude!
Vote Count Check.
java.io.IOException: Server returned HTTP response code: 403 for URL: http://l2.
hopzone.net/lineage2/moreinfo/L2-aeron/94362.html
at sun.net.[url=http://www.protocol.http.HttpURLConnection.getInputStream(Unknown]www.protocol.http.HttpURLConnection.getInputStream(Unknown[/url] So
urce)
at java.net.URL.openStream(Unknown Source)
at net.sf.l2j.gameserver.model.AutoVoteRewardHandler.getVotes(AutoVoteRe
wardHandler.java:105)
at net.sf.l2j.gameserver.model.AutoVoteRewardHandler.access$100(AutoVote
RewardHandler.java:40)
at net.sf.l2j.gameserver.model.AutoVoteRewardHandler$AutoReward.run(Auto
VoteRewardHandler.java:64)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
O kodikos pou perasa einai o parakato...
Index: config/custom/L2JXtreme.ini
===================================================================
--- config/custom/L2JXtreme.ini (revision 98)
+++ config/custom/L2JXtreme.ini (working copy)
@@ -139,3 +139,15 @@
# ---------------------------------------
#Limit gm to enchant player item
GMOverEnchant = 0
+
+#------------------------------------#
+# Vote System Config #
+#------------------------------------#
+# Html Patch for Your Vote Site
+# Works with HopZone/HopZones/TopZone and other HopZone Like
+# Sample:
+VoteHtmlPatch = http://l2.hopzone.net/lineage2/moreinfo/RaidFightLowRatePvPServers/69262.html
+VoteReward1Count = 1000
+VoteReward2Count = 1000
+VoteReward1Id = 57
+VoteReward2Id = 57
Index: java/net/sf/l2j/gameserver/model/AutoVoteRewardHandler.java
===================================================================
--- java/net/sf/l2j/gameserver/model/AutoVoteRewardHandler.java (revision 0)
+++ java/net/sf/l2j/gameserver/model/AutoVoteRewardHandler.java (revision 0)
@@ -0,0 +1,181 @@
+/* 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 2, 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+package net.sf.l2j.gameserver.model;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.Collection;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.Announcements;
+import net.sf.l2j.gameserver.GmListTable;
+import net.sf.l2j.gameserver.ThreadPoolManager;
+import net.sf.l2j.gameserver.model.L2ItemInstance;
+import net.sf.l2j.gameserver.model.L2World;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+
+/**
+ *
+ * @author eXtr3me
+ *
+ */
+public class AutoVoteRewardHandler
+{
+ private int lastVoteCount = 0;
+ private int initialCheck = 60 * 1000;
+ private int delayForCheck = 300 * 1000;
+ private int votesForReward = 10;
+ private int maxRewardStack = 5;
+
+ private AutoVoteRewardHandler()
+ {
+ System.out.println("Vote Reward System activated.");
+ ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), initialCheck, delayForCheck);
+ }
+
+ private class AutoReward implements Runnable
+ {
+ public void run()
+ {
+ System.out.println("Vote Count Check.");
+ if (Config.VOTE_REWARD1_ID == 0 || Config.VOTE_REWARD1_COUNT == 0 || Config.VOTE_REWARD2_ID == 0 || Config.VOTE_REWARD2_COUNT == 0)
+ {
+ GmListTable.broadcastMessageToGMs("The rewards aren't Identified. Please take a look.");
+ return;
+ }
+ int newVoteCount = getVotes(Config.VOTE_HTML_PATCH);
+ System.out.println("newVoteCount:"+newVoteCount);
+ System.out.println("getLastVoteCount:"+getLastVoteCount());
+ if (newVoteCount != 0 && getLastVoteCount() != 0 && newVoteCount >= getLastVoteCount() + votesForReward)
+ {
+
+ Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers();
+ for (L2PcInstance player : pls)
+ {
+ if (player != null)
+ {
+ L2ItemInstance item1 = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
+ if (item1 == null || item1.getCount() < maxRewardStack)
+ {
+ player.addItem("reward", Config.VOTE_REWARD1_ID, Config.VOTE_REWARD1_COUNT, player, true);
+ }
+ L2ItemInstance item2 = player.getInventory().getItemByItemId(Config.VOTE_REWARD2_ID);
+ if (item2 == null || item2.getCount() < maxRewardStack)
+ {
+ player.addItem("reward", Config.VOTE_REWARD2_ID, Config.VOTE_REWARD2_COUNT, player, true);
+ }
+ }
+ }
+ setLastVoteCount(getLastVoteCount()+ votesForReward);
+ }
+ Announcements.getInstance().announceToAll("Our Current vote count is: " + newVoteCount);
+ Announcements.getInstance().announceToAll("The next reward will be given at " + (getLastVoteCount()+ votesForReward) + " Votes.");
+ if (getLastVoteCount() == 0)
+ {
+ setLastVoteCount(newVoteCount);
+ }
+ }
+ }
+
+ private int getVotes(String urlString)
+ {
+ InputStreamReader isr = null;
+ BufferedReader in = null;
+ try
+ {
+ URL url = new URL(urlString);
+ isr = new InputStreamReader(url.openStream());
+ in = new BufferedReader(isr);
+ String inputLine;
+ int voteCount = 0;
+ while ((inputLine = in.readLine()) != null)
+ {
+ if (inputLine.contains("rank anonymous tooltip"))
+ {
+ 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;
+ }
+ voteCount = Integer.valueOf(inputLine.split(">")[2].replace("</span", ""));
+ break;
+ }
+ }
+ return voteCount;
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ return 0;
+ }
+ finally
+ {
+ try
+ {
+ in.close();
+ }
+ catch (IOException e)
+ {
+
+ }
+ try
+ {
+ isr.close();
+ }
+ catch (IOException e)
+ {
+
+ }
+ }
+ }
+
+ 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/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- java/net/sf/l2j/gameserver/GameServer.java (revision 104)
+++ java/net/sf/l2j/gameserver/GameServer.java (working copy)
@@ -93,6 +93,7 @@
import net.sf.l2j.gameserver.instancemanager.SiegeManager;
import net.sf.l2j.gameserver.model.AutoChatHandler;
import net.sf.l2j.gameserver.model.AutoSpawnHandler;
+import net.sf.l2j.gameserver.model.AutoVoteRewardHandler;
import net.sf.l2j.gameserver.model.L2Manor;
import net.sf.l2j.gameserver.model.L2PetDataTable;
import net.sf.l2j.gameserver.model.L2World;
@@ -378,6 +379,7 @@
SkillHandlerRegister.getInstance().loadHandlers();
UserCommandHandlerRegister.getInstance().loadHandlers();
VoiceCommandHandlerRegister.getInstance().loadHandlers();
+ AutoVoteRewardHandler.getInstance();
if(Config.L2JMOD_ALLOW_WEDDING)
CoupleManager.getInstance();
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java (revision 99)
+++ java/net/sf/l2j/Config.java (working copy)
@@ -111,6 +111,13 @@
public static int CLIENT_PACKET_QUEUE_MAX_UNDERFLOWS_PER_MIN = 1; // default 1
public static int CLIENT_PACKET_QUEUE_MAX_UNKNOWN_PER_MIN = 5; // default 5
+ //Vote Reward
+ 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;
+
/** Debug/release mode */
public static boolean DEBUG;
/** Enable/disable assertions */
@@ -1645,6 +1652,11 @@
OLYMPIAD_GIVE_HASTE_FIGHTERS = Boolean.parseBoolean(L2JXtremeSettings.getProperty("OlympiadGiveHasteFighters","true"));
OLYMPIAD_ACUMEN_LVL = Integer.parseInt(L2JXtremeSettings.getProperty("OlympiadAcumenLvl", "1"));
OLYMPIAD_HASTE_LVL = Integer.parseInt(L2JXtremeSettings.getProperty("OlympiadHasteLvl", "2"));
+ VOTE_HTML_PATCH = L2JXtremeSettings.getProperty("VoteHtmlPatch", "Null");
+ VOTE_REWARD1_COUNT = Integer.parseInt(L2JXtremeSettings.getProperty("VoteReward1Count", "1000"));
+ VOTE_REWARD2_COUNT = Integer.parseInt(L2JXtremeSettings.getProperty("VoteReward2Count", "1000"));
+ VOTE_REWARD1_ID = Integer.parseInt(L2JXtremeSettings.getProperty("VoteReward1Id", "57"));
+ VOTE_REWARD2_ID = Integer.parseInt(L2JXtremeSettings.getProperty("VoteReward2Id", "57"));
}
catch (Exception e)
{
*na episimano to link p ehw valei gia to L2-aeron einai apla gia test..dn ehw kamia shesh me ton server!
i have it ready. 1%fee. allows deposits of money to the game but also allows withdrawals of money from the game. it is based on crypto. i have demo server ready
DISCORD :
utchiha_market
telegram :
https://t.me/utchiha_market
SELLIX STORE :
https://utchihamkt.mysellix.io/
Join our server for more products :
https://discord.gg/hood-services
https://campsite.bio/utchihaamkt
Question
donek21
Kalispera MxC! Perasa ena java code gia VoteReward kai mou bgazei auto p tha deite parakato stin eikona sto Gameserver Console..an borei kapoios na m pei ti lathos kanw...
Xrhsimopiw L2j Interlude!
O kodikos pou perasa einai o parakato...
*na episimano to link p ehw valei gia to L2-aeron einai apla gia test..dn ehw kamia shesh me ton server!
Euxaristw polu!
0 answers to this question
Recommended Posts