Весь день просидел, работая над такой вот боевкой:
Как можно заметить, всё выходило просто отлично, пока не дошла очередь до вражеских атак.
Чтобы донести проблему, пост придется сделать содержательным. Я пытался уже несколькими способами
сделать это, - но всё упиралось в какую-нибудь проблему.
Первым делом скажу, что боевка на 90% состоит из ивентов. А остальные 10%, - пара тройка скрипотов аля "если координаты события равны координатам события"...
Как это работает?
При нажатии на кнопку геймпада, - рядом с игроком, на короткий промежуток времени, появляется событие. Событие появляется в той стороне, куда смотрит игрок. Монстр является параллельным событием и как только наступает на событие атаки игрока, - переходит на следующий лок. переключатель, где какое-то время лежит в конфузе. А потом обратно на первую страницу. Если его ударить, когда он лежит, - он умирает. Это краткое описание и я не обо всех деталях рассказал, но примерно как-то так.
В общем, беда в том, что я не могу сделать такое же событие атаки монстров, как у игрока. Потому что игрок один, и монстров много. Соответственно, для каждого монстра на каждой карте пришлось бы пилить свое событие, что очень геморно.
Я пробовал способ, когда вокруг игрока по разные стороны появляется 4 события и проверяют, есть ли монстр. И если он есть, - монстр атакует. И это даже сработало, однако, имело большой минус, - убегая от атаки, игрок все равно её получал. Иногда он получал двойной урон, а бывало даже, - получал урон, когда монстр атаковал его где-то в другом конце карты.
Следом я попробовал способ, - "Если коориданты монстра равны координатам игрока" (по скрипту). И в тот момент когда монстр атаковал в параллельном событии на странице локального переключателя D, я делал его "проходимым". Получалось так, что в момент атаки монстр летел в сторону игрока, и если попадал на него, - игрок получал урон. Вот только, это смотрелось ужасно и дико неудобно, так как монстр буквально накладывался на то место, где есть игрок. (естественно).
Поэтому, я пришел к выводу, что было бы идеально прописать столкновение монстра и игрока как на "триггере касания". Который я не могу использовать по той причине, что монстр является параллельным событием. Так же была идея проверять столкновение с событием атаки игрока не в монстрах, а в самом событии атаки, которое появляется рядом с игроком. Но, от этой идеи пришлось отказаться, потому что в таком случае надо указать ид монстра. А при копировании их ид меняется. Поэтому разумно будет сделать так, чтобы ид прописывался у события атаки игрока, а монстр был "this event".
И вот, нужно сделать так, чтобы монстр атаковал прямо как прикасании игрока на триггере "касание", но через команду скрипта. Можно ли так сделать?
Если что-то не понятно, могу на крайний случай поделиться демкой. Буду очень благодарен любой помощи! ^^
(Я правда старался и весь день над этим думал, пытался найти способ самостоятельно, но не вышло)
Социальные закладки