Форум Anivisual закрыт. Вы не можете создавать новые темы или писать ответы. Форум будет работать в режиме архива.
Пользователи · Поиск по форуму · · · Регистрация

Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ)
Помощь по Ren'Py (Вопрос\Ответ)

Admin

#1
Сюда пользователи сайта могут писать вопросы о тех или иных функциях движка Ren'Py, а мы попытаемся на них ответить:)

ChocoLoco

#1396
Цитата KrAleGen ()
Злравствуйте! Я запустил РенПай 8.0.1. Выбираю "Добавить новый проект" - Выбираю язык - Ввожу имя проекта - "Продолжить" - Выходит сообщение "Нажмите Shift+R для продолжения" - нажимаю Выходит сообщение "Запуск проекта провален. Пожалуйста, убедитесь, что ваш проект нормально запускается перед использованием этой команды." Не понятно... Я же его только что запустил. Что нужно сделать?
KrAleGen, у меня такая же проблема была. Как я понял, нужно папку renpy перетащить в то место, где путь файла не содержит кириллицу. С предыдущими версиями вроде такой проблемы нет.
Сообщение отредактировал ChocoLoco - Четверг, 04/Авг/2022, 09:14

LucyLuc

#1397
Здравствуйте! 
У меня такой вопрос:
Вот я могу запустить свой проект, игра нормально работает. Но когда заходишь в папки, то там нет самой игры? Типа, я не могу включить игру без лаунчера ренпай. Что мне делать?  nmda
lucyluc666

dmit

#1400
LucyLuc, теоретически можно, но лучше конечно закончить и сделать дистрибутив. Если ВН выпускается по частям, то для этого нужно предусмотреть код. Если Игра обновляется , можно выпустить к ней патч, но это не совсем то "менять скрипт в игре".
планета FOREVER!!!      Unkenbro team

Dasha_K

#1402
Всем привет!

У меня проблема с галереей. Хочется, чтобы в галерее открывались не картинки, а лейблы с большими сценами. Для этого я написала:

1. Код для экрана (там пока 1 элемент):

Код
screen gallery():

    tag menu
    add "gui/game_menu.png"
    
    grid 3 2:
        xfill True
        yfill True
        
        add g.make_button("gallery_a_open", "gallery_a", xalign=0.5, yalign=0.7, hover_border="images/gallery/gallery_border.png"
        null
        null
        null
        null
        null

    textbutton "{size=45}CLOSE{/size}" action Return() xalign 0.5 yalign 0.95
 2. Код для первого элемента в галерее:

Код
init python:
    
    g = Gallery()
    
    g.locked_button = "images/gallery/gallery_closed.png"
    
    g.button("gallery_a_open")
    g.condition("persistent.gallery1")
    g.image("gallery_a")

И все было бы хорошо, если бы "gallery_a_open" было бы картинкой... Но это label с большой сценой (там и диалоги, и картинки), и я не могу понять, как его вызывать и как прописать.

В общем, хочу сделать галерею не из картинок, а из сцен.

Может быть, кто-то поможет?
Сообщение отредактировал Dasha_K - Вторник, 16/Авг/2022, 16:51

Marnvini

#1403
Dasha_K

Делаешь экран с картинками-превьюшками, которые перебрасывают в нужный лейбл, или вызывают его


Код
screen gallery:

    if peremennaya1 == True: # Если условие выполнено, картинка-превьюшка доступна для клика и просмотра
       
        imagebutton:
        
            xpos 300 # Координаты картинки на экране в пикселях
            ypos 100 # аналогично
            idle "images/map/kartinka1.png" # Картинка, отображаемая в галерее
            hover "images/map/kartinka2.png" # Картинка, отображаемая при наведении курсора, например подсвечивается предыдущая
            action Jump ("bolshaya_scena") # При клике переходим в лейбл с большой сценой и диалогами
                    # Вместо Jump можно использовать Call для вызова лейба
            
    else:
        # Иначе отображается картинка-заглушка
        # Здесь такой же код для картинки-заглушки, без action
        
    if peremennaya2 == True: # Следующая кнопка-картинка в галереи, делается также
    # и далее сколько угодно
Резюме разработчика на Renpy

Dasha_K

#1404
Цитата Marnvini ()
Делаешь экран с картинками-превьюшками, которые перебрасывают в нужный лейбл, или вызывают его
Большое спасибо, все получилось!

Единственное, что непонятно - это как перебрасывать пользователя из Label в галерее обратно в эту самую галерею, когда он посмотрел сцену. Я пробовала писать так:


Код
label scene_a_open:

    #Какие-то картинки и тексты.
    action ShowMenu ("gallery")
    return

Но это, конечно, неправильная команда... А правильную не удается подобрать.

Dasha_K

#1406
Цитата Marnvini ()
в конце лейбаjump gallery

Если лейбл вызывался через Call, то должно само возвращать в галерею
ScriptError: could not find label 'gallery'.
Не получается, ведь gallery - это не label, а screen.

Dasha_K

#1408
Цитата Marnvini ()
Попробуйте в конце textbutton или imagebutton
Не работает, выдает ошибку...

Код
File "game/init.rpy", line 193: expected statement.
    textbutton _("Галерея") action ShowMenu ("gallery")
Пыталась прописать "action Show" вместо "action ShowMenu" - тоже не то.

UP: Ахаха, ларчик просто открывался! Чтобы выйти из label в screen, нужно (удивительно, но факт) просто написать: call screen название_экрана. В моем случае - call screen gallery. 

Спасибо за помощь, такие люди как вы - благо для любого форума.
Сообщение отредактировал Dasha_K - Среда, 17/Авг/2022, 16:36

bender

#1409
Такая проблема:

В питонячьей секции создал класс-потомок которому перегрузил __init__ и он не хочет инициализироваться

Код
python:

    class test_class0():
        def __init__(self, **kwargs):
            self.test0 = kwargs['test0']

    class test_class1(test_class0):
        def __init__(self, **kwargs):
            super().__init__(**kwargs)
            self.test1 = kwargs['test1']

    test_obj0 =  test_class0(test0 = 0)
    test_obj1 =  test_class1(test1 = 1, test0 = 0)
Трейс такой:

Код
While running game code:
  File "script.rpy", line 62, in script
    python:
  File "script.rpy", line 75, in <module>
    test_obj1 =  test_class1(test1 = 1, test0 = 0)
  File "script.rpy", line 71, in __init__
    super().__init__(**kwargs)
TypeError: super() takes at least 1 argument (0 given)

Добавлено (19/Авг/2022, 22:21)
---------------------------------------------

Цитата bender ()
В питонячьей секции создал класс-потомок которому перегрузил __init__ и он не хочет инициализироваться
Оказалось у меня был старый Ren'Py на втором питоне. переход на 8.0.4 помог.

lf2mr

#1410
Приветствую.
Как на время скрыть быстрое меню?
Вот допустим у меня есть скрин:

Код
screen myscreen:
    textbutton "Действие" action (SetVariable("myvar", False), Hide("quick_menu"))
Таким образом не скрывается меню, а как можно скрыть?

Если в игре по умолчанию нажать на правую кнопку мыши, то открывается меню настроек, также как если нажать на Prefs в быстром меню. При этих нажатиях происходит переход в настройки и быстрое меню скрывается, а при выходе из настроек возвращается на своё место. Вот как такое можно реализовать на моём скрине из примера? Также должно учитываться состояние быстрого меню, которых у меня 3: выключено, включено, включено при наведении(quick_menu == 0 или 1 или 2). Все эти состояния при нажатии на правую мышь учитываются, то есть при переходе в настройки быстрое меню скрывается, если оно включено(quick_menu == 1 или 2), а по выходу из настроек возвращается в том состоянии, в котором оно и было.
Сообщение отредактировал lf2mr - Четверг, 25/Авг/2022, 09:25
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ)
Поиск: