Показано с 1 по 6 из 6

Тема: Как проверить что игрок рядом с событием, через notetag события?

Древовидный режим

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

    По умолчанию Как проверить что игрок рядом с событием, через notetag события?

    Делаю простую ABS для своей игры с закосом под 8 бит.

    ABS почти готова, основана на ивентах и плагинах сообщества.
    Сразу укажу плагины, которые использую для создания боевки:
    YEP.event_copier, YEP.event_spawner, YEP.eventProxActivate
    SuperOrangeMovementEX (4 direction, 2 tile sections).
    DK_full_input

    Благодаря этим плагинам удалось сделать неплохой ИИ врагам, отзывчивое перемещение и т.д.
    Event_spawner - позволил создать врагам стрельбу в игрока, снарядами.
    Event_prox - зону активации поведения врагов.
    SOMovementEX - отзывчивое управление.
    DK_full_input - назначение атаки на кнопку Z, в дальнейшем и другие штуки.

    Итак, казалось бы, все идеально. Поведение врага меня полностью устраивает. Он передвигается по карте логично, целится в игрока, стреляет в него и т.д. Его можно спокойно копировать, так как его поведение не привязано к ID. Но как раз таки по этой причине проблема и возникает! Чтобы поведение врага работало таким удобным образом, - враг должен быть параллельным событием. Чтобы подробнее описать проблему, покажу как устроен враг:
    Спойлер страницы врага:



    1) Параллельный триггер запускающий поведение игрока.
    2) Триггер кнопки действия, должен активироваться во время удара игрока по врагу.
    3) Смерть врага, + переключатель врага включен. (вообще смерть врага может быть сразу на второй странице, но я делал это чтобы сбрасывать переключатели врагов когда игрок далеко уходит, этакий ручной спавн)

    Итак, проблема в том, что я не могу реализовать атаку игрока по врагу! При нажатии на клавишу Z, которая по совместительству является 'ок'.
    Как это должно работать:
    "Когда игрок нажимает на Z, идет проверка того, рядом ли находится игрок с врагом. Если игрок находится рядом (на одну клетку), то включается триггер "коллизия". В этот момент игрок может ударить врага, так как теперь у него работает вторая страница с тригером на нажатие кнопки. (Правда враг ничего не сможет сделать, когда игрок рядом. Это небольшая проблема). Если же игрок не рядом с врагом, то коллизия отключена.

    Что пошло не так?

    1) Я знаю, что вроде как-то можно проверить рядом ли игрок с событием, но не помню.
    2) И более серьезная проблема, - при копировании каждый враг имеет свой уникальный ид. Проверка того рядом ли игрок с событием не должна включать в себя ид события. Нужно чтобы она проверяла ВСЕХ ВРАГОВ. Что можно сделать скорее всего скриптом, через event_note. Например, каждый враг будет иметь примечание 'enemy'. Если событие имеет это примечание, - проверяется рядом ли с ним игрок. И если игрок с ним рядом, - коллизия вкл. В теории, как-то так. Но как это сделать на практике, - не имею понятия. :<

    Неудачные попытки:

    Пробовал альтернативный путь. Создал на карте событие маску, которая появлялась перед игроком каждый раз, когда кнопка атаки нажата. И если враг касался события маска, - коллизия включалась. Но этот вариант работает некорректно, потому что я использую pixel movement, поделив каждый квадрат на 2. И без этого игра становится слишком топорной.
    Поэтому создание события маски - не вариант.
    Последний раз редактировалось Axel_Key; 19.04.2019 в 08:08.
    Древнее зло вновь пробудилось, чтобы оккупировать раздел помощи...

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

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

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

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

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

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

Ваши права

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