Показано с 1 по 10 из 17

Тема: Делаю ABS на ивентах. Как сделать столкновение события с игроком на скрипте?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Администратор Аватар для Пётр
    Информация о пользователе
    Регистрация
    24.04.2014
    Адрес
    Краснодар
    Сообщений
    3,973
    Записей в дневнике
    6
    Репутация: 132 Добавить или отнять репутацию

    По умолчанию

    Следом я попробовал способ, - "Если коориданты монстра равны координатам игрока" (по скрипту). И в тот момент когда монстр атаковал в параллельном событии на странице локального переключателя D, я делал его "проходимым". Получалось так, что в момент атаки монстр летел в сторону игрока, и если попадал на него, - игрок получал урон. Вот только, это смотрелось ужасно и дико неудобно, так как монстр буквально накладывался на то место, где есть игрок. (естественно).
    Бери этот способ, только проверяй есть ли игрок перед монстром.
    Соответственно нужно сначала проверять куда смотрит монстр. Потом проверять соответствующие координаты.
    То есть, смотрит вверх - сравниваем х, у-1. Смотрит вправо, проверяем х+1, у.
    Ну только не нужно делать непроходимым врага и тп.
    Андестуд?

  2. #2
    Местный Аватар для Axel_Key
    Информация о пользователе
    Регистрация
    26.03.2017
    Адрес
    Горно-Алтайск
    Сообщений
    155
    Записей в дневнике
    3
    Репутация: 2 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Пётр Посмотреть сообщение
    Андестуд?
    Суть понял, но как это реализовать не совсем понимаю, так как слаб в скриптах.
    Не знаю как делать проверку на наличие игрока перед монстром. Не уверен, что точно так же...

    PHP код:
    $gameMap.event(this event).== $gamePlayer.x1 && $gameMap.event(this event).== $gameplayer.y1 
    И если игрок вовремя уклонится от атаки монстра, не получит ли он урон, таким методом?
    Просто касание на триггере в этом плане подходит идеально, и было бы удобно, если бы я мог сделать проверку на
    касание в любой момент.
    Еще пытался сделать таким способом. Сделать страницу, которая касается с игроком, а атака идет в общем событии.
    Но, локальный переключатель почему-то не выключается. При том, если убрать "ждать завершения" в маршруте атаки,
    почему-то локальный переключатель и включается, и выключается нормально. Не понимаю, как оно вообще работает...
    Спойлер скрины:



    Ну а так, монстр смотрит в разные стороны и по отдельности проверяет есть ли там игрок... Код точно тот же нужен? :0

  3. #3
    Администратор Аватар для Пётр
    Информация о пользователе
    Регистрация
    24.04.2014
    Адрес
    Краснодар
    Сообщений
    3,973
    Записей в дневнике
    6
    Репутация: 132 Добавить или отнять репутацию

    По умолчанию

    PHP код:$gameMap.event(this event).x == $gamePlayer.x1 && $gameMap.event(this event).y == $gameplayer.y1


    И если игрок вовремя уклонится от атаки монстра, не получит ли он урон, таким методом?
    Не знаю. Пробовать нужно.
    Код так если монстр смотрит вправо
    $gameMap.event(this event).x == $gamePlayer.x+1 && $gameMap.event(this event).y == $gameplayer.y
    Координата У у игрока такая же, а х на 1 больше.


    Ну а так, монстр смотрит в разные стороны и по отдельности проверяет есть ли там игрок... Код точно тот же нужен? :0
    Стелс на ивентах

    Просто касание на триггере в этом плане подходит идеально, и было бы удобно, если бы я мог сделать проверку на
    касание в любой момент.
    Не уверен, что касание идеальный вариант. Всё равно придется прикручивать проверку куда смотрит ивент, чтобы не получить урон, зайдя со спины, например.

  4. #4
    Местный Аватар для Axel_Key
    Информация о пользователе
    Регистрация
    26.03.2017
    Адрес
    Горно-Алтайск
    Сообщений
    155
    Записей в дневнике
    3
    Репутация: 2 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Пётр Посмотреть сообщение
    Всё равно придется прикручивать проверку куда смотрит ивент, чтобы не получить урон, зайдя со спины, например.
    А он и не получит урон зайдя со спины, потому что атакуя монстр летит "на игрока" в определенный момент. И именно в этот момент должно проверяться, касается ли монстр игрока или нет.
    То есть атака и ходьба, - это разные состояния монстра. В момент ходьбы при касании он не должен наносить урон игроку, а в момент атаки происходит анимация, - сменяется графика монстра и он со всей скорости на 2 шага летит в сторону игрока. То есть, куда смотрит монстр в данном случае совершенно не важно, потому что атака происходит на короткое время и в сторону игрока. Тут уже либо монстр заденет игрока, либо нет.
    Проще говоря, враг становится опасным на короткий промежуток времени и бежит в сторону игрока. Игрок должен схватить урон только в момент атаки, если монстр его заденет по пути траектории атаки.
    Но я попробую твой способ, возможно, что-то из этого выйдет. Просто с направлениями взгляда, возможно, будет лишним в таком случае, так как оно кратковременно и в одном направлении происходит.
    Последний раз редактировалось Axel_Key; 03.08.2018 в 09:43.

Информация о теме

Пользователи, просматривающие эту тему

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

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Делаю ABS на ивентах. Как сделать столкновение события с игроком на скрипте?