Secret Experience

Secret Experience (https://secretexperience.net/index.php)
-   [Lineage] Java Mods (https://secretexperience.net/forumdisplay.php?f=636)
-   -   [Outros] Sistema de Recompensa de Votos Hopzone & Topzone (https://secretexperience.net/showthread.php?t=34256)

Setokaiba 03-10-2013 06:10 PM

Sistema de Recompensa de Votos Hopzone & Topzone
 
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

Configurações:
Código:

# Vote reward for Hopzone.
AllowHopzoneVoteReward = True
# Vote reward server link.
HopzoneServerLink = http://l2.hopzone.net/lineage2/details/74078/L2World-Servers/
# First page of servers list link.
HopzoneFirstPageLink = http://l2.hopzone.net/lineage2/
# Votes for next reward needed.
HopzoneVotesDifference = 5
# Rank needed for server to be on first page.
HopzoneFirstPageRankNeeded = 15
# Minutes between rewards.
# Eg. You put 5 it checks every 5 minutes for reward.
HopzoneRewardCheckTime = 5
# Small reward(s).
HopzoneSmallReward = 57,100000000;
# Big reward(s).
HopzoneBigReward = 3470,1;
# Hopzone reward max dual boxes reward.
# For example if you put 2 and someone has 3 boxes open 2 will be rewarded.
HopzoneDuaboxesAllowed = 1
# Game server console report.
# If set to true, game server console will get a report of
# current vote count, votes needed for next reward and votes needed for first page.
AllowHop*********erverReport = True

# Vote reward for Topzone.
AllowTopzoneVoteReward = True
# Vote reward server link.
TopzoneServerLink = http://l2topzone.com/lineage2/server-info/6296/L2ToxiccomProMMORPG.html/
# First page of servers list link.
TopzoneFirstPageLink = http://l2topzone.com/lineage2/server-list/top.html/
# Votes for next reward needed.
TopzoneVotesDifference = 5
# Rank needed for server to be on first page.
TopzoneFirstPageRankNeeded = 15
# Minutes between rewards.
# Eg. You put 5 it checks every 5 minutes for reward.
TopzoneRewardCheckTime = 5
# Small reward(s).
TopzoneSmallReward = 57,100000000;
# Big reward(s).
TopzoneBigReward = 3470,1;
# Hopzone reward max dual boxes reward.
# For example if you put 2 and someone has 3 boxes open 2 will be rewarded.
TopzoneDuaboxesAllowed = 1
# Game server console report.
# If set to true, game server console will get a report of
# current vote count, votes needed for next reward and votes needed for first page.
AllowTop*********erverReport = True

Código:

  public static boolean ALLOW_HOPZONE_VOTE_REWARD;
    public static String HOPZONE_SERVER_LINK;
    public static String HOPZONE_FIRST_PAGE_LINK;
    public static int HOPZONE_VOTES_DIFFERENCE;
    public static int HOPZONE_FIRST_PAGE_RANK_NEEDED;
    public static int HOPZONE_REWARD_CHECK_TIME;
        public static Map<Integer, Integer> HOPZONE_SMALL_REWARD = new FastMap<Integer, Integer>();
        public static Map<Integer, Integer> HOPZONE_BIG_REWARD = new FastMap<Integer, Integer>();
        public static int HOPZONE_DUALBOXES_ALLOWED;
    public static boolean ALLOW_HOPZONE_GAME_SERVER_REPORT;
    public static boolean ALLOW_TOPZONE_VOTE_REWARD;
    public static String TOPZONE_SERVER_LINK;
    public static String TOPZONE_FIRST_PAGE_LINK;
    public static int TOPZONE_VOTES_DIFFERENCE;
    public static int TOPZONE_FIRST_PAGE_RANK_NEEDED;
    public static int TOPZONE_REWARD_CHECK_TIME;
        public static Map<Integer, Integer> TOPZONE_SMALL_REWARD = new FastMap<Integer, Integer>();
        public static Map<Integer, Integer> TOPZONE_BIG_REWARD = new FastMap<Integer, Integer>();
        public static int TOPZONE_DUALBOXES_ALLOWED;
    public static boolean ALLOW_TOPZONE_GAME_SERVER_REPORT;

Código:

ALLOW_HOPZONE_VOTE_REWARD = Boolean.parseBoolean(elcardia.getProperty("AllowHopzoneVoteReward", "false"));
                HOPZONE_SERVER_LINK = elcardia.getProperty("HopzoneServerLink", "http://l2.hopzone.net/lineage2/details/74078/L2World-Servers/");
                HOPZONE_FIRST_PAGE_LINK = elcardia.getProperty("HopzoneFirstPageLink", "http://l2.hopzone.net/lineage2/");
                HOPZONE_VOTES_DIFFERENCE = Integer.parseInt(elcardia.getProperty("HopzoneVotesDifference", "5"));
                      HOPZONE_FIRST_PAGE_RANK_NEEDED = Integer.parseInt(elcardia.getProperty("HopzoneFirstPageRankNeeded", "15"));
                      HOPZONE_REWARD_CHECK_TIME = Integer.parseInt(elcardia.getProperty("HopzoneRewardCheckTime", "5"));
                String HOPZONE_SMALL_REWARD_VALUE = elcardia.getProperty("HopzoneSmallReward", "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_SMALL_REWARD.put(Integer.parseInt(hopzone_small_reward_splitted_2[0]), Integer.parseInt(hopzone_small_reward_splitted_2[1]));
                }
                String HOPZONE_BIG_REWARD_VALUE = elcardia.getProperty("HopzoneBigReward", "3470,1;");
                String[] hopzone_big_reward_splitted_1 = HOPZONE_BIG_REWARD_VALUE.split(";");
                for (String i : hopzone_big_reward_splitted_1)
                {
                        String[] hopzone_big_reward_splitted_2 = i.split(",");
                        HOPZONE_BIG_REWARD.put(Integer.parseInt(hopzone_big_reward_splitted_2[0]), Integer.parseInt(hopzone_big_reward_splitted_2[1]));
                }
                HOPZONE_DUALBOXES_ALLOWED = Integer.parseInt(elcardia.getProperty("HopzoneDualboxesAllowed", "1"));
                ALLOW_HOPZONE_GAME_SERVER_REPORT = Boolean.parseBoolean(elcardia.getProperty("AllowHop*********erverReport", "false"));
                ALLOW_TOPZONE_VOTE_REWARD = Boolean.parseBoolean(elcardia.getProperty("AllowTopzoneVoteReward", "false"));
                TOPZONE_SERVER_LINK = elcardia.getProperty("TopzoneServerLink", "http://l2.topzone.net/lineage2/details/74078/L2World-Servers/");
                TOPZONE_FIRST_PAGE_LINK = elcardia.getProperty("TopzoneFirstPageLink", "http://l2.topzone.net/lineage2/");
                TOPZONE_VOTES_DIFFERENCE = Integer.parseInt(elcardia.getProperty("TopzoneVotesDifference", "5"));
                      TOPZONE_FIRST_PAGE_RANK_NEEDED = Integer.parseInt(elcardia.getProperty("TopzoneFirstPageRankNeeded", "15"));
                      TOPZONE_REWARD_CHECK_TIME = Integer.parseInt(elcardia.getProperty("TopzoneRewardCheckTime", "5"));
                String TOPZONE_SMALL_REWARD_VALUE = elcardia.getProperty("TopzoneSmallReward", "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_SMALL_REWARD.put(Integer.parseInt(topzone_small_reward_splitted_2[0]), Integer.parseInt(topzone_small_reward_splitted_2[1]));
                }
                String TOPZONE_BIG_REWARD_VALUE = elcardia.getProperty("TopzoneBigReward", "3470,1;");
                String[] topzone_big_reward_splitted_1 = TOPZONE_BIG_REWARD_VALUE.split(";");
                for (String i : topzone_big_reward_splitted_1)
                {
                        String[] topzone_big_reward_splitted_2 = i.split(",");
                        TOPZONE_BIG_REWARD.put(Integer.parseInt(topzone_big_reward_splitted_2[0]), Integer.parseInt(topzone_big_reward_splitted_2[1]));
                }
                TOPZONE_DUALBOXES_ALLOWED = Integer.parseInt(elcardia.getProperty("TopzoneDualboxesAllowed", "1"));
                ALLOW_TOPZONE_GAME_SERVER_REPORT = Boolean.parseBoolean(elcardia.getProperty("AllowTop*********erverReport", "false"));

Código Hopzone:
Código:

       

    /*
    * 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 net.sf.l2j.gameserver.model.entity;
   
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Collection;
   
    import javolution.util.FastMap;
   
    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.Announcements;
    import net.sf.l2j.gameserver.ThreadPoolManager;
    import net.sf.l2j.gameserver.model.L2World;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    /**
    * @author Anarchy
    *
    */
    public class VoteRewardHopzone
    {
            // Configurations.
            private static String hopzoneUrl = Config.HOPZONE_SERVER_LINK;
            private static String page1Url = Config.HOPZONE_FIRST_PAGE_LINK;
            private static int voteRewardVotesDifference = Config.HOPZONE_VOTES_DIFFERENCE;
            private static int firstPageRankNeeded = Config.HOPZONE_FIRST_PAGE_RANK_NEEDED;
            private static int checkTime = 60*1000*Config.HOPZONE_REWARD_CHECK_TIME;
         
            // Don't-touch variables.
            private static int lastVotes = 0;
            private static FastMap<String, Integer> playerIps = new FastMap<String, Integer>();
         
            public static void updateConfigurations()
            {
                    hopzoneUrl = Config.HOPZONE_SERVER_LINK;
                    page1Url = Config.HOPZONE_FIRST_PAGE_LINK;
                    voteRewardVotesDifference = Config.HOPZONE_VOTES_DIFFERENCE;
                    firstPageRankNeeded = Config.HOPZONE_FIRST_PAGE_RANK_NEEDED;
                    checkTime = 60*1000*Config.HOPZONE_REWARD_CHECK_TIME;
            }
         
            public static void getInstance()
            {
                    System.out.println("Vote reward system initialized.");
                    ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable()
                    {
                            @Override
                            public void run()
                            {
                                    if (Config.ALLOW_HOPZONE_VOTE_REWARD)
                                    {
                                            reward();
                                    }
                                    else
                                    {
                                            return;
                                    }
                            }
                    }, checkTime/2, checkTime);
            }
         
            private static void reward()
            {
                    int firstPageVotes = getFirstPageRankVotes();
                    int currentVotes = getVotes();
                 
                    if (firstPageVotes == -1 || currentVotes == -1)
                    {
                            if (firstPageVotes == -1)
                            {
                                    System.out.println("There was a problem on getting votes from server with rank "+firstPageRankNeeded+".");
                            }
                            if (currentVotes == -1)
                            {
                                    System.out.println("There was a problem on getting server votes.");
                            }
                         
                            return;
                    }
                 
                    if (lastVotes == 0)
                    {
                            lastVotes = currentVotes;
                            Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                            Announcements.getInstance().announceToAll("Vote reward: We need "+((lastVotes+voteRewardVotesDifference)-currentVotes)+" vote(s) for reward.");
                            if (Config.ALLOW_HOPZONE_GAME_SERVER_REPORT)
                            {
                                    System.out.println("Server votes on hopzone: "+currentVotes);
                                    System.out.println("Votes needed for reward: "+((lastVotes+voteRewardVotesDifference)-currentVotes));
                            }
                            if (firstPageVotes-lastVotes <= 0)
                            {
                                    Announcements.getInstance().announceToAll("Vote reward: We are in the first page of Hopzone, so the reward will be big.");
                                    if (Config.ALLOW_HOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server is on the first page of hopzone.");
                                    }
                            }
                            else
                            {
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+(firstPageVotes-lastVotes)+" vote(s) to get to the first page of Hopzone for big reward.");
                                    if (Config.ALLOW_HOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes needed for first page: "+(firstPageVotes-lastVotes));
                                    }
                            }
                            Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                            return;
                    }
                 
                    if (currentVotes >= lastVotes+voteRewardVotesDifference)
                    {
                            Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();
                            if (firstPageVotes-currentVotes <= 0)
                            {
                                    if (Config.ALLOW_HOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes on hopzone: "+currentVotes);
                                            System.out.println("Server is on the first page of hopzone.");
                                            System.out.println("Votes needed for next reward: "+((currentVotes+voteRewardVotesDifference)-currentVotes));
                                    }
                                    Announcements.getInstance().announceToAll("Vote reward: Everyone has been rewarded with big reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                                    Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                                    for (L2PcInstance p : pls)
                                    {
                                            boolean canReward = false;
                                            String pIp = p.getClient().getConnection().getInetAddress().getHostAddress();
                                            if (playerIps.containsKey(pIp))
                                            {
                                                    int count = playerIps.get(pIp);
                                                    if (count < Config.HOPZONE_DUALBOXES_ALLOWED)
                                                    {
                                                            playerIps.remove(pIp);
                                                            playerIps.put(pIp, count+1);
                                                            canReward = true;
                                                    }
                                            }
                                            else
                                            {
                                                    canReward = true;
                                                    playerIps.put(pIp, 1);
                                            }
                                            if (canReward)
                                            {
                                                    for (int i : Config.HOPZONE_BIG_REWARD.keySet())
                                                    {
                                                            p.addItem("Vote reward.", i, Config.HOPZONE_BIG_REWARD.get(i), p, true);
                                                    }
                                            }
                                            else
                                            {
                                                    p.sendMessage("Already "+Config.HOPZONE_DUALBOXES_ALLOWED+" character(s) of your ip have been rewarded, so this character won't be rewarded.");
                                            }
                                    }
                                    playerIps.clear();
                            }
                            else
                            {
                                    if (Config.ALLOW_HOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes on hopzone: "+currentVotes);
                                            System.out.println("Server votes needed for first page: "+(firstPageVotes-lastVotes));
                                            System.out.println("Votes needed for next reward: "+((currentVotes+voteRewardVotesDifference)-currentVotes));
                                    }
                                    Announcements.getInstance().announceToAll("Vote reward: Everyone has been rewarded with small reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+(firstPageVotes-currentVotes)+" vote(s) to get to the first page of Hopzone for big reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                                    for (L2PcInstance p : pls)
                                    {
                                            boolean canReward = false;
                                            String pIp = p.getClient().getConnection().getInetAddress().getHostAddress();
                                            if (playerIps.containsKey(pIp))
                                            {
                                                    int count = playerIps.get(pIp);
                                                    if (count < Config.HOPZONE_DUALBOXES_ALLOWED)
                                                    {
                                                            playerIps.remove(pIp);
                                                            playerIps.put(pIp, count+1);
                                                            canReward = true;
                                                    }
                                            }
                                            else
                                            {
                                                    canReward = true;
                                                    playerIps.put(pIp, 1);
                                            }
                                            if (canReward)
                                            {
                                                    for (int i : Config.HOPZONE_SMALL_REWARD.keySet())
                                                    {
                                                            p.addItem("Vote reward.", i, Config.HOPZONE_SMALL_REWARD.get(i), p, true);
                                                    }
                                            }
                                            else
                                            {
                                                    p.sendMessage("Already "+Config.HOPZONE_DUALBOXES_ALLOWED+" character(s) of your ip have been rewarded, so this character won't be rewarded.");
                                            }
                                    }
                                    playerIps.clear();
                            }
                         
                            lastVotes = currentVotes;
                    }
                    else
                    {
                            if (firstPageVotes-currentVotes <= 0)
                            {
                                    if (Config.ALLOW_HOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes on hopzone: "+currentVotes);
                                            System.out.println("Server is on the first page of hopzone.");
                                            System.out.println("Votes needed for next reward: "+((lastVotes+voteRewardVotesDifference)-currentVotes));
                                    }
                                    Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+((lastVotes+voteRewardVotesDifference)-currentVotes)+" vote(s) for big reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                            }
                            else
                            {
                                    if (Config.ALLOW_HOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes on hopzone: "+currentVotes);
                                            System.out.println("Server votes needed for first page: "+(firstPageVotes-lastVotes));
                                            System.out.println("Votes needed for next reward: "+((lastVotes+voteRewardVotesDifference)-currentVotes));
                                    }
                                    Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+((lastVotes+voteRewardVotesDifference)-currentVotes)+" vote(s) for small reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+(firstPageVotes-currentVotes)+" vote(s) to get to the first page of Hopzone for big reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                            }
                    }
            }
         
            private static int getFirstPageRankVotes()
            {
                    InputStreamReader isr = null;
                    BufferedReader br = null;
                 
                    try
                    {
                            URLConnection con = new URL(page1Url).openConnection();
                            con.addRequestProperty("User-Agent", "Mozilla/4.76");
                            isr = new InputStreamReader(con.getInputStream());
                            br = new BufferedReader(isr);
                         
                            String line;
                            int i = 0;
                            while ((line = br.readLine()) != null)
                            {
                                    if (line.contains("<span class=\"no\">"+firstPageRankNeeded+"</span>"))
                                    {
                                            i++;
                                    }
                                    if (line.contains("Anonymous Votes") && i == 1)
                                    {
                                            i = 0;
                                            int votes = Integer.valueOf(line.split(">")[1].replace("</span", ""));
                                            return votes;
                                    }
                            }
                         
                            br.close();
                            isr.close();
                    }
                    catch (Exception e)
                    {
                            System.out.println(e);
                            System.out.println("Error while getting server vote count.");
                    }
                 
                    return -1;
            }
         
            private static int getVotes()
            {
                    InputStreamReader isr = null;
                    BufferedReader br = null;
                 
                    try
                    {
                            URLConnection con = new URL(hopzoneUrl).openConnection();
                            con.addRequestProperty("User-Agent", "Mozilla/4.76");
                            isr = new InputStreamReader(con.getInputStream());
                            br = new BufferedReader(isr);
                         
                            String line;
                            while ((line = br.readLine()) != null)
                            {
                                    if (line.contains("Anonymous User Votes"))
                                    {
                                            int votes = Integer.valueOf(line.split(">")[2].replace("</span", ""));
                                            return votes;
                                    }
                            }
                         
                            br.close();
                            isr.close();
                    }
                    catch (Exception e)
                    {
                            System.out.println(e);
                            System.out.println("Error while getting server vote count.");
                    }
                 
                    return -1;
            }
    }

Código Topzone:
Código:

       

    /*
    * 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 net.sf.l2j.gameserver.model.entity;
   
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Collection;
   
    import javolution.util.FastMap;
   
    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.Announcements;
    import net.sf.l2j.gameserver.ThreadPoolManager;
    import net.sf.l2j.gameserver.model.L2World;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    /**
    * @author Anarchy
    *
    */
    public class VoteRewardTopzone
    {
            // Configurations.
            private static String topzoneUrl = Config.TOPZONE_SERVER_LINK;
            private static String page1Url = Config.TOPZONE_FIRST_PAGE_LINK;
            private static int voteRewardVotesDifference = Config.TOPZONE_VOTES_DIFFERENCE;
            private static int firstPageRankNeeded = Config.TOPZONE_FIRST_PAGE_RANK_NEEDED;
            private static int checkTime = 60*1000*Config.TOPZONE_REWARD_CHECK_TIME;
         
            // Don't-touch variables.
            private static int lastVotes = 0;
            private static FastMap<String, Integer> playerIps = new FastMap<String, Integer>();
         
            public static void updateConfigurations()
            {
                    topzoneUrl = Config.TOPZONE_SERVER_LINK;
                    page1Url = Config.TOPZONE_FIRST_PAGE_LINK;
                    voteRewardVotesDifference = Config.TOPZONE_VOTES_DIFFERENCE;
                    firstPageRankNeeded = Config.TOPZONE_FIRST_PAGE_RANK_NEEDED;
                    checkTime = 60*1000*Config.TOPZONE_REWARD_CHECK_TIME;
            }
         
            public static void getInstance()
            {
                    System.out.println("Vote reward system initialized.");
                    ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable()
                    {
                            @Override
                            public void run()
                            {
                                    if (Config.ALLOW_TOPZONE_VOTE_REWARD)
                                    {
                                            reward();
                                    }
                                    else
                                    {
                                            return;
                                    }
                            }
                    }, checkTime/2, checkTime);
            }
         
            private static void reward()
            {
                    int firstPageVotes = getFirstPageRankVotes();
                    int currentVotes = getVotes();
                 
                    if (firstPageVotes == -1 || currentVotes == -1)
                    {
                            if (firstPageVotes == -1)
                            {
                                    System.out.println("There was a problem on getting votes from server with rank "+firstPageRankNeeded+".");
                            }
                            if (currentVotes == -1)
                            {
                                    System.out.println("There was a problem on getting server votes.");
                            }
                         
                            return;
                    }
                 
                    if (lastVotes == 0)
                    {
                            lastVotes = currentVotes;
                            Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                            Announcements.getInstance().announceToAll("Vote reward: We need "+((lastVotes+voteRewardVotesDifference)-currentVotes)+" vote(s) for reward.");
                            if (Config.ALLOW_TOPZONE_GAME_SERVER_REPORT)
                            {
                                    System.out.println("Server votes on topzone: "+currentVotes);
                                    System.out.println("Votes needed for reward: "+((lastVotes+voteRewardVotesDifference)-currentVotes));
                            }
                            if (firstPageVotes-lastVotes <= 0)
                            {
                                    Announcements.getInstance().announceToAll("Vote reward: We are in the first page of topzone, so the reward will be big.");
                                    if (Config.ALLOW_TOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server is on the first page of topzone.");
                                    }
                            }
                            else
                            {
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+(firstPageVotes-lastVotes)+" vote(s) to get to the first page of topzone for big reward.");
                                    if (Config.ALLOW_TOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes needed for first page: "+(firstPageVotes-lastVotes));
                                    }
                            }
                            Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                            return;
                    }
                 
                    if (currentVotes >= lastVotes+voteRewardVotesDifference)
                    {
                            Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();
                            if (firstPageVotes-currentVotes <= 0)
                            {
                                    if (Config.ALLOW_TOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes on topzone: "+currentVotes);
                                            System.out.println("Server is on the first page of topzone.");
                                            System.out.println("Votes needed for next reward: "+((currentVotes+voteRewardVotesDifference)-currentVotes));
                                    }
                                    Announcements.getInstance().announceToAll("Vote reward: Everyone has been rewarded with big reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                                    Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                                    for (L2PcInstance p : pls)
                                    {
                                            boolean canReward = false;
                                            String pIp = p.getClient().getConnection().getInetAddress().getHostAddress();
                                            if (playerIps.containsKey(pIp))
                                            {
                                                    int count = playerIps.get(pIp);
                                                    if (count < Config.TOPZONE_DUALBOXES_ALLOWED)
                                                    {
                                                            playerIps.remove(pIp);
                                                            playerIps.put(pIp, count+1);
                                                            canReward = true;
                                                    }
                                            }
                                            else
                                            {
                                                    canReward = true;
                                                    playerIps.put(pIp, 1);
                                            }
                                            if (canReward)
                                            {
                                                    for (int i : Config.TOPZONE_BIG_REWARD.keySet())
                                                    {
                                                            p.addItem("Vote reward.", i, Config.TOPZONE_BIG_REWARD.get(i), p, true);
                                                    }
                                            }
                                            else
                                            {
                                                    p.sendMessage("Already "+Config.TOPZONE_DUALBOXES_ALLOWED+" character(s) of your ip have been rewarded, so this character won't be rewarded.");
                                            }
                                    }
                                    playerIps.clear();
                            }
                            else
                            {
                                    if (Config.ALLOW_TOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes on topzone: "+currentVotes);
                                            System.out.println("Server votes needed for first page: "+(firstPageVotes-lastVotes));
                                            System.out.println("Votes needed for next reward: "+((currentVotes+voteRewardVotesDifference)-currentVotes));
                                    }
                                    Announcements.getInstance().announceToAll("Vote reward: Everyone has been rewarded with small reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+(firstPageVotes-currentVotes)+" vote(s) to get to the first page of topzone for big reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                                    for (L2PcInstance p : pls)
                                    {
                                            boolean canReward = false;
                                            String pIp = p.getClient().getConnection().getInetAddress().getHostAddress();
                                            if (playerIps.containsKey(pIp))
                                            {
                                                    int count = playerIps.get(pIp);
                                                    if (count < Config.TOPZONE_DUALBOXES_ALLOWED)
                                                    {
                                                            playerIps.remove(pIp);
                                                            playerIps.put(pIp, count+1);
                                                            canReward = true;
                                                    }
                                            }
                                            else
                                            {
                                                    canReward = true;
                                                    playerIps.put(pIp, 1);
                                            }
                                            if (canReward)
                                            {
                                                    for (int i : Config.TOPZONE_SMALL_REWARD.keySet())
                                                    {
                                                            p.addItem("Vote reward.", i, Config.TOPZONE_SMALL_REWARD.get(i), p, true);
                                                    }
                                            }
                                            else
                                            {
                                                    p.sendMessage("Already "+Config.TOPZONE_DUALBOXES_ALLOWED+" character(s) of your ip have been rewarded, so this character won't be rewarded.");
                                            }
                                    }
                                    playerIps.clear();
                            }
                         
                            lastVotes = currentVotes;
                    }
                    else
                    {
                            if (firstPageVotes-currentVotes <= 0)
                            {
                                    if (Config.ALLOW_TOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes on topzone: "+currentVotes);
                                            System.out.println("Server is on the first page of topzone.");
                                            System.out.println("Votes needed for next reward: "+((lastVotes+voteRewardVotesDifference)-currentVotes));
                                    }
                                    Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+((lastVotes+voteRewardVotesDifference)-currentVotes)+" vote(s) for big reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                            }
                            else
                            {
                                    if (Config.ALLOW_TOPZONE_GAME_SERVER_REPORT)
                                    {
                                            System.out.println("Server votes on topzone: "+currentVotes);
                                            System.out.println("Server votes needed for first page: "+(firstPageVotes-lastVotes));
                                            System.out.println("Votes needed for next reward: "+((lastVotes+voteRewardVotesDifference)-currentVotes));
                                    }
                                    Announcements.getInstance().announceToAll("Vote reward: Current vote count is "+currentVotes+".");
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+((lastVotes+voteRewardVotesDifference)-currentVotes)+" vote(s) for small reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: We need "+(firstPageVotes-currentVotes)+" vote(s) to get to the first page of topzone for big reward.");
                                    Announcements.getInstance().announceToAll("Vote reward: Type .menu to see what the big and what the small reward is.");
                            }
                    }
            }
         
            private static int getFirstPageRankVotes()
            {
                    InputStreamReader isr = null;
                    BufferedReader br = null;
                 
                    try
                    {
                            URLConnection con = new URL(page1Url).openConnection();
                            con.addRequestProperty("User-Agent", "Mozilla/4.76");
                            isr = new InputStreamReader(con.getInputStream());
                            br = new BufferedReader(isr);
                         
                            String line;
                            int i = 0;
                            while ((line = br.readLine()) != null)
                            {
                                    if (line.contains("<td><div align=\"center\">"+firstPageRankNeeded+"</div></td>"))
                                    {
                                            i++;
                                    }
                                    if (line.contains("<td><div align=\"center\">") && i == 1)
                                    {
                                            i++;
                                    }
                                    if (line.contains("<td><div align=\"center\">") && i == 2)
                                    {
                                            i = 0;
                                            int votes = Integer.valueOf(line.split(">")[2].replace("</div", ""));
                                            return votes;
                                    }
                            }
                         
                            br.close();
                            isr.close();
                    }
                    catch (Exception e)
                    {
                            System.out.println(e);
                            System.out.println("Error while getting server vote count.");
                    }
                 
                    return -1;
            }
         
            private static int getVotes()
            {
                    InputStreamReader isr = null;
                    BufferedReader br = null;
                 
                    try
                    {
                            URLConnection con = new URL(topzoneUrl).openConnection();
                            con.addRequestProperty("User-Agent", "Mozilla/4.76");
                            isr = new InputStreamReader(con.getInputStream());
                            br = new BufferedReader(isr);
                         
                            boolean got = false;
                         
                            String line;
                            while ((line = br.readLine()) != null)
                            {
                                    if (line.contains("<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\"") && !got)
                                    {
                                            got = true;
                                            int votes = Integer.valueOf(line.split("=\"font-size:14px;color:#018BC1;\">")[1].replace("</font></b></div></td></tr>", ""));
                                            return votes;
                                    }
                            }
                         
                            br.close();
                            isr.close();
                    }
                    catch (Exception e)
                    {
                            System.out.println(e);
                            System.out.println("Error while getting server vote count.");
                    }
                 
                    return -1;
            }
    }

GameServer.java:
Código:

if (Config.ALLOW_HOPZONE_VOTE_REWARD)
                {
                        VoteRewardHopzone.getInstance();
                }
                if (Config.ALLOW_TOPZONE_VOTE_REWARD)
                {
                        VoteRewardTopzone.getInstance();
                }


ricardo236 19-09-2014 01:48 PM

Cara eu coloquei normal mas ele fica aparecendo um erro no painel no moento que faz a verificação


Horários baseados na GMT -3. Agora são 12:29 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.