Пользователи · Поиск по форуму · · Вход в аккаунт · Регистрация |
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ) |
Помощь по Ren'Py (Вопрос\Ответ) |
Katruna#1277Кира353, Привет. Тут достаточно все просто, объясню на примере своего же куска кода.
В начале игры, сразу после строчки "label start" надо прописать все необходимые переменные, которые будешь использовать для выхода на те или иные концовки. Код label start: $ red = 0 $ green = 0 $ blue = 0 У меня здесь 3 переменных, т.к. есть три персонажа, на чьи концовки можно выйти. Переменные задаются таким образом, пишешь знак $ и после него название переменной. Оно может быть любое. Далее, нам нужно прописать, в каких ситуациях, переменные изменяются. Я чаще всего делаю, это в момент выбора действия. Код menu: "Тем более, никто из девушек точно не сможет отказаться от моего предложения, ведь я..." "Такой умный и рассудительный парень.": $ green +=1 jump first "Такой сильный и страстный парень.": $ red +=1 jump second "Такой неотразимый и авантюрный парень.": $ blue +=1 jump third Что тут происходит? Игроку дан выбор, menu запускает возможность выбора, и в каждом из выборов дает очки к той или иной переменной. т.е. делая выбор, игрок в любом случае получит +1 очко к какой-то из концовок. п.с. не обязательно давать очки в момент развилки, можно в любой момент написать просто Код $ red +=1 А теперь как сделать, что бы игра показала нужную концовку. Для разных концовок лучше всего создать отдельные лейболы и перед ними написать такой кусок кода. Код if green == 2: jump good_green elif green != 2: jump bad_green Тут идет проверка, сколько игрок к этому моменту набрал очков. Если он смог набрать достаточно очков для хорошей концовки - программа автоматом перекидывает на кусок текста с хорошей концовкой. Если нет - то в плохую. bad_green и good_green это отдельно прописанные лейблы. Код label bad_green: Постаралась как можно подробнее все написать, но если остались вопросы - пиши. ) |
agrokowka#1278Нужна помощь!
Простейший код: есть список названий объектов menu, из них нужно выбрать случайное, и так три раза. Однако внутриигровое меню может встретиться дважды, хотя его название было удалено из списка. Код define questions = ["q1", "q2", "q3", "q4"] init python: import random def random_question(): i = random.choice(questions) renpy.call(i) questions.remove(i) |
dmit#1281agnessha, для каждого персонажа можно сделать своё положение окна имени, например сдвинуть по горизонтали:
Код define ep = Character('Эйлин', who_xpos=600) планета FOREVER!!! Unkenbro team
|
lf2mr#1282Всем привет, возник такой вопрос, можно ли сделать так, что бы имя главного персонажа отображалось слева в диалоговом окне, а имена всех других справа? Код define mychar = Character("[player_name]", color ="#FA63B1") Код if who is not None: window: id "namebox" style "namebox" text who id "who" Код if who is not None: window: id "namebox" style "namebox" if who != player_name: # "500" в строке ниже - это смещение на 500 точек вправо всех имён персонажей, кроме player_name xpos gui.name_xpos + 500 text who id "who" |
dmit#1283lf2mr, да, рабочий код, но излишний. Для смещения всех имён достаточно задать параметр gui.name_xpos в файле gui, а для одного гг в Character :)
планета FOREVER!!! Unkenbro team
|
nikag#1284Не запускается Ren'Py и появляется это:
Fri Nov 12 23:21:50 2021 Windows-7-6.1.7601-SP1 Ren'Py 7.4.10.2178 Bootstrap to the start of init.init took 0.24s Early init took 0.01s Loader init took 0.07s Loading error handling took 0.20s Loading script took 0.92s Loading save slot metadata. took 0.01s Loading persistent took 0.00s Importing _renpysteam: ImportError('No module named _renpysteam',) Set script version to: None (alternate path) - Init at launcher/game/web.rpyc:26 took 0.26300 s. Running init code took 0.80s Loading analysis data took 0.09s Analyze and compile ATL took 0.01s Index archives took 0.00s Dump and make backups. took 0.00s Cleaning cache took 0.00s Making clean stores took 0.00s Initial gc. took 0.10s DPI scale factor: 1.000000 nvdrs: Loaded, about to disable thread optimizations. nvdrs: Disabled thread optimizations. Creating interface object took 0.56s Cleaning stores took 0.00s Init translation took 0.11s Build styles took 0.00s Load screen analysis took 0.06s Analyze screens took 0.00s Save screen analysis took 0.00s Prepare screens took 0.20s Save pyanalysis. took 0.00s Save bytecode. took 0.00s Running _start took 0.00s Performance test: Interface start took 0.16s Initializing gl2 renderer: primary display bounds: (0, 0, 1360, 768) swap interval: -1 frames Windowed mode. Could not get pygame screen: error('Could not create GL context: ',) Initializing sw renderer: И еще не работает игра и выдает ошибку. Сообщение отредактировал nikag - Пятница, 12/Ноя/2021, 22:47
|
Katruna#1285Доброго времени суток.
Появилась у меня тут идея еще немного оживить спрайты героев.. но нужна помощь.. Идея такова, я хочу что бы при нажатии на спрайт персонажа проигрывалась анимация. И тут мне не хватает моих знаний/умений. Создавать анимации при наведении на кнопки - я умею. Но вот что бы при клике, да еще и на спрайт, а не на кнопку - идей вообще нет. Буду очень признательна, если поможете .з. |
Dark_Alex#1286Всем привет. Собирал до определенного момента свою игру в формате .АРК файла в ренпай. Сейчас у гугла требования поменялись и нужен формат .ААВ. Вроде бы все должно быть правильно, но сборка завершается с ошибкой ;( В чем проблема, подскажите пожалуйста. А то хотели игру выпустить, а в итоге все летит к чертям. Файл во вложениях.
|
Dark_Alex#1289Увы, сайт переживает редизайн и пока никаких приложенных файлов не видно.Лучше скинь ссылку на файлообменник какой-нибудь или тот же гугл диск. Скидываю (https://docs.google.com/document/d/14ATHeTNvO43cyV1gSpZ-SQGZoFVx9J_d/edit?usp=sharing&ouid=108127088957623446964&rtpof=true&sd=true) |
Mawrak#1290Добрый день. У меня возникла проблема сделующего содержания: нужно создать bar на экране, который бы показывал переменную, которая может иметь значения от -100 до 100. То есть ноль должен быть в середине bar-а, а полосочка уметь перемещаться в правую или левую сторону.
Возможно ли такое сделать? Пока что получилось сделать только bar, которые отсчитывает направо от 0 до 100, но никак не показывает отрицательные значения. |
| |||