- 0
This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..
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.
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
/** * 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 mensaje3 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now