こんにちは。
現在行き詰まっておりまして…一言では説明が難しいので、以下を読んでください。
1、1話完結型のゲームを製作中(1話→2話→3話…)
2、各話ごとにNPCの話す内容を変えたい
3、同じ話数の中では何度話しかけても内容は変わらない
4、しかし話数が変わると内容が変わる
5、ただし、一つ前の会話を聞いていないと、次の会話は表示されない
私が頭を抱えているのは「5」のところです。
ようは会話が10パターンあったとして、1話ならパターン1、2話ならパターン2…ではなく、
パターン1を読み、話数が以降すれば次話でパターン2が表示される、ということです。
なので、たとえ6話だろうと、一度も話しかけていなければパターン1で、
二回話しかけていればパターン3が表示されるようにしたいのです。
いろいろと試行錯誤はしたのですが…うーん、私ではどうも閃きません。
みなさん、お知恵をお貸しください。
※NPCごとに変数を用意すれば可能ですが、もっとスマートな方法を希望します。
【解決済み】指定したタイミングで会話文を変更させたい
Re: 指定したタイミングで会話文を変更させたい
セルフスイッチが有効でしょう。
ただし、セルフスイッチは4個しかないのですぐに限界が来ますね。
ただ、これで前の会話を見ているのを必須にする必要はないと思います。
仕様5をカットすれば解決すると思いますが、これをカットできない理由はありますか?
ただし、セルフスイッチは4個しかないのですぐに限界が来ますね。
ただ、これで前の会話を見ているのを必須にする必要はないと思います。
仕様5をカットすれば解決すると思いますが、これをカットできない理由はありますか?
現在、プラグイン依頼はお休み中です。
Re: 指定したタイミングで会話文を変更させたい
しぐれんさん
返信ありがとうございます。
NPCの会話にもゆるーくストーリー的なものを持たせたいと思っていまして、
パターン1「じつはあの子が気になっているんだ」
パターン2「アドレスを交換したんだ」
パターン3「食事に誘ってみたんだ」
パターン4「告白してみようと思うんだ」
みたいなふうに、次話へ以降すると内容が進展するようにしたいのです。
なので、これを「1話ならパターン1」と当てはめてしまうと、
2話3話を見ずに4話のパターン4を見てしまった場合、話が急に飛んでプレイヤーが困惑するのではという懸念がございます。
(上記の例では1から4に飛んでもまぁ理解できますが…)
返信ありがとうございます。
NPCの会話にもゆるーくストーリー的なものを持たせたいと思っていまして、
パターン1「じつはあの子が気になっているんだ」
パターン2「アドレスを交換したんだ」
パターン3「食事に誘ってみたんだ」
パターン4「告白してみようと思うんだ」
みたいなふうに、次話へ以降すると内容が進展するようにしたいのです。
なので、これを「1話ならパターン1」と当てはめてしまうと、
2話3話を見ずに4話のパターン4を見てしまった場合、話が急に飛んでプレイヤーが困惑するのではという懸念がございます。
(上記の例では1から4に飛んでもまぁ理解できますが…)
Re: 指定したタイミングで会話文を変更させたい
となると、NPCごとに変数しかないと思いますよ。
一番無難で確実です。
プラグインで解決するのは、砂場でトンネルを掘るのにショベルカーを使うようなものです。
一番無難で確実です。
プラグインで解決するのは、砂場でトンネルを掘るのにショベルカーを使うようなものです。
現在、プラグイン依頼はお休み中です。
Re: 指定したタイミングで会話文を変更させたい
いい感じに解決できたので方法を載せておきます。
○使用プラグイン
トリアコンタンさんの「テンプレートイベントプラグイン」
○イベントの記述内容
変数5=現在の話数
セルフ変数1=会話文のパターン
セルフ変数2=現在の話数(判定用)
上記の例では3パターンまでしか用意していませんが、
「◆条件分岐:スクリプト:this.getSelfVariable(1) === 1」の値を増やすことで、
いくらでもパターンを用意することができます。
また、テンプレートイベントとして呼び出すことで、若干ですが入力の手間も軽減されます。
似たような悩みを抱えている方の力に少しでもなれれば幸いです^^
○使用プラグイン
トリアコンタンさんの「テンプレートイベントプラグイン」
○イベントの記述内容
コード: 全て選択
◆条件分岐:スクリプト:$gameVariables.value(5) === this.getSelfVariable(2)
◆
:それ以外のとき
◆プラグインコマンド:TE_SET_SELF_VARIABLE 1 1 1
◆
:分岐終了
◆プラグインコマンド:TE_SET_SELF_VARIABLE 2 0 \v[5]
◆条件分岐:スクリプト:this.getSelfVariable(1) === 1
◆文章:なし, ウィンドウ, 下
: :いち
◆
:分岐終了
◆条件分岐:スクリプト:this.getSelfVariable(1) === 2
◆文章:なし, ウィンドウ, 下
: :に
◆
:分岐終了
◆条件分岐:スクリプト:this.getSelfVariable(1) === 3
◆文章:なし, ウィンドウ, 下
: :さん
◆
:分岐終了
変数5=現在の話数
セルフ変数1=会話文のパターン
セルフ変数2=現在の話数(判定用)
上記の例では3パターンまでしか用意していませんが、
「◆条件分岐:スクリプト:this.getSelfVariable(1) === 1」の値を増やすことで、
いくらでもパターンを用意することができます。
また、テンプレートイベントとして呼び出すことで、若干ですが入力の手間も軽減されます。
似たような悩みを抱えている方の力に少しでもなれれば幸いです^^