Страница 11 из 11
Re: Вопросы-ответы по RenPy
Добавлено: 29 мар 2022, 07:39
Skaz
Эль_Терри писал(а):Здравствуйте. А как сделать так, чтобы в определённые моменты игры определённые файлы сами удалялись(не чтобы их кто-то посторонний удалял!)?
А для чего это нужно?
Вопросы-ответы по RenPy
Добавлено: 26 июн 2022, 11:45
VladProBloger4
Пж скажите а как импортировать и использовать модули math и random?
Re: Вопросы-ответы по RenPy
Добавлено: 26 июн 2022, 11:58
Skaz
VladProBloger4 писал(а):Пж скажите а как импортировать и использовать модули math и random?
Поищите import math в модуле из дистрибутива RenPy
...\common\00definitions.rpy
и будем вам образец.
Re: Вопросы-ответы по RenPy
Добавлено: 11 дек 2022, 22:39
python357
Доброго времени суток.
1.В игре должы быть штук 30 карт, разных для разных эпизодов, но для всех используется одна картинка.
Вопрос: сколько памяти это будет занимать? Размер одного файла или в 30 раз больше?
2. Как сделать чтобы нажатие игроком кнопок блокировалось, а смена изображений на экране шли без его вмешательства, по времени?
3. Можно-ли сделать, чтобы один музыкальный файл проигрывался с разных мест в разные моменты игры?
Не хочется забивать игру кучей почти одинаковых файлов.
Re: Вопросы-ответы по RenPy
Добавлено: 12 дек 2022, 11:19
python357
Написал вот-такой код:
Код: Выбрать все
layeredimage elsa:
...
if elsa_hands == "magic":
"images/characters/elsa/elsa_magic.png"
elif elsa_hands == "gloves":
"images/characters/elsa/elsa_gloves.png"
else:
pass
RenPy не нравится строка с "pass". Почему?
Пока вставил вместо этого пустое изображение, но может есть способ получше?
Re: Вопросы-ответы по RenPy
Добавлено: 23 дек 2022, 14:11
python357
Снова всем доброго времени суток.
Нужно сделать случайно выпадающий разговор с персонажем. Написал вот такое:
Код: Выбрать все
label slums_crocus_talking:
crocus "Спасибо, добрый господин!"
$ crocus_rand_talk = renpy.random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
if crocus_rand_talk == 1:
crocus "Вы знаете, что раньше Крокус был помошником Великого Визиря?"
crocus "Да, да! Это было при Махмуде Справедливом."
jump slums_menu
# ещё целых 9 вариантов
Проблема: при повторном разговоре, с частотой наверное 99%, 90 - точно!, выпадает тот-же самый разговор.
Я добавил переменную с номером последнего разговора, чтобы не было повторов:
Код: Выбрать все
label slums_crocus_talking:
crocus "Спасибо, добрый господин!"
$ crocus_rand_talk = renpy.random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
if crocus_rand_talk == 1 and crocus_last_rand_talk != 1:
crocus "Вы знаете, что раньше Крокус был помошником Великого Визиря?"
crocus "Да, да! Это было при Махмуде Справедливом."
jump slums_menu
elif crocus_rand_talk == 2 and crocus_last_rand_talk != 2:
crocus "Никто кроме вас не даёт денег бедному Крокусу."
crocus "А Крокус уже слишком стар, чтобы брать деньги у тех, кто не хочет их отдавать."
jump slums_menu
...
else:
if crocus_gold < 25:
crocus "Ещё пара монет и Крокус сможет сегодня закусить."
crocus "Нет, одного золотого Крокусу не хватит.\nКак Крокус сможет закусить, если перед этим он ничего не выпьет?"
jump slums_menu
elif crocus_gold < 50:
crocus "Крокус накопит денег и купит себе красные штаны."
crocus "Почему красные? Это - секрет!"
jump slums_menu
else:
crocus "Ещё немного монет и Крокус сможет купить себе гоночного верблюда!\nТо-есть, хромого ослика для своей больной матери..."
jump slums_menu
Стал постоянно выпадать тот вариант, что "else".
У меня уже мозг не соображает, что сделать, чтобы разговоры были разные.
Re: Вопросы-ответы по RenPy
Добавлено: 25 дек 2022, 18:33
dmit
может быть ответы производить по порядку? Если порядок нужно нарушать, то можно перемешать список, типа
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
renpy.random.shuffle(list)
и отвечать list[0] ...list[9]
для особо тупых перемешать ещё и опять с 0 до 9 ответа
Re: Вопросы-ответы по RenPy
Добавлено: 27 дек 2022, 18:22
python357
Dmit, cпасибо. Перемешивание в два раза работает намного лучше.
Хотя сложновато получается для вывода простого случайного трёпа.
У меня новая проблема:
в options.rpy
Код: Выбрать все
## Music that is played while the user is at the main menu.
# музыка, которяа играет пока игрок находится в главном меню (перевод мой)
config.main_menu_music = "music/bolerish.mp3"
так у меня эта музыка продолжает играть и когда я из меню выхожу.
Re: Вопросы-ответы по RenPy
Добавлено: 28 дек 2022, 09:35
python357
Снова проблема:
Простой код, где на экран выводится спрайт:
Код: Выбрать все
image jafar = "images/characters/jafar/jafar.png"
Код: Выбрать все
"а не менее многочисленныз воров - помилованиями."
hide sultan
show jafar
"А высокие налоги и смертные приговоры были целиком на совести злого великого визиря Джафара, которого все ненавидели и презирали."
Всё работало, пока я не накодил персонажу Джафару разную одежду и выражения лица
Код: Выбрать все
#image jafar = "images/characters/jafar/jafar.png"
define jafar_outfit = "visier"
define jafar_face = "smile"
layeredimage jafar:
if jafar_outfit == "sultan":
"images/characters/jafar/jafar_sultan.png"
else:
"images/characters/jafar/jafar_visier.png"
if jafar_face == "angry":
"images/characters/jafar/jafar_angry.png"
else:
"images/characters/jafar/jafar_smile.png"
I'm sorry, but an uncaught exception occurred.
While loading <'Image' u'images/characters/jafar/jafar.png'>:
File "game/scripts/events/intro.rpy", line 21, in script
"А высокие налоги и смертные приговоры были целиком на совести злого великого визиря Джафара, которого все ненавидели и презирали."
IOError: Couldn't find file 'images/characters/jafar/jafar.png'.
Удалил все *.rpyc, очистил папку tmp, запускал на другом компе, всё-равно ищет файл jafar.png
А со всеми остальными спрайтами персонажей со слоями - порядок.
Re: Вопросы-ответы по RenPy
Добавлено: 28 дек 2022, 11:59
dmit
Да музыку меню надо останавливать самостоятельно обычно сразу после label start.
Код: Выбрать все
layeredimage jafar:
always:
"images/characters/jafar/jafar.png"
group outfit:
attribute sultan default:
"images/characters/jafar/jafar_sultan.png"
attribute visier:
"images/characters/jafar/jafar_visier.png"
group face:
attribute angry default:
"images/characters/jafar/jafar_angry.png"
attribute smile:
"images/characters/jafar/jafar_smile.png"
вызов
show jafar
show jafar sultan
show jafar sultan angry
равнозначен поскольку установленно default
Re: Вопросы-ответы по RenPy
Добавлено: 28 дек 2022, 20:02
python357
dmit писал(а):Да музыку меню надо останавливать самостоятельно обычно сразу после label start.
Это не проблема, но как останавливать её в том случае, когда игрок заходит в меню, чтобы сохраниться-загрузиться, а потом обратно в игру?
Код: Выбрать все
layeredimage jafar:
always:
"images/characters/jafar/jafar.png"
group outfit:
attribute sultan default:
"images/characters/jafar/jafar_sultan.png"
attribute visier:
"images/characters/jafar/jafar_visier.png"
group face:
attribute angry default:
"images/characters/jafar/jafar_angry.png"
attribute smile:
"images/characters/jafar/jafar_smile.png"
Вызов: show jafar
Продолжается та-же чертовщина: выводит только изображение jafar.png, а не весь layeredimage jafar
Если заменить в этом коде jafar.png на jafar_base.png например, всё-равно выводит jafar.png или выдаёт ошибку если его нет.
Я проверил все скрипты, которые *.rpy. Нигде нет присваивания, что jafar = "images/characters/jafar/jafar.png", а не layeredimage.
Такая засада пока только с этим Джафаром. У меня уже был вызов изображений, для которого раньше было простое изображение, а теперь - многослойное. Копировал скрипт с layeredimage с другого перса, работающего нормально.
За код огромное спасибо!
Я прочитал пару каких-то фантастически кривых мануалов по этим "group" & "attribute" на несколько экранов, нифига не понял, а тут просто, оказывается!
Re: Вопросы-ответы по RenPy
Добавлено: 29 дек 2022, 10:07
dmit
main_menu_music включается только на главном меню и если зайти на сохранения в игре, то звучать не будет. Или я не понял вашу задачу?
рекомендую удалить все файлы rpyc (если было удаление или переименование rpy) , очистить постоянные и не пользоваться старыми сохранениями (лучше удалить, все которые были до изменения layeredimage).
Re: Вопросы-ответы по RenPy
Добавлено: 29 дек 2022, 17:13
python357
Да, проблема с Джафаром оказалась из-за старого файла rpyc. Неудаляемого-незаменяемого из под Винды.
А с музыкой дело было в старом сохранении, где ещё играла эта музыка. Вот я ступил!
И спасибо ещё раз за пример нормального кода с attributes, сделаю теперь всем персам.