Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
"Если (персонаж.отошёл на() >= (n) метров)..."
#1
Напоролся на одну проблему.
Никак не пойму, как соорудить условие аля: Если персонаж отклонился от цели на расстояние 1500 или больше, то...

Подскажите, быть может есть какие-то аналоги?
И еще вопрос: Если попробовать проверку аля: activeChar.checkIfInRange и т.д. и т.п., это будет правильно?

Вот для чего это нужно:
1) Персонаж кидает дебафф на цель.
2) Если заклинатель отбегает от цели(на которой лежит дебафф) на n расстояние.
3) То дебафф снимается.

Спасибо.
Ответ
#2
Запускаете тред с задержкой, в треде проверяете рендж персонажа и реализуете свою логику - усё Smile
// aka Deft
Ответ
#3
Я беспощадный самоучка ;D тред это у нас... ??? ;D не ругайтесь сильно Smile
Ответ
#4
Отдельный поток. Вообще посмотрите как реализовано отнятие манны, похожая ситуация чем-то.
Ответ
#5
не знаю будет ли правильно, но попробуйте (стянуто с лыжи):

PHP код:
<?php 
if (!player.isInsideRadius(player, 50, false, false)) снимаем дебафф.
50 - наше расстояние.

ЗЫ- как на фениксах не знаю, код с лыжи
Ответ
#6
finfan Написал:...
Вот для чего это нужно:
1) Персонаж кидает дебафф на цель.
2) Если заклинатель отбегает от цели(на которой лежит дебафф) на n расстояние.
3) То дебафф снимается.
Спасибо.

Вот может я тупой, не погу себе представить такую проблему.
1) Персонаж, т.е. колдующий или заклинатель (далее по тексту заклинатель), кастует на цель дебаф.
2) Если колдующий отбегает от цели, а как это возможно одновременно бегать и кастовать, мож я не догоняю, давно игрой не увлекался.
Далее как это заклинатель кастует дебаф, если дебаф уже там есть (на которой лежит дебафф).

Может вы хотели сказать, как сделать проверку дистанции не по началу каста, а по окончанию. Т.е. под конец каста движущаяся цель находится не в зоне действия сети. Ну вроде в скиллах для этих дел есть события, а коли нет, внедрите слушателей, далее достаточно писать обработчики. Вам Рот подсказал где подсмотреть идею.
Ответ
#7
omg
Ответ
#8
Хлорке
ТС'у: есть еще один вариант, добавить обсервер на перемещение персонажа, у которого дебафф, ну и при каждом перемещении - сверять расстояние Smile, это если без тредов..
Ответ
#9
Ro_0TT Написал:[SPOILER="Хлорке"]
...при каждом перемещении - сверять расстояние Smile, это если без тредов..
Это инвалидный способ, постоянные и ненужные поверки. При больших количествах запросах на перемещение, а это запросы первостепенной приоритетности, эта неэффективность даст о себе знать. Лучше по-хлорному или хлорно-водоуродному.
Ответ
#10
Тема огонь

А по теме есть туча вариантов, если дело идет о скиле то надо запускать тред, и нужно вводить новый эффект, либо писать листнер, самый простой вариант это тред на начале эффекта (если верно понял что автор хочет), методы проверки вам уже дали сверху.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  # Авторестарт если найден deadlock dantest 9 2,654 09-23-2015, 11:32 PM
Последний пост: flopix
  Обрыв каста, если цель не видно. elastic 7 2,878 02-20-2015, 10:00 PM
Последний пост: KilRoy
  Снятие HAIR если сняли DHAIR L2J 5 1,711 08-14-2014, 05:20 PM
Последний пост: Donatte
  Запрет атаки если присутсвует меньше игроков Rolfer 1 1,529 05-14-2014, 06:25 PM
Последний пост: n3k0nation
  Если игрок соответствует устовиям L2J 16 2,863 05-12-2014, 03:29 PM
Последний пост: ANZO
  Как запретить использ. скилл, если нет душ Stema 1 2,530 12-01-2008, 11:46 PM
Последний пост: Stema

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


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