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

Разработка игр на RenPy, обсуждение реализации, вопросы "Как сделать?"
Аватар пользователя
dmit
Сообщений: 44
Зарегистрирован: 28 апр 2016, 00:03
Контактная информация:

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

Сообщение dmit » 26 мар 2021, 22:49

Dude писал(а):вокруг текста - прямоугольник, отличающийся по цвету
это стандартный (для выбранной темы) фон frame.
Его можно заменить как для всех frame (измени файл gui\frame.png) так и для конкретного frame:

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

frame:
    background "#0006" #фон полупрозрачный чёрный
    xpos 550 ypos 45
    text ("[days]"):
        size 20


Есть понятный туториал по layeredimage: https://yadi.sk/d/e9uwy647ZR-29Q

Dude
Сообщений: 14
Зарегистрирован: 16 мар 2021, 12:55

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

Сообщение Dude » 27 мар 2021, 10:32

Dmit, спасибо.
Фон выглядит отлично.
https://yadi.sk/d/e9uwy647ZR-29Q почему-то недоступен. Надеюсь скачать позже.

Но тут вроде сделал всё правильно:

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

layeredimage anna: # а вот на эту строку ругается "expected ststement"
    always:
        "anna_base"
    group dress:
        attribute dress1:
            "anna_dress1"
        attribute dress2:
            "anna_dress2"

В упор не вижу, где ошибка!

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

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

Сообщение dmit » 27 мар 2021, 11:22

Ren'Py 6.99.9.1168 - у вас старый, нужна с 7+ версия с неё ввели layeredimage

Dude
Сообщений: 14
Зарегистрирован: 16 мар 2021, 12:55

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

Сообщение Dude » 27 мар 2021, 11:41

dmit писал(а):Ren'Py 6.99.9.1168 - у вас старый, нужна с 7+ версия с неё ввели layeredimage

Вот оно что!
А можно сделать изображение из нескольких слоев в 6й версии? Я юзаю 6ю, ибо под ХР. Чтобы вызывалось одной-двумя строками.

Пока приходит в голову сделать функцию имени персонажа, где накладываются изображения. Но как такого перса двигать в кадре? Видимо, думаю совсем не в ту сторону.

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

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

Сообщение dmit » 27 мар 2021, 14:31

смотри Composite() , ConditionSwitch() есть и др.функции менее используемые.
однако при определении спрайта будет много кода, а применять можно в 1 строку.
попробуйте на хр и 7 ренпи должен работать, если не нужен live2D, то 7.3.5 попробуйте

Dude
Сообщений: 14
Зарегистрирован: 16 мар 2021, 12:55

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

Сообщение Dude » 28 мар 2021, 12:57

Спасибо. Скачал 7.3.5, всё работает.

GGGGGG
Сообщений: 7
Зарегистрирован: 02 апр 2021, 17:36

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

Сообщение GGGGGG » 02 апр 2021, 17:54

Можете пожалуйста подсказать как в Renpy использовать свой редактор скрипта? Я новичок и видел что в Penry есть три редактора скрипта,но вместо них я бы хотел использовать Notepad ++,но не знаю как это сделать...

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

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

Сообщение dmit » 02 апр 2021, 23:23

в настройках ренпи есть системный редактор, а Notepad сделать по умочанию для *.rpy файлов в системе

Dude
Сообщений: 14
Зарегистрирован: 16 мар 2021, 12:55

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

Сообщение Dude » 13 апр 2021, 22:52

Доброго времени суток.
Делал игру в RenPy6. Решил изменить разрешение 800х600 на 1280х720.
Прописал в options.rpy:

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

    ## These control the width and height of the screen.
    config.screen_width = 1280
    config.screen_height = 720

Но при запуске окно становится 800х450.

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

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

Сообщение dmit » 14 апр 2021, 20:48

при первом пуске будет 1280х720, при следующем как вы его измените. Для сброса задайте переключатель в полный экран - потом опять окно.

GGGGGG
Сообщений: 7
Зарегистрирован: 02 апр 2021, 17:36

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

Сообщение GGGGGG » 30 апр 2021, 14:38

Я только недавно начал создавать новеллу и когда я стал пытаться сделать выборы у меня все пошло наперекосяк. Проблема как я понял у меня с отступами,хотя как я их не пытался убать у меня все равно выдаёт ошибку. Можете пожалуйста посмотреть и скорректировать меня я просто не знаю ещё многих нюансов.
Изображение

Dude
Сообщений: 14
Зарегистрирован: 16 мар 2021, 12:55

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

Сообщение Dude » 30 апр 2021, 15:16

GGGGGG писал(а):Я только недавно начал создавать новеллу и когда я стал пытаться сделать выборы у меня все пошло наперекосяк. Проблема как я понял у меня с отступами,хотя как я их не пытался убать у меня все равно выдаёт ошибку. Можете пожалуйста посмотреть и скорректировать меня я просто не знаю ещё многих нюансов.
Изображение

Jump должен быть внутри соответствующего пункта меню:

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

menu:
    "Идти":
        jump blablabla
    "Не Идти":
        jump ne_blablabla

GGGGGG
Сообщений: 7
Зарегистрирован: 02 апр 2021, 17:36

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

Сообщение GGGGGG » 30 апр 2021, 16:54

Спасибо за ответ с предыдущим вопросом. (Ох...наверное я буду их часто задавать)
А как после того как я сделал варианты ответа(и в конце я сделал return) продолжить после них диалог? Убрать его лили писать под ним..?

Dude
Сообщений: 14
Зарегистрирован: 16 мар 2021, 12:55

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

Сообщение Dude » 30 апр 2021, 18:56

GGGGGG писал(а):Спасибо за ответ с предыдущим вопросом. (Ох...наверное я буду их часто задавать)
А как после того как я сделал варианты ответа(и в конце я сделал return) продолжить после них диалог? Убрать его лили писать под ним..?

Имеется в виду предыдущий код? (кстати, лучше писать его сразу здесь, а не ссылкой на картинку)
Там, где чувак умер, писать return и конец игре.
return возвращает исполнение скрипта туда, откуда его вызвали через call. То-есть, через call вызывается функция.
Если return в главной фунции, это будет конец игры и возврат в главное меню.
Где чувак не умер, не return, а jump на новый label, где игра продолжается.

Я сам в Питоне и Рен - нуб. Курю вот это:
https://www.renpy.org/wiki/renpy/rus/do ... начинающих
http://ru.renpypedia.shoutwiki.com

GGGGGG
Сообщений: 7
Зарегистрирован: 02 апр 2021, 17:36

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

Сообщение GGGGGG » 01 май 2021, 10:32

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

menu:
"Идти":
jump blablabla
"Не Идти":
jump ne_blablabla

label blablabla:

"Лукас пошел за призраком и выжил"
jump label new

label ne_blablabla:

"Лукас решает не идти за призраком и умирает. Ты идиот,не так ли?"

return
#This ends the game

label new:

o"Хэй,а куда мы идем?"

f"молчит"

Изображение

Dude
Сообщений: 14
Зарегистрирован: 16 мар 2021, 12:55

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

Сообщение Dude » 01 май 2021, 13:41

Чтобы вставить код с отступами и красивым зелёным цветом, жми кнопку "Code" и вставляй код между тегами.

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

menu:
   "Идти":
        jump blablabla
    "Не Идти":
        jump ne_blablabla

label blablabla:
    "Лукас пошел за призраком и выжил"
    jump label new  #ВОТ ТУТ ОШИБКА

label ne_blablabla:
    "Лукас решает не идти за призраком и умирает. Ты идиот,не так ли?"
    return
    #This ends the game

label new:
    o"Хэй,а куда мы идем?"
    f"молчит"

Тут 2 ошибки в jump label new:
Не надо писать jump label имя_метки, надо писать просто jump имя_метки.
new - это тоже служебное слово, его нельзя использовать как имя.

Конкретно в этом скрипте можно не заморачиваться с лишним jump-label:

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

menu:
   "Идти":
        jump blablabla
    "Не Идти":
        jump ne_blablabla

label ne_blablabla:
    "Лукас решает не идти за призраком и умирает. Ты идиот,не так ли?"
    return
    #This ends the game

label blablabla:
    "Лукас пошел за призраком и выжил"

    o"Хэй,а куда мы идем?"
    f"молчит"

GGGGGG
Сообщений: 7
Зарегистрирован: 02 апр 2021, 17:36

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

Сообщение GGGGGG » 06 май 2021, 12:01

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

menu:
"Выпить?"

"Выпить":
show s happy
"Вы немного пьянеете"
$ answers += 1
"Не пить":
show s sad
s"....."

if answers>=10:

jump hlhlh

else:

jump clclcl

label hlhlh:

scene bg
show drunk s at right


s"Пьян"

"Вы выиграли"

ladel ne_hlhlh:

scene bg
show drunk o at left

o"Пьян"

"Вы проиграли"
s"Не сожалею,ты проиграл)"
s"Удачи спастись"
s"ЭЙ! ЛЕДИ! ЭТОТ ПАРЕНЬ ВАС ОБОКРАЛ!"
o"Ох черт....."
"Вас убила пожилая леди. Попробуй еще раз"
Изображение

GGGGGG
Сообщений: 7
Зарегистрирован: 02 апр 2021, 17:36

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

Сообщение GGGGGG » 20 май 2021, 17:46

Я хочу сделать так что при определенном количестве очков персонаж либо выиграет,либо проиграет... Но я не понимаю как это сделать ..
init:
$ points = 0
$ drink = False
menu:
"Выпить":
show s happy
"Вы немного пьянеете"

$ drink

$ points += 1

"Не пить":
show s sad
s"трус"
pass

if drink

scene bg
show drunk s at right


s"Пьян"

"Вы выиграли"
return

else:

o"Пьян"

"Вы проиграли"

(Он пишет что перед if и else не должно быть знака :,но когда я его убираю он пишет что он нужен)(я совершенно запуталась)

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

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

Сообщение dmit » 20 май 2021, 20:58

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

label start:
    $ points = 0
    $ drink = False
    menu:
        "Выпить":
            show s happy
            "Вы немного пьянеете"
            $ drink = True
            $ points += 1

        "Не пить":
            show s sad
            s "трус"

    if drink:
        scene bg
        show drunk s at right
        s "Пьян"
        "Вы выиграли"
    else:
        o "Пьян"
        "Вы проиграли"
   
    return

GGGGGG
Сообщений: 7
Зарегистрирован: 02 апр 2021, 17:36

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

Сообщение GGGGGG » 02 июн 2021, 13:25

Спасибо за предыдущий отает. Вроде в начале все работает,но после выбора выскакивает ошибка.
Изображение

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

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

Сообщение dmit » 02 июн 2021, 22:03

не определена переменная, очевидно нет строки:
$ points = 0

Zlo
Сообщений: 2
Зарегистрирован: 03 июн 2021, 14:44

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

Сообщение Zlo » 03 июн 2021, 14:48

DMIT
if drink:
scene bg
show drunk s at right
s "Пьян"
"Вы выиграли"
else:
o "Пьян"
"Вы проиграли"

выделяете и жмякаете ТАБ 1 разочек, по теме ПОИНТС - пропишите их сперва через ДЕФАЙН, пока что параметра не существует

Zlo
Сообщений: 2
Зарегистрирован: 03 июн 2021, 14:44

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

Сообщение Zlo » 03 июн 2021, 14:54

Вопрос по настройке выхода в главное меню, можно ли сделать кнопкой/командой? команда "return" у меня возвращает в предыдущий лейбл, то есть игрок становится бессмертным и концовки/поражение не выводит в главную менюшку. выручайте, мозг кипит, инфы тупо нету по этой проблеме.
грешу на код одного кликера, что всунул в игру:
if oActive and needTimer:
timer 0.01 repeat True action [SetVariable("oTime", oTime-.01), If(oTime <= .0, true=[Return()])]
add oBg
for i in range(0, len(oN)):
if oN[i]:
imagebutton:
focus_mask True
pos(oXY[i])
idle oN[i]
hover oN[i]
# можно продублировать картинки предметов,
# назвав их "images/имяпредмета_hover.png"
# и высветить их в графическом редакторе
# и заменить строку выше на строку ниже
# тогда при наведении курсора, они будут подсвечиваться
# hover oN[i] + " hover"
if oActive:
action [oClick(i), Return()]

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

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

Сообщение Skaz » 06 июн 2021, 20:02

Zlo писал(а):Вопрос по настройке выхода в главное меню, можно ли сделать кнопкой/командой? команда "return" у меня возвращает в предыдущий лейбл, то есть игрок становится бессмертным и концовки/поражение не выводит в главную менюшку. выручайте, мозг кипит, инфы тупо нету по этой проблеме.
грешу на код одного кликера, что всунул в игру:
if oActive and needTimer:
timer 0.01 repeat True action [SetVariable("oTime", oTime-.01), If(oTime <= .0, true=[Return()])]
add oBg
for i in range(0, len(oN)):
if oN[i]:
imagebutton:
focus_mask True
pos(oXY[i])
idle oN[i]
hover oN[i]
# можно продублировать картинки предметов,
# назвав их "images/имяпредмета_hover.png"
# и высветить их в графическом редакторе
# и заменить строку выше на строку ниже
# тогда при наведении курсора, они будут подсвечиваться
# hover oN[i] + " hover"
if oActive:
action [oClick(i), Return()]

Неочевидно, как влияет кликер, поэтому напишу в общем.
Если вызовов больше, чем возвращений по return, то глубина стека вызовов не равна 0. Нужно посмотреть в отладчике когда и почему их количество становится больше 1 перед return, который должен выбросить в главное игровое меню. Глубина стека: renpy.call_stack_depth()


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

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

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