Jump to content

Recommended Posts

Posted

Hello everyone, here I make a vote system for a firend but him dont want to use it anymore then I will share here.

 

Support these sites:

http://l2.hopzone.net/

http://l2topzone.com/

http://www.gtop100.com/

IMPORTANT

- Test it.

- I dont help to adapt it.

- Missing: No config file, just the core.

- Dont share it anywhere whitout credits (Like here http://adminsprol2.com/ total dumbasses).

- I chose 300 post also the pepole contribute more in maxcheaters and make happy maxtor :P and prevent noobs reshare whitout credits (So, dont share it or quote me in the topic).

 

/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
* 
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
* 
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.gameserver.handler;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.l2jserver.gameserver.Announcements;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;

/**
* @author OPhE
*/
public class AutoVoteRewardHandler
{
private static int _minForStart = 5;
private static int _minForPool = 5;
private static String _Url = "";
int[][] _items = {{1111, 2}, {8888,7}}; // {{ITEM ID, QUANTY}, {ITEM ID, QUANTY}}

/* DONT TOUCH FROM HERE IF YOU DONT KNOW WHAT ARE YOU DOING */
int votesForReward = 10;
int lastVotes = 0;
int currentVotes = 0;
int _operation = 0;


public static AutoVoteRewardHandler getInstance()
{
	return SingletonHolder._instance;
}

public AutoVoteRewardHandler()
{
	lastVotes = getVotes();
	ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable()
	{

		@Override
		public void run()
		{
			currentVotes = getVotes();
			_operation = currentVotes - lastVotes;
			if(_operation >= votesForReward)
			{
				int i = _operation;
				for(L2PcInstance pc : L2World.getInstance().getAllPlayersArray())
					for(int item[] : _items)
						pc.addItem("votereward", item[0], item[1] * i - (i % 1), pc, true);
				if(i - (i % 1) > 1)
					Announcements.getInstance().announceToAll("All players rewared " + (i - (i % 1)) + " times by vote system");
				else
					Announcements.getInstance().announceToAll("All players rewared by vote system");
			} else
				Announcements.getInstance().announceToAll("We need " + _operation + " votes more for reward all players.");
		}
	}, _minForStart * 60000, _minForPool * 60000);
}

public static int getVotes()
{
	String data1 = null;
	int data2 = 0;
	if(_Url.startsWith("http://l2.hopzone.net/"))
		data1= "<li><span class=\"rank anonymous tooltip\" title=\"Anonymous User Votes\">";
	else if(_Url.startsWith("http://l2topzone.com/"))
		data1 = "<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\">";
	else if(_Url.startsWith("http://www.gtop100.com/"))
	{
		DateFormat dateFormat = new SimpleDateFormat("yyyy-M-d");
		Date date = new Date();
		data1 = "<div class=\"barhcaption\" style=\"line-height:17px; width:90px;\">"+ dateFormat.format(date) +"</div>";
		data2 = 2;
	}


	if(data1 != null)
		try {
			URL url = new URL(_Url);
			try {
				URLConnection connection = url.openConnection();
		        connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401");
		        
		        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
		        String line;
		        boolean onix = false;
		        int io = 0;
				while((line = in.readLine()) != null)
				{
					if(line.contains(data1))
						onix = true;
					if(onix)
					{
						if(io >= data2)
							return Integer.parseInt(line.replaceAll("\\<.*?\\>", "").trim());
						io++;
					}
				}

			} catch (IOException e) {
				e.printStackTrace();
			}

		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
	return 0;
}

private static class SingletonHolder
{
	protected static final AutoVoteRewardHandler _instance = new AutoVoteRewardHandler();
}
}

 

To start it call:

AutoVoteRewardHandler.getInstance();

 

Credits: Me (OPhE)

I used these info to make it:

- http://docs.oracle.com/javase/1.4.2/docs/api/java/net/URL.html

- http://discuss.itacumens.com/index.php?topic=44801.0

- http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests

Posted

Need a fix . : "else if(_Url.startsWith("http://www.gtop100.com/"))"

 

By setting startsWith and then http://www.gtop......

Is a terrible mistake, If the user will use www.gtop .... or http://gtop100..... will be false.

 

So its better to do it . : "else if(_Url.contains("gtop100.com"))"

Posted

Need a fix . : "else if(_Url.startsWith("http://www.gtop100.com/"))"

 

By setting startsWith and then http://www.gtop......

Is a terrible mistake, If the user will use www.gtop .... or http://gtop100..... will be false.

 

So its better to do it . : "else if(_Url.contains("gtop100.com"))"

Please be informed before post:

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#startsWith%28java.lang.String%29

 

String object as determined by the equals(Object) method.

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • The character stops walking when using a mana potion. any can help me?   IemData item_begin    etcitem    728    [mana_potion]    item_type=etcitem    slot_bit_type={none}    armor_type=none    etcitem_type=potion    recipe_id=0    blessed=0    weight=180    default_action=action_skill_reduce    consume_type=consume_type_stackable    initial_count=1    maximum_count=20    soulshot_count=0    spiritshot_count=0    reduced_soulshot={}    reduced_spiritshot={}    reduced_mp_consume={}    immediate_effect=1    price=0    default_price=2000    item_skill=[s_mana_potion]    critical_attack_skill=[none]    attack_skill=[none]    magic_skill=[none]    item_skill_enchanted_four=[none]    material_type=liquid    crystal_type=none    crystal_count=0    is_trade=1    is_drop=1    is_destruct=1    physical_damage=0    random_damage=0    weapon_type=none    can_penetrate=0    critical=0    hit_modify=0    avoid_modify=0    dual_fhit_rate=0    shield_defense=0    shield_defense_rate=0    attack_range=0    damage_range={}    attack_speed=0    reuse_delay=10000    mp_consume=0    magical_damage=0    durability=0    damaged=0    physical_defense=0    magical_defense=0    mp_bonus=0    category={}    enchanted=0    html=[item_default.htm]    equip_pet={@ALL_PET}    magic_weapon=0    enchant_enable=0    can_equip_sex=-1    can_equip_race={}    can_equip_change_class=-1    can_equip_class={}    can_equip_agit=-1    can_equip_castle=-1    can_equip_castle_num={}    can_equip_clan_leader=-1    can_equip_clan_level=-1    can_equip_hero=-1    can_equip_nobless=-1    can_equip_chaotic=-1    item_end   SkillData   skill_begin    skill_name=[s_mana_potion]    skill_id=50004    level=1    operate_type=A2    magic_level=1    effect={{t_mp;57;3}}    is_magic=0    mp_consume2=0    cast_range=-1    effective_range=-1    skill_hit_time=0    skill_cool_time=0    skill_hit_cancel_time=0    reuse_delay=0    activate_rate=-1    lv_bonus_rate=0    basic_property=none    abnormal_time=15    abnormal_lv=1    abnormal_type=mp_recovery    attribute=attr_none    effect_point=0    target_type=self    affect_scope=single    affect_limit={0;0}    next_action=none    debuff=0    ride_state={@ride_none}    skill_end  
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock