Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

Подскажите где ошибка в маршруте события

Больше
7 года 7 мес. назад - 7 года 7 мес. назад #106412 от SiQiuRi
Доброе утро!
Это снова девушка со слизью вместо мозгов~.

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

Напоминаю, работаю с MV.

Чуть ниже, это событие отвечающие за просчёт местонахождения монстра и игрока.
=============================================
◆Переменная:#0021 Коор. Вораса X = Х карты из Ворос
◆Переменная:#0022 Коор. Вораса Y = Y карты из Ворос
◆Получить данные о клетке:ИД Вораса, Номер региона, ({Коор. Вораса X},{Коор. Вораса Y})
◆Переменная:#0026 Коор. игрока X = Х карты из Игрок
◆Переменная:#0027 Коор. игрока Y = Y карты из Игрок
◆Получить данные о клетке:ИД игрока, Номер региона, ({Коор. игрока X},{Коор. игрока Y})
=============================================

А это собственно событие которое должно было направлять этого самого монстра по лабиринту.
В попытках разобраться что к чему я сократила до, грубо говоря нуля, так как, судя по всему ошибка уже на этом этапе.
=============================================
◆Если:ИД Вораса = 1
--◆Если:ИД игрока = 1
----◆Маршрут:Ворос
----:       :◇Поворот: к игроку
----:       :◇Шаг: к игроку
----:       :◇SE:Earth5 (70, 60, 0)
---◆
--:Конец
--◆Если:ИД игрока = 2
----◆Маршрут:Ворос
----:       :◇Поворот: к игроку
----:       :◇Шаг: к игроку
----:       :◇SE:Earth5 (70, 60, 0)
---◆
--:Конец
--◆Если:ИД игрока = 37
----◆Маршрут:Ворос
----:       :◇Поворот: к игроку
----:       :◇Шаг: к игроку
----:       :◇SE:Earth5 (70, 60, 0)
----◆
--:Конец
--◆Если:ИД игрока ≠ 1
----◆Маршрут:Ворос
----:       :◇Шаг: вперед
----:       :◇SE:Earth5 (70, 60, 0)
----◆
--:Конец
--◆Если:ИД игрока ≠ 3
----◆Маршрут:Ворос
----:       :◇Шаг: вперед
----:       :◇SE:Earth5 (70, 60, 0)
----◆
--:Конец
--◆Если:ИД игрока ≠ 37
----◆Маршрут:Ворос
----:       :◇Шаг: вперед
----:       :◇SE:Earth5 (70, 60, 0)
----◆
--:Конец
-◆
:Конец
=============================================

Оба события работаю в "параллельном" режиме. Оба события проверяла как обычные (на карте) так и как общие. Результат не изменился.

Сначала я думала что у меня просто не просчитывается ИД, однако после того как я убрала из события действия при подходе к поворотам в лабиринте, монстр стал останавливаться, что я смело приняла как то что он всё же знает где находится. Однако проблема в другом.

Для начала он почему-то не шагает. Возможно я неправильно поняла и "Маршрут" который задаёт другое событие отличается от маршрута заданного в самом событие, однако у меня он скользит как на катке до тех пор пока не выйдет из региона 1 и только после этого, остановившись, издаёт заданный звук, вместо того что бы методично (согласно частоте) шагать пока не выйдет из региона, как планировалось. Во-вторых он не останавливается на поворотах, если вернуть код отвечающий за них, а продолжает идти пока не упрётся в стену. При этом он полностью игнорирует игрока даже если тот изначально находится в заданном регионе, не смотря на то что проверка на наличие игрока стоит выше чем проверка на его отсутствие.

Постскриптум - Если есть вопрос зачем я сделала проверку на отсутствие, то это было попыткой исправить проблему. Изначально, вместо неё было просто "шаг вперёд и заданный звук". Но совершенно ничего не изменилось.

Заранее спасибо всем тем кто ответит. А то я сейчас зароюсь обратно в попытке решить проблему и одна слизь знает, когда вернусь посмотреть что здесь.

Пост-постскриптум - При этом у меня получилось воссоздать погоню монстра в другом месте, с помощью того самого маршрута самого события, но там он просто двигался к игроку. К тому же, если честно, когда на его пути появлялась преграда, тот врезался в неё и тупил, что привело к необходимости дать ему частичную проходимость сквозь объекты. И к тому же отрубался (переставал гнаться) если оказывался слишком далеко. Хотя последнее всё равно было не так важно в более менее рабочей версии погони, т.к. игрок не мог так сильно оторваться из-за преград на своём пути.
Последнее редактирование: 7 года 7 мес. назад пользователем SiQiuRi. Причина: Подправила ясность

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Zoom
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Гавкаю прямиком в светлое будущее
Даритель Стимкея Проект месяца 3 место Проект месяца 2 место Проект месяца 1 место Тестер 3 место
Больше
7 года 7 мес. назад - 7 года 7 мес. назад #106415 от Zoom
1) Я бы мог подсказать как именно сделать ивентом, если бы был приложен проект (не обязательно весь, только часть с картой, монстром и игроком).
2) Лучше всего для такого пользоваться плагинами (намного быстрее и удобнее выходит). Можешь глянуть (англ. язык):
* yanfly.moe/2015/10/21/yep-20-event-chase-player/ — позволяет ивенту гоняться за игроком
* yanfly.moe/2015/10/09/yep-1-core-engine/ — ядро, нужно для работы всех плагинов Янфлая
* yanfly.moe/2015/10/20/yep-18-region-restrictions/ — бонус, не обязательно использовать, но с его помощью можно запретить/разрешить игроку/ивентам (или вообще всем сразу) ходить по определенным регионам.
Последнее редактирование: 7 года 7 мес. назад пользователем Zoom. Причина: Не могу в грамматику
Спасибо сказали: Mur, Doctor_Bug

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Поддержка Фонда Разработчик Проект месяца 3 место Учитель Оратор Даритель Стимкея 2 место За 2 место на конкурсе маппинга Программист Ruby Паладин
Больше
7 года 7 мес. назад - 7 года 7 мес. назад #106418 от Dmy

SiQiuRi пишет: Оба события работаю в "параллельном" режиме. [...] Для начала он почему-то не шагает.

У команды задания маршрутов во втором событии установлена галочка «Ждать»? (Или, как вариант, какие-то другие ограничения, чтобы событие не выполнялось постоянно?)

Если её не установить, то событие будет постоянно переписывать маршрут, и он никогда не выполниться: только-то начался выполняться старый маршрут, как ему дают новый маршрут (он такой же, но мейкер всё равно попытается его выполнить с начала).
Последнее редактирование: 7 года 7 мес. назад пользователем Dmy.
Спасибо сказали: SiQiuRi

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
7 года 6 мес. назад #106622 от SiQiuRi
Спасибо, это было действительно оно (хотя за недельку работы с лабиринтом я уже это заметила и исправила). Но всё равно спасибо. Вы бы меня спасли, если бы я продолжила тормозить.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
7 года 6 мес. назад - 7 года 6 мес. назад #106623 от SiQiuRi
Спасибо за предложение, Zoom, но я уже решила эту проблему. Своеобразно, но решила. Но если у меня возникнет подобная проблема вновь, я обязательно обращусь к вам, с приложенным файлом, за советом.
И спасибо за наводку на плагины, пусть я всё ещё буду стараться их не использовать пока это возможно.
Последнее редактирование: 7 года 6 мес. назад пользователем SiQiuRi. Причина: Уточнила к кому обращаюсь

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.103 секунд
Работает на Kunena форум