"Если (персонаж.отошёл на() >= (n) метров)..." - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

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

Ответ
Опции темы
Непрочитано 02.05.2012, 18:59   #1
Аватар для finfan
fin-ex.corp

Автор темы (Топик Стартер) "Если (персонаж.отошёл на() >= (n) метров от цели)..."

Напоролся на одну проблему.
Никак не пойму, как соорудить условие аля: Если персонаж отклонился от цели на расстояние 1500 или больше, то...

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

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

Спасибо.

Последний раз редактировалось finfan; 02.05.2012 в 19:28.
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 02.05.2012, 19:31   #2
Аватар для Yorie

По умолчанию Re: "Если (персонаж.отошёл на() >= (n) метров)..."

Запускаете тред с задержкой, в треде проверяете рендж персонажа и реализуете свою логику - усё
__________________
// aka Deft
Yorie вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 02.05.2012, 19:37   #3
Аватар для finfan
fin-ex.corp

Автор темы (Топик Стартер) Re: "Если (персонаж.отошёл на() >= (n) метров)..."

Я беспощадный самоучка ;D тред это у нас... ??? ;D не ругайтесь сильно
finfan вне форума Отправить сообщение для finfan с помощью Skype™ Ответить с цитированием
Непрочитано 02.05.2012, 19:39   #4
Аватар для Ro_0TT
Супергерой

По умолчанию Re: "Если (персонаж.отошёл на() >= (n) метров)..."

Отдельный поток. Вообще посмотрите как реализовано отнятие манны, похожая ситуация чем-то.
__________________
Ищу работу: Java-разработчик Skype: ro_0tt
Ro_0TT вне форума Отправить сообщение для Ro_0TT с помощью ICQ Отправить сообщение для Ro_0TT с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 02.05.2012, 19:52   #5
Пользователь

По умолчанию Re: "Если (персонаж.отошёл на() >= (n) метров)..."

не знаю будет ли правильно, но попробуйте (стянуто с лыжи):

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

ЗЫ- как на фениксах не знаю, код с лыжи
cokol вне форума Ответить с цитированием
Непрочитано 02.05.2012, 20:00   #6
Аватар для Хлорка
Пользователь

Thumbs up Re: "Если (персонаж.отошёл на() >= (n) метров от цели)..."

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

Может вы хотели сказать, как сделать проверку дистанции не по началу каста, а по окончанию. Т.е. под конец каста движущаяся цель находится не в зоне действия сети. Ну вроде в скиллах для этих дел есть события, а коли нет, внедрите слушателей, далее достаточно писать обработчики. Вам Рот подсказал где подсмотреть идею.
Хлорка вне форума Отправить сообщение для Хлорка с помощью ICQ Ответить с цитированием
Непрочитано 02.05.2012, 20:02   #7
Аватар для linliss
Герой

По умолчанию Re: "Если (персонаж.отошёл на() >= (n) метров от цели)..."

omg:
Свернуть ↑Развернуть ↓
linliss вне форума Ответить с цитированием
Непрочитано 02.05.2012, 20:40   #8
Аватар для Ro_0TT
Супергерой

По умолчанию Re: "Если (персонаж.отошёл на() >= (n) метров от цели)..."

Хлорке:
Свернуть ↑Развернуть ↓

ТС'у: есть еще один вариант, добавить обсервер на перемещение персонажа, у которого дебафф, ну и при каждом перемещении - сверять расстояние , это если без тредов..
__________________
Ищу работу: Java-разработчик Skype: ro_0tt
Ro_0TT вне форума Отправить сообщение для Ro_0TT с помощью ICQ Отправить сообщение для Ro_0TT с помощью Skype™ Ответить с цитированием
Непрочитано 02.05.2012, 22:14   #9
Аватар для Хлорка
Пользователь

Angry Re: "Если (персонаж.отошёл на() >= (n) метров от цели)..."

Цитата:
Сообщение от Ro_0TT Посмотреть сообщение
[SPOILER="Хлорке"]
...при каждом перемещении - сверять расстояние , это если без тредов..
Это инвалидный способ, постоянные и ненужные поверки. При больших количествах запросах на перемещение, а это запросы первостепенной приоритетности, эта неэффективность даст о себе знать. Лучше по-хлорному или хлорно-водоуродному.
Хлорка вне форума Отправить сообщение для Хлорка с помощью ICQ Ответить с цитированием
Непрочитано 02.05.2012, 23:00   #10
Изгнанные

По умолчанию Re: "Если (персонаж.отошёл на() >= (n) метров)..."

Тема огонь

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

Метки
инвалидный способ, лучше по собачи не?, лучше по-хлорному, рот умный да, хлорно-водоуродному


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Безжалостный mpConsume" и "Варварский Lethal" finfan Работа со скриптами 8 14.02.2012 21:31
В раздел "Aion "сделать подраздел " Веб-обвязки" . ioga О форуме / About Zone-Game 4 13.10.2011 23:01
"Одноразовые персы" или "Дисконнект с сервера" =( eXeSS Сервер 1 01.08.2009 16:09
НПС дающий "Саб" и "Нубла" AID Работа со скриптами 3 24.12.2008 20:06


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

Вверх