TopZone and HopZone
I tried this last:
TopzoneUrl = https://l2topzone.com/tv.php?id=14549
API HopZone - in the code
package com.l2jfrozen.gameserver.handler;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.model.L2World;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.network.clientpackets.Say2;
import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
import com.l2jfrozen.util.database.L2DatabaseFactory;
/**
* @Author Reborn12
*/
public class VoteHandler
{
public VoteHandler()
{
}
public static String whoIsVoting()
{
for (L2PcInstance player : L2World.getInstance().getAllPlayers())
if (player.isVoting())
return player.getName();
return "NONE";
}
public static int getTopZoneVotes()
{
int votes = -1;
try
{
final URL obj = new URL(Config.VOTES_SITE_TOPZONE_URL);
final HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.addRequestProperty("User-Agent", "L2TopZone");
con.setConnectTimeout(5000);
final int responseCode = con.getResponseCode();
if (responseCode == 200)
{
try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())))
{
String inputLine;
while ((inputLine = in.readLine()) != null)
{
votes = Integer.valueOf(inputLine);
break;
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("TOPZONE is offline. We will check reward as it will be online again.");
}
return votes;
}
public static void tzvote(final L2PcInstance player)
{
long LastTZVote = 0L;
long voteDelay = 43200000L;
final int actualvotes;
actualvotes = getTopZoneVotes();
class tzvotetask implements Runnable
{
private final L2PcInstance p;
public tzvotetask(L2PcInstance player)
{
p = player;
}
@Override
public void run()
{
if (actualvotes < getTopZoneVotes())
{
p.setIsVoting(false);
VoteHandler.updateLastTZVote(p);
p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
p.addItem("TZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
}
else
{
p.setIsVoting(false);
p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
}
}
}
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
PreparedStatement statement = con.prepareStatement("SELECT LastTZVote FROM characters WHERE obj_Id=?");
statement.setInt(1, player.getObjectId());
ResultSet rset = statement.executeQuery();
while (rset.next())
{
LastTZVote = rset.getLong("LastTZVote");
}
statement.close();
rset.close();
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Vote Manager: could not select LastTZVote in characters " + e);
}
if ((LastTZVote + voteDelay) < System.currentTimeMillis())
{
for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
{
if (actualchar.isVoting())
{
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
return;
}
}
player.setIsVoting(true);
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Topzone."));
ThreadPoolManager.getInstance().scheduleGeneral(new tzvotetask(player), Config.TIME_TO_VOTE * 880);
}
else
{
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours."));
}
}
public static void updateLastTZVote(L2PcInstance player)
{
{
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastTZVote=? WHERE obj_Id=?");
statement.setLong(1, System.currentTimeMillis());
statement.setInt(2, player.getObjectId());
statement.execute();
statement.close();
statement = null;
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Vote Manager: could not update LastTZVote in characters " + e);
}
}
}
public static int getHopZoneVotes()
{
int votes = -1;
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(new URL("https://api.hopzone.net/lineage2/votes?token=3jN9R6JkE7a0gowf").openConnection().getInputStream()));
String[] tokens = in.readLine().split(",");
in.close();
return Integer.parseInt(tokens[1].substring(tokens[1].indexOf(":") + 1, tokens[1].length()));
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("HOPZONE is offline. We will check reward as it will be online again.");
}
return votes;
}
public static void HZvote(final L2PcInstance player)
{
long LastHZVote = 0L;
long voteDelay = 43200000L;
final int actualvotes;
actualvotes = getHopZoneVotes();
class hpvotetask implements Runnable
{
private final L2PcInstance p;
public hpvotetask(L2PcInstance player)
{
p = player;
}
@Override
public void run()
{
if (actualvotes < getHopZoneVotes())
{
p.setIsVoting(false);
VoteHandler.updateLastHZVote(p);
p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
p.addItem("HZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
}
else
{
p.setIsVoting(false);
p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
}
}
}
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
PreparedStatement statement = con.prepareStatement("SELECT LastHZVote FROM characters WHERE obj_Id=?");
statement.setInt(1, player.getObjectId());
ResultSet rset = statement.executeQuery();
while (rset.next())
{
LastHZVote = rset.getLong("LastHZVote");
}
statement.close();
rset.close();
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Vote Manager: could not select LastHZVote in characters " + e);
}
if ((LastHZVote + voteDelay) < System.currentTimeMillis())
{
for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
{
if (actualchar.isVoting())
{
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
return;
}
}
player.setIsVoting(true);
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Hopzone."));
ThreadPoolManager.getInstance().scheduleGeneral(new hpvotetask(player), Config.TIME_TO_VOTE * 880);
}
else
{
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours"));
}
}
public static void updateLastHZVote(L2PcInstance player)
{
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastHZVote=? WHERE obj_Id=?");
statement.setLong(1, System.currentTimeMillis());
statement.setInt(2, player.getObjectId());
statement.execute();
statement.close();
statement = null;
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Vote Manager: could not update LastHZVote in characters " + e);
}
}
public static int getL2NetworkVotes()
{
int votes = -1;
try
{
final URL obj = new URL(Config.VOTES_SITE_L2NETWORK_URL);
final HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.addRequestProperty("User-Agent", "L2Network");
con.setConnectTimeout(5000);
final int responseCode = con.getResponseCode();
if (responseCode == 200)
{
try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())))
{
String inputLine;
while ((inputLine = in.readLine()) != null)
{
if (inputLine.contains("color:#e7ebf2"))
{
votes = Integer.valueOf(inputLine.split(">")[2].replace("</b", ""));
break;
}
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("NetWork is offline. We will check reward as it will be online again.");
}
return votes;
}
public static void NZvote(final L2PcInstance player)
{
long LastNZVote = 0L;
long voteDelay = 43200000L;
final int actualvotes;
actualvotes = getL2NetworkVotes();
class nzvotetask implements Runnable
{
private final L2PcInstance p;
public nzvotetask(L2PcInstance player)
{
p = player;
}
@Override
public void run()
{
if (actualvotes < getL2NetworkVotes())
{
p.setIsVoting(false);
VoteHandler.updateLastNZVote(p);
p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
p.addItem("NZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
}
else
{
p.setIsVoting(false);
p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
}
}
}
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
PreparedStatement statement = con.prepareStatement("SELECT LastNZVote FROM characters WHERE obj_Id=?");
statement.setInt(1, player.getObjectId());
ResultSet rset = statement.executeQuery();
while (rset.next())
{
LastNZVote = rset.getLong("LastNZVote");
}
statement.close();
rset.close();
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Vote Manager: could not select LastNZVote in characters " + e);
}
if ((LastNZVote + voteDelay) < System.currentTimeMillis())
{
for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
{
if (actualchar.isVoting())
{
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
return;
}
}
player.setIsVoting(true);
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Network."));
ThreadPoolManager.getInstance().scheduleGeneral(new nzvotetask(player), Config.TIME_TO_VOTE * 880);
}
else
{
player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours."));
}
}
public static void updateLastNZVote(L2PcInstance player)
{
{
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastNZVote=? WHERE obj_Id=?");
statement.setLong(1, System.currentTimeMillis());
statement.setInt(2, player.getObjectId());
statement.execute();
statement.close();
statement = null;
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Vote Manager: could not update LastNZVote in characters " + e);
}
}
}
}