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

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 09.05.2014, 00:33   #1
Пользователь

Автор темы (Топик Стартер) Исправление Chain Heal 1553

Нужно что бы хилил вот так как на видео-
http://www.youtube.com/watch?v=1u76Qdo5dxc
исходы Фт.
А сейчас хилит цепной только когда у персонажей не фулл хп, и если они находятся в пати.
Скилл:
Свернуть ↑Развернуть ↓


Но я думаю не в скиле дело, т.к если поменять <set name="target" val="TARGET_ONE" на TARGET_AREA и тип скилла просто на HEAL, то он начинает хилить как на видео, а проблема была в том, что не %, а просто 30хп...

ChainHeal.java:
Свернуть ↑Развернуть ↓


Подскажите, что тут исправить...
Rolfer вне форума Ответить с цитированием
Непрочитано 09.05.2014, 00:55   #2
Пользователь

По умолчанию Re: Исправление Chain Heal 1553

Цитата:
Сообщение от Rolfer Посмотреть сообщение
Нужно что бы хилил вот так как на видео-
[/SPOILER]

Подскажите, что тут исправить...
Код:
 target.isCurrentHpFull() || ConditionTargetRelation.getRelation(activeChar, target) != ConditionTargetRelation.Relation.Friend
убрать это.
Melcor вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 09.05.2014, 01:16   #3
Пользователь

Автор темы (Топик Стартер) Re: Исправление Chain Heal 1553

PHP код:
[javacD:\dwl\First Team\java\l2ft\gameserver\skills\skillclasses\ChainHeal.java:74error')' expected
    
[javac]             if(target == null || target.isHealBlocked() || target.isCursedWeaponEquipped()
    [
javac]                                                                                           ^
    [
javac1 error 
оставил строчку вот так скомпилилось
Код:
if(target == null || target.isHealBlocked() || target.isCursedWeaponEquipped()  )

Последний раз редактировалось Rolfer; 09.05.2014 в 01:21. Причина: add
Rolfer вне форума Ответить с цитированием
Непрочитано 09.05.2014, 01:19   #4
Аватар для elastic
Ooh, who's that handsome devil?

По умолчанию Re: Исправление Chain Heal 1553

Цитата:
Сообщение от Rolfer Посмотреть сообщение
PHP код:
[javacD:\dwl\First Team\java\l2ft\gameserver\skills\skillclasses\ChainHeal.java:74error')' expected
    
[javac]             if(target == null || target.isHealBlocked() || target.isCursedWeaponEquipped()
    [
javac]                                                                                           ^
    [
javac1 error 
Смотрите то место, где убирали. В ошибке сказано, что вы либо забыли скобку, либо там она лишняя.
elastic вне форума Отправить сообщение для elastic с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 09.05.2014, 14:06   #5
Пользователь

Автор темы (Топик Стартер) Re: Исправление Chain Heal 1553

Хилить то оно хилит, но хилит всех в радиусе, даже мобов, рейдов, варов.

Оставил так:
Свернуть ↑Развернуть ↓


PHP код:
target.isHealBlocked() || target.isCursedWeaponEquipped() 
- вот так, я понимаю кого он не должен хилить - персонажа акаманаха/зарича.
как правильно суда добавить враждебно настроенных существ?- target.isMonster, и правильно ли думать, что Monster есть моб?... как добавить в блок хила варов, посторонних флагнутых (те кто не в пати)?

если я правильно понимаю, строчка что удалил и есть приминение на дружелюбных. Но в случае если вернуть на место, возвращаемся к 1 вопросу в этой теме...
PHP код:
ConditionTargetRelation.Relation.Friend

Последний раз редактировалось Rolfer; 09.05.2014 в 14:41. Причина: добавлено
Rolfer вне форума Ответить с цитированием
Непрочитано 11.05.2014, 00:45   #6
Пользователь

Автор темы (Топик Стартер) Re: Исправление Chain Heal 1553

Сделал вот так-
PHP код:
    if(target == null || target.isHealBlocked() || target.isCursedWeaponEquipped() || target.isMonster() ) 
Луч, отбиваясь от персонажей не хилит: заблокированных к хилу, персонажей с заричем/акаманахом и мобов.
Хилит варов, флагнутых без пати...

Что дописать суда что бы перестало хилить флагнутых без пати, и при этом хилило флагнутых в пати, клане, СС, алли?...
Rolfer вне форума Ответить с цитированием
Непрочитано 11.05.2014, 23:13   #7
Аватар для Gaikotsu
Герой

По умолчанию Re: Исправление Chain Heal 1553

ну вот у меня к примеру подбор подходящих целей делается так

 
		List<HealTarget> healTargets = new ArrayList<HealTarget>();
		healTargets.add(new HealTarget(-100.0D, aimingTarget));
 
		for (Creature target : targets)
		{
			if (target == null || target.isHealBlocked() || activeChar.getObjectId() != aimingTarget.getObjectId() && target.getObjectId() == activeChar.getObjectId())
				continue;
 
			if (target.isMonster() || target.isDoor())
				continue;
 
			if (target.isAutoAttackable(activeChar))
				continue;
 
			double hpPercent = target.getCurrentHp() / target.getMaxHp();
			healTargets.add(new HealTarget(hpPercent, target));
		}
 
Code: Java
З.Ы. и еще не забудь добавить кондишн в скилл на то, что основной целью скилла не может быть дверь, а то на осадах замков будет неприятный сюрпрайз.
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 12.05.2014, 00:50   #8
Пользователь

Автор темы (Топик Стартер) Re: Исправление Chain Heal 1553

Заранее прошу прощения, продублирую тут...

"Спасибо, код работает, при этом хилит дверь.

Еще слабо представляю как и откуда что берется...
ConditionUsingSkill.java это суда надо добавить?
Либо в сам ChainHeal.java?

Хотелось бы самому сделать, но за последние 2 дня я научился только искать target.is и добавлять что бы он не хилил, но target.isCursedWeaponEquipped() работает, а вот На дверь ругается, пишет "isDoor cannot be resolved or is not a field", это если делать как у меня было...

Нашел еще в Heal.java
Heal:
Свернуть ↑Развернуть ↓


В каком из направлений копать?...
Либо что нужно прочесть что бы понять?

Неужели что-то получилось у самого!)))

Оказался верным последний вариант:
Свернуть ↑Развернуть ↓


Либо можно было сделать как-то лучше?

Что является дверью?
PHP код:
if(target != activeChar
- Вместо чара, как я понимаю надо написать что есть дверь?...

Последний раз редактировалось Rolfer; 12.05.2014 в 01:10. Причина: Нет, не сделал, просто анимации видно не было..)
Rolfer вне форума Ответить с цитированием
Непрочитано 12.05.2014, 15:10   #9
Аватар для WoWan-SM
Герой

По умолчанию Re: Исправление Chain Heal 1553

Цитата:
Сообщение от Rolfer Посмотреть сообщение
Заранее прошу прощения, продублирую тут...

"Спасибо, код работает, при этом хилит дверь.

Еще слабо представляю как и откуда что берется...
ConditionUsingSkill.java это суда надо добавить?
Либо в сам ChainHeal.java?

Хотелось бы самому сделать, но за последние 2 дня я научился только искать target.is и добавлять что бы он не хилил, но target.isCursedWeaponEquipped() работает, а вот На дверь ругается, пишет "isDoor cannot be resolved or is not a field", это если делать как у меня было...

Нашел еще в Heal.java
Heal:
Свернуть ↑Развернуть ↓


В каком из направлений копать?...
Либо что нужно прочесть что бы понять?

Неужели что-то получилось у самого!)))

Оказался верным последний вариант:
Свернуть ↑Развернуть ↓


Либо можно было сделать как-то лучше?

Что является дверью?
PHP код:
if(target != activeChar
- Вместо чара, как я понимаю надо написать что есть дверь?...
Можно убрать if(target != activeChar) и зачем два раза target.isDoor() ?
__________________
Студия L2dev.su. Сборки Lindvior, Epilogue. ICQ 1817070. Skype wowan.sm
WoWan-SM вне форума Отправить сообщение для WoWan-SM с помощью ICQ Отправить сообщение для WoWan-SM с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 12.05.2014, 16:35   #10
Пользователь

Автор темы (Топик Стартер) Re: Исправление Chain Heal 1553

Да, это вчера был первый из многих вариантов.
Я думаю это-
PHP код:
 if(target.isDoor() && target.isDoor())
continue; 
Читается так: если хилящая цель является дверью и цель тоже дверь, то нельзя. Ну само собой это не верно, как может дверь сама себя хилить...

В конечном итоге в файле Heal.java оставил такой вариант-

PHP код:
if(target != targets)
(
target.isPlayer() && target.isDoor())
continue; 
и кажись перестало хилить)

Последний раз редактировалось Rolfer; 12.05.2014 в 17:09.
Rolfer вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продается сборка Gracia Final Ihgap Рынок / Marketplace 28 14.08.2010 17:30
Сборка Phoenix rev 19748 Феникс Рынок / Marketplace 9 27.04.2010 22:52
шара ihgap rev 474 Gracia Final LineOFWar Lineage II 19 24.03.2010 14:04
Адаптируем SQL BimBom Работа со скриптами 9 14.10.2009 15:14
как сделать чтоб все игроки вначале стартовали в столицах qwertyuiopas World of WarCraft 4 11.07.2009 22:47


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

Вверх