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

Помощь по Ren'Py (Вопрос\Ответ)

Admin

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

СОНЦЕ

#557
Цитата Ubic ()
Как прописать if и elif, зависящий от трех величин?

    
Код
if boolA:
        $ funk_a()
    elif boolB:
        $ funk_b()
    elif boolC
        $ funk_c()
    else:
        $ funk_x()

оно?

Ubic

#558
СОНЦЕ, нет, это четыре разных события, зависящие от четырех разных переменных. А мне нужно одно событие, которое наступает при достижении тремя переменными определенных значений. Можно конечно их описать в подобном корявом вложенном друг в друга элифе, но может есть способ покрасивше?

СОНЦЕ

#559
Ubic, если событие только одно, elif не нужон.
Код

    if boolA and boolB and boolC:
        $ funk_abc()

крч конструкция может сильно отличаться в зависимости от того как переменные должны влиять на события в каждом конкретном случае.

Цитата Ubic ()
четыре разных события, зависящие от четырех разных переменных.

Настаиваю что в том примере переменных было не четыре, а три. Если четвертое событие представить как обусловленное, то условием будет True. Постоянная.

Ubic

#560
Елиф нужон, потому что событий несколько, и одно из них происходит, если три переменные достигли определенного значения. И другое событие, если они достигли другого значения. Без елифа никуда.
И вот это вот "if boolA and boolB and boolC" как пишется, если излагавть не на пальцах, а точными символами. Я и сам не тупой, и догадываюсь, что они должны идти друг за другом. Вопрос в том, как писать код. Сомневаюсь, что нужен "and".

СОНЦЕ

#561
Ubic, and нужен если для выполнения действия нужны правильные все три переменные. более развернутый пример с числовыми переменными и конкретными искомыми значениями

Код
#допустим для участия в гареме героине хватит 5 лавпоинтов, но столько должно быть у всех
if ann_love>=5 and jane_love>=5 and kate_love>=5:
    jump HaremEnding
# для неодиночного рута лавпоинтов нужно как минимум 8 хотя бы у одной
elif ann_love>=8 or jane_love>=8 or kate_love>=8:
    jump RoutesIntersection
# иначе героя отправляют в одиночный рут
else:
    jump SoloRoute

Ubic

#562
О, круто, спасибо! Через and  я бы писать даже не додумался. Я думал может запятая или точка с запятой или еще как-то хитро! А or вообще классно! На будущее может пригодиться.

ProstoiXXX

#563
Всем привет, есть вопрос.
Пытаюсь работать с "вызов call из экрана screen". Но есть маленькая проблема.
Так же, я добавил к примеру, вот такую часть кода.

Код
init:
    image side golova_orka = "Images/golova_orka.png"
    define m = Character("Орк", color="#000000", image="golova_orka")


А так же слегка изменил часть кода, то есть теперь не просто текст, а текст произносит персонаж.


Код
m "Первая фраза"
m "Вторая фраза"
m "Третья фраза"


Но появилась проблема. Когда я, возвращаюсь к диалогу, цвет текста черный, как я и хочу, то что это говорит НПС Орк, тоже видно, а вот "говорящая голова"(изображение) пропадает. При следующей реплике, она конечно опять появляется, но вот при возвращении к диалогу из локации, image="golova_orka" куда-пропадает :(

Подскажите пожалуйста, что делать?
Сообщение отредактировал ProstoiXXX - Пятница, 23/Авг/2019, 18:12

Ubic

#564
Можно ли сделать возврат в то место, откуда был последний джамп? Т.е. идет кусок кода, потом "jump xxx", потом в другом месте снова кусок кода, а потом нужен возврат сразу после "jump xxx".

ProstoiXXX

#565
Ubic самое простое, что приходит в голову

Код
label start:
    "1-я фраза."
    "2-я фраза."
    call proverka # call вместо jump

label proverka:
    "3-я фраза"
    "4-я фраза"
    "5-я фраза"
    return
Сообщение отредактировал ProstoiXXX - Пятница, 23/Авг/2019, 20:17

AlienXMask

#568
Существуют ли примеры плееров в играх, где помимо музыки выводится анимация? Например - запустил трек а рядом анимация кассеты появляется или винилового проигрывателя? Такое возможно?

KripWorland

#569
Уважаемые знатоки. Прошу сильно не пинать или пинать только в направлении подсказок (только начинаю работать с renpy  и python) Есть вот такой код для меню выбора:

Код
screen choice(items):
    style_prefix "choice"

    viewport:
        area(1410, 820, 520, 255)
        spacing -15
        scrollbars "vertical"
        draggable True
        mousewheel True
        arrowkeys True

        vbox id "vb1":
            xfill True
            spacing -10

            for i in items:
                button:
                    action i.action
                    background None
                    xpadding 0 ypadding 0 xmargin 0 ymargin 0
                    textbutton i.caption action i.action xpos 20 yalign .0
                    foreground "pref"


Вопрос: как сделать, чтобы scrollbar появлялся только тогда высота vbox выходит за границы viewport. Другими словами - если положили две кнопки с коротким текстом, то скролл не нужен, если пихнули десяток кнопок, тогда без скролла не обойтись.

СОНЦЕ

#570
KripWorland, не скажу как это делать по-людски, но вот такой костыль вроде работает

Код
screen choice(items):
    $ ScrlAuto = 'vertical' if len(items)>10 else None
    style_prefix "choice"

    viewport:
        area(1410, 820, 520, 255)
        spacing -15
        scrollbars ScrlAuto
        draggable True
        mousewheel True
        arrowkeys True

        vbox id "vb1":
            xfill True
            spacing -10

            for i in items:
                button:
                    action i.action
                    background None
                    xpadding 0 ypadding 0 xmargin 0 ymargin 0
                    textbutton i.caption action i.action xpos 20 yalign .0
                    foreground "pref"
Сообщение отредактировал СОНЦЕ - Вторник, 01/Окт/2019, 09:50
Поиск: