お知らせ掲示板 | 質問掲示板 | 不具合報告掲示板 | 機能要望掲示板 | 雑談掲示板

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
242 / 401 ツリー ←次へ | 前へ→

主人公の名前が表示されなくなる 2012/2/27(月) 3:04
Re:主人公の名前が表示されなくなる 穂乃井 2012/2/27(月) 6:49
Re:主人公の名前が表示されなくなる 2012/2/27(月) 21:13
Re:補足です 2012/2/27(月) 21:47
Re:補足です 穂乃井 2012/2/29(水) 4:00
Re:補足です 2012/2/29(水) 22:19

主人公の名前が表示されなくなる
   - 2012/2/27(月) 3:04 -
  
再びすみません、また躓いてしまったので質問させていただきます。

回想シーンを作ろうと、それぞれ#RP_101、#RP_102・・・などと作り分岐させシーン鑑賞で見ることができました。

ここまではいいのですが、本編では表示できていた名前が、シーン鑑賞で見ると主人公の名前が表示されないんです。
キャラが「○○ちゃん!」と出ていたところも「ちゃん!」になってしまいます。
キャラ自体の名前は表示できるんですが・・・
これの原因はなんなのでしょうか?
自分では?状態でして・・・よろしくお願いします。
引用なし
パスワード

Re:主人公の名前が表示されなくなる
 穂乃井 WEB  - 2012/2/27(月) 6:49 -
  
>再びすみません、また躓いてしまったので質問させていただきます。
>
>回想シーンを作ろうと、それぞれ#RP_101、#RP_102・・・などと作り分岐させシーン鑑賞で見ることができました。
>
>ここまではいいのですが、本編では表示できていた名前が、シーン鑑賞で見ると主人公の名前が表示されないんです。
>キャラが「○○ちゃん!」と出ていたところも「ちゃん!」になってしまいます。
>キャラ自体の名前は表示できるんですが・・・
>これの原因はなんなのでしょうか?
>自分では?状態でして・・・よろしくお願いします。


確認ですが、キャラ名定義.txt で、そのキャラの名前を変数に格納された別の名前に
置換されるように設定していますでしょうか。
つまり、

\CHAR.NAME("花子" , "" , "" , 123)

または

\CHAR.NAME("花子" , "" , "" , , 123)

などと設定していたりしますでしょうか。
もしその場合は、具体的にどのように定義しているかをお教え頂けますでしょうか。

考えられる可能性として、
ローカル文字列変数 $L(〜) に格納された名前を表示するように設定していて、
ローカル変数はゲームを終了したり中断したりすると初期化される変数のため、
回想シーンに入ると $L(〜) の変数は全て初期化されているため、
名前が表示されない、という可能性があります。
解決策としては、ローカル変数でなくグローバル変数 $G(〜) を使うことで
ゲーム終了時・中断時に変数が初期化されなくなり、回想時にも名前が表示されるようになります。


もし、キャラ名定義で特に定義していない場合ですと、あとは
スクリプト中で
文字列変数 $_L(1) に「花子」と格納し、

_[$L(1)]「こんにちは」

という使い方をされていたりしますでしょうか。
その場合も同様に、変数が初期化されてしまうことにより名前が表示されなくなります。

参考になればと思います。
引用なし
パスワード

Re:主人公の名前が表示されなくなる
   - 2012/2/27(月) 21:13 -
  
>確認ですが、キャラ名定義.txt で、そのキャラの名前を変数に格納された別の名前に
>置換されるように設定していますでしょうか。
>つまり、
>
>\CHAR.NAME("花子" , "" , "" , 123)
>
>または
>
>\CHAR.NAME("花子" , "" , "" , , 123)
>
>などと設定していたりしますでしょうか。
>もしその場合は、具体的にどのように定義しているかをお教え頂けますでしょうか。
>
>考えられる可能性として、
>ローカル文字列変数 $L(〜) に格納された名前を表示するように設定していて、
>ローカル変数はゲームを終了したり中断したりすると初期化される変数のため、
>回想シーンに入ると $L(〜) の変数は全て初期化されているため、
>名前が表示されない、という可能性があります。
>解決策としては、ローカル変数でなくグローバル変数 $G(〜) を使うことで
>ゲーム終了時・中断時に変数が初期化されなくなり、回想時にも名前が表示されるようになります。
>
>
>もし、キャラ名定義で特に定義していない場合ですと、あとは
>スクリプト中で
>文字列変数 $_L(1) に「花子」と格納し、
>
>_[$L(1)]「こんにちは」
>
>という使い方をされていたりしますでしょうか。
>その場合も同様に、変数が初期化されてしまうことにより名前が表示されなくなります。
>
>参考になればと思います。


過去にある質問で苗字名前を表示させるものを参考にし
キャラ名定義では
$L(003)=$L(1) + $L(2)
など、それぞれ
\CHAR.NAME("苗字","","",,1)
\CHAR.NAME("名前","","",,2)
\CHAR.NAME("苗字名前","","",,003)
と設定していました。

ちなみにマクロでも
macro[name="苗字" str=";_[$L(1)];" ] //PLAYER苗字
macro[name="名前" str=";_[$L(2)];" ] //PLAYER名前
macro[name="苗字名前" str=";_[$L(003)];" ] //PLAYER
と設定しており

またその際ローカル変数を利用していたので
_[$L(1)]を_[$G(1)]に変更してみたのですが表示はされませんでした。
セーブデータの関係か?と思い初期から初めてみると主人公の名前自体も名前ウィンドウに出てこないず・・・
このとき相手が名前を呼ぶときには出るのですが・・・
引用なし
パスワード

Re:補足です
   - 2012/2/27(月) 21:47 -
  
書きかたがおかしい気がしたので訂正します。
グローバル変数に変更するとシーン鑑賞で主人公名は呼ばれるのですが、主人公の名前はウィンドウに出ない・・・ということです。
重ねてすみません。
引用なし
パスワード

Re:補足です
 穂乃井 WEB  - 2012/2/29(水) 4:00 -
  
>>確認ですが、キャラ名定義.txt で、そのキャラの名前を変数に格納された別の名前に
>>置換されるように設定していますでしょうか。
>>つまり、
>>
>>\CHAR.NAME("花子" , "" , "" , 123)
>>
>>または
>>
>>\CHAR.NAME("花子" , "" , "" , , 123)
>>
>>などと設定していたりしますでしょうか。
>>もしその場合は、具体的にどのように定義しているかをお教え頂けますでしょうか。
>>
>>考えられる可能性として、
>>ローカル文字列変数 $L(〜) に格納された名前を表示するように設定していて、
>>ローカル変数はゲームを終了したり中断したりすると初期化される変数のため、
>>回想シーンに入ると $L(〜) の変数は全て初期化されているため、
>>名前が表示されない、という可能性があります。
>>解決策としては、ローカル変数でなくグローバル変数 $G(〜) を使うことで
>>ゲーム終了時・中断時に変数が初期化されなくなり、回想時にも名前が表示されるようになります。
>>
>>
>>もし、キャラ名定義で特に定義していない場合ですと、あとは
>>スクリプト中で
>>文字列変数 $_L(1) に「花子」と格納し、
>>
>>_[$L(1)]「こんにちは」
>>
>>という使い方をされていたりしますでしょうか。
>>その場合も同様に、変数が初期化されてしまうことにより名前が表示されなくなります。
>>
>>参考になればと思います。
>
>
>過去にある質問で苗字名前を表示させるものを参考にし
>キャラ名定義では
>$L(003)=$L(1) + $L(2)
>など、それぞれ
>\CHAR.NAME("苗字","","",,1)
>\CHAR.NAME("名前","","",,2)
>\CHAR.NAME("苗字名前","","",,003)
>と設定していました。
>
>ちなみにマクロでも
>macro[name="苗字" str=";_[$L(1)];" ] //PLAYER苗字
>macro[name="名前" str=";_[$L(2)];" ] //PLAYER名前
>macro[name="苗字名前" str=";_[$L(003)];" ] //PLAYER
>と設定しており
>
>またその際ローカル変数を利用していたので
>_[$L(1)]を_[$G(1)]に変更してみたのですが表示はされませんでした。
>セーブデータの関係か?と思い初期から初めてみると主人公の名前自体も名前ウィンドウに出てこないず・・・
>このとき相手が名前を呼ぶときには出るのですが・・・

>書きかたがおかしい気がしたので訂正します。
>グローバル変数に変更するとシーン鑑賞で主人公名は呼ばれるのですが、主人公の名前はウィンドウに出ない・・・ということです。
>重ねてすみません。


グローバル変数を名前ウィンドウに表示させる場合には
キャラ名定義の \CHAR.NAME の定義の仕方も変わります。
キャラ名定義.txt 内の説明を見ていただければと思いますが、
第5パラメータが、表示させたいローカル文字列変数番号、
第4パラメータが、表示させたいグローバル文字列変数番号になりますので、
つまり、

\CHAR.NAME("苗字","","",,1)
\CHAR.NAME("名前","","",,2)
\CHAR.NAME("苗字名前","","",,003)

と定義している部分を、

\CHAR.NAME("苗字","","",1)
\CHAR.NAME("名前","","",2)
\CHAR.NAME("苗字名前","","",003)

と変えてください。
これで名前ウィンドウにグローバル文字列変数の中身が表示されるようになります。
引用なし
パスワード

Re:補足です
   - 2012/2/29(水) 22:19 -
  
お早い回答、本当に助かりました。
いつもすごく助けになっています。ほんとうにありがとうございました!
引用なし
パスワード

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
242 / 401 ツリー ←次へ | 前へ→
59,456
(SS)C-BOARD v3.8.1β4 is Free.