Вопросы-ответы по RenPy

Разработка игр на RenPy, обсуждение реализации, вопросы "Как сделать?"
tadome
Сообщений: 12
Зарегистрирован: 04 авг 2017, 07:43

Re: Вопросы-ответы по RenPy

Сообщение tadome » 11 авг 2017, 20:42

dmit писал(а):Проще воспользоваться списком а не десятью переменными:

Код: Выбрать все

define vp = []   
label start:
    $ vp = [1,2,3,4,5,6,7,8,9,0]
    $ renpy.random.shuffle(vp) #перемешивание списка
    $ a = " ".join(map( str, vp )) #преобразование числового списка для показа
    "%(a)s"
    $ a = vp[0] #нулевой элемент списка
    "%(a)s"
    $ a = vp[1] #первый элемент
    "%(a)s"
    jump start


Спасибо за совет.
Но, мне кажется, что для меня это не тот вариант. Я данных мало дал наверное, вот, что я хочу сделать.
для каждого прохода теста вопросы перемешиваются...
есть тест из десяти вопросов, необходимо рандомно присвоить номера вопросам, например VP1=6(выбирается вопрос которому присвоен 6 номер) и т.д. тогда правильный ответ ot1=vp1, до этого объявлен счетчик начиная с 1 и при каждом проходе ВОПРОСА счетчик увеличивается на 1 и делается это до того пока переменная не равна 10. То есть за каждый проход вопроса счетчик растет и вставляется новый вопрос из заранее перемешанных. Вот так путано, но надеюсь понятна идея и реализация. ПС: просто линейный тест я сделал там десять фактически одинаковых фрагментов с замененными вопросами и ответами, но хотелось по новой логике попробовать.

Аватар пользователя
dmit
Сообщений: 47
Зарегистрирован: 28 апр 2016, 00:03
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение dmit » 11 авг 2017, 23:18

tadome писал(а): например VP[1]=6(выбирается вопрос которому присвоен 6 номер) и т.д. тогда правильный ответ ot1=vp[1], до этого объявлен счетчик начиная с 1 и
Если по логике, то её надо подробно описать :)

tadome
Сообщений: 12
Зарегистрирован: 04 авг 2017, 07:43

Re: Вопросы-ответы по RenPy

Сообщение tadome » 11 авг 2017, 23:43

dmit писал(а):
tadome писал(а): например VP[1]=6(выбирается вопрос которому присвоен 6 номер) и т.д. тогда правильный ответ ot1=vp[1], до этого объявлен счетчик начиная с 1 и
Если по логике, то её надо подробно описать :)

голова вообще чет не варит после работы да и поздновато.
Вон какого монстра создал :twisted:
label start:

scene bg room

show eileen happy

e "Вы создали новую игру Ren'Py."
# $ pred = "{size=+10}{b}На «Х» начинается. \nИз трех букв состоит.\nКогда работает стоит,\nКогда кончает кланяется!{/b}{/size}\n{i}Что это?{/i}"

$ vp = [1,2,3,4,5,6,7,8,9,0]
$ renpy.random.shuffle(vp) #перемешивание списка
$ a = " ".join(map( str, vp )) #преобразование числового списка для показа
"%(a)s"
if vp[0] == 0:
$ dozvop = "0"
$ dozotv = "0"
if vp[0] == 1:
$ dozvop = "1"
$ dozotv = "1"
if vp[0] == 2:
$ dozvop = "2"
$ dozotv = "2"
if vp[0] == 3:
$ dozvop = "3"
$ dozotv = "3"
if vp[0] == 4:
$ dozvop = "4"
$ dozotv = "4"
if vp[0] == 5:
$ dozvop = "5"
$ dozotv = "5"
if vp[0] == 6:
$ dozvop = "6"
$ dozotv = "6"
if vp[0] == 7:
$ dozvop = "7"
$ dozotv = "7"
if vp[0] == 8:
$ dozvop = "8"
$ dozotv = "8"
if vp[0] == 9:
$ dozvop = "9"
$ dozotv = "9"
centered "{size=+10}[dozvop]{/size}"
centered "{size=+10}[dozotv]{/size}"

jump start

tadome
Сообщений: 12
Зарегистрирован: 04 авг 2017, 07:43

Re: Вопросы-ответы по RenPy

Сообщение tadome » 12 авг 2017, 00:59

tadome писал(а):
dmit писал(а):
tadome писал(а): например VP[1]=6(выбирается вопрос которому присвоен 6 номер) и т.д. тогда правильный ответ ot1=vp[1], до этого объявлен счетчик начиная с 1 и
Если по логике, то её надо подробно описать :)


Спасибо за помощь.
Все решил эту задачу, вроде все работает, осталось шлифануть.
Теперь:
1) Десять вопросов каждый раз при прохождении теста перетасовываются.
2) Вопрос, ответ, "Просьба ввести ответ", фраза если не успел ввести ответ все зависят от номера(при перетасовке)
3) когда десять вопросов будут заданы перескакивает на следующую метку
4)Сохраняет переменную в которой содержатся балы полученные в тесте.

(завтра точно все проверю :) )

Аватар пользователя
dmit
Сообщений: 47
Зарегистрирован: 28 апр 2016, 00:03
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение dmit » 12 авг 2017, 11:52

Не до конца всё описано, но думаю это может помочь:
 

Код: Выбрать все

    $ vp = [["вопрос раз"," один ","нет1","нет2","нет3"],
            ["вопрос два","нет1","нет2"," два ","нет3"],
            ["третий вопрос"," три ","нет1","нет2","нет3"]]
    $ renpy.random.shuffle(vp)
    $ tru = 0 #счётчик правильных ответов
    while len(vp)>0:
        $ vv=vp[0][0]
        $ a =vp[0][1]
        $ b =vp[0][2]
        $ c =vp[0][3]
        $ d =vp[0][4]
        menu:
            "%(vv)s"
            "%(a)s":
                $ w = a
            "%(b)s":
                $ w = b
            "%(c)s":
                $ w = c
            "%(d)s":
                $ w = d
       
        if w[0]== " ": # правильный ответ выделен пробелами до и после
            $ tru+=1 
           
        $ del vp[0] # удаление заданного вопроса
    "правильных ответов - %(tru)s"
пример на три вопроса (больше просто лень делать:)
вопросы задаются вперемежку один за другим до их окончания и предлагается выбрать правильный ответ (меню)
из четырёх.

A_Raw
Сообщений: 5
Зарегистрирован: 22 мар 2017, 23:54

Re: Вопросы-ответы по RenPy

Сообщение A_Raw » 17 авг 2017, 11:44

у меня такой вопрос: функция ui.callsinnewcontext позволяет вызвать скрипт в новом контексте, но её, насколько я понял, можно применять только с нажатием кнопки. Есть ли возможность как-то вызвать скрипт в новом контексте просто из скрипта, безо всяких кнопок, с тем же эффектом который дает ui.callsinnewcontext?

ncpgames
Сообщений: 1
Зарегистрирован: 27 окт 2017, 18:28

Re: Вопросы-ответы по RenPy

Сообщение ncpgames » 27 окт 2017, 18:30

Пытался разархивировать архив

Изображение

Изображение

Аватар пользователя
dmit
Сообщений: 47
Зарегистрирован: 28 апр 2016, 00:03
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение dmit » 03 фев 2018, 13:49

Как-то видел в интернете сайт где описан инструмент для переноса (или скорее воспроизведения) скриптов PenPy в браузер.
Ни кто не сталкивался с таким? Имя инструмента вылетело из памяти напрочь :(

KabiReactor
Сообщений: 2
Зарегистрирован: 26 фев 2018, 19:47

Re: Вопросы-ответы по RenPy

Сообщение KabiReactor » 26 фев 2018, 19:52

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

Аватар пользователя
Skaz
Администратор
Сообщений: 1992
Зарегистрирован: 30 июл 2015, 14:52
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение Skaz » 27 фев 2018, 10:35

KabiReactor писал(а):А что делать, если после переустановки виндоус ренру не видит мой проект, что я создавала на прошлом виндоус?(когда переносила проект из ноутбука на компьютер и обратно было всё нормально)
Изменился путь к папке проектов? Если да, чтобы задать путь нужно:
* Запустить Renpy
* Нажать пункт настройки (справа внизу)
* В новом окне задать путь (слева вверху)

KabiReactor
Сообщений: 2
Зарегистрирован: 26 фев 2018, 19:47

Re: Вопросы-ответы по RenPy

Сообщение KabiReactor » 27 фев 2018, 14:43

Skaz писал(а):
KabiReactor писал(а):А что делать, если после переустановки виндоус ренру не видит мой проект, что я создавала на прошлом виндоус?(когда переносила проект из ноутбука на компьютер и обратно было всё нормально)
Изменился путь к папке проектов? Если да, чтобы задать путь нужно:
* Запустить Renpy
* Нажать пункт настройки (справа внизу)
* В новом окне задать путь (слева вверху)

Спасибо, помогло

Аватар пользователя
Anonim_671Games
Сообщений: 3
Зарегистрирован: 25 мар 2018, 21:52

Re: Вопросы-ответы по RenPy

Сообщение Anonim_671Games » 25 мар 2018, 22:03

Здравствуйте хотел спросить, есть ли какая нибудь команда для консоли в RenPy чтобы узнать все переменные ?, или какой нибудь другой способ узнать название переменной (мне очень нужно узнать имя переменной, но так как игра не моя и исходников от нее у меня нет то приходиться узнавать непосредственно через игру)

Аватар пользователя
Skaz
Администратор
Сообщений: 1992
Зарегистрирован: 30 июл 2015, 14:52
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение Skaz » 26 мар 2018, 20:54

Anonim_671Games писал(а):Здравствуйте хотел спросить, есть ли какая нибудь команда для консоли в RenPy чтобы узнать все переменные ?, или какой нибудь другой способ узнать название переменной (мне очень нужно узнать имя переменной, но так как игра не моя и исходников от нее у меня нет то приходиться узнавать непосредственно через игру)
Скорее всего вам нужно Developer Menu. Вызывается нажатием Shift+D. Детали здесь: https://www.renpy.org/doc/html/developer_tools.html

Аватар пользователя
Anonim_671Games
Сообщений: 3
Зарегистрирован: 25 мар 2018, 21:52

Re: Вопросы-ответы по RenPy

Сообщение Anonim_671Games » 27 мар 2018, 14:00

Skaz писал(а):
Anonim_671Games писал(а):Здравствуйте хотел спросить, есть ли какая нибудь команда для консоли в RenPy чтобы узнать все переменные ?, или какой нибудь другой способ узнать название переменной (мне очень нужно узнать имя переменной, но так как игра не моя и исходников от нее у меня нет то приходиться узнавать непосредственно через игру)
Скорее всего вам нужно Developer Menu. Вызывается нажатием Shift+D. Детали здесь: https://www.renpy.org/doc/html/developer_tools.html

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

P.S Может есть какой нибудь способ открыть rpyc архив чтобы там не было белиберды вроде #@#$FSDf3%#$DFDs ?

Аватар пользователя
dmit
Сообщений: 47
Зарегистрирован: 28 апр 2016, 00:03
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение dmit » 27 мар 2018, 18:39

Если задать config.developer=False (что делает нормальный программист перед релизом), то это меню не будет доступно.
А декомпиляторов для renpy много, гугли unrpyc-master, unrpa-master, lolbot_decompile.
Посмотри хотя бы здесь -http://anivisual.net/blog/2014-09-30-66

Аватар пользователя
Anonim_671Games
Сообщений: 3
Зарегистрирован: 25 мар 2018, 21:52

Re: Вопросы-ответы по RenPy

Сообщение Anonim_671Games » 27 мар 2018, 19:09

dmit писал(а):Если задать config.developer=False (что делает нормальный программист перед релизом), то это меню не будет доступно.
А декомпиляторов для renpy много, гугли unrpyc-master, unrpa-master, lolbot_decompile.
Посмотри хотя бы здесь -http://anivisual.net/blog/2014-09-30-66

rpa архив, я то могу открыть речь идет о том как открыть архив rpyc (т.е он зашифрован и редактировать его не получится в отличии от rpa)
Вот пример как я пытался распаковать эти архивы (постоянно выбивало вот такую ошибку)
 Ошибка

Код: Выбрать все

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/decompile.rpy", line 132, in script
    init -9001 python:
  File "game/decompile.rpy", line 1565, in <module>
    __LB_decompile_all()
  File "game/decompile.rpy", line 1534, in _m1_decompile__LB_decompile_all
    __LB_decompile_item(val)
  File "game/decompile.rpy", line 1473, in _m1_decompile__LB_decompile_item
    result += "onlayer " + layer.encode("utf-8") + " "
AttributeError: 'NoneType' object has no attribute 'encode'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/decompile.rpy", line 132, in script
    init -9001 python:
  File "D:\Games\TextGames\renpy-6.99.14.1-sdk\WaW0.42-Public-pc\renpy\ast.py", line 848, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "D:\Games\TextGames\renpy-6.99.14.1-sdk\WaW0.42-Public-pc\renpy\python.py", line 1812, in py_exec_bytecode
    exec bytecode in globals, locals
  File "game/decompile.rpy", line 1565, in <module>
    __LB_decompile_all()
  File "game/decompile.rpy", line 1534, in _m1_decompile__LB_decompile_all
    __LB_decompile_item(val)
  File "game/decompile.rpy", line 1473, in _m1_decompile__LB_decompile_item
    result += "onlayer " + layer.encode("utf-8") + " "
AttributeError: 'NoneType' object has no attribute 'encode'

Windows-7-6.1.7601-SP1
Ren'Py 6.99.14.1.3218
 
Tue Mar 27 20:56:34 2018

Т.е мне нужны скрипты игры и какие переменные они изменяют (название переменной) Я уже пытался открыть rpa архивы, максимум что добился так это распаковка изображений и музыки, а скриптов нет только зашифрованные архива rpyc который никак не расшифровать.

coj
Сообщений: 1
Зарегистрирован: 21 фев 2019, 17:00

Re: Вопросы-ответы по RenPy

Сообщение coj » 21 фев 2019, 17:51

Добрый день, кто нибудь может мне помочь с GUI? Нужен код для создания параллакса, а он только для питона, есть ли возможность сделать работающий параллакс на GUI?

Rafaam
Сообщений: 2
Зарегистрирован: 26 сен 2019, 06:58

Re: Вопросы-ответы по RenPy

Сообщение Rafaam » 28 сен 2019, 11:23

Здравствуйте. Никогда не имел дела с RenPy, так что интересующие меня вопросы, возможно, прозвучат довольно странно.

1) Как и где фиксируется, какой текст игрок уже видел, благодаря чему игра знает, что можно быстро перематывать, а что - нет?
2) Если в игре не реализована быстрая перемотка уже прочитанного однажды текста, но файлы игры не запакованы, перемотку можно как-то самостоятельно добавить? Или для этого нужно будет много всего перелопатить?
3) Тот же вопрос, но о перемотке назад (с тачпада иногда получается двойной клик, и часть текста случайно пропускается, а вернуться к нему можно далеко не в каждой ВН)
4) Если в игре реализована перемотка назад, но на ограниченное кол-во "сообщений", что нужно изменить/удалить, чтобы снять это ограничение?

Аватар пользователя
Skaz
Администратор
Сообщений: 1992
Зарегистрирован: 30 июл 2015, 14:52
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение Skaz » 29 сен 2019, 08:49

Rafaam писал(а):Здравствуйте. Никогда не имел дела с RenPy, так что интересующие меня вопросы, возможно, прозвучат довольно странно.

1) Как и где фиксируется, какой текст игрок уже видел, благодаря чему игра знает, что можно быстро перематывать, а что - нет?
Не владею информацией, не было необходимости.

Rafaam писал(а):2) Если в игре не реализована быстрая перемотка уже прочитанного однажды текста, но файлы игры не запакованы, перемотку можно как-то самостоятельно добавить? Или для этого нужно будет много всего перелопатить?

Быстрая перемотка включается/выключается в настройках пользователем. Я не встречался с ситуацией, отключения перемотки вперед.

Rafaam писал(а):3) Тот же вопрос, но о перемотке назад (с тачпада иногда получается двойной клик, и часть текста случайно пропускается, а вернуться к нему можно далеко не в каждой ВН)

Это ограничивается программно. Переменная config.hard_rollback_limit задает количество доступных шагов назад.
Слишком длинный откат назад может привести к проблемам. Сталкивался с ситуацией, когда движок RenPy некорректно отрабатывал откат создания составных спрайтов, при откате больше, чем на шаг. В результате перемотки изображение кривело или вообще игра выкидывала ошибку.

Rafaam писал(а):4) Если в игре реализована перемотка назад, но на ограниченное кол-во "сообщений", что нужно изменить/удалить, чтобы снять это ограничение?

См. выше.

Rafaam
Сообщений: 2
Зарегистрирован: 26 сен 2019, 06:58

Re: Вопросы-ответы по RenPy

Сообщение Rafaam » 30 сен 2019, 14:29

Skaz писал(а):Не владею информацией, не было необходимости.

Жаль. Сам я подозреваю файл persistent из папки с сохранениями, но уверенности никакой нет

Skaz писал(а):Быстрая перемотка включается/выключается в настройках пользователем. Я не встречался с ситуацией, отключения перемотки вперед.

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

Skaz писал(а):Переменная config.hard_rollback_limit задает количество доступных шагов назад.

Понятно, большое Вам спасибо)

Симона
Сообщений: 1
Зарегистрирован: 11 янв 2020, 03:43

Re: Вопросы-ответы по RenPy

Сообщение Симона » 11 янв 2020, 03:55

Привет, пришла с вопросом.
Когда-то давно сидела в РенПае все было окей, потом забросила, сейчас скачала новую версию и редактор которым пользовалась (atom) все на офф. сайте. Все распаковала Ренпай работает, а редактор не хочет работать и все. Ни ошибок, ни чего вообще, он просто не запускается. Искала и на других сайтах инфу и пробовала Source Code скачивать. Ну и что с этим делать? Как его запустить? Я даже имена всех папок на английские сменила, лишние символы и пробелы убрала. Просто один вопрос: КАК ЭТО ЗАПУСТИТЬ? :evil:

Аватар пользователя
Skaz
Администратор
Сообщений: 1992
Зарегистрирован: 30 июл 2015, 14:52
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение Skaz » 14 янв 2020, 20:49

Симона писал(а):Привет, пришла с вопросом.
Когда-то давно сидела в РенПае все было окей, потом забросила, сейчас скачала новую версию и редактор которым пользовалась (atom) все на офф. сайте. Все распаковала Ренпай работает, а редактор не хочет работать и все. Ни ошибок, ни чего вообще, он просто не запускается. Искала и на других сайтах инфу и пробовала Source Code скачивать. Ну и что с этим делать? Как его запустить? Я даже имена всех папок на английские сменила, лишние символы и пробелы убрала. Просто один вопрос: КАК ЭТО ЗАПУСТИТЬ? :evil:
Симона, отвечу, но к сожалению, помочь по atom не смогу. Сам пользуюсь VS Code и Sublime, с ними таких проблем не возникает.

Promenadlimpan
Сообщений: 4
Зарегистрирован: 27 фев 2020, 22:44

Re: Вопросы-ответы по RenPy

Сообщение Promenadlimpan » 27 фев 2020, 23:10

Здравствуйте, не могу понять, как реализовать идею. Надо, чтобы разные события происходили от уровня отношений (переменная) разово, циклично или рандомно, но у меня 2 главных героини, и как сделать, чтобы с помощью 1 screen вызывались разные события с разными героиними в одном месте в зависимости от уровня отношений с ними. То есть заходит главный герой в зал у него обычное событие. Он поднял уровень отношений с героинями и если он зайдёт в зал, то будет ивент с одной героиней, который воспроизведется только 1 раз, а в следующий раз будет опять обычный ивент, до повышения уровня. Я попытался сделать, что-то похожее, но у меня не получилось.

Код: Выбрать все


 
 
screen Flinn_mansion:
 imagemap:
 idle "Room.jpg"
 hover "Room_hover.jpg"
 
 hotspot (259, 341, 505, 333) action Jump("Bed")
 hotspot (1215, 12, 54, 622) action Jump("Hall")
 
screen Hall:
 imagemap:
 idle "Hall.jpg"
 hover "Hall_hover.jpg"
 
 hotspot (1019, 212, 63, 333) action Jump("Ba")
 hotspot (321, 182, 473, 362) action Jump("Flinn_mansion")

 
# Игра начинается здесь:
label Ba:
 
 if Times <= 2:
 
 $ Times = Times + 1
 
 jump BathEvent1
 
 elif Times <= 4:
 
 e "е[Times]"
 
 $ Times = Times + 1
 
 jump Hall
 
 elif Times == 0:
 e "..., [Times]"
 
 $ Times = Times + 1
 
 jump Hall
 else:
 jump Hall
 
label BathEvent1:
 
 $ q = {1: True, 2: True}
 
 if q[1] == True:
 e "q1[q[1]]"
 
 $ q[1] = False
 
 jump Hall
 
 elif q[2] == True:
 e "q2[q[2]]"
 
 $ q[2] = False
 
 jump Hall
 else:
 jump Hall
 
label Bed:
 
 e "Вы поспали!"
 
 jump Flinn_mansion
 
label Hall:
 call screen Hall
 
label Flinn_mansion:
 call screen Flinn_mansion
 
label start:
 
 python:
 name = renpy.input("Как тебя зовут?")
 
 name = name.strip()
 
 call screen Flinn_room

Promenadlimpan
Сообщений: 4
Зарегистрирован: 27 фев 2020, 22:44

Re: Вопросы-ответы по RenPy

Сообщение Promenadlimpan » 28 фев 2020, 08:37

Promenadlimpan писал(а):Здравствуйте, не могу понять, как реализовать идею. Надо, чтобы разные события происходили от уровня отношений (переменная) разово, циклично или рандомно, но у меня 2 главных героини, и как сделать, чтобы с помощью 1 screen вызывались разные события с разными героиними в одном месте в зависимости от уровня отношений с ними. То есть заходит главный герой в зал у него обычное событие. Он поднял уровень отношений с героинями и если он зайдёт в зал, то будет ивент с одной героиней, который воспроизведется только 1 раз, а в следующий раз будет опять обычный ивент, до повышения уровня. Я попытался сделать, что-то похожее, но у меня не получилось.

Код: Выбрать все


 
 
screen Flinn_mansion:
 imagemap:
 idle "Room.jpg"
 hover "Room_hover.jpg"
 
 hotspot (259, 341, 505, 333) action Jump("Bed")
 hotspot (1215, 12, 54, 622) action Jump("Hall")
 
screen Hall:
 imagemap:
 idle "Hall.jpg"
 hover "Hall_hover.jpg"
 
 hotspot (1019, 212, 63, 333) action Jump("Ba")
 hotspot (321, 182, 473, 362) action Jump("Flinn_mansion")

 
# Игра начинается здесь:
label Ba:
 
 if Times <= 2:
 
 $ Times = Times + 1
 
 jump BathEvent1
 
 elif Times <= 4:
 
 e "е[Times]"
 
 $ Times = Times + 1
 
 jump Hall
 
 elif Times == 0:
 e "..., [Times]"
 
 $ Times = Times + 1
 
 jump Hall
 else:
 jump Hall
 
label BathEvent1:
 
 $ q = {1: True, 2: True}
 
 if q[1] == True:
 e "q1[q[1]]"
 
 $ q[1] = False
 
 jump Hall
 
 elif q[2] == True:
 e "q2[q[2]]"
 
 $ q[2] = False
 
 jump Hall
 else:
 jump Hall
 
label Bed:
 
 e "Вы поспали!"
 
 jump Flinn_mansion
 
label Hall:
 call screen Hall
 
label Flinn_mansion:
 call screen Flinn_mansion
 
label start:
 
 python:
 name = renpy.input("Как тебя зовут?")
 
 name = name.strip()
 
 call screen Flinn_room


Как-то странно сформировал. В общем, я хочу сделать систему ивентов, но не понимаю, как это написать в коде.

Аватар пользователя
Skaz
Администратор
Сообщений: 1992
Зарегистрирован: 30 июл 2015, 14:52
Контактная информация:

Re: Вопросы-ответы по RenPy

Сообщение Skaz » 29 фев 2020, 14:21

Promenadlimpan писал(а):
Promenadlimpan писал(а):Здравствуйте, не могу понять, как реализовать идею. Надо, чтобы разные события происходили от уровня отношений (переменная) разово, циклично или рандомно, но у меня 2 главных героини, и как сделать, чтобы с помощью 1 screen вызывались разные события с разными героиними в одном месте в зависимости от уровня отношений с ними. То есть заходит главный герой в зал у него обычное событие. Он поднял уровень отношений с героинями и если он зайдёт в зал, то будет ивент с одной героиней, который воспроизведется только 1 раз, а в следующий раз будет опять обычный ивент, до повышения уровня. Я попытался сделать, что-то похожее, но у меня не получилось.

Код: Выбрать все


 
 
screen Flinn_mansion:
 imagemap:
 idle "Room.jpg"
 hover "Room_hover.jpg"
 
 hotspot (259, 341, 505, 333) action Jump("Bed")
 hotspot (1215, 12, 54, 622) action Jump("Hall")
 
screen Hall:
 imagemap:
 idle "Hall.jpg"
 hover "Hall_hover.jpg"
 
 hotspot (1019, 212, 63, 333) action Jump("Ba")
 hotspot (321, 182, 473, 362) action Jump("Flinn_mansion")

 
# Игра начинается здесь:
label Ba:
 
 if Times <= 2:
 
 $ Times = Times + 1
 
 jump BathEvent1
 
 elif Times <= 4:
 
 e "е[Times]"
 
 $ Times = Times + 1
 
 jump Hall
 
 elif Times == 0:
 e "..., [Times]"
 
 $ Times = Times + 1
 
 jump Hall
 else:
 jump Hall
 
label BathEvent1:
 
 $ q = {1: True, 2: True}
 
 if q[1] == True:
 e "q1[q[1]]"
 
 $ q[1] = False
 
 jump Hall
 
 elif q[2] == True:
 e "q2[q[2]]"
 
 $ q[2] = False
 
 jump Hall
 else:
 jump Hall
 
label Bed:
 
 e "Вы поспали!"
 
 jump Flinn_mansion
 
label Hall:
 call screen Hall
 
label Flinn_mansion:
 call screen Flinn_mansion
 
label start:
 
 python:
 name = renpy.input("Как тебя зовут?")
 
 name = name.strip()
 
 call screen Flinn_room


Как-то странно сформировал. В общем, я хочу сделать систему ивентов, но не понимаю, как это написать в коде.
Системы могут быть самые разные.
Например, можно привязаться к локации. Каждый раз при входе в каждую локацию проверяем уровни отношений и в зависимости от них показываем тот или иной набор хотспотов. В обработчиках нажатия на хотспот проверяем уровни отношений и в зависимости от них показываем тот или иной диалог.
Более удобно программировать это через систему классов, но даже проверка условий условными операторами в процедурах-обработчиках будет работать.


Вернуться в «Разработка игр на RenPy»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 2 гостей