Доброе утро!
Это снова девушка со слизью вместо мозгов~.
И, удержав себя от болтовни, сразу перейду к делу:
Пыталась тут с помощью ИД регионов создать, так сказать, искусственный интеллект событию-монстру. Он должен был бродить по лабиринту и в случае обнаружения игрока, гнаться за ним. Собственно я ожидала ошибок, но у меня не получилось даже толково запустить эту систему.
Напоминаю, работаю с 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 и только после этого, остановившись, издаёт заданный звук, вместо того что бы методично (согласно частоте) шагать пока не выйдет из региона, как планировалось. Во-вторых он не останавливается на поворотах, если вернуть код отвечающий за них, а продолжает идти пока не упрётся в стену. При этом он полностью игнорирует игрока даже если тот изначально находится в заданном регионе, не смотря на то что проверка на наличие игрока стоит выше чем проверка на его отсутствие.
Постскриптум - Если есть вопрос зачем я сделала проверку на отсутствие, то это было попыткой исправить проблему. Изначально, вместо неё было просто "шаг вперёд и заданный звук". Но совершенно ничего не изменилось.
Заранее спасибо всем тем кто ответит. А то я сейчас зароюсь обратно в попытке решить проблему и одна слизь знает, когда вернусь посмотреть что здесь.
Пост-постскриптум - При этом у меня получилось воссоздать погоню монстра в другом месте, с помощью того самого маршрута самого события, но там он просто двигался к игроку. К тому же, если честно, когда на его пути появлялась преграда, тот врезался в неё и тупил, что привело к необходимости дать ему частичную проходимость сквозь объекты. И к тому же отрубался (переставал гнаться) если оказывался слишком далеко. Хотя последнее всё равно было не так важно в более менее рабочей версии погони, т.к. игрок не мог так сильно оторваться из-за преград на своём пути.