Под барьером можно лечится и есть банки. - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:Под барьером можно лечится и есть банки.

Ответ
Опции темы
Непрочитано 15.07.2015, 03:52   #1
Аватар для KateKate7912
Пользователь

Автор темы (Топик Стартер) Под барьером можно лечится и есть банки.

Здравствуйте, уважаемые администраторы! Заметила очень неприятную проблему. Почему то под целкой от саб-класса можно лечится банками и под бишем а так же своими скилами для лечения. Исходники л2некстген, подскажите пожалуйста как починить эту неприятность Под админсткой целкой так же лечится, хотя на других сборках нет. Хроника: Epilogue

Последний раз редактировалось KateKate7912; 15.07.2015 в 14:59.
KateKate7912 вне форума Ответить с цитированием
Непрочитано 15.07.2015, 05:41   #2
Аватар для L2CCCP

По умолчанию Re: Под барьером можно лечится и есть банки.

Создайте поддержку блокировки регена хп.
В эффекте Invulnerable инитьте блокировку на старте эффекта и снимайте при окончании.
Саму метку проверяйте в скилл типах хила.
L2CCCP вне форума Отправить сообщение для L2CCCP с помощью ICQ Отправить сообщение для L2CCCP с помощью MSN Отправить сообщение для L2CCCP с помощью Skype™ Ответить с цитированием
Непрочитано 15.07.2015, 06:34   #3
Аватар для NoizeBD
Пользователь

По умолчанию Re: Под барьером можно лечится и есть банки.

если вы о ГОД хроника: то на годе оно так и работает (хилит), но вы не указали какой их некстов у вас исход...
NoizeBD вне форума Отправить сообщение для NoizeBD с помощью Skype™ Ответить с цитированием
Непрочитано 15.07.2015, 09:19   #4
Изгнанные

По умолчанию Re: Под барьером можно лечится и есть банки.

Цитата:
Сообщение от KateKate7912 Посмотреть сообщение
Здравствуйте, уважаемые администраторы! Заметила очень неприятную проблему. Почему то под целкой от саб-класса можно лечится банками и под бишем а так же своими скилами для лечения. Исходники л2некстген, подскажите пожалуйста как починить эту неприятность Под админсткой целкой так же лечится, хотя на других сборках нет.
Там есть чудная функция (L2Character#setHealHPBlocked).
Попрыгал по ядру, вроде бы все проверки на эту функцию расставлены (isHealHPBlocked)
Что нужно сделать:
1) Инстертнуть в эффект (EffectInvulnerable) функцию onStart()
Код:
@Override
    public void onStart()
    {
        _effected.setHealHPBlocked(true);
        _effected.setHealMPBlocked(true);
        _effected.setInvul(true);
    }
2) Инсертнуть функцию onExit()
Код:
@Override
    public void onExit()
    {
        _effected.setHealHPBlocked(false);
        _effected.setHealMPBlocked(false);
        _effected.setInvul(false);        
    }
P.S. на счет мп не уверен, давно забыл эти хроники.
P.P.S. советую вообще переписать данную систему, полностью вынести тип Invul из ядра и переписать его на блокировку статов. (BLOCK_HP, BLOCK_MP, BLOCK_PHYSDMG, ....)
Carline вне форума Ответить с цитированием
Непрочитано 15.07.2015, 10:01   #5
Аватар для L2CCCP

По умолчанию Re: Под барьером можно лечится и есть банки.

Цитата:
Сообщение от Carline Посмотреть сообщение
Там есть чудная функция (L2Character#setHealHPBlocked).
Попрыгал по ядру, вроде бы все проверки на эту функцию расставлены (isHealHPBlocked)
Что нужно сделать:
1) Инстертнуть в эффект (EffectInvulnerable) функцию onStart()
Код:
@Override
    public void onStart()
    {
        _effected.setHealHPBlocked(true);
        _effected.setHealMPBlocked(true);
        _effected.setInvul(true);
    }
2) Инсертнуть функцию onExit()
Код:
@Override
    public void onExit()
    {
        _effected.setHealHPBlocked(false);
        _effected.setHealMPBlocked(false);
        _effected.setInvul(false);        
    }
P.S. на счет мп не уверен, давно забыл эти хроники.
P.P.S. советую вообще переписать данную систему, полностью вынести тип Invul из ядра и переписать его на блокировку статов. (BLOCK_HP, BLOCK_MP, BLOCK_PHYSDMG, ....)
Я же это написал)
L2CCCP вне форума Отправить сообщение для L2CCCP с помощью ICQ Отправить сообщение для L2CCCP с помощью MSN Отправить сообщение для L2CCCP с помощью Skype™ Ответить с цитированием
Непрочитано 15.07.2015, 10:05   #6
Изгнанные

По умолчанию Re: Под барьером можно лечится и есть банки.

Цитата:
Сообщение от L2CCCP Посмотреть сообщение
Я же это написал)
не подробно жи вдруг она не поняла бы как это делать.
Код:
Создайте поддержку блокировки регена хп.
да и создавать ничего нового не нужно.
Carline вне форума Ответить с цитированием
Непрочитано 15.07.2015, 15:46   #7
Аватар для KateKate7912
Пользователь

Автор темы (Топик Стартер) Re: Под барьером можно лечится и есть банки.

Цитата:
Сообщение от Carline Посмотреть сообщение
не подробно жи вдруг она не поняла бы как это делать.
Код:
Создайте поддержку блокировки регена хп.
да и создавать ничего нового не нужно.
Сделала как вы сказали.
Теперь не видно эффекта барьера от саба но в момент когда эффект видно в баффе то хил не идет. Скинула вам в ЛС пример того что изменила. Судя по всему накосячила)

Добавлено через 1 час 7 минут
Все еще актуально.
Проверки Carline дали толк. Но после фикса не видно эффекта барьера.

package l2n.game.skills.effects;
 
import l2n.game.model.L2Effect;
import l2n.game.model.L2Skill;
import l2n.game.model.L2Skill.SkillType;
import l2n.game.skills.Env;
 
public final class EffectInvulnerable extends L2Effect
{
	public EffectInvulnerable(final Env env, final EffectTemplate template)
	{
		super(env, template);
	}
 
	@Override
    public void onStart()
    {
        _effected.setHealHPBlocked(true);
        _effected.setHealMPBlocked(true);
        _effected.setInvul(true);
    }
 
	@Override
	public boolean checkCondition()
	{
		if(_effected.isInvul(false))
			return false;
		final L2Skill skill = _effected.getCastingSkill();
		if(skill != null && (skill.getSkillType() == SkillType.TAKECASTLE || skill.getSkillType() == SkillType.TAKEFORT))
			return false;
		return super.checkCondition();
	}
 
	@Override
	public boolean onActionTime()
	{
		return false;
	}
 
	@Override
    public void onExit()
    {
        _effected.setHealHPBlocked(false);
        _effected.setHealMPBlocked(false);
        _effected.setInvul(false);
 
    }
}
Code: Java

Последний раз редактировалось KateKate7912; 15.07.2015 в 17:59. Причина: Добавлено сообщение
KateKate7912 вне форума Ответить с цитированием
Непрочитано 15.07.2015, 18:33   #8
Аватар для Daan Raven
Пользователь

По умолчанию Re: Под барьером можно лечится и есть банки.

Вот только лучше сделать отдельно глобальную переменную (допустим булеву, изначально false). То есть при старте эффекта мы проверяем на наличие блока ХП/МП, и если этого блока нет - присваиваем булевой переменной значение true и ставим блок, иначе - ничего не делаем. А на выходе проверяем булеву переменную, если true - снимаем блок, иначе - ничего не делаем. Все просто.

В каком смысле, не видно эффекта? Того, что вокруг персонажа светится, или в списке эффектов (баффов)?
Daan Raven вне форума Ответить с цитированием
Непрочитано 15.07.2015, 18:37   #9
Аватар для KateKate7912
Пользователь

Автор темы (Топик Стартер) Re: Под барьером можно лечится и есть банки.

Цитата:
Сообщение от Warencense Посмотреть сообщение
Вот только лучше сделать отдельно глобальную переменную (допустим булеву, изначально false). То есть при старте эффекта мы проверяем на наличие блока ХП/МП, и если этого блока нет - присваиваем булевой переменной значение true и ставим блок, иначе - ничего не делаем. А на выходе проверяем булеву переменную, если true - снимаем блок, иначе - ничего не делаем. Все просто.
Здравствуйте! Увы. Я пока только осваиваю и мне много чего не понятно
Я сделала как ребята выше писали и все работает как надо, но теперь пропал эффект барьера, что самое интересное то это то что начальный эффект в виде всплеска есть и дает бафф, но самого целестила нет как должно быть. Хотя до фикса был, и под ним можно было лечится.

http://rghost.ru/7cFwYNrZL

Не могли бы вы глянуть чистый скрипт, и внести изменения.
Это будет для меня уроком. Благодарю вас!

Добавлено через 3 часа 23 минуты
Цитата:
Сообщение от Warencense Посмотреть сообщение
Вот только лучше сделать отдельно глобальную переменную (допустим булеву, изначально false). То есть при старте эффекта мы проверяем на наличие блока ХП/МП, и если этого блока нет - присваиваем булевой переменной значение true и ставим блок, иначе - ничего не делаем. А на выходе проверяем булеву переменную, если true - снимаем блок, иначе - ничего не делаем. Все просто.

В каком смысле, не видно эффекта? Того, что вокруг персонажа светится, или в списке эффектов (баффов)?
В списке эффектов его видно, после добавления проверок перестало его быть видно вокруг персонажа. Пока длится баф фикс работает с проверками, а вот самого барьера не видно вокруг персонажа
Я вам пишу в ЛС но сообщения наверно не доходят

Еще подмечу, когда вылетает целестиал есть первый эффект что то вроде яда перед тем как она вылетает а самой целестиал нет.

Последний раз редактировалось KateKate7912; 15.07.2015 в 22:01. Причина: Добавлено сообщение
KateKate7912 вне форума Ответить с цитированием
Непрочитано 23.07.2015, 04:41   #10
Аватар для FaintSmile
Пользователь

По умолчанию Re: Под барьером можно лечится и есть банки.

Цитата:
Сообщение от Warencense Посмотреть сообщение
Вот только лучше сделать отдельно глобальную переменную (допустим булеву, изначально false). То есть при старте эффекта мы проверяем на наличие блока ХП/МП, и если этого блока нет - присваиваем булевой переменной значение true и ставим блок, иначе - ничего не делаем. А на выходе проверяем булеву переменную, если true - снимаем блок, иначе - ничего не делаем. Все просто.

В каком смысле, не видно эффекта? Того, что вокруг персонажа светится, или в списке эффектов (баффов)?
И словить баг, когда одновременно вешают две целесты. AtomicState или volatile тогда уж добавлять надо.

А эффекта нет - в датапаке нужно посмотреть прописан ли абнормал. Либо была добавлена ненужная проверка в ядре, которая должна показывать этот самый Abnormal.
FaintSmile вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
itamename-e.dat UFODriverr Lineage II 5 28.02.2021 18:17
[Продам] Gracia Part 2 L2Dream PaInKiLlEr Рынок / Marketplace 10 04.06.2010 00:18
Гейм объекты (я и есть сам Jumper) kilo World of WarCraft 1 18.02.2010 18:11
Хотел бы вернуться к стараму раретету вот тут можно скачать сборку l2Emu+Fantom ilyxa Lineage II 11 19.07.2008 14:16


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 09:15. Часовой пояс GMT +3.

Вверх