Jump to content

Recommended Posts

Posted

package com.l2jserver.gameserver.instancemanager.vote;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;

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.taskmanager.tasks.TaskMonthlyResetTask;
import com.l2jserver.gameserver.taskmanager.tasks.TaskTriesResetTask;

public class VoteMain
{
    private static boolean hasVotedHop;
    private static boolean hasVotedTop;
    
    public VoteMain()
    {
    }
    
    public static void load()
    {
        System.out.println("Vote Individual Reward System Started Successfully.");
        TaskTriesResetTask.getInstance();
        TaskMonthlyResetTask.getInstance();
    }
    
    protected static int getHopZoneVotes()
    {
        int votes = -1;
        URL url = null;
        URLConnection con = null;
        InputStream is = null;
        InputStreamReader isr = null;
        BufferedReader in = null;
        try
        {
            url = new URL(Config.VOTE_LINK_HOPZONE);
            con = url.openConnection();
            con.addRequestProperty("User-Agent", "Mozilla/4.76");
            is = con.getInputStream();
            isr = new InputStreamReader(is);
            in = new BufferedReader(isr);
            String inputLine;
            while ((inputLine = in.readLine()) != null)
            {
                if (inputLine.contains("rank anonymous tooltip"))
                {
                    votes = Integer.valueOf(inputLine.split(">")[2].replace("</span", ""));
                    break;
                }
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return votes;
    }
    
    protected static int getTopZoneVotes()
    {
        int votes = -1;
        URL url = null;
        URLConnection con = null;
        InputStream is = null;
        InputStreamReader isr = null;
        BufferedReader in = null;
        try
        {
            url = new URL(Config.VOTE_LINK_TOPZONE);
            con = url.openConnection();
            con.addRequestProperty("User-Agent", "Mozilla/4.76");
            is = con.getInputStream();
            isr = new InputStreamReader(is);
            in = new BufferedReader(isr);
            String inputLine;
            while ((inputLine = in.readLine()) != null)
            {
                if (inputLine.contains("Votes"))
                {
                    // String votesLine = inputLine;
                    String votesLine = inputLine;// Author: chemanue fix
                    // votes = Integer.valueOf(votesLine.split(">")[3].replace("</div", ""));
                    votes = Integer.valueOf(votesLine.split(">")[3].replace("</div", ""));// Author: chemanue fix
                    // http://l2jpsproject.eu/forum/index.php?topic=1009.0
                    break;
                }
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return votes;
    }
    
    public static String hopCd(L2PcInstance player)
    {
        long hopCdMs = 0;
        long voteDelay = 43200000L;
        PreparedStatement statement = null;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            statement = con.prepareStatement("SELECT lastVoteHopzone FROM characters WHERE charId=?");
            statement.setInt(1, player.getObjectId());
            
            ResultSet rset = statement.executeQuery();
            
            while (rset.next())
            {
                hopCdMs = rset.getLong("lastVoteHopzone");
            }
        }
        catch (Exception e)
        {
        }
        SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
        
        Date resultdate = new Date(hopCdMs + voteDelay);
        return sdf.format(resultdate);
    }
    
    public static String topCd(L2PcInstance player)
    {
        long topCdMs = 0;
        long voteDelay = 43200000L;
        PreparedStatement statement = null;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            statement = con.prepareStatement("SELECT lastVoteTopzone FROM characters WHERE charId=?");
            statement.setInt(1, player.getObjectId());
            
            ResultSet rset = statement.executeQuery();
            
            while (rset.next())
            {
                topCdMs = rset.getLong("lastVoteTopzone");
            }
        }
        catch (Exception e)
        {
        }
        SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
        
        Date resultdate = new Date(topCdMs + voteDelay);
        return sdf.format(resultdate);
    }
    
    public static String whosVoting()
    {
        for (L2PcInstance voter : L2World.getInstance().getAllPlayersArray())
        {
            if (voter.isVoting())
            {
                return voter.getName();
            }
        }
        return "Yes";
    }
    
    public static void hopvote(final L2PcInstance player)
    {
        long lastVoteHopzone = 0L;
        long voteDelay = 43200000L;
        final int firstvoteshop;
        
        firstvoteshop = getHopZoneVotes();
        
        class hopvotetask implements Runnable
        {
            private final L2PcInstance p;
            
            public hopvotetask(L2PcInstance player)
            {
                p = player;
            }
            
            @Override
            public void run()
            {
                if (firstvoteshop < getHopZoneVotes())
                {
                    p.setIsVoting(false);
                    VoteMain.setHasVotedHop(player);
                    p.sendMessage("Thank you for voting for us!");
                    VoteMain.updateLastVoteHopzone(p);
                    VoteMain.updateVotes(p);
                }
                else
                {
                    p.setIsVoting(false);
                    p.sendMessage("You did not vote.Please try again.");
                    VoteMain.setTries(player, VoteMain.getTries(p) - 1);
                }
            }
            
        }
        
        PreparedStatement statement = null;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            statement = con.prepareStatement("SELECT lastVoteHopzone FROM characters WHERE charId=?");
            statement.setInt(1, player.getObjectId());
            
            ResultSet rset = statement.executeQuery();
            
            while (rset.next())
            {
                lastVoteHopzone = rset.getLong("lastVoteHopzone");
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
        if (getTries(player) <= 0)
        {
            player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today");
        }
        else if (((lastVoteHopzone + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0))
        {
            for (L2PcInstance j : L2World.getInstance().getAllPlayersArray())
            {
                if (j.isVoting())
                {
                    player.sendMessage("Someone is already voting.Wait for your turn please!");
                    return;
                }
            }
            
            player.setIsVoting(true);
            player.sendMessage("Go fast on the site and vote on the hopzone banner!");
            player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");
            ThreadPoolManager.getInstance().scheduleGeneral(new hopvotetask(player), Config.SECS_TO_VOTE * 1000);
        }
        else if ((getTries(player) <= 0) && ((lastVoteHopzone + voteDelay) < System.currentTimeMillis()))
        {
            for (L2PcInstance j : L2World.getInstance().getAllPlayersArray())
            {
                if (j.isVoting())
                {
                    player.sendMessage("Someone is already voting.Wait for your turn please!");
                    return;
                }
            }
            
            player.setIsVoting(true);
            player.sendMessage("Go fast on the site and vote on the hopzone banner!");
            player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");
            ThreadPoolManager.getInstance().scheduleGeneral(new hopvotetask(player), Config.SECS_TO_VOTE * 1000);
            
        }
        else
        {
            player.sendMessage("12 hours have to pass till you are able to vote again.");
        }
        
    }
    
    public static void topvote(final L2PcInstance player)
    {
        long lastVoteTopzone = 0L;
        long voteDelay = 43200000L;
        final int firstvotestop;
        
        firstvotestop = getTopZoneVotes();
        
        class topvotetask implements Runnable
        {
            private final L2PcInstance p;
            
            public topvotetask(L2PcInstance player)
            {
                p = player;
            }
            
            @Override
            public void run()
            {
                if (firstvotestop < getTopZoneVotes())
                {
                    p.setIsVoting(false);
                    VoteMain.setHasVotedTop(p);
                    p.sendMessage("Thank you for voting for us!");
                    VoteMain.updateLastVoteTopzone(p);
                    VoteMain.updateVotes(p);
                }
                else
                {
                    p.setIsVoting(false);
                    p.sendMessage("You did not vote.Please try again.");
                    VoteMain.setTries(p, VoteMain.getTries(p) - 1);
                }
            }
            
        }
        
        PreparedStatement statement = null;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            statement = con.prepareStatement("SELECT lastVoteTopzone FROM characters WHERE charId=?");
            statement.setInt(1, player.getObjectId());
            
            ResultSet rset = statement.executeQuery();
            
            while (rset.next())
            {
                lastVoteTopzone = rset.getLong("lastVoteTopzone");
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
        if (getTries(player) <= 0)
        {
            player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today");
        }
        else if ((getTries(player) <= 0) && ((lastVoteTopzone + voteDelay) < System.currentTimeMillis()))
        {
            for (L2PcInstance j : L2World.getInstance().getAllPlayersArray())
            {
                if (j.isVoting())
                {
                    player.sendMessage("Someone is already voting.Wait for your turn please!");
                    return;
                }
            }
            player.setIsVoting(true);
            player.sendMessage("Go fast on the site and vote on the topzone banner!");
            player.sendMessage((new StringBuilder()).append("You have ").append(Config.SECS_TO_VOTE).append(" seconds.Hurry!").toString());
            ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000);
        }
        else if (((lastVoteTopzone + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0))
        {
            for (L2PcInstance j : L2World.getInstance().getAllPlayersArray())
            {
                if (j.isVoting())
                {
                    player.sendMessage("Someone is already voting.Wait for your turn please!");
                    return;
                }
            }
            player.setIsVoting(true);
            player.sendMessage("Go fast on the site and vote on the topzone banner!");
            player.sendMessage((new StringBuilder()).append("You have ").append(Config.SECS_TO_VOTE).append(" seconds.Hurry!").toString());
            ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000);
        }
        else
        {
            player.sendMessage("12 hours have to pass till you are able to vote again.");
        }
        
    }
    
    public static void hasVotedHop(L2PcInstance player)
    {
        int hasVotedHop = -1;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("SELECT hasVotedHop FROM characters WHERE charId=?");
            statement.setInt(1, player.getObjectId());
            
            ResultSet rset = statement.executeQuery();
            
            while (rset.next())
            {
                hasVotedHop = rset.getInt("hasVotedHop");
            }
            
            if (hasVotedHop == 1)
            {
                setHasVotedHop(true);
            }
            else if (hasVotedHop == 0)
            {
                setHasVotedHop(false);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void hasVotedTop(L2PcInstance player)
    {
        int hasVotedTop = -1;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("SELECT hasVotedTop FROM characters WHERE charId=?");
            statement.setInt(1, player.getObjectId());
            
            ResultSet rset = statement.executeQuery();
            
            while (rset.next())
            {
                hasVotedTop = rset.getInt("hasVotedTop");
            }
            
            if (hasVotedTop == 1)
            {
                setHasVotedTop(true);
            }
            else if (hasVotedTop == 0)
            {
                setHasVotedTop(false);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void updateVotes(L2PcInstance activeChar)
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("UPDATE characters SET monthVotes=?, totalVotes=? WHERE charId=?");
            
            statement.setInt(1, getMonthVotes(activeChar) + 1);
            statement.setInt(2, getTotalVotes(activeChar) + 1);
            statement.setInt(3, activeChar.getObjectId());
            statement.execute();
            statement.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void setHasVotedHop(L2PcInstance activeChar)
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedHop=? WHERE charId=?");
            
            statement.setInt(1, 1);
            statement.setInt(2, activeChar.getObjectId());
            statement.execute();
            statement.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void setHasVotedTop(L2PcInstance activeChar)
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedTop=? WHERE charId=?");
            
            statement.setInt(1, 1);
            statement.setInt(2, activeChar.getObjectId());
            statement.execute();
            statement.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void setHasNotVotedHop(L2PcInstance activeChar)
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedHop=? WHERE charId=?");
            
            statement.setInt(1, 0);
            statement.setInt(2, activeChar.getObjectId());
            statement.execute();
            statement.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void setHasNotVotedTop(L2PcInstance activeChar)
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedTop=? WHERE charId=?");
            
            statement.setInt(1, 0);
            statement.setInt(2, activeChar.getObjectId());
            statement.execute();
            statement.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static int getTries(L2PcInstance player)
    {
        int tries = -1;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("SELECT tries FROM characters WHERE charId=?");
            statement.setInt(1, player.getObjectId());
            for (ResultSet rset = statement.executeQuery(); rset.next() ;)
            {
                tries = rset.getInt("tries");
            }
            
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return tries;
    }
    
    public static void setTries(L2PcInstance player, int tries)
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("UPDATE characters SET tries=? WHERE charId=?");
            
            statement.setInt(1, tries);
            statement.setInt(2, player.getObjectId());
            statement.execute();
            statement.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static int getMonthVotes(L2PcInstance player)
    {
        int monthVotes = -1;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("SELECT monthVotes FROM characters WHERE charId=?");
            
            statement.setInt(1, player.getObjectId());
            for (ResultSet rset = statement.executeQuery(); rset.next() ;)
            {
                monthVotes = rset.getInt("monthVotes");
            }
            
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return monthVotes;
    }
    
    public static int getTotalVotes(L2PcInstance player)
    {
        int totalVotes = -1;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("SELECT totalVotes FROM characters WHERE charId=?");
            
            statement.setInt(1, player.getObjectId());
            for (ResultSet rset = statement.executeQuery(); rset.next() ;)
            {
                totalVotes = rset.getInt("totalVotes");
            }
            
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return totalVotes;
    }
    
    public static int getBigTotalVotes(L2PcInstance player)
    {
        int bigTotalVotes = -1;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("SELECT SUM(totalVotes) FROM characters");
            
            for (ResultSet rset = statement.executeQuery(); rset.next() ;)
            {
                bigTotalVotes = rset.getInt("SUM(totalVotes)");
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return bigTotalVotes;
    }
    
    public static int getBigMonthVotes(L2PcInstance player)
    {
        int bigMonthVotes = -1;
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("SELECT SUM(monthVotes) FROM characters");
            
            for (ResultSet rset = statement.executeQuery(); rset.next() ;)
            {
                bigMonthVotes = rset.getInt("SUM(monthVotes)");
            }
            
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return bigMonthVotes;
    }
    
    public static void updateLastVoteHopzone(L2PcInstance player)
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteHopzone=? WHERE charId=?");
            statement.setLong(1, System.currentTimeMillis());
            statement.setInt(2, player.getObjectId());
            statement.execute();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void updateLastVoteTopzone(L2PcInstance player)
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteTopzone=? WHERE charId=?");
            statement.setLong(1, System.currentTimeMillis());
            statement.setInt(2, player.getObjectId());
            statement.execute();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static boolean hasVotedHop()
    {
        return hasVotedHop;
    }
    
    public static void setHasVotedHop(boolean hasVotedHop)
    {
        VoteMain.hasVotedHop = hasVotedHop;
    }
    
    public static boolean hasVotedTop()
    {
        return hasVotedTop;
    }
    
    public static void setHasVotedTop(boolean hasVotedTop)
    {
        VoteMain.hasVotedTop = hasVotedTop;
    }
}

Posted

package com.l2jserver.gameserver.instancemanager.vote;

 

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLConnection;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.text.SimpleDateFormat;

import java.util.Date;

 

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.taskmanager.tasks.TaskMonthlyResetTask;

import com.l2jserver.gameserver.taskmanager.tasks.TaskTriesResetTask;

 

public class VoteMain

{

    private static boolean hasVotedHop;

    private static boolean hasVotedTop;

    

    public VoteMain()

    {

    }

    

    public static void load()

    {

        System.out.println("Vote Individual Reward System Started Successfully.");

        TaskTriesResetTask.getInstance();

        TaskMonthlyResetTask.getInstance();

    }

    

    protected static int getHopZoneVotes()

    {

        int votes = -1;

        URL url = null;

        URLConnection con = null;

        InputStream is = null;

        InputStreamReader isr = null;

        BufferedReader in = null;

        try

        {

            url = new URL(Config.VOTE_LINK_HOPZONE);

            con = url.openConnection();

            con.addRequestProperty("User-Agent", "Mozilla/4.76");

            is = con.getInputStream();

            isr = new InputStreamReader(is);

            in = new BufferedReader(isr);

            String inputLine;

            while ((inputLine = in.readLine()) != null)

            {

                if (inputLine.contains("rank anonymous tooltip"))

                {

                    votes = Integer.valueOf(inputLine.split(">")[2].replace("</span", ""));

                    break;

                }

            }

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        return votes;

    }

    

    protected static int getTopZoneVotes()

    {

        int votes = -1;

        URL url = null;

        URLConnection con = null;

        InputStream is = null;

        InputStreamReader isr = null;

        BufferedReader in = null;

        try

        {

            url = new URL(Config.VOTE_LINK_TOPZONE);

            con = url.openConnection();

            con.addRequestProperty("User-Agent", "Mozilla/4.76");

            is = con.getInputStream();

            isr = new InputStreamReader(is);

            in = new BufferedReader(isr);

            String inputLine;

            while ((inputLine = in.readLine()) != null)

            {

                if (inputLine.contains("Votes"))

                {

                    // String votesLine = inputLine;

                    String votesLine = inputLine;// Author: chemanue fix

                    // votes = Integer.valueOf(votesLine.split(">")[3].replace("</div", ""));

                    votes = Integer.valueOf(votesLine.split(">")[3].replace("</div", ""));// Author: chemanue fix

                    // http://l2jpsproject.eu/forum/index.php?topic=1009.0

                    break;

                }

            }

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        return votes;

    }

    

    public static String hopCd(L2PcInstance player)

    {

        long hopCdMs = 0;

        long voteDelay = 43200000L;

        PreparedStatement statement = null;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            statement = con.prepareStatement("SELECT lastVoteHopzone FROM characters WHERE charId=?");

            statement.setInt(1, player.getObjectId());

            

            ResultSet rset = statement.executeQuery();

            

            while (rset.next())

            {

                hopCdMs = rset.getLong("lastVoteHopzone");

            }

        }

        catch (Exception e)

        {

        }

        SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");

        

        Date resultdate = new Date(hopCdMs + voteDelay);

        return sdf.format(resultdate);

    }

    

    public static String topCd(L2PcInstance player)

    {

        long topCdMs = 0;

        long voteDelay = 43200000L;

        PreparedStatement statement = null;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            statement = con.prepareStatement("SELECT lastVoteTopzone FROM characters WHERE charId=?");

            statement.setInt(1, player.getObjectId());

            

            ResultSet rset = statement.executeQuery();

            

            while (rset.next())

            {

                topCdMs = rset.getLong("lastVoteTopzone");

            }

        }

        catch (Exception e)

        {

        }

        SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");

        

        Date resultdate = new Date(topCdMs + voteDelay);

        return sdf.format(resultdate);

    }

    

    public static String whosVoting()

    {

        for (L2PcInstance voter : L2World.getInstance().getAllPlayersArray())

        {

            if (voter.isVoting())

            {

                return voter.getName();

            }

        }

        return "Yes";

    }

    

    public static void hopvote(final L2PcInstance player)

    {

        long lastVoteHopzone = 0L;

        long voteDelay = 43200000L;

        final int firstvoteshop;

        

        firstvoteshop = getHopZoneVotes();

        

        class hopvotetask implements Runnable

        {

            private final L2PcInstance p;

            

            public hopvotetask(L2PcInstance player)

            {

                p = player;

            }

            

            @Override

            public void run()

            {

                if (firstvoteshop < getHopZoneVotes())

                {

                    p.setIsVoting(false);

                    VoteMain.setHasVotedHop(player);

                    p.sendMessage("Thank you for voting for us!");

                    VoteMain.updateLastVoteHopzone(p);

                    VoteMain.updateVotes(p);

                }

                else

                {

                    p.setIsVoting(false);

                    p.sendMessage("You did not vote.Please try again.");

                    VoteMain.setTries(player, VoteMain.getTries(p) - 1);

                }

            }

            

        }

        

        PreparedStatement statement = null;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            statement = con.prepareStatement("SELECT lastVoteHopzone FROM characters WHERE charId=?");

            statement.setInt(1, player.getObjectId());

            

            ResultSet rset = statement.executeQuery();

            

            while (rset.next())

            {

                lastVoteHopzone = rset.getLong("lastVoteHopzone");

            }

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        

        if (getTries(player) <= 0)

        {

            player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today");

        }

        else if (((lastVoteHopzone + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0))

        {

            for (L2PcInstance j : L2World.getInstance().getAllPlayersArray())

            {

                if (j.isVoting())

                {

                    player.sendMessage("Someone is already voting.Wait for your turn please!");

                    return;

                }

            }

            

            player.setIsVoting(true);

            player.sendMessage("Go fast on the site and vote on the hopzone banner!");

            player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");

            ThreadPoolManager.getInstance().scheduleGeneral(new hopvotetask(player), Config.SECS_TO_VOTE * 1000);

        }

        else if ((getTries(player) <= 0) && ((lastVoteHopzone + voteDelay) < System.currentTimeMillis()))

        {

            for (L2PcInstance j : L2World.getInstance().getAllPlayersArray())

            {

                if (j.isVoting())

                {

                    player.sendMessage("Someone is already voting.Wait for your turn please!");

                    return;

                }

            }

            

            player.setIsVoting(true);

            player.sendMessage("Go fast on the site and vote on the hopzone banner!");

            player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!");

            ThreadPoolManager.getInstance().scheduleGeneral(new hopvotetask(player), Config.SECS_TO_VOTE * 1000);

            

        }

        else

        {

            player.sendMessage("12 hours have to pass till you are able to vote again.");

        }

        

    }

    

    public static void topvote(final L2PcInstance player)

    {

        long lastVoteTopzone = 0L;

        long voteDelay = 43200000L;

        final int firstvotestop;

        

        firstvotestop = getTopZoneVotes();

        

        class topvotetask implements Runnable

        {

            private final L2PcInstance p;

            

            public topvotetask(L2PcInstance player)

            {

                p = player;

            }

            

            @Override

            public void run()

            {

                if (firstvotestop < getTopZoneVotes())

                {

                    p.setIsVoting(false);

                    VoteMain.setHasVotedTop(p);

                    p.sendMessage("Thank you for voting for us!");

                    VoteMain.updateLastVoteTopzone(p);

                    VoteMain.updateVotes(p);

                }

                else

                {

                    p.setIsVoting(false);

                    p.sendMessage("You did not vote.Please try again.");

                    VoteMain.setTries(p, VoteMain.getTries(p) - 1);

                }

            }

            

        }

        

        PreparedStatement statement = null;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            statement = con.prepareStatement("SELECT lastVoteTopzone FROM characters WHERE charId=?");

            statement.setInt(1, player.getObjectId());

            

            ResultSet rset = statement.executeQuery();

            

            while (rset.next())

            {

                lastVoteTopzone = rset.getLong("lastVoteTopzone");

            }

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        

        if (getTries(player) <= 0)

        {

            player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today");

        }

        else if ((getTries(player) <= 0) && ((lastVoteTopzone + voteDelay) < System.currentTimeMillis()))

        {

            for (L2PcInstance j : L2World.getInstance().getAllPlayersArray())

            {

                if (j.isVoting())

                {

                    player.sendMessage("Someone is already voting.Wait for your turn please!");

                    return;

                }

            }

            player.setIsVoting(true);

            player.sendMessage("Go fast on the site and vote on the topzone banner!");

            player.sendMessage((new StringBuilder()).append("You have ").append(Config.SECS_TO_VOTE).append(" seconds.Hurry!").toString());

            ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000);

        }

        else if (((lastVoteTopzone + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0))

        {

            for (L2PcInstance j : L2World.getInstance().getAllPlayersArray())

            {

                if (j.isVoting())

                {

                    player.sendMessage("Someone is already voting.Wait for your turn please!");

                    return;

                }

            }

            player.setIsVoting(true);

            player.sendMessage("Go fast on the site and vote on the topzone banner!");

            player.sendMessage((new StringBuilder()).append("You have ").append(Config.SECS_TO_VOTE).append(" seconds.Hurry!").toString());

            ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000);

        }

        else

        {

            player.sendMessage("12 hours have to pass till you are able to vote again.");

        }

        

    }

    

    public static void hasVotedHop(L2PcInstance player)

    {

        int hasVotedHop = -1;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("SELECT hasVotedHop FROM characters WHERE charId=?");

            statement.setInt(1, player.getObjectId());

            

            ResultSet rset = statement.executeQuery();

            

            while (rset.next())

            {

                hasVotedHop = rset.getInt("hasVotedHop");

            }

            

            if (hasVotedHop == 1)

            {

                setHasVotedHop(true);

            }

            else if (hasVotedHop == 0)

            {

                setHasVotedHop(false);

            }

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static void hasVotedTop(L2PcInstance player)

    {

        int hasVotedTop = -1;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("SELECT hasVotedTop FROM characters WHERE charId=?");

            statement.setInt(1, player.getObjectId());

            

            ResultSet rset = statement.executeQuery();

            

            while (rset.next())

            {

                hasVotedTop = rset.getInt("hasVotedTop");

            }

            

            if (hasVotedTop == 1)

            {

                setHasVotedTop(true);

            }

            else if (hasVotedTop == 0)

            {

                setHasVotedTop(false);

            }

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static void updateVotes(L2PcInstance activeChar)

    {

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("UPDATE characters SET monthVotes=?, totalVotes=? WHERE charId=?");

            

            statement.setInt(1, getMonthVotes(activeChar) + 1);

            statement.setInt(2, getTotalVotes(activeChar) + 1);

            statement.setInt(3, activeChar.getObjectId());

            statement.execute();

            statement.close();

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static void setHasVotedHop(L2PcInstance activeChar)

    {

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedHop=? WHERE charId=?");

            

            statement.setInt(1, 1);

            statement.setInt(2, activeChar.getObjectId());

            statement.execute();

            statement.close();

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static void setHasVotedTop(L2PcInstance activeChar)

    {

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedTop=? WHERE charId=?");

            

            statement.setInt(1, 1);

            statement.setInt(2, activeChar.getObjectId());

            statement.execute();

            statement.close();

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static void setHasNotVotedHop(L2PcInstance activeChar)

    {

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedHop=? WHERE charId=?");

            

            statement.setInt(1, 0);

            statement.setInt(2, activeChar.getObjectId());

            statement.execute();

            statement.close();

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static void setHasNotVotedTop(L2PcInstance activeChar)

    {

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedTop=? WHERE charId=?");

            

            statement.setInt(1, 0);

            statement.setInt(2, activeChar.getObjectId());

            statement.execute();

            statement.close();

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static int getTries(L2PcInstance player)

    {

        int tries = -1;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("SELECT tries FROM characters WHERE charId=?");

            statement.setInt(1, player.getObjectId());

            for (ResultSet rset = statement.executeQuery(); rset.next() ;)

            {

                tries = rset.getInt("tries");

            }

            

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        return tries;

    }

    

    public static void setTries(L2PcInstance player, int tries)

    {

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("UPDATE characters SET tries=? WHERE charId=?");

            

            statement.setInt(1, tries);

            statement.setInt(2, player.getObjectId());

            statement.execute();

            statement.close();

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static int getMonthVotes(L2PcInstance player)

    {

        int monthVotes = -1;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("SELECT monthVotes FROM characters WHERE charId=?");

            

            statement.setInt(1, player.getObjectId());

            for (ResultSet rset = statement.executeQuery(); rset.next() ;)

            {

                monthVotes = rset.getInt("monthVotes");

            }

            

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        return monthVotes;

    }

    

    public static int getTotalVotes(L2PcInstance player)

    {

        int totalVotes = -1;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("SELECT totalVotes FROM characters WHERE charId=?");

            

            statement.setInt(1, player.getObjectId());

            for (ResultSet rset = statement.executeQuery(); rset.next() ;)

            {

                totalVotes = rset.getInt("totalVotes");

            }

            

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        return totalVotes;

    }

    

    public static int getBigTotalVotes(L2PcInstance player)

    {

        int bigTotalVotes = -1;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("SELECT SUM(totalVotes) FROM characters");

            

            for (ResultSet rset = statement.executeQuery(); rset.next() ;)

            {

                bigTotalVotes = rset.getInt("SUM(totalVotes)");

            }

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        return bigTotalVotes;

    }

    

    public static int getBigMonthVotes(L2PcInstance player)

    {

        int bigMonthVotes = -1;

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("SELECT SUM(monthVotes) FROM characters");

            

            for (ResultSet rset = statement.executeQuery(); rset.next() ;)

            {

                bigMonthVotes = rset.getInt("SUM(monthVotes)");

            }

            

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

        return bigMonthVotes;

    }

    

    public static void updateLastVoteHopzone(L2PcInstance player)

    {

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteHopzone=? WHERE charId=?");

            statement.setLong(1, System.currentTimeMillis());

            statement.setInt(2, player.getObjectId());

            statement.execute();

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static void updateLastVoteTopzone(L2PcInstance player)

    {

        try (Connection con = L2DatabaseFactory.getInstance().getConnection())

        {

            PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteTopzone=? WHERE charId=?");

            statement.setLong(1, System.currentTimeMillis());

            statement.setInt(2, player.getObjectId());

            statement.execute();

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

    }

    

    public static boolean hasVotedHop()

    {

        return hasVotedHop;

    }

    

    public static void setHasVotedHop(boolean hasVotedHop)

    {

        VoteMain.hasVotedHop = hasVotedHop;

    }

    

    public static boolean hasVotedTop()

    {

        return hasVotedTop;

    }

    

    public static void setHasVotedTop(boolean hasVotedTop)

    {

        VoteMain.hasVotedTop = hasVotedTop;

    }

}

Somone can help me fix this codes please?  after topzone make some change this not working  but hopzone work! i nead help just for topzone !  Thanks!!!!!

Posted (edited)

It's not that hard man,

Hit cntrl + f, and search for the line :

con.addRequestProperty("User-Agent", "Mozilla/4.76");

Then remove that "Mozilla/4.76" and replace it with "L2TopZone" 

I think that now it should start working normally

If it doesn't work then reply here 

Edited by The Beatanger
Posted

It's not that hard man,

Hit cntrl + f, and search for the line :

con.addRequestProperty("User-Agent", "Mozilla/4.76");

Then remove that "Mozilla/4.76" and replace it with "L2TopZone" 

I think that now it should start working normally

If it doesn't work then reply here 

Works fine !!! Thanks!! :*

Guest
This topic is now closed to further replies.


×
×
  • Create New...