Я хотел бы изменить текст, отображаемый с использованием класса Character, для использования контекста.
Скажем, имя моего главного персонажа хранится в переменной, каждый другой персонаж использует эту переменную для вызова его в диалогах, но я хочу, чтобы эта переменная была заменена при определенном условии. Я хотел бы проверить это условие в мета-контексте (не хочу менять все тексты диалогов, просто поймайте какой-нибудь диалог в функции для обновления текста)
Я искал класс Character и обратные вызовы Character, даже используя метод перевода, но не нашел ничего подходящего.
Не знаю, хорошо ли я понял, но я добавлю пример того, что понял, и вы мне скажете:
define hero = Character("[player_name]")
define sis = Character("Lola")
define mom = Character("Ariel")
define friend = Character("Elsa")
label start:
hero "My name is :"
$ player_name = ("What is your name ?")
$ player_name = povname.strip()
friend "Hey [player_name] !"
sis "Hey bro !"
mom "Hey son !"
Надеюсь, это похоже на то, что вы собираетесь получить. Теперь, если вы хотите использовать собственные имена, например, «Брат» вместо «Бро», вы можете просто:
default from_sis = ""
default from_mom = ""
label custom_names:
$ from_sis = ("How does your sister call you ?")
$ from_sis = povname.strip()
$ from_mom = ("Same for your mother")
$ from_mom = povname.strip()
sis "Hey [from_sis]"
mom "Hey [from_mom]"
Помните, что класс Character предназначен только для функции renpy.say, а строковая переменная, которую вы сохраните в качестве имени, используется только для записи ее в текстовые блоки. Любая другая строковая переменная может использоваться для чего угодно. Надеюсь, это была ваша проблема, и я ее исправил, если нет, я с радостью вам снова помогу :)