hello maxcheaters i have one problem with this code :
Index: config/events.properties
===================================================================--- config/events.properties (revision 2)+++ config/events.properties (working copy)@@-241,4+241,61@@AltFishChampionshipReward2=500000AltFishChampionshipReward3=300000AltFishChampionshipReward4=200000-AltFishChampionshipReward5=100000
\ No newline at endof file
+AltFishChampionshipReward5=100000++#Vote reward forNetwork.+AllowNetworkVoteReward=False+#Vote reward server link.(IMPORTANT!!!!Alwaysadd.html at the endof the link)+NetworkServerLink=+#Votesfornext reward needed.+NetworkVotesDifference=4+#Minutes between rewards.+#Eg.You put 5 it checks every 5 minutes for reward.+NetworkRewardCheckTime=5+#Reward(s).+NetworkReward=3481,5;+#Network reward max dual boxes reward.+#For example if you put 2and someone has 3 boxes open 2 will be rewarded.+NetworkDuaboxesAllowed=1+#Game server console report.+#Ifset to true, game server console will get a report of+# current vote count, votes needed fornext reward and votes needed for first page.+AllowNetworkGameServerReport=False++#Vote reward forTopzone.+AllowTopzoneVoteReward=False+#Vote reward server link.(IMPORTANT!!!!Alwaysadd.html at the endof the link)+TopzoneServerLink=+#Votesfornext reward needed.+TopzoneVotesDifference=4+#Minutes between rewards.+#Eg.You put 5 it checks every 5 minutes for reward.+TopzoneRewardCheckTime=5+#Reward(s).+TopzoneReward=3481,5;+#Topzone reward max dual boxes reward.+#For example if you put 2and someone has 3 boxes open 2 will be rewarded.+TopzoneDuaboxesAllowed=1+#Game server console report.+#Ifset to true, game server console will get a report of+# current vote count, votes needed fornext reward and votes needed for first page.+AllowTopzoneGameServerReport=False++#Vote reward forHopzone.+AllowHopzoneVoteReward=False+#Vote reward server link.(IMPORTANT!!!!Alwaysadd.html at the endof the link)+HopzoneServerLink=+#Votesfornext reward needed.+HopzoneVotesDifference=4+#Minutes between rewards.+#Eg.You put 5 it checks every 5 minutes for reward.+HopzoneRewardCheckTime=5+#Reward(s).+HopzoneReward=3481,5;+#Topzone reward max dual boxes reward.+#For example if you put 2and someone has 3 boxes open 2 will be rewarded.+HopzoneDuaboxesAllowed=1+#Game server console report.+#Ifset to true, game server console will get a report of+# current vote count, votes needed fornext reward and votes needed for first page.+AllowHopzoneGameServerReport=False
\ No newline at endof file
Index: java/net/sf/l2j/Config.java
===================================================================--- java/net/sf/l2j/Config.java (revision 6)+++ java/net/sf/l2j/Config.java (working copy)@@-222,6+222,29@@publicstaticint ALT_FISH_CHAMPIONSHIP_REWARD_4;publicstaticint ALT_FISH_CHAMPIONSHIP_REWARD_5;+/** Vote reward */+publicstaticboolean ALLOW_NETWORK_VOTE_REWARD;+publicstaticString NETWORK_SERVER_LINK;+publicstaticint NETWORK_VOTES_DIFFERENCE;+publicstaticint NETWORK_REWARD_CHECK_TIME;+publicstaticMap<Integer,Integer> NETWORK_REWARD =newHashMap<>();+publicstaticint NETWORK_DUALBOXES_ALLOWED;+publicstaticboolean ALLOW_NETWORK_GAME_SERVER_REPORT;+publicstaticboolean ALLOW_TOPZONE_VOTE_REWARD;+publicstaticString TOPZONE_SERVER_LINK;+publicstaticint TOPZONE_VOTES_DIFFERENCE;+publicstaticint TOPZONE_REWARD_CHECK_TIME;+publicstaticMap<Integer,Integer> TOPZONE_REWARD =newHashMap<>();+publicstaticint TOPZONE_DUALBOXES_ALLOWED;+publicstaticboolean ALLOW_TOPZONE_GAME_SERVER_REPORT;+publicstaticboolean ALLOW_HOPZONE_VOTE_REWARD;+publicstaticString HOPZONE_SERVER_LINK;+publicstaticint HOPZONE_VOTES_DIFFERENCE;+publicstaticint HOPZONE_REWARD_CHECK_TIME;+publicstaticMap<Integer,Integer> HOPZONE_REWARD =newHashMap<>();+publicstaticint HOPZONE_DUALBOXES_ALLOWED;+publicstaticboolean ALLOW_HOPZONE_GAME_SERVER_REPORT;+// --------------------------------------------------// GeoEngine// --------------------------------------------------@@-911,6+934,46@@
ALT_FISH_CHAMPIONSHIP_REWARD_3 = events.getProperty("AltFishChampionshipReward3",300000);
ALT_FISH_CHAMPIONSHIP_REWARD_4 = events.getProperty("AltFishChampionshipReward4",200000);
ALT_FISH_CHAMPIONSHIP_REWARD_5 = events.getProperty("AltFishChampionshipReward5",100000);++ ALLOW_NETWORK_VOTE_REWARD = events.getProperty("AllowNetworkVoteReward",false);+ NETWORK_SERVER_LINK = events.getProperty("NetworkServerLink","");+ NETWORK_VOTES_DIFFERENCE = events.getProperty("NetworkVotesDifference",5);+ NETWORK_REWARD_CHECK_TIME = events.getProperty("NetworkRewardCheckTime",5);+String NETWORK_SMALL_REWARD_VALUE = events.getProperty("NetworkReward","57,100000000;");+String[] NETWORK_small_reward_splitted_1 = NETWORK_SMALL_REWARD_VALUE.split(";");+for(String i : NETWORK_small_reward_splitted_1)+{+String[] NETWORK_small_reward_splitted_2 = i.split(",");+ NETWORK_REWARD.put(Integer.parseInt(NETWORK_small_reward_splitted_2[0]),Integer.parseInt(NETWORK_small_reward_splitted_2[1]));+}+ NETWORK_DUALBOXES_ALLOWED = events.getProperty("NetworkDualboxesAllowed",1);+ ALLOW_NETWORK_GAME_SERVER_REPORT = events.getProperty("AllowNetworkGameServerReport",false);+ ALLOW_TOPZONE_VOTE_REWARD = events.getProperty("AllowTopzoneVoteReward",false);+ TOPZONE_SERVER_LINK = events.getProperty("TopzoneServerLink","");+ TOPZONE_VOTES_DIFFERENCE = events.getProperty("TopzoneVotesDifference",5);+ TOPZONE_REWARD_CHECK_TIME = events.getProperty("TopzoneRewardCheckTime",5);+String TOPZONE_SMALL_REWARD_VALUE = events.getProperty("TopzoneReward","57,100000000;");+String[] topzone_small_reward_splitted_1 = TOPZONE_SMALL_REWARD_VALUE.split(";");+for(String i : topzone_small_reward_splitted_1)+{+String[] topzone_small_reward_splitted_2 = i.split(",");+ TOPZONE_REWARD.put(Integer.parseInt(topzone_small_reward_splitted_2[0]),Integer.parseInt(topzone_small_reward_splitted_2[1]));+}+ TOPZONE_DUALBOXES_ALLOWED = events.getProperty("TopzoneDualboxesAllowed",1);+ ALLOW_TOPZONE_GAME_SERVER_REPORT = events.getProperty("AllowTopzoneGameServerReport",false);+ ALLOW_HOPZONE_VOTE_REWARD = events.getProperty("AllowHopzoneVoteReward",false);+ HOPZONE_SERVER_LINK = events.getProperty("HopzoneServerLink","");+ HOPZONE_VOTES_DIFFERENCE = events.getProperty("HopzoneVotesDifference",5);+ HOPZONE_REWARD_CHECK_TIME = events.getProperty("HopzoneRewardCheckTime",5);+String HOPZONE_SMALL_REWARD_VALUE = events.getProperty("HopzoneReward","57,100000000;");+String[] hopzone_small_reward_splitted_1 = HOPZONE_SMALL_REWARD_VALUE.split(";");+for(String i : hopzone_small_reward_splitted_1)+{+String[] hopzone_small_reward_splitted_2 = i.split(",");+ HOPZONE_REWARD.put(Integer.parseInt(hopzone_small_reward_splitted_2[0]),Integer.parseInt(hopzone_small_reward_splitted_2[1]));+}+ HOPZONE_DUALBOXES_ALLOWED = events.getProperty("HopzoneDualboxesAllowed",1);+ ALLOW_HOPZONE_GAME_SERVER_REPORT = events.getProperty("AllowHopzoneGameServerReport",false);}/**
Index: java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- java/net/sf/l2j/gameserver/GameServer.java (revision 5)
+++ java/net/sf/l2j/gameserver/GameServer.java (working copy)
@@ -120,6 +120,7 @@
import net.sf.l2j.gameserver.taskmanager.ShadowItemTaskManager;
import net.sf.l2j.gameserver.taskmanager.TaskManager;
import net.sf.l2j.gameserver.taskmanager.WaterTaskManager;
+import net.sf.l2j.gameserver.votereward.VoteSystem;
import net.sf.l2j.gameserver.xmlfactory.XMLDocumentFactory;
import net.sf.l2j.util.DeadLockDetector;
import net.sf.l2j.util.IPv4Filter;
@@ -290,6 +291,9 @@
if (Config.ALT_FISH_CHAMPIONSHIP_ENABLED)
FishingChampionshipManager.getInstance();
+ Util.printSection("Vote Reward");
+ VoteSystem.initialize();
+
StringUtil.printSection("System");
TaskManager.getInstance();
Runtime.getRuntime().addShutdownHook(Shutdown.getInstance());
Index: java/net/sf/l2j/gameserver/votereward/Hopzone.java
===================================================================
--- java/net/sf/l2j/gameserver/votereward/Hopzone.java (revision 0)
+++ java/net/sf/l2j/gameserver/votereward/Hopzone.java (revision 0)
@@ -0,0 +1,82 @@
+/*
+ * 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 com.l2jfrozen.gameserver.votereward;++import java.io.BufferedReader;+import java.io.InputStreamReader;+import java.net.URL;+import java.net.URLConnection;+import java.util.Map;++import com.l2jfrozen.Config;++/**
+ * @author Anarchy
+ *
+ */+publicclassHopzoneextendsVoteSystem+{+publicHopzone(int votesDiff,boolean allowReport,int boxes,Map<Integer,Integer> rewards,int checkMins)+{+super(votesDiff, allowReport, boxes, rewards, checkMins);+}++@Override+publicvoid run()+{+ reward();+}++@Override+publicint getVotes()+{+InputStreamReader isr =null;+BufferedReader br =null;++try+{+URLConnection con =new URL(Config.HOPZONE_SERVER_LINK).openConnection();+ con.addRequestProperty("User-Agent","Mozilla/4.76");+ isr =newInputStreamReader(con.getInputStream());+ br =newBufferedReader(isr);++String line;+while((line = br.readLine())!=null)+{+if(line.contains("<li><span class=\"rank anonymous tooltip\" title"))+{+int votes =Integer.valueOf(line.split(">")[2].replace("</span",""));+return votes;+}+}++ br.close();+ isr.close();+}+catch(Exception e)+{+ e.printStackTrace();+System.out.println("Error while getting server vote count from "+getSiteName()+".");+}++return-1;+}++@Override+publicString getSiteName()+{+return"Hopzone";+}+}Index: java/net/sf/l2j/gameserver/votereward/Network.java
===================================================================--- java/net/sf/l2j/gameserver/votereward/Network.java (revision 0)+++ java/net/sf/l2j/gameserver/votereward/Network.java (revision 0)@@-0,0+1,82@@+/*
+ * 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 com.l2jfrozen.gameserver.votereward;++import java.io.BufferedReader;+import java.io.InputStreamReader;+import java.net.URL;+import java.net.URLConnection;+import java.util.Map;++import com.l2jfrozen.Config++/**
+ * @author Anarchy
+ *
+ */+publicclassNetworkextendsVoteSystem+{+publicNetwork(int votesDiff,boolean allowReport,int boxes,Map<Integer,Integer> rewards,int checkMins)+{+super(votesDiff, allowReport, boxes, rewards, checkMins);+}++@Override+publicvoid run()+{+ reward();+}++@Override+publicint getVotes()+{+InputStreamReader isr =null;+BufferedReader br =null;++try+{+URLConnection con =new URL(Config.NETWORK_SERVER_LINK).openConnection();+ con.addRequestProperty("User-L2Network","Mozilla/4.76");+ isr =newInputStreamReader(con.getInputStream());+ br =newBufferedReader(isr);++String line;+while((line = br.readLine())!=null)+{+if(line.contains("<div class=\"tls-in-sts\"><b style"))+{+int votes =Integer.valueOf(line.split(">")[2].replace("</b",""));+return votes;+}+}++ br.close();+ isr.close();+}+catch(Exception e)+{+ e.printStackTrace();+System.out.println("Error while getting server vote count from "+getSiteName()+".");+}++return-1;+}++@Override+publicString getSiteName()+{+return"Network";+}+}Index: java/net/sf/l2j/gameserver/votereward/Topzone.java
===================================================================--- java/net/sf/l2j/gameserver/votereward/Topzone.java (revision 0)+++ java/net/sf/l2j/gameserver/votereward/Topzone.java (revision 0)@@-0,0+1,82@@+/*
+ * 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 com.l2jfrozen.gameserver.votereward;++import java.io.BufferedReader;+import java.io.InputStreamReader;+import java.net.URL;+import java.net.URLConnection;+import java.util.Map;++import com.l2jfrozen.Config++/**
+ * @author Anarchy
+ *
+ */+publicclassTopzoneextendsVoteSystem+{+publicTopzone(int votesDiff,boolean allowReport,int boxes,Map<Integer,Integer> rewards,int checkMins)+{+super(votesDiff, allowReport, boxes, rewards, checkMins);+}++@Override+publicvoid run()+{+ reward();+}++@Override+publicint getVotes()+{+InputStreamReader isr =null;+BufferedReader br =null;++try+{+URLConnection con =new URL(Config.TOPZONE_SERVER_LINK).openConnection();+ con.addRequestProperty("User-Agent","L2TopZone");+ isr =newInputStreamReader(con.getInputStream());+ br =newBufferedReader(isr);++String line;+while((line = br.readLine())!=null)+{+if(line.contains("</span></small>"))+{+int votes =Integer.valueOf(line.split(">")[9].replace("</span",""));+return votes;+}+}++ br.close();+ isr.close();+}+catch(Exception e)+{+ e.printStackTrace();+System.out.println("Error while getting server vote count from "+getSiteName()+".");+}++return-1;+}++@Override+publicString getSiteName()+{+return"Topzone";+}+}Index: java/net/sf/l2j/gameserver/votereward/VoteSystem.java
===================================================================--- java/net/sf/l2j/gameserver/votereward/VoteSystem.java (revision 0)+++ java/net/sf/l2j/gameserver/votereward/VoteSystem.java (revision 0)@@-0,0+1,163@@+/*
+ * 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 com.l2jfrozen.gameserver.votereward;++import java.util.ArrayList;+import java.util.Collection;+import java.util.HashMap;+import java.util.List;+import java.util.Map;++import com.l2jfrozen.Config;+import com.l2jfrozen.gameserver.thread.ThreadPoolManager;+import com.l2jfrozen.gameserver.model.L2World;+import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;+import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;+import com.l2jfrozen.gameserver.util.Broadcast;++/**
+ * @author Anarchy
+ *
+ */+publicabstractclassVoteSystemimplementsRunnable+{+privatestaticList<VoteSystem> voteSystems =newArrayList<>();++protectedint votesDiff;+protectedboolean allowReport;+protectedint boxes;+protectedMap<Integer,Integer> rewards;+protectedint checkMins;+protectedint lastVotes =0;+privateMap<String,Integer> playerIps =newHashMap<>();++publicstaticvoid initialize()+{+System.out.println("Vote System: Loaded");+if(Config.ALLOW_NETWORK_VOTE_REWARD)+ voteSystems.add(newNetwork(Config.NETWORK_VOTES_DIFFERENCE,Config.ALLOW_NETWORK_GAME_SERVER_REPORT,Config.NETWORK_DUALBOXES_ALLOWED,Config.NETWORK_REWARD,Config.NETWORK_REWARD_CHECK_TIME));+if(Config.ALLOW_TOPZONE_VOTE_REWARD)+ voteSystems.add(newTopzone(Config.TOPZONE_VOTES_DIFFERENCE,Config.ALLOW_TOPZONE_GAME_SERVER_REPORT,Config.TOPZONE_DUALBOXES_ALLOWED,Config.TOPZONE_REWARD,Config.TOPZONE_REWARD_CHECK_TIME));+if(Config.ALLOW_HOPZONE_VOTE_REWARD)+ voteSystems.add(newHopzone(Config.HOPZONE_VOTES_DIFFERENCE,Config.ALLOW_HOPZONE_GAME_SERVER_REPORT,Config.HOPZONE_DUALBOXES_ALLOWED,Config.HOPZONE_REWARD,Config.HOPZONE_REWARD_CHECK_TIME));+}++publicstaticVoteSystem getVoteSystem(String name)+{+for(VoteSystem vs : voteSystems)+if(vs.getSiteName().equals(name))+return vs;++returnnull;+}++publicVoteSystem(int votesDiff,boolean allowReport,int boxes,Map<Integer,Integer> rewards,int checkMins)+{+this.votesDiff = votesDiff;+this.allowReport = allowReport;+this.boxes = boxes;+this.rewards = rewards;+this.checkMins = checkMins;++ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this, checkMins*1000*60, checkMins*1000*60);+}++protectedvoid reward()+{+int currentVotes = getVotes();++if(currentVotes ==-1)+{+System.out.println("There was a problem on getting server votes.");+return;+}++if(lastVotes ==0)+{+ lastVotes = currentVotes;+ announce(getSiteName()+": Current vote count is "+currentVotes+".");+ announce(getSiteName()+": We need "+((lastVotes+votesDiff)-currentVotes)+" vote(s) for reward.");+if(allowReport)+{+System.out.println("Server votes on "+getSiteName()+": "+currentVotes);+System.out.println("Votes needed for reward: "+((lastVotes+votesDiff)-currentVotes));+}+return;+}++if(currentVotes >= lastVotes+votesDiff)+{+Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();+if(allowReport)+{+System.out.println("Server votes on "+getSiteName()+": "+currentVotes);+System.out.println("Votes needed for next reward: "+((currentVotes+votesDiff)-currentVotes));+}+ announce(getSiteName()+": Everyone has been rewarded.");+ announce(getSiteName()+": Current vote count is "+currentVotes+".");+ announce(getSiteName()+": We need "+votesDiff+" vote(s) for next reward.");+for(L2PcInstance p : pls)+{+if(p.getClient()==null|| p.getClient().isDetached())// offline shops protection+continue;++boolean canReward =false;+String pIp = p.getClient().getConnection().getInetAddress().getHostAddress();+if(playerIps.containsKey(pIp))+{+int count = playerIps.get(pIp);+if(count < boxes)+{+ playerIps.remove(pIp);+ playerIps.put(pIp, count+1);+ canReward =true;+}+}+else+{+ canReward =true;+ playerIps.put(pIp,1);+}+if(canReward)+for(int i : rewards.keySet())+ p.addItem("Vote reward.", i, rewards.get(i), p,true);+else+ p.sendMessage("Already "+boxes+" character(s) of your ip have been rewarded, so this character won't be rewarded.");+}+ playerIps.clear();++ lastVotes = currentVotes;+}+else+{+if(allowReport)+{+System.out.println("Server votes on "+getSiteName()+": "+currentVotes);+System.out.println("Votes needed for next reward: "+((lastVotes+votesDiff)-currentVotes));+}+ announce(getSiteName()+": Current vote count is "+currentVotes+".");+ announce(getSiteName()+": We need "+((lastVotes+votesDiff)-currentVotes)+" vote(s) for reward.");+}+}++privatestaticvoid announce(String msg)+{+CreatureSay cs =newCreatureSay(0,18,"", msg);+Broadcast.toAllOnlinePlayers(cs);+}++publicabstractint getVotes();+publicabstractString getSiteName();+}
my problem is on all lines that told = events.getProperty. Can someone help please?
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.
⏳ Verifications take only minutes, but we build long-term cooperation.
We believe that one reliable service for years is better than constantly searching for something "one-time only."
📲 Vibe-SMS provides stable numbers, rentals, and activations for popular services
🤝 We focus on long-term relationships so you can work calmly without unnecessary worries.
WEBSITE: https://vibe-sms.net
📲 Our Telegram group: https://t.me/vibe_sms
I am preparing very big update. For more info https://l2evo.net/wiki
- New Farm Events
- New formulas for PVP/PVE
- Better balance
- New Quests
and much more ...
How much would something like thos cost for H5? Im not a developer just want something like so i could play alone on my server, and i need it to be easy to instal ;3
The service is developing step by step to be convenient and reliable for every user.
🤝 We strive to build a strong foundation for long-term and comfortable cooperation, so you can rely on us and get consistent results.
🌟 Our goal is long-term relationships with every user, creating a solid base for stable work with our service.
📌 Website: vibe-sms.net
📲 Our Telegram channel: https://t.me/vibe_sms
Question
thepsolartek
hello maxcheaters i have one problem with this code :
my problem is on all lines that told = events.getProperty. Can someone help please?
5 answers to this question
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.