Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Как проверить цель на наличие эффекта? (https://forum.zone-game.info/showthread.php?t=24782)

finfan 01.12.2012 23:53

Как проверить цель на наличие эффекта?
 
Собственно вопрос дня: Как проверить цель на наличие определённого эффекта?

Создал скилл, он должен делат ьвсякие плюшки по цели ЕСЛИ на ней лежит эффект скажем DamOverTime (DMG_OVER_TIME).
Какие .java для этого необходимо перелопатить?

Необходимо ли создавать для этого кондишен?

Спасибо.

Dеmon 02.12.2012 00:08

Re: Как проверить цель на наличие эффекта?
 
Глянь как лыжи реализованы Вортекс Бастер и Вортекс Слаг. Оба работают по такому принципу.

pchayka 02.12.2012 00:11

Re: Как проверить цель на наличие эффекта?
 
if(target.getEffectList().getEffectByType(EffectTy pe.DAM_OVER_TIME) != null)

хотя бы так

finfan 02.12.2012 00:14

Re: Как проверить цель на наличие эффекта?
 
Цитата:

Сообщение от Dеmon (Сообщение 251186)
Глянь как лыжи реализованы Вортекс Бастер и Вортекс Слаг. Оба работают по такому принципу.

Немного не то, скилы активны и накладываются один на другой за это отвечает кондишен TargetActiveEffectId.
У меня же: Боль - Добивающая техника воров. Когда цель находится под эффектом "Кровоточащая рана", ваша сила критической атаки увеличивается на 300%. Время действия: 10 секунд. Откат: 120/110/100 секунд.

Т.е. тут как-то необходимо сделать особенный кондишен, но я таких и невидел вовсе, я даже незнаю, реально ли это...

P.S. Хотя в WoW таких эффектов море...

Добавлено через 4 минуты
Цитата:

Сообщение от pchayka (Сообщение 251188)
if(target.getEffectList().getEffectByType(EffectTy pe.DAM_OVER_TIME) != null)

хотя бы так

Т.е. данное условие вариант применить в новом хэндлере как:
if(target.getEffectList().getEffectByType(EffectTy pe.DAM_OVER_TIME) != null)
{
calcPhysDam(x,x,x,x,x,x)
}

В формулах, в if(crit) у меня есть условие аля if(skill.getId() == xxx) { damage *= 4;}

будет ли работоспособным данное написание?

pchayka 02.12.2012 01:13

Re: Как проверить цель на наличие эффекта?
 
Исходя из ваших вопросов вы явно не понимаете сути процесса, я б советовал обратиться за платной помощью к кому-то из кодеров.


Текущее время: 22:45. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot