Секретная концовка
Перейти к навигации
Перейти к поиску
Часто задаваемый вопрос: «Как сделать так, чтобы, например, четвертая концовка становилась доступной только при прохождении остальных трёх?» Сделать это довольно просто и быстро, если воспользоваться списками. В нашем случае важно, что каждую концовку нужно посчитать только один раз. И при накоплении в списке нужного количества (пусть будет 3) концовок, становится доступной последняя. Кстати, в список можно закидывать не индекс концовки, а, например, ее название или описание.
init python:
# инициализация постоянных данных при первом запуске
if persistent.ends is None:
persistent.ends = []
# функция. запоминаем, что мы прошли концовку, вносим в список, если ее там не было.
def end(name):
if not name in persistent.ends:
persistent.ends.append(name)
# Игра начинается здесь.
label start:
"Текст новеллы. Бла-бла-бала."
# конструкцию ниже можно использовать в ллюбом месте скрипта
# if len(persistent.ends) >= 3:
# jump end4
# даже прямо в меню выбора
# последний пункт появится, когда будут выбраны хотя бы по разу все остальные
menu:
"Выберите каждый вариант хотя бы по разу. Затем снова запускайте игру."
"К концовке 1":
jump end1
"К концовке 2":
jump end2
"К концовке 3":
jump end3
# следующий пункт меню появится только
# если длина списка пройденных концовок равна 3 и больше
"К концовке 4" if len(persistent.ends) >= 3:
jump end4
return
# сюда переходим при выборе одного из пунктов
label end1:
"Концовка 1."
# запоминаем, что мы ее прошли, вносим в список, если ее там не было
$ end(1)
return
label end2:
"Концовка 2."
$ end(2)
return
label end3:
"Концовка 3."
$ end(3)
return
label end4:
"Концовка 4!"
return
Источник: Renpy для чайников: Секретная концовка
На главную страницу | Книга рецептов Энциклопедии Ren'Py | Renpy для чайников | Вернуться к началу статьи |