/**
* 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.
Hello, good evening.
I would like to know how I can solve this visual bug that I have because I can not find anywhere how to fix it, because before creating this post I was investigating and did not find the solution and not only with the bow if not all weapons with the dwarf race look miniature. Something aesthetically looks horrible
🥲
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.