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

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

Admin

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

Orinoku

#631
dmit, спасибо за оперативный отклик, уже сама разобралась с тем, как реализовать то, что нужно)))
Сообщение отредактировал Orinoku - Суббота, 04/Янв/2020, 20:25

KripWorland

#632
Подскажите, пожалуйста, как сделать вывод своего экрана при скрытии интерфейса (типа водяного знака). Т.е. При скрытии интерфейса он должен показываться и прятаться, когда опять включают интерфейс

dmit

#633
KripWorland, надеюсь Вы не думаете, что это защитит ваши ресурсы от копирования :)

Код
init python:
    config.layers.insert(1, 'demo')
label start:
    show screen wz
    " "
    return
screen wz():
    layer 'demo'
    if str(renpy.get_mode())=='start':
        add  "water"
планета FOREVER!!!      Unkenbro team

СОНЦЕ

#634
KripWorland,

Код
init python:
    config.layers.append('watermark')

screen watermark:
    if not renpy.get_screen("say"):
        add 'images/watermark.png'

label start:
    show screen watermark(_layer='watermark')
    #.............

апд: dmit оказался шустрее и мне его вариант нравится больше ^^ у меня ватермарка вылазит еще в короткий промежуток перехода между сценами в котором интерфейс тоже скрывается.
Сообщение отредактировал СОНЦЕ - Четверг, 09/Янв/2020, 22:43

KripWorland

#636
dmitСОНЦЕ, спасибо, мысль уловил...
На защиту от пиратов не претендую, но зачем им облегчать жизнь) Пусть распакуют архивы, составят изображение по слоям))) А вообще просто хочу на этот экран вывести кнопку, ведущую на Patreon

Rokatansky

#637
Использую код даты и времени из руководства на форуме lemma soft

Решил от себя добавить возможность перейти на следующее утро. При помощи get_morning хочу получать 8:00 следующего дня.
Но при вызове этой функции получаю просто +1 день, при этом часы или минуты изменить не получается. Ошибки в процессе выполнения нет. В чистом питоне replace работает, а в Ren'Py - нет.
В чем может быть проблема?

dmit

#638
не знаю почему не работает replace, но получить следующее утро 8:00 можно так:
Код
def next_morning(self):
        self.alter(days = 1, hours = 8 - self._dt.hour, minutes = - self._dt.minute)
Сообщение отредактировал dmit - Воскресенье, 12/Янв/2020, 16:07
планета FOREVER!!!      Unkenbro team

Mini-Me

#640
Здравствуйте.
Кто-нибудь может подсказать что нужно подправить:
сделал Android Build, при запуске на телефоне экран в котором отображаются диалоги сдвинут вверх (видимо чтобы было quick menu лучше видно), а также имя Character'а ушло немного левее и наезжает на его изображение в фоновой картинке.
Как всё это вернуть на то же место, что и в PC версии?

dmit

#641
В конце файла screehs есть секция ## Мобильные варианты. Изменяя её можно задавать параметры отличные от ПК. Смотри также variant в документации.
планета FOREVER!!!      Unkenbro team

UltraRED

#642
Цитата Alex_Apple ()
Создаешь персонажа без имени и добавляешь kind=nvl: Код
define narrator = Character(None, kind=nvl)

А дальше просто используешь этого персонажа на необходимом тексте.
Насчет всего остального.
Cделал как написано. Появилась проблема - теперь весь текст, где не указан персонаж выдаются в NVL.
Вопрос заключается в том, как сделать некоторые реплики, где указан персонаж в NVL, а другие(тоже, где не указан персонаж) в ADV?
Сообщение отредактировал UltraRED - Вторник, 14/Янв/2020, 13:56

AxelK

#644
Здравствуйте.
Однако, сразу к делу.
Испытываю острую потребность хранить данные в массивах (лист). Потенциально массивов несколько, и данные в них разного типа. Объекты такие объявить легко и просто, пользоваться ещё проще, но сохраняться силами ren'py они не хотят ни в какую.
По какой-то причине, нагуглить решение тоже не выходит. Питоном доселе не пользовался, если вопрос покажется глупым, просьба не пинать строго.

Прямо на официальной странице проекта рассказано, цитирую
Цитата
In this example:
Код
define a = 1
define o = object()

label start:
    $ b = 1     
    $ o.value = 42


only b will be saved. A will not be saved because it does not change once
the game begins. O is not saved because it does not change – the object it
refers to changes, but the variable itself does not.

Так работает и picke, и cPickle.
То есть, я могу объявить такого рода объект, прекрасно пользоваться им, но при загрузке сохраненной игры это всё будет утеряно.
В чем смысл вообще иметь данные, которые нельзя хранить?
Неужели нет изящного и давно запатентованного способа обойти такую несправедливость?
Или нужно как-то писать свой класс, который будет как-то перехватывать сохранение и сам себя сериализовывать или что-то в этом роде?

Можно, конечно хранить в глобальных переменных что-то вроде
A_1, A_15 = x, y
вместо
A[1], A[15] = x, y
да уж больно некрасиво...

Знатоки, подскажите, пожалуйста, в какую сторону копать.

СОНЦЕ

#645
AxelK
собственно, как и подметили в мануале, чтоб сохранилось, после лабела старт переменную надо пошелевлить
вот в примере как ниже...

Код


label start:
    python:
        A=[]
label main:
    python:
        A.append(renpy.random.randint(1,10))
    'your numbers can be saved. please save-load to check'
    '[A]'
    jump main
    return



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