/**
* Updates and clears PvP flag of {@link L2PcInstance} after specified time.
* @author Tryskell, Hasha
*/
public final class PvpFlagTaskManager implements Runnable
{
private final Map<L2PcInstance, Long> _players = new ConcurrentHashMap<>();
public static final PvpFlagTaskManager getInstance()
{
return SingletonHolder._instance;
}
protected PvpFlagTaskManager()
{
// Run task each second.
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this, 1000, 1000);
}
/**
* Adds {@link L2PcInstance} to the PvpFlagTask.
* @param player : L2PcInstance to be added and checked.
* @param time : Time in ms, after which the PvP flag is removed.
*/
public final void add(L2PcInstance player, long time)
{
_players.put(player, System.currentTimeMillis() + time);
}
/**
* Removes {@link L2PcInstance} from the PvpFlagTask.
* @param player : {@link L2PcInstance} to be removed.
*/
public final void remove(L2PcInstance player)
{
_players.remove(player);
}
@Override
public final void run()
{
// List is empty, skip.
if (_players.isEmpty())
return;
// Get current time.
final long currentTime = System.currentTimeMillis();
// Loop all players.
for (Iterator<Map.Entry<L2PcInstance, Long>> iterator = _players.entrySet().iterator(); iterator.hasNext();)
{
// Get entry of current iteration.
Map.Entry<L2PcInstance, Long> entry = iterator.next();
// Get time left and check.
final long timeLeft = entry.getValue();
if (_players.isInsideZone(ZoneId.BOSS))
entry.setValue(System.currentTimeMillis() + Config.PVP_NORMAL_TIME);
// Time is running out, clear PvP flag and remove from list.
if (currentTime > timeLeft)
{
entry.getKey().updatePvPFlag(0);
iterator.remove();
}
// Time almost runned out, update to blinking PvP flag.
else if (currentTime > (timeLeft - 5000))
entry.getKey().updatePvPFlag(2);
// Time didn't run out, keep PvP flag.
else
entry.getKey().updatePvPFlag(1);
}
}
private static class SingletonHolder
{
protected static final PvpFlagTaskManager _instance = new PvpFlagTaskManager();
}
}
Modificar mensaje
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.
so because you are stupid and I don't know why you bothered with me this is the last message I write to you I am selling a server ready for 350 euros I have changed everything inside the server the server is there for whoever wants to see it my files are lucera complete and updated the rates are x30.. now when some serious person decides to enter the process of buying my server, he will send me a message to come and see everything live now that you have taken it out of your mind that I have nothing and I'm just trying to steal someone without you knowing me, without having entered the process to see if what I say is true, then I can't do the truth... there are too many stupid people like you
and also I have sent a message to the support to Celestine to come and see if I am lying or not if the server exists and if I want to steal from someone
In beginning I thought you make this crappy advertisement by mistake, but few of your messages later i see you did it on purpose and you insulted me, now i will monitor you, P.S my first thot was u try to lure people in your server to get they’re IP to scam them by providing as little info as can and saying “i will tell you the price, just login” FREAK
to see how stupid you are, my friend, that you have nothing to do and you just want to speak your mind for some reason that I don't even care about you, you only care about the price, so you said it now, why are you talking, but fuck you, because you made us dizzy
Question
Miracles
Script if someone need it, make all GrandBoss Chaotic Zone http://www.lineager.su/always-pvp-status-in-boss-zone/ .
Someone know why got this error? Thanks guys.
Error
PvpFlagTaskManager.java
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
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.