Jump to content
  • 0

Hopzone Vote Reward problem


Question

Posted

Geia sas alania exw to eksis provlima edw kai kati mines :D loipon kanei check mesa sto game den kolaei kamia fora ala den to kanei swsta grafi deiladh we have 0 votes . next reward will be on 8 panta leei oti exoume 0 eno dn exoume tosa vote o server einai kanonika hopzone mpwrei kapios na voithisi parakalw poly? exw kai ta java kai ola..

7 answers to this question

Recommended Posts

  • 0
Posted

Geia sas alania exw to eksis provlima edw kai kati mines :D loipon kanei check mesa sto game den kolaei kamia fora ala den to kanei swsta grafi deiladh we have 0 votes . next reward will be on 8 panta leei oti exoume 0 eno dn exoume tosa vote o server einai kanonika hopzone mpwrei kapios na voithisi parakalw poly? exw kai ta java kai ola..

 

Elegkses mhpws exeis kanei se kapoio line tou kwdika lathos???

  • 0
Posted

den pistevw gt kapote douleue thes file mou na sou grapso to code p exw akrivos edw??

 

Nai se parakalw, gia na dw ki egw ti akrivws ginetai kai na sou pw ti egine lathos kai ti oxi ;).

  • 0
Posted

package net.sf.l2j.gameserver.managers;

   

import java.io.BufferedReader;

import java.io.IOException;

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.sql.SQLException;

import java.util.ArrayList;

import java.util.Collection;

import java.util.List;

import java.util.logging.Level;

import java.util.logging.Logger;

 

import net.sf.l2j.Config;

import net.sf.l2j.gameserver.model.L2Player;

import net.sf.l2j.gameserver.model.L2World;

import net.sf.l2j.gameserver.model.entity.Announcements;

import net.sf.l2j.gameserver.network.clientpackets.Say2;

import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;

import net.sf.l2j.gameserver.thread.ThreadPoolManager;

import net.sf.l2j.util.database.L2DatabaseFactory;

 

public class AutoVoteRewardManager

{

    private static Logger _log = Logger.getLogger(AutoVoteRewardManager.class.getName());

       

    private static final String http = "http://l2.hopzone.net/lineage2/details/90146/L2Retard";

    private static final int initialCheck  = 60 * 1000;

    private static final int delayForCheck = 600 * 1000;

    private static final int[] itemId    = { 6577, 6570, 8762 } ;

    private static final int[] itemCount = { 1, 1, 3 };

    private static final int votesRequiredForReward = 8;

 

    private static List<String> _ips = new ArrayList<String>();

    private static int lastVoteCount = 0;

     

    public AutoVoteRewardManager()

    {

        _log.info("AutoVoteRewardManager: Vote reward system initiated.");

        if (Config.L2JMOD_VOTE_ENGINE_SAVE)

            load();

        ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), initialCheck, delayForCheck);

    }

     

    private class AutoReward implements Runnable

    {

        public void run()

        {

            int votes = getVotes();

            _log.info("AutoVoteRewardManager: We now have " + votes + "/"+(getLastVoteCount()+votesRequiredForReward)+" vote(s). Next check in "+(delayForCheck/1000)+" sec.");

            Announcements.getInstance().announceToAll("Vote Server on HopZone");

 

            if (votes >= getLastVoteCount() + votesRequiredForReward)

            {

                Collection<L2Player> pls = L2World.getInstance().getAllPlayers();

                {

                    for (L2Player onlinePlayer : pls)

                    {

                    if (onlinePlayer.isOnline() == 1 && !onlinePlayer.getClient().isDetached()

                    && !_ips.contains(onlinePlayer.getClient().getConnection().getInetAddress().getHostAddress()))

                        {

                            for (int i = 0; i < itemId.length; i++)

                            {

                              onlinePlayer.addItem("vote_reward", itemId, itemCount, onlinePlayer, true);

                            }

                 

                            _ips.add(onlinePlayer.getClient().getConnection().getInetAddress().getHostAddress());

                        }

                    }

                }

                _log.info("AutoVoteRewardManager: Reward for votes now!");

                Announcements.getInstance().announceToAll("All online players will be rewarded with 1BEWS,1BEAA and 3 Top-Grade Life Stone: level 76!!");

                setLastVoteCount(getLastVoteCount() + votesRequiredForReward);

            }

               

            if (getLastVoteCount() == 0)

            {

                setLastVoteCount(votes);

            }

            else if ((getLastVoteCount() + votesRequiredForReward) - votes > votesRequiredForReward || votes > (getLastVoteCount() + votesRequiredForReward))

            {

                setLastVoteCount(votes);

            }

            players22();

            Announcements.getInstance().announceToAll("We have " + votes + " vote(s). Next reward on " + (getLastVoteCount()+votesRequiredForReward) + " vote.");

            _ips.clear();

        }

    }

private void players22()

{

Collection<L2Player> pls = L2World.getInstance().getAllPlayers();

for (L2Player player : pls)

{

if (player != null)

{

        CreatureSay np4 = new CreatureSay(0, Say2.PARTY,"VoteReward","Vote us and you will be rewarded with 1BEWS,BEAA and 3 Top-Grade Life Stone: level 76!!"); 

                player.sendPacket(np4);

}

}

}

    private int getVotes()

    {

InputStreamReader isr = null;

BufferedReader in = null;

try

{

 

URL url = new URL(http);

URLConnection con = url.openConnection();

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

isr = new InputStreamReader(con.getInputStream());

in = new BufferedReader(isr);

String inputLine;

int voteCount = 0;

 

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

{

if (inputLine.contains("moreinfo_total_rank_text"))

{

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.parseInt(inputLine.substring(inputLine.length() - Sub, inputLine.length() - 11));

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;

    }

   

    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

        {

        try

{

con.close();

} catch (SQLException e)

{

}

        }

     

        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

        {

            try

{

con.close();

} catch (SQLException e){}

        }

    }

 

    public static AutoVoteRewardManager getInstance()

    {

        return SingletonHolder._instance;

    }

     

    @SuppressWarnings("synthetic-access")

    private static class SingletonHolder

    {

        protected static final AutoVoteRewardManager _instance = new AutoVoteRewardManager();

    }

}

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.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...