Войти на сайт

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

ТЕМА: Двигающиеся случайные враги

Двигающиеся случайные враги 3 года 4 мес. назад #123551

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 28
  • Спасибо получено: 2
Всем привет.
По умолчанию враги нападают случайно из ниоткуда, когда главный герой просто ходит по карте. Разумеется, если расставить их в настройках карты. Мне нужно, чтобы враги были вполне себе видимыми, а не нападающими из ниоткуда. Часть задуманного я смог воплотить, на приложенных скриншотах показываю, как сделал. Получается так, что когда я подхожу ко врагу, начинается бой со случайным противником, которого я привязал к карте. В случае победы или побега враг пропадает. Это хорошо. Но есть две загвоздки, что меня не устраивают:
1. Никуда не делись нападения случайных врагов из ниоткуда при обычном хождении по карте. Мне это не нужно. Должны быть сражения только с видимыми врагами, как я сделал. В настройках карты любой враг стоит с параметром "whole map", если поставить "specify by region ID", скрипт уже не работает, бой не запускается, оно и понятно - таким образом бой работает только на определенной области, а не на всю карту.
2. Движение врагов. Мне нужно, чтобы они двигались рандомно, пока герой находится далеко. Если он находится в определенном расстоянии от врага (скажем, 4 клетки), то враг бросается на героя. Если убежать, и, соответственно, выйти из этого радиуса, то враг прекращает преследование и спокойно двигается в случайном направлении, как он это делал до своего рывка. Настройка движения "approach" или "turn toward player" через custom не годятся, в этих случаях враг преследует сразу и не успокаивается. Так понимаю, это можно сделать только через какой-то скрипт. Я подсмотрел в другой игре, где всё работает именно так, как я хочу. Там задан параметр custom, а если смотреть путь, то там всего лишь один скрипт: "enable_symbol_encount(1)". Я даже не знаю, куда он ссылается, где этот скрипт смотреть, в script editor много разных скриптов, с таким названием ничего нет. Может это только часть какого-то другого скрипта. Не знаю. Мог бы просто стырить, только вот этот момент непонятен.
Вложения:
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123552

  • Alx_Yago
  • Alx_Yago аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1151
  • Спасибо получено: 2172
  • Проект года 1 место3 место в Обучающем конкурсеОратор1 место в Обучающем конкурсеПроект месяца 1 местоУчитель3 местоПроект года 3 местоПаладинРазработчик
Не уверен насчёт VX, но в МВ работает такое: делаешь на катре событие с автозапуском, которое отключает случайные столкновения и самоудаляется. Это по первому вопросу.
На второй не знаю. Для МВ есть янфлаевский плагин, может и для VX что-то подобное имеется?
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123553

  • Демий
  • Демий аватар
  • Вне сайта
  • Модератор
  • Здесь могла быть ваша реклама
  • Сообщений: 1597
  • Спасибо получено: 1520
  • УчительВетеран1 место в Готв3 место Готв3 местоТестерРазработчикПисатель 2 место
Случайные бои задаются настройками карты. Если здесь ничего не будет, то и случайных боёв не будет:

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

По поводу скрипта, надо попробовать открыть редактор скриптов и, нажав ctrl+shift+f ввести строку: "enable_symbol_encount", скорее всего она будет хотя бы в описании скрипта.
Последнее редактирование: 3 года 4 мес. назад от Демий.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: PringOva, Alx_Yago

Двигающиеся случайные враги 3 года 4 мес. назад #123558

  • Jas6666
  • Jas6666 аватар
  • Вне сайта
  • Мастер
  • Сообщений: 230
  • Спасибо получено: 208
  • 3 местоУчительДаритель Стимкея
я не очень в механике боев но могу предложить такую идею. Переменная, ставишь 1 когда проходишь по эвенту со столкновением, противники врубаются и движутся к тебе проходишь назад по эвенту они снова заняты блужданием. Насчет эвентов по которым ты проходишь чтобы включить переменною если у них не будет проходимости то противники не смогут пройти по эвенту а ты с можешь а значит уйти с огороженной территории они не могут. минус в том что все токи это куча скопированных эвентов на карте, но ты можешь кучу переменных на создавать с разными именами
Вложения:
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123560

  • Безликий
  • Безликий аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 315
  • Спасибо получено: 355
  • Даритель Стимкея2 место в Обучающем конкурсеПоддержка ФондаУчитель
Ниче не понял, но очень интересно.

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

Далее, мы добавляем ивенты врагов на карту с настройкой движения "случайно" и триггером "касание игрока". Тогда они просто шатаются как и куда-попало.

А вот тут есть несколько способов, чтобы заставить их реагировать на приближение героя. Привязывать их триггер к региону, к проверке координат персонажа, сравнении координат одного с другими и т.д. Наверняка есть и готовые решения на скриптах или плагинах.
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123563

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 28
  • Спасибо получено: 2
Alx_Yago пишет:
Не уверен насчёт VX, но в МВ работает такое: делаешь на катре событие с автозапуском, которое отключает случайные столкновения и самоудаляется. Это по первому вопросу.
На второй не знаю. Для МВ есть янфлаевский плагин, может и для VX что-то подобное имеется?
Есть такая штука - change encounter: disable. По логике, это именно оно. Но я поставил это на нужной мне карте, а там всё равно враги нападают из ниоткуда.

Демий пишет:
Случайные бои задаются настройками карты. Если здесь ничего не будет, то и случайных боёв не будет:
Так что, лучше пересмотреть систему случайных боёв. Можно сделать таким образом.
У меня всё нужное в этом разделе как раз добавлено, о чем я и сказал. Я видел в другой игре, это работает именно так: все случайные враги прописаны в это поле, но они не появляются на пустом месте, а только при столкновении. Само столкновение сделать легко, осталось только как-то убрать их появление из ниоткуда.

Безликий пишет:
Чтобы не было случайных нападений на карте, есть как раз таки галочка "рандом энкаунтер" если её убрать, то случайных столкновений не будет.
Где такая галочка находится? Не могу найти.
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123564

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 28
  • Спасибо получено: 2
Демий пишет:
По поводу скрипта, надо попробовать открыть редактор скриптов и, нажав ctrl+shift+f ввести строку: "enable_symbol_encount", скорее всего она будет хотя бы в описании скрипта.
Нашло 2 скрипта, только я во всех этих огромных кодах не разбираюсь. Хотя вроде похоже по определенным словам, что это как-то связано с движением. Ради интереса попробовал скопировать оба скрипта (и по отдельности) к себе - игра сразу выдаёт ошибку и вылетает. Скорее всего, там уже намудрено с другими какими-то файлами, которых у меня нет, всё уже привязано.
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123565

  • LalalalalaBB
  • LalalalalaBB аватар
  • Вне сайта
  • Светлый дракон
  • Раз в год и палка стреляет
  • Сообщений: 570
  • Спасибо получено: 437
  • Проект месяца 2 местоПроект года 3 местоХудожникКомпозиторПроект месяца 1 местоОратор
Можно поискать плагин на зрение врагов и использовать его. На MV такой точно есть.
Потом указать, что когда событие видит игрока, сделать ему маршрут к игру, а потом битву. После чего локальный
переключатель.
Хотя, походу, я немного неправильно понял вопрос...
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123568

  • Jas6666
  • Jas6666 аватар
  • Вне сайта
  • Мастер
  • Сообщений: 230
  • Спасибо получено: 208
  • 3 местоУчительДаритель Стимкея
Hyperion дай ссылку на игру на которою все ссылаешься и еще демку своего проекта ну или его кусочка в виде только боевой системы которою ты там сделал, так будет нагляднее и более понятно. А то я так понимаю что то что ты хочешь сделать можно реализовать разными способами, а ты хочешь именно как в той игре
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123582

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 28
  • Спасибо получено: 2
Hyperion пишет:
Есть такая штука - change encounter: disable. По логике, это именно оно. Но я поставил это на нужной мне карте, а там всё равно враги нападают из ниоткуда.


Тут разобрался. Этот момент не работал, потому что не поставил Control self switch, теперь враги не лезут из ниоткуда, бои только с "видимыми". Ура.

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

Игра, где я видел такое - Dark hero party/Thug hero party. Можно еще посмотреть геймплей Hyperdimension Neptunia, там принцип примерно такой же. Хотя там враги скорее привязаны к определенной местности, особо далеко не убегают.
Мне не обязательно именно так делать.
Последнее редактирование: 3 года 4 мес. назад от Hyperion.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Jas6666

Двигающиеся случайные враги 3 года 4 мес. назад #123653

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 28
  • Спасибо получено: 2
Нашел нечто похожее на задумку:

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Только вот проблема в том, что это для MV. Я так и не понял, можно ли плагины для MV как-то в VX Ace запихнуть, и в интернете что-то информации об этом не видно. Если я всё правильно понимаю, то в VX Ace плагинов как таковых нет, всё делается через скрипты. Но возможно ли плагины для MV использовать как скрипты в VX Ace? Я подумал, что делается это просто - открыл скачанный плагин (.js) в Wordpad, он выглядит как типичный скрипт. Скопировал в скрипты себе в проект VXA. Но с этим скриптом игра не запускается, выдаёт ошибку. Попробовал специально включить этот плагин в MV - там всё работает без проблем. Может, в случае с VX Ace надо что-то менять в самом тексте (что?), а может, это в принципе невозможно, не знаю.
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 4 мес. назад #123719

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 28
  • Спасибо получено: 2
Пробил в гугле enable_symbol_encount, сразу нашел это:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Это как раз тот самый скрипт. Попробовал оттуда скопировать - тоже самое:
Script '' line 322: NoMethodError occured.
undefined method `zero?' for nil:NilClass

Такую ошибку выдаёт.
Линия 322 содержит такую строчку:
!@stealth_count.zero?
В чем проблема, не понятно.
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 3 мес. назад #123897

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 28
  • Спасибо получено: 2
Разобрался. Тему можно закрывать.
Если вдруг кто-то будет искать по этой же проблеме - такая ошибка возникает при загрузке сейва. Надо начать новую игру, и тогда скрипт работает.
Администратор запретил публиковать записи гостям.

Двигающиеся случайные враги 3 года 3 мес. назад #124168

  • Nlua
  • Nlua аватар
  • Вне сайта
  • Путник
  • Сообщений: 2
Хотя тема и закрыта, в mv это можно решить реально через переменную
Допустим Н случайно от 1 до 5
если н 1
обработка битвы 1
иначе:
если н 2
обработка битвы 2
иначе ...
если н 5
обработка битвы 5

конец
конец
...
конец
Тогда можно вообще обойтись без случайных событий, а исчезнование врага прописать в "если победа".
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.257 секунд