DiaWhaze 14 Опубликовано 23 июля, 2018 Доброй ночи всем. Хочу поменять время Combat Mode чтобы игрок дольше держался в агро режиме. Исходы L2RO-Fandc H5. Перерыл все что есть в пакетах и так далее не нашел. Кто может подсказать ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 23 июля, 2018 Ищите упоминаня о endStance() или EndStanceTask гденибудь в Player. Должна быть функция которая запускает Runable с определеным таймаутом на завершение боевого режима Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Wortex 112 Опубликовано 24 июля, 2018 Банально в конфигах точно нету ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IIoIIPbIryH 18 Опубликовано 24 июля, 2018 3 часа назад, Wortex сказал: Банально в конфигах точно нету ? Хоть в одной сборке покажи где это вынесено в конфиг. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DiaWhaze 14 Опубликовано 24 июля, 2018 Спасибо всем за ответы. Не каких вариантов больше нет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Wortex 112 Опубликовано 24 июля, 2018 (изменено) 7 часов назад, IIoIIPbIryH сказал: Хоть в одной сборке покажи где это вынесено в конфиг. В люцераподобных помню что-то было подобное, там и время "флага" выставить можно было. Изменено 24 июля, 2018 пользователем Wortex 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IIoIIPbIryH 18 Опубликовано 25 июля, 2018 20 часов назад, Wortex сказал: В люцераподобных помню что-то было подобное, там и время "флага" выставить можно было. Ну да. Глянул в jts тоже в конфиг вынесено. # Length one stays in PvP mode after hitting an innocent (in ms) "PvPTime" : "120000" Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IIoIIPbIryH 18 Опубликовано 25 июля, 2018 В 24.07.2018 в 10:53, DiaWhaze сказал: Спасибо всем за ответы. Не каких вариантов больше нет? Какие ещё тебе варианты нужны? Player.java (на jts так выглядит код) @Override public void startPvPFlag(final Creature target) { if (karma > 0) { return; } long startTime = System.currentTimeMillis(); if (target != null && target.getPvpFlag() != 0) { startTime -= PvpConfig.PVP_TIME / 2; } if (_pvpFlag != 0 && _lastPvpAttack > startTime) { return; } _lastPvpAttack = startTime; updatePvPFlag(1); if (_PvPRegTask == null) { _PvPRegTask = ThreadPoolManager.getInstance().scheduleAtFixedRate(new PvPFlagTask(this), 1000, 1000); } } public void stopPvPFlag() { if (_PvPRegTask != null) { _PvPRegTask.cancel(false); _PvPRegTask = null; } updatePvPFlag(0); } public void updatePvPFlag(final int value) { if (_handysBlockCheckerEventArena != -1) { return; } if (_pvpFlag == value) { return; } setPvpFlag(value); sendStatusUpdate(true, true, StatusUpdate.PVP_FLAG); broadcastRelationChanged(); } @Override public int getPvpFlag() { return _pvpFlag; } public void setPvpFlag(final int pvpFlag) { _pvpFlag = pvpFlag; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 25 июля, 2018 3 часа назад, IIoIIPbIryH сказал: Какие ещё тебе варианты нужны? Player.java (на jts так выглядит код) @Override public void startPvPFlag(final Creature target) { if (karma > 0) { return; } long startTime = System.currentTimeMillis(); if (target != null && target.getPvpFlag() != 0) { startTime -= PvpConfig.PVP_TIME / 2; } if (_pvpFlag != 0 && _lastPvpAttack > startTime) { return; } _lastPvpAttack = startTime; updatePvPFlag(1); if (_PvPRegTask == null) { _PvPRegTask = ThreadPoolManager.getInstance().scheduleAtFixedRate(new PvPFlagTask(this), 1000, 1000); } } public void stopPvPFlag() { if (_PvPRegTask != null) { _PvPRegTask.cancel(false); _PvPRegTask = null; } updatePvPFlag(0); } public void updatePvPFlag(final int value) { if (_handysBlockCheckerEventArena != -1) { return; } if (_pvpFlag == value) { return; } setPvpFlag(value); sendStatusUpdate(true, true, StatusUpdate.PVP_FLAG); broadcastRelationChanged(); } @Override public int getPvpFlag() { return _pvpFlag; } public void setPvpFlag(final int pvpFlag) { _pvpFlag = pvpFlag; } Сейчас бы скидывать код на пвп флаг и говорить о Агро режиме... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IIoIIPbIryH 18 Опубликовано 25 июля, 2018 12 минут назад, Demoncool сказал: Сейчас бы скидывать код на пвп флаг и говорить о Агро режиме... Ну значит я не правильно понял чего он хочет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DiaWhaze 14 Опубликовано 25 июля, 2018 Агро режим. Когда игрок после одного удара держится в агро режиме. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 25 июля, 2018 (изменено) Я же уже все выше описал. Там что-то не понятно? Вот пример с овероподобных сборок. Тут устаналивается время начала боевого режиме, а затем запускаться таска которая проверяет не прошло ли это время, и если прошло завершает боевой режим. protected void startAttackStanceTask0() { if (isInCombat()) { _stanceEndTime = (System.currentTimeMillis() + 15000L); return; } _stanceEndTime = (System.currentTimeMillis() + 15000L); broadcastPacket(new L2GameServerPacket[] { new AutoAttackStart(getObjectId()) }); Future<?> task = _stanceTask; if (task != null) { task.cancel(false); } _stanceTask = LazyPrecisionTaskManager.getInstance().scheduleAtFixedRate(_stanceTaskRunnable == null ? (this._stanceTaskRunnable = new AttackStanceTask(null)) : _stanceTaskRunnable, 1000L, 1000L); } В данном случае время окончания боевого режима устанавливаеться как текущее + 15 сек _stanceEndTime = (System.currentTimeMillis() + 15000L); Изменено 25 июля, 2018 пользователем lvlkoo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты