Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Неуязвимость после телепорта
#1
Как сделать чтобы после телепорта быть неуязвимым пока не двинешься или через 10 секунд пропадает?
[SRC="java"]player.teleToLocation(Location.coordsRandomize(a.getLocation(), 50, 250));
player.setIsInvul(true);[/SRC]
Вот setIsInvul, а как сделать на время или пока не двинешься или какое-нибудь действие не совершишь?
Ответ
#2
Через ThreadPoolmanager execute таска на снятие инвула.
Ответ
#3
Всё бы хорошо, но если на setIsInvul/IsInvul завязаны эффекты от скилов (типа УД), то снятие инвула по таску может плохо кончится.

По классике подобную защиту делают при помощи timestamp'ов.
прим. _protectEndTime > GameTimeController.getGameTicks()
Ответ
#4
SouthBridge Написал:Всё бы хорошо, но если на setIsInvul/IsInvul завязаны эффекты от скилов (типа УД), то снятие инвула по таску может плохо кончится.
Ну чекайте эффекты, на наличие таковых. Какой-нибудь каунтер ивнулов можно ввести. Все это кривые решения, но довольно быстрый выход из вашей ситуации.

P.s. люцера?
Ответ
#5
Нет, овер.
А как стандартный тп сделан? Как там идет защита при тп?
Легче наверное накладывать эффект при тп какого-нибудь бафа инвула Big Grin
Ответ
#6
L2J Написал:Нет, овер.
А как стандартный тп сделан? Как там идет защита при тп?
Ну можно добавить доп. параметр какой-нибудь к примеру. Который будет чекаться при проверке цели на атаку/каст.

[src=java]
public boolean isBlockedAttack()
{
_lastAttackTime + Config.INVUL_AFTER_TELEPORT > System.System.currentTimeMillis();
}
[/src]
Ответ
#7
Простой вариант я уже предложил. При телепорте ставить отметку времени для "снятия" инвула и никаких тасков не нужно.
Ну вот как Ro_0TT выше показал.

Можно сложнее, но надо понять сперва с чем имеешь дело.
Продемонстрируй кусок кода IsInvul, и, есть ли в статах (Stats) стат INVUL или нечто подобное?
Ответ
#8
Invul - это эффект, в скилах, а не стат.
Ответ
#9
Ro_0TT Написал:Invul - это эффект, в скилах, а не стат.

Ну в общем-то да. Мимо я. Это у меня так сделано, по хардкору, но надежно :redlol:
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Не видит класс после замены пула SoniPro 2 1,855 10-14-2015, 09:21 PM
Последний пост: SoniPro
  Таблица результатов после Эвента KateKate7912 10 3,024 04-21-2015, 01:11 AM
Последний пост: Ro_0TT
  Исчезновение бафа после срабатывания тригера L2J 2 1,417 08-11-2014, 08:40 PM
Последний пост: L2J
  Создание новые скролов телепорта LegioNteam 12 3,253 08-08-2014, 01:22 AM
Последний пост: Donatte
  запуск действия после атаки energy 4 1,394 11-30-2013, 10:21 PM
Последний пост: energy
  После рестарта пропадают временные скиллы Injection 13 3,958 07-13-2013, 01:27 PM
Последний пост: Hotaka
  Задержка после выполнения команды. L2J 21 4,601 06-25-2013, 11:48 PM
Последний пост: KID
  Как сделать атаку после скилла revlon 6 1,690 09-27-2012, 07:49 PM
Последний пост: revlon
  Ограничение наносимых татау, исчезает после релога SkyMD 7 2,181 08-23-2012, 09:12 AM
Последний пост: SkyMD
  Не работают SpiritShot после Перерождения SkyMD 6 2,045 08-17-2012, 09:39 PM
Последний пост: SkyMD

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)