| 幻魔の公子です。
データ上の名称を設定することは、結論から言えば可能です。 Printコマンドというコマンドがあり、これはシナリオフォルダ下の任意のテキストファイルに任意の文字列を書き込むというものです。
データフォルダに、名前を決めさせたいキャラクター専用のフォルダを用意しておきます。たとえばまあ、『DATA\主人公』とかですね。 このフォルダには、名称を決めさせたいキャラクター以外のデータは入れません。配布時にはpilot.txtなどは入れないでおきます。 このフォルダのpilot.txtやunit.txtなどに対して、Printコマンドを使用して、そのプレイヤーに決めさせた名称を持つデータを書き込みます。 これで、プレイヤーに名称を決めさせたデータを作ることができます。
しゃべらせたり出撃させたりする際は、プレイヤーに名称を入力させる際の変数をGlobal変数にしておいて、その変数で指定すれば動作します。 たとえば、
Set 主人公 藤原忍
Talk 主人公 やってやるぜ! End
などと記述すれば、とりあえず現在の最新バージョンでは忍がしゃべることを確認しています。
ただし、Printコマンドを使って書き込むといった操作は、どちらかといえば難しい部類になります。 また、あらゆる操作に対してバグを起こす原因にならないという保障は、正直言ってしかねます。 なんで、あんまりお勧めはしません。
愛称とは別のフルネームを表示させたい場合の一般的なやり方はこんな感じでしょうか。 まず、『主人公フルネーム』などといったグローバル変数を用意しておきます。言うまでもありませんが、愛称用の変数とは別にです。 次にプレイヤーに決めさせたフルネームをその変数に格納しておきます。
そして、フルネームを表示する場合は、データの名称ではなく、そのフルネーム用変数の値を表示するようにするわけです。 ForEachなどで一括して処理する場合にも、名称が『主人公』のキャラクターのみその変数の内容に置き換わるようにIf文で分岐させればいいでしょう。
それでは。
|