/**
* 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, lovely people, how are you? I just finished compiling the L2jFrozen project Rev: 1132 (very old).
I don't mind it being too old, since the project is for me and my children. (LAN/Offline) it's not meant to be put online. I want to learn and give my children more comfort when playing. And for my part, I also experiment with the game.
My problem is that I don't know much about the subject. I was able to make some basic configurations to my liking and that of my children, but it never compiles or anything like that... I would really need help from you, the community... I simply want to remove all subclass restrictions, remove the restriction on "Overlord, Warsmith, and Dark Elf subclasses with White Elves and vice versa." Thank you very much in advance! Greetings, community.
Warriors, prepare for a new era!
We are pleased to announce that on July 12, with the morning restart, Airin will be updated to Chronicle 4: Scions of Destiny.
- Open Beta Testing (OBT) will begin on July 9. Everyone will be able to test the update in advance, including class mechanics, quests, and new content.
- The Clan Hall Auction will take place on July 13.
We’ve also prepared a traditional bonus start - details will be shared in the coming days.
The full list of changes is available in the official patch notes.
Thank you for your support and participation in the project. See you in Chronicle 4!
The game client download will be available soon.
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
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.