datasaveparam : TalkFlag,Talk1.count,Talk2.count,Talk3.count # 初期化。初回起動のときにでも呼ぶ init.sentence : $( # シナリオ全終了フラグ .setstr TalkFlag 0; # 各シナリオの次に話すトーク番号 .setstr Talk1.count 1; .setstr Talk2.count 1; .setstr Talk3.count 1; ) # シナリオの最大数 TalkMax : 3; # 各シナリオのトーク数 Talk1.max : 1; Talk2.max : 2; Talk3.max : 3; # 会話 sentence : $( if $[ ${TalkFlag} == 1] ${sentence3} else ${sentence2} ) # 全シナリオ終了時の会話 sentence3 : ( \0えみりかわいいよえみり。\e ) # シナリオ展開中 sentence2 : $( # 各シナリオのトークを話した数をチェック .clear @tmp; .setstr @num 1; while $[ ${@num} <= ${TalkMax} ] $( .setstr @Tnow ${Talk${@num}.count}; .setstr @Tmax ${Talk${@num}.max}; if $[ ${@Tmax} > ${@Tnow} ] $( .adddict @tmp ${@num}; ); .inc @num; ); # 話せるシナリオがない場合 .setstr @tsize $[ $(size @tmp) ]; if $[ ${@tsize} == 0 ] $( .setstr TalkFlag 1; .eval ${sentence3}; .return; ); # 話せるシナリオから1つ選んで話す .setstr @choice $@tmp[$(rand ${@tsize})]; .eval ${Talk${@choice}.${Talk${@choice}.count}}; .inc Talk${@choice}.count; ) # 実際のトーク Talk1.1 : \0さくらかわいいよさくら1\e Talk1.2 : \0さくらかわいいよさくら2\e Talk1.3 : \0さくらかわいいよさくら3\e Talk1.4 : \0さくらかわいいよさくら4\e Talk1.5 : \0さくらかわいいよさくら5\e Talk2.1 : \0双葉かわいいよ双葉1\e Talk2.2 : \0双葉かわいいよ双葉2\e Talk2.3 : \0双葉かわいいよ双葉3\e Talk2.4 : \0双葉かわいいよ双葉4\e Talk2.5 : \0双葉かわいいよ双葉5\e Talk2.6 : \0双葉かわいいよ双葉6\e Talk3.1 : \0任意かわいいよ任意1\e Talk3.2 : \0任意かわいいよ任意2\e Talk3.3 : \0任意かわいいよ任意3\e