Перейти к содержанию

imbaScorn

Заблокирован
  • Публикаций

    21
  • Зарегистрирован

  • Посещение

  • Отзывы

    0%

Весь контент imbaScorn

  1. Ответ очевиден. Когда я захожу сюда мне кажется,что я захожу на жук.
  2. imbaScorn

    Бафф За Итем

    В ручную прописывал все бафы в комъюнити делов на 5 минут и всё красиво. Единственное что хочу сделать,что бы idбафа;итем;цена,idбафа;итем;цена, и т.д была отдельная цена на бафы)
  3. imbaScorn

    Бафф За Итем

    Ну скажем что бы была опция в которой пишешь ну на пример: Альтернативная цена для бафа. idбафа;итем;цена,idбафа;итем;цена, и т.д
  4. imbaScorn

    Бафф За Итем

    Код который выше и есть gameserver\data\html-ru\scripts\services\community\pages\buffer Я помню как то делал отдельные бафы за адену,а вот как - забыл. (
  5. imbaScorn

    Бафф За Итем

    Добрый вечер. Вот код бафа <img src=icon.skill1352 width=32 height=32><button value="Elemental P." action="bypass _bbsbsingle:1352:1:index" width=90 height=18 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"> Как сделать что бы при нажатии на кнопку изымался итем?
  6. А если нужно сделать 10 или 20 секунд? private final static int COLLAPSE_AFTER_DEATH_TIME = 5; // 5 мин Если ставлю 0.2 не компилит.
  7. package l2ft.gameserver; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import l2ft.commons.threading.LoggingRejectedExecutionHandler; import l2ft.commons.threading.PriorityThreadFactory; import l2ft.commons.threading.RunnableImpl; import l2ft.commons.threading.RunnableStatsWrapper; public class ThreadPoolManager { private static final long MAX_DELAY = TimeUnit.NANOSECONDS.toMillis(Long.MAX_VALUE - System.nanoTime()) / 2; private static final ThreadPoolManager _instance = new ThreadPoolManager(); public static ThreadPoolManager getInstance() { return _instance; } private final ScheduledThreadPoolExecutor _scheduledExecutor; private final ThreadPoolExecutor _executor; private boolean _shutdown; private ThreadPoolManager() { _scheduledExecutor = new ScheduledThreadPoolExecutor(Config.SCHEDULED_THREAD_POOL_SIZE, new PriorityThreadFactory("ScheduledThreadPool", Thread.NORM_PRIORITY), new LoggingRejectedExecutionHandler()); _executor = new ThreadPoolExecutor(Config.EXECUTOR_THREAD_POOL_SIZE, Integer.MAX_VALUE, 5L, TimeUnit.SECONDS, new LinkedBlockingQueue(), new PriorityThreadFactory("ThreadPoolExecutor", Thread.NORM_PRIORITY), new LoggingRejectedExecutionHandler()); //Очистка каждые 5 минут scheduleAtFixedRate(new RunnableImpl() { @Override public void runImpl() { _scheduledExecutor.purge(); _executor.purge(); } }, 300000L, 300000L); } private long validate(long delay) { return Math.max(0, Math.min(MAX_DELAY, delay)); } public boolean isShutdown() { return _shutdown; } public Runnable wrap(Runnable r) { return Config.ENABLE_RUNNABLE_STATS ? RunnableStatsWrapper.wrap® : r; } public ScheduledFutureschedule(Runnable r, long delay) { return _scheduledExecutor.schedule(wrap®, validate(delay), TimeUnit.MILLISECONDS); } public ScheduledFuturescheduleAtFixedRate(Runnable r, long initial, long delay) { return _scheduledExecutor.scheduleAtFixedRate(wrap®, validate(initial), validate(delay), TimeUnit.MILLISECONDS); } public ScheduledFuturescheduleAtFixedDelay(Runnable r, long initial, long delay) { return _scheduledExecutor.scheduleWithFixedDelay(wrap®, validate(initial), validate(delay), TimeUnit.MILLISECONDS); } public void execute(Runnable r) { _executor.execute(wrap®); } public void shutdown() throws InterruptedException { _shutdown = true; try { _scheduledExecutor.shutdown(); _scheduledExecutor.awaitTermination(10, TimeUnit.SECONDS); } finally { _executor.shutdown(); _executor.awaitTermination(1, TimeUnit.MINUTES); } } public CharSequence getStats() { StringBuilder list = new StringBuilder(); list.append("ScheduledThreadPool\n"); list.append("=================================================\n"); list.append("\tgetActiveCount: ...... ").append(_scheduledExecutor.getActiveCount()).append("\n"); list.append("\tgetCorePoolSize: ..... ").append(_scheduledExecutor.getCorePoolSize()).append("\n"); list.append("\tgetPoolSize: ......... ").append(_scheduledExecutor.getPoolSize()).append("\n"); list.append("\tgetLargestPoolSize: .. ").append(_scheduledExecutor.getLargestPoolSize()).append("\n"); list.append("\tgetMaximumPoolSize: .. ").append(_scheduledExecutor.getMaximumPoolSize()).append("\n"); list.append("\tgetCompletedTaskCount: ").append(_scheduledExecutor.getCompletedTaskCount()).append("\n"); list.append("\tgetQueuedTaskCount: .. ").append(_scheduledExecutor.getQueue().size()).append("\n"); list.append("\tgetTaskCount: ........ ").append(_scheduledExecutor.getTaskCount()).append("\n"); list.append("ThreadPoolExecutor\n"); list.append("=================================================\n"); list.append("\tgetActiveCount: ...... ").append(_executor.getActiveCount()).append("\n"); list.append("\tgetCorePoolSize: ..... ").append(_executor.getCorePoolSize()).append("\n"); list.append("\tgetPoolSize: ......... ").append(_executor.getPoolSize()).append("\n"); list.append("\tgetLargestPoolSize: .. ").append(_executor.getLargestPoolSize()).append("\n"); list.append("\tgetMaximumPoolSize: .. ").append(_executor.getMaximumPoolSize()).append("\n"); list.append("\tgetCompletedTaskCount: ").append(_executor.getCompletedTaskCount()).append("\n"); list.append("\tgetQueuedTaskCount: .. ").append(_executor.getQueue().size()).append("\n"); list.append("\tgetTaskCount: ........ ").append(_executor.getTaskCount()).append("\n"); return list; } }
  8. ThreadPoolManager.java scheduleAtFixedRate(new RunnableImpl() { @Override public void runImpl() { _scheduledExecutor.purge(); _executor.purge(); } }, 300000L, 300000L); } Это оно?
  9. Что ни кто не знает где в исходах можно править время отката после инста?
  10. System.currentTimeMillis()) / 60000L, 0); Не помогло
  11. Может быть найдутся знатоки?
  12. InstantZoneHolder.java и InstantZoneParser.java нашёл эти два файлы какой из них может мне помочь? Я просто уже всё перерыл. Подскажите как убрать это чёртово время после выхода из инста,что бы можно было сразу в инст входить.
  13. return (int) Math.max((resetReuse.next(time) - System.currentTimeMillis()) / 60000L, 0);[/color То есть если я изменю значение 60000L ну скажем на 1 то у меня ни чего не изменится да?
  14. Ну на HF стандартно 5 минут по идее после инста. Ну я по 3 камам бегал после каждой нужно было ждать,а я хочу убрать это время ожидания.
  15. 60000 если это в милсекундах то это 1 минута но не как ни 5( Помогите разобраться пожалуйста
  16. InstantZoneHolder.java package l2ft.gameserver.data.xml.holder; import java.util.ArrayList; import java.util.Collections; import java.util.List; import l2ft.commons.data.xml.AbstractHolder; import l2ft.commons.time.cron.SchedulingPattern; import l2ft.gameserver.model.Player; import l2ft.gameserver.templates.InstantZone; import org.napile.primitive.maps.IntObjectMap; import org.napile.primitive.maps.impl.HashIntObjectMap; public class InstantZoneHolder extends AbstractHolder { private static final InstantZoneHolder _instance = new InstantZoneHolder(); private IntObjectMap _zones = new HashIntObjectMap(); public static InstantZoneHolder getInstance() { return _instance; } public void addInstantZone(InstantZone zone) { _zones.put(zone.getId(), zone); } public InstantZone getInstantZone(int id) { return _zones.get(id); } private SchedulingPattern getResetReuseById(int id) { InstantZone zone = getInstantZone(id); return zone == null ? null : zone.getResetReuse(); } public int getMinutesToNextEntrance(int id, Player player) { SchedulingPattern resetReuse = getResetReuseById(id); if(resetReuse == null) return 0; Long time = null; if(getSharedReuseInstanceIds(id) != null && !getSharedReuseInstanceIds(id).isEmpty()) { List reuses = new ArrayList(); for(int i : getSharedReuseInstanceIds(id)) if(player.getInstanceReuse(i) != null) reuses.add(player.getInstanceReuse(i)); if(!reuses.isEmpty()) { Collections.sort(reuses); time = reuses.get(reuses.size() - 1); } } else time = player.getInstanceReuse(id); if(time == null) return 0; [color=#ff0000]return (int) Math.max((resetReuse.next(time) - System.currentTimeMillis()) / 60000L, 0);[/color] } public List getSharedReuseInstanceIds(int id) { if(getInstantZone(id).getSharedReuseGroup() < 1) return null; List sharedInstanceIds = new ArrayList(); for(InstantZone iz : _zones.values()) if(iz.getSharedReuseGroup() > 0 && getInstantZone(id).getSharedReuseGroup() > 0 && iz.getSharedReuseGroup() == getInstantZone(id).getSharedReuseGroup()) sharedInstanceIds.add(iz.getId()); return sharedInstanceIds; } public List getSharedReuseInstanceIdsByGroup(int groupId) { if(groupId < 1) return null; List sharedInstanceIds = new ArrayList(); for(InstantZone iz : _zones.values()) if(iz.getSharedReuseGroup() > 0 && iz.getSharedReuseGroup() == groupId) sharedInstanceIds.add(iz.getId()); return sharedInstanceIds; } @Override public int size() { return _zones.size(); } @Override public void clear() { _zones.clear(); } } То,что выделено красным это и есть то,что мне нужно? Если да то подскажите что значит 60000L Есть ли какой то конвертор времени?
  17. InstantZoneParser.java Но там я ни чего не увидел про время ожидания повторного входа.
  18. <list> <!-- Gludio Castle Town: NPC Bathis (Level 23) --> <instance id="57" name="Kamaloka, Hall of the Abyss" maxChannels="10" collapseIfEmpty="10" timelimit="30" dispelBuffs="false"> <collapse on-party-dismiss="true" timer="60"/> <level min="18" max="28"/> <party min="2" max="6"/> <return loc="-13930 123748 -3120"/> <teleport loc="-88995 -220764 -7900"/> <remove itemId="0" count="0" necessary="false"/> <give itemId="0" count="0"/> <quest id="0"/> <reuse resetReuse="* * * * *" setUponEntry="false" sharedReuseGroup="1"/> <add_parameters> <param name="tele_device_loc" value="-89000 -220065 -7888"/> </add_parameters> <spawns> <!-- Tomlan Kamos --> <spawn mobId="18554" type="loc"> <coords loc="-88798 -219878 -7900 -7900"/> <coords loc="-88798 -220278 -7900 -7900"/> <coords loc="-89198 -220278 -7900 -7900"/> <coords loc="-89198 -219878 -7900 -7900"/> </spawn> </spawns> </instance> </list> Это xml инстанса самой камалоки. А где искать эту "проверка на состояние инстанс зоны" я не знаю.
  19. Добрый вечер. Подскажите пожалуйста возможно ли убрать временную зону (5 минут после выхода из камалоки)? <reuse resetReuse="* * * * *" setUponEntry="false" sharedReuseGroup="1"/> Отката инста нет. Но приходится после выхода ждать 5 минут,что бы войти опять.
×
×
  • Создать...