Переопределить текст, вызываемый персонажем в игре Renpy - PullRequest
0 голосов
/ 04 ноября 2018

Я хотел бы изменить текст, отображаемый с использованием класса Character для использования контекста.

Допустим, имя моего главного персонажа хранится в переменной, каждый другой Персонаж использует эту переменную для вызова его в диалогах, но я хочу, чтобы эта переменная была заменена при определенных условиях. Я хотел бы проверить эти условия в мета-контексте (не хочу менять текст каждого диалога, просто перехватить диалог в функции для обновления текста)

Я искал в классе Character и обратных вызовах Character, даже с методом перевода, но не могу найти ничего подходящего.

1 Ответ

0 голосов
/ 06 марта 2019

Я не знаю, правильно ли я понял, но я добавлю пример того, что я понял, и вы мне скажете:

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, а строковая переменная, которую вы сохраните в качестве имени, просто используется для записи его в текстовые блоки. Любая другая строковая переменная может использоваться для чего угодно. Надеюсь, что это ваша проблема, и что я исправил ее, если нет, я с радостью помогу вам снова:)

...