Jump to content
  • 0

hopzone java code


Natsu
 Share

Question

package net.sf.l2j.gameserver.instancemanager;

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.URL;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

 

import net.sf.l2j.Config;

import net.sf.l2j.L2DatabaseFactory;

import net.sf.l2j.gameserver.Announcements;

import net.sf.l2j.gameserver.ThreadPoolManager;

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

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

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

 

public class AutoVoteRewardHandler

{

private final String HOPZONE = "Config.HopZone_ID";

// 60 * 1000(1000milliseconds = 1 second) = 60seconds

private final int initialCheck = 60 * 1000;

// 1800 * 1000(1000milliseconds = 1 second) = 1800seconds = 30minutes

private final int delayForCheck = Config.Delay_for_check * 1000;

private final int[] itemId = {Config.Item_ID};

private final int[] itemCount = {Config.Item_Count};

private final int[] maxStack = {Config.Max_Stack};

private final int votesRequiredForReward = Config.Votes_Required;

// do not change

private int lastVoteCount = 0;

 

private AutoVoteRewardHandler()

{

System.out.println("Vote Reward System Initiated.");

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

}

 

private class AutoReward implements Runnable

{

public void run()

{

int votes = getVotes();

System.out.println("Server Votes: " + votes);

if (votes != 0 && getLastVoteCount() != 0 && votes >= getLastVoteCount() + votesRequiredForReward)

{

Connection con = null;

try

{

con = L2DatabaseFactory.getInstance().getConnection();

PreparedStatement statement = con.prepareStatement("" +

"SELECT" +

" c.charId," +

" c.char_name" +

"FROM" +

" characters AS c" +

"LEFT JOIN" +

" accounts AS a" +

"ON" +

" c.account_name = a.login" +

"WHERE" +

" c.online > 0" +

"GROUP BY" +

" a.lastIP" +

"ORDER BY" +

" c.level" +

"DESC");

ResultSet rset = statement.executeQuery();

L2PcInstance player = null;

L2ItemInstance item = null;

while (rset.next())

{

player = L2World.getInstance().getPlayer("charId");

if (player != null && !player.getClient().isDetached())

{

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

{

item = player.getInventory().getItemByItemId(itemId);

if (item == null || item.getCount() < maxStack)

player.addItem("reward", itemId, itemCount, player, true);

}

}

}

statement.close();

}

catch (SQLException e)

{

e.printStackTrace();

}

finally

{

                          try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); }

}

 

setLastVoteCount(getLastVoteCount() + votesRequiredForReward);

}

Announcements.getInstance().announceToAll("Server Votes: " + votes + " | Next Reward on " + (getLastVoteCount() + votesRequiredForReward) + " Votes.");

if (getLastVoteCount() == 0)

setLastVoteCount(votes);

}

}

 

private int getVotes()

{

URL url = null;

InputStreamReader isr = null;

BufferedReader in = null;

try

{

url = new URL(HOPZONE);

isr = new InputStreamReader(url.openStream());

in = new BufferedReader(isr);

String inputLine;

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

{

if (inputLine.contains("moreinfo_total_rank_text"))

return Integer.valueOf(inputLine.split(">")[2].replace("</div", ""));

}

}

catch (IOException e)

{

e.printStackTrace();

}

finally

{

try

{

in.close();

}

catch (IOException e)

{}

try

{

isr.close();

}

catch (IOException e)

{}

}

return 0;

}

 

private void setLastVoteCount(int voteCount)

{

lastVoteCount = voteCount;

}

 

private int getLastVoteCount()

{

return lastVoteCount;

}

 

public static AutoVoteRewardHandler getInstance()

{

return SingletonHolder._instance;

}

 

@SuppressWarnings("synthetic-access")

private static class SingletonHolder

{

protected static final AutoVoteRewardHandler _instance = new AutoVoteRewardHandler();

}

}

 

 

to code beni ok exw vali kai ta ipolipa gameserver+config alla m vgeni ena error sto parapano code

 

 

if (player != null && !player.getClient().isDetached())

 

 

 

bori kapios na m pi pos to fix afto??

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

L2GameClient.java line 70

 

private boolean _isDetached = false;

 

line 168

public boolean isDetached()
{
	return _isDetached;
}

public void setDetached(boolean b)
{
	_isDetached = b;
}

Βάλτο και θα είσαι οκ,για όποια απορία κάνε ένα reply.

Link to comment
Share on other sites

  • 0

re ka8usterimene ti mlks les?

xaxaxa0  XD

ty m vgike to error alla otan anigo ton server to gameserver m vgazi error kai den 3ekinai ka9olou :) twra ti ftei??

πιθανός να έχει κάποιο λάθος το vote system,

φέρε μια φώτο με το error.

Link to comment
Share on other sites

  • 0
πιθανός να έχει κάποιο λάθος το vote system,

φέρε μια φώτο με το error.

vasika des kai to code ama einai kalo http://www.maxcheaters.com/forum/index.php?topic=190455.0

Link to comment
Share on other sites

  • 0

vasika des kai to code ama einai kalo http://www.maxcheaters.com/forum/index.php?topic=190455.0

this reward system works perfect.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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.

 Share



×
×
  • Create New...