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

  • Страница 1 из 2
  • 1
  • 2
  • »
Форум о визуальных новеллах » Записи участника » lf2mr [17]
Результаты поиска

lf2mr

#1 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
У меня вопрос по поводу локализации игры на renpy. В общем сделал локализацию одной игры, она стала двухязычная с выбором из языка из настроек, файлы локализации находились по пути game/tl/rus.. Всё прекрасно работало, но вышла новая версия той игры и автор там довольно много изменил, как сами тексты, так и их расположение. С помощью renpy-7.3.3-sdk я обновил перевод до новой версии, в файлах локализации добавилось много разных фраз как новых, так и бывших ранее в переводе. Взялся всё это переводить, после перевода небольшого текста решил протестировать, но игра тупо не видит тех новых переведенных фраз и показывает их оригинально английском виде. Стал копаться что к чему и оказалось что метки создаваемые в файлах локализации неверны и поэтому игра их не видит, пример под спойлером ниже, где я называю метками "translate rus shower_f1049d2a:". Где-то следовало изменить "shower" на другое значение(найденное в самом скрипте) и текст в игре становился локализованным, а где-то где текст повторялся в локализации достаточным было добавить новую метку "f1049d2a" и текст появлялся в игре, но в некоторых местах и изменение этих адресов "f1049d2a" не помогает.
Нашёл в сети другой инструмент для создания локализаций под названием renpy-update-tl-1.0.1, но он вообще выдает ошибку при создании локализации. Может быть есть какие другие инструменты для этого?
В общем если у кого есть дельные советы как производить локализацию апдейтов игр, то прошу не пройти мимо этого поста.
Но а самое главное что меня интересует, так это какой-то адрес из файла локализации, в моём примере это "f1049d2a". Каким образом эта метка создаётся? Можно ли использвать эту метку, чтобы найти текст в том файла на который она ссылается? Как самостоятельно сгенерировать ту метку?

lf2mr

#2 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Как получить в файл .py переменную из renpy?
есть игра на renpy, к ней прилагается папка с скриптами phyton, которые помогают игре и без них она не будет работать. требуется в одном из этих питон скриптов получить переменную из renpy, а точнее нужно узнать какой язык локализации в данный момент использует renpy. В обычных .rpy файлах язык легко определяется "renpy.game.preference.language" или короче "preference.language", но если я указываю это в .py файлах, то появляется ошибка что это переменная не определена и не является глобальной при обращении к ней. как-то считать из renpy эту переменную или ещё как???

Добавлено. Возможно без примера не понятно, тогда вот ниже начало кода питон файла, откуда мне следует вызвать переменную из renpy.


Код
from renpy import store
rp = store.renpy
ui = store.ui

# Allows to set RenPy variables from Python code
def set_var(name, value):
    setattr(store, name, value)

def say_with_narrator(text, color=None, **kwargs):
    if kwargs:
        # If we have extra arguments use them to format text
        text = text.format(**kwargs)
    if color:
        text = add_color_to_text(text, color)
    rp.say(None, text)

def jump(label):
    rp.jump(label)

# We want to access those variable from RenPy code so we have to use RenPy's "store" to hold them

store.current_stat_person = None
store.current_stat_attribute = None

def show_stat_change_bar(person, attribute_name):
    store.current_stat_person = person
    store.current_stat_attribute = attribute_name
Тут в коде автор даже анотацию приложил, что в секции ниже берёт переменные из renpy, которые потом ниже используются. Но так как я плохо знаком с программированием и питоном в частности, то задача для меня оказалась непростой.
Сообщение отредактировал lf2mr - Четверг, 14/Ноя/2019, 12:10

lf2mr

#5 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Всем привет.
Как можно реализовать проверку перемененной в сохранении при каждой загрузке сохранения и если эта переменная не совпадает с шаблоном, то менять ее значение? Или же скриптик, который разово по его запуску проверит все сохранения в проекте и заменит во всех них значение переменной, если она не совпадает с шаблоном.

lf2mr

#6 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Здравствуйте.
Можно ли как-нибудь на ходу менять шрифт прописанный в gui.rpy при смене локализации в проекте?
Я сделал, чтобы при смене локализации менялся параметр gui.text_font на нужный мне, он и меняется - в консоли на это выдаёт шрифт, который я и указал на смену локализации, но в проекте это не отражается.
Возможно как-то на начальных этапах загрузки проекта можно прописать условие для смены шрифтов при смене локализации, чтобы он загружался в память или ещё как? Заранее благодарен за любую помощь в таком вопросе.

lf2mr

#7 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Есть функция меняющая какие-то параметры, например:

Код
def myfunc():
    globals()['x'] = "Значение"
    return
Куда я могу вставить эту функцию, чтобы  она срабатывала например только при заходе на страницу настроек? Если вставляю это в screens.rpy, в блок screen preferences(), или ещё куда там, то срабатывает она постоянно и везде, а не только при переходе на этот screen.

lf2mr

#8 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Всем привет.
Вот есть такая строка в renpy:
Код
text "%s" % outputDay xalign 0.02 yalign 0.97
Можно ли как-то в одной строке как в питоне поставить тут условие, что-то вроде
Код
text "%s" % outputDay if a == 1 xalign 0.02  yalign 0.97 else xalign 0.02  yalign 0.97
Или в renpy такие конструкции не приемлимы  вообще, и нужно сооружать конструкции из нескольких строк?
Само собой представленный код для примера не работает, но может его как-то по-другому надо писать.
Заранее спасибо всем откликнувшимся и нет.
Сообщение отредактировал lf2mr - Среда, 18/Авг/2021, 19:56

lf2mr

#10 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
dmit, огромное спасибо.
Только странно что перебрав столько всяких инструкций  и курсов из поисковиков в инете по тем же условиям в питоне нигде не встретил If с большой буквой, поэтому и здесь сразу не придал этому значения.

lf2mr

#11 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Цитата agnessha ()
Всем привет, возник такой вопрос, можно ли сделать так, что бы имя главного персонажа отображалось слева в диалоговом окне, а имена всех других справа?
Другое решение, отличное от уже предложенного выше.
Код
define mychar = Character("[player_name]", color ="#FA63B1")
Кусок кода из обычного screens.rpy, имена персонажей слева по умолчанию:
Код
if who is not None:

    window:
        id "namebox"
        style "namebox"
        text who id "who"
Заменить на:

Код
if who is not None:

    window:
        id "namebox"
        style "namebox"
        if who != player_name:
            # "500" в строке ниже - это смещение на 500 точек вправо всех имён персонажей, кроме player_name
            xpos gui.name_xpos + 500
        text who id "who"

lf2mr

#12 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Здравствуйте. Прошу помощи.
Есть скрин в меню игры с чекбоксами:

Код
imagebutton:
                    if my_val:
                        idle "gui/preferences/custom_menu_box_idle.png"
                        hover "gui/preferences/custom_menu_box_hover.png"
                        action SetVariable("my_val",False)
                    else:
                        idle "gui/preferences/custom_menu_box_empty_idle.png"
                        hover "gui/preferences/custom_menu_box_empty_hover.png"
                        action SetVariable("my_val",True)
Мне надо, чтобы после присвоения значения переменной my_val в обоих случаях происходило обновление - renpy.restart_interaction(), но не пойму как это тут реализовать. Можно ли как-то привязать это обновление в action и оно будет единоразово срабатывать при выборе/отмене чекбокса или как-то иначе это надо реализовывать в таком случае?

lf2mr

#13 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Приветствую.
Как на время скрыть быстрое меню?
Вот допустим у меня есть скрин:

Код
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

lf2mr

#14 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Marnvini, не работает и так.
screen quick_menu какой-то необычный скрин, он не гаснет на Hide("quick_menu"), проверял это на нескольких играх, и на новом проекте. Его можно без проблем скрыть с помощью SetVariable("quick_menu",0), как я это видел во множестве проектов, но в моём случае у него 3 состояния(0,1,2), и после отработки  скрина мне надо вернуть быстрое меню на место в том состоянии, в котором оно было, но я не вижу как это можно реализовать без введения новой переменной куда передавать состоянии quick_menu  перед его скрытием, и такой способ не приемлем. И как уже писал выше - стандартные действия(переход в настройки правой кнопкой мыши или нажатием на Prefs в быстром меню) скрывает быстрое меню, а потом возвращает его в нужном состоянии(даже сделай хоть 10 разных состояний для quick_menu)..
Сообщение отредактировал lf2mr - Пятница, 26/Авг/2022, 03:08

lf2mr

#15 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
dmit, пробовал подставлять теги меню и многое что ещё, но не удалось с помощью Hide скрывать это быстрое меню. Пересмотрел некоторое количество чужих работ, где реализовывалось что-то подобное, в итоге пришёл к тому, чего не хотелось - временная переменная, в которой записывается состояние quick_menu до его скрытия с помощью SetVariable("quick_menu",0).
Спасибо всем откликнувшимся.
Позже нашёл другое решение -: в скрине quick_menu добавил условие if not renpy.get_screen("my_screem")
Сообщение отредактировал lf2mr - Суббота, 27/Авг/2022, 14:22
Форум о визуальных новеллах » Записи участника » lf2mr [17]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: