- Сообщений: 1274
- Спасибо получено: 1307
Прерыватель (или как ловко встрять в битву)
12 года 11 мес. назад - 12 года 11 мес. назад #60781
от caveman
caveman создал тему: Прерыватель (или как ловко встрять в битву)
Видел я на мейкере множество катсцен, где какие-то НПС дерутся друг с другом, играют или делают еще что-либо, не относящееся к герою, то есть, параллельно. И вот, мне понадобилось встрять героем в это действие, да так ловко, чтобы не попортить само действие. Ведь НПЦ могут двигаться, и делать еще разные ужасные вещи, а потом, после вмешательства героя, "забыть", что делали, или встать не туда, и все пойдет кувырком.
В общем, мне понадобилось безопасное прерывание и восстановление чужих действий.
Скриптов на этот раз не нужно, (а жаль
), а само прерывание делается довольно легко.
В общем, мне понадобилось безопасное прерывание и восстановление чужих действий.
Скриптов на этот раз не нужно, (а жаль
ВНИМАНИЕ: Спойлер!
Сначала пишем само событие (в примере - драка)
В событии пишем 2ю страницу, где ничего не происходит, активируем её по флагу остановки события
Добавляем событие (я добавил просто по попаданию игрока в определенное место - player touch), которое безопасно прервет драку.
Первая страница попросту ставит флаг, означающий, что событие надо остановить
В драке (см скрин 1) есть условие, по окончанию цикла драки, проставляющее флаг, что драка остановилась. Почему цикл? Потому что, надо закончить начатые движения, встать на нужные места на карте. В идеале, нужно разделить битвы или другие действия на такие вот циклы, и поставить проверки прерывания после каждого, чтобы ГГ долго не ждал, пока они закончат.
Смотрим 2ю страницу
здесь просто в loop-e ждем когда они закончат битву, заводим разговор, а в конце снимаем флаг остановки драки, и драка начинается сначала (или если пользовали разные циклы - с того цикла, на котором завершили, или на следующем - тут как вам угодно)
На третьей странице этого события просто реакция ГГ в том случае, если уже поболтал.
Если объяснение непонятно, то тут демо на XP, поясняющее всё
Удачи вам в ваших сценах, которые наглый герой может бесцеремонно прервать.
В событии пишем 2ю страницу, где ничего не происходит, активируем её по флагу остановки события
Добавляем событие (я добавил просто по попаданию игрока в определенное место - player touch), которое безопасно прервет драку.
Первая страница попросту ставит флаг, означающий, что событие надо остановить
В драке (см скрин 1) есть условие, по окончанию цикла драки, проставляющее флаг, что драка остановилась. Почему цикл? Потому что, надо закончить начатые движения, встать на нужные места на карте. В идеале, нужно разделить битвы или другие действия на такие вот циклы, и поставить проверки прерывания после каждого, чтобы ГГ долго не ждал, пока они закончат.
Смотрим 2ю страницу
здесь просто в loop-e ждем когда они закончат битву, заводим разговор, а в конце снимаем флаг остановки драки, и драка начинается сначала (или если пользовали разные циклы - с того цикла, на котором завершили, или на следующем - тут как вам угодно)
На третьей странице этого события просто реакция ГГ в том случае, если уже поболтал.
Если объяснение непонятно, то тут демо на XP, поясняющее всё
Удачи вам в ваших сценах, которые наглый герой может бесцеремонно прервать.
Последнее редактирование: 12 года 11 мес. назад пользователем caveman.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 11 мес. назад #60782
от DeadElf79
DeadElf79 ответил в теме Прерыватель (или как ловко встрять в битву)
Как раз сегодня подобная сцена придумалась)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.089 секунд
