瞬駈天魔のツクール素材製作所

月額支援サイトファンティアを追加しました!
是非、無料ファンでも励みになりますので宜しくお願い致します!m(__)m

好感度機能でボイス変化設定はこんな感じに!

2024年02月29日 23時45分00秒 | ツクール日記

さて、前回の好感度機能…
キャラボイスまで設定したものはこんな感じ…

好感度300以上で かつ
女性キャラスイッチON または 女の子スイッチONの時、
このイベントの男性キャラが告白なりキャラボイスを発する!

乱数1~4でこのどれかがランダムで発することになる。

ここに応用すれば
アクター1の時などを足して
アクター1の時にしか言わないセリフにするとか。

それ以外の時では
好感度300未満の時、
通常通りのキャラボイスを発するというもの。

前回の続きだから、
ながーいスクリプトは前回のを見てみて!

…いや、だから
恋愛シミュレーションゲームじゃないからねっ!?

最初にSEの停止を入れてるのは
連続でそのキャラと会話した時に
乱数でキャラボイスランダムなわけだから
同じキャラボイスが出るとは限らないじゃん?

ましてや、同じキャラボイスが出ても
二重に聴こえるというよりは
フェードして聴こえる感じにになりそうやん?

音の二重を被せることのないように
一度リセットする意味でSEの停止が一番上にきてるんよ。

最後にSEの停止をかけてしまうと
途中で音・キャラボイスが途切れてしまう可能性が高いっしょ?

最初にSEの停止なら、
再度会話した時にしかSEの停止を指示しないのだから
もう一度話さない限りはSEが途切れることなくなるんよ。

いや、まぁ…慣れてる製作者は基本ですよね。

何ならループ使う手もありますし。

話しかけた場合はループ中断と複合って手もね。

これは変数・スイッチを使った
条件分岐とスクリプトしかないから
覚えれば簡単よっ!(^_^)v


最近ツクってるキャラ好感度機能にて条件分岐を簡単に!

2024年02月29日 23時15分00秒 | ツクール日記

条件分岐を一つづつ下に下してツクってくのって
見づらいし、手間じゃね?

ってことで手間省きをしていきたい…。

まず、キャラの好感度が300以上で
女性キャラか女の子キャラの場合は話の内容が変わるとしよう…

そうなると、女性か女の子かで分岐を分ける必要がある…

そうなるとこうなるよね

ま、こう別でツクるか
女性キャラ以外の時で女の子キャラONの時って感じにツクるか…

…手間だし、条件分岐を2つ以上ツクるから負荷すごくね?

ということで…だ!!

このアヴァリというキャラの好感度の変数が741として
女性キャラのスイッチが115、
女の子キャラのスイッチが116としよう…

そうなるとだ、
前回した通りに変数はこんな感じに…
($gameVariables.value(741) >= 300)

では、女性キャラでプレイして会話してることを認識させるために
スイッチは115がONになればいいから
$gameSwitches.setValue(115,true)

女の子キャラでプレイして会話してることを認識させるために
スイッチ116を同様にONにする必要があるから
$gameSwitches.setValue(116,true)
も必要…

これでキャラ好感度300で かつ
女性キャラプレイ中ON または 女の子キャラでプレイ中ON
という設定にするので
($gameVariables.value(741) >= 300) && $gameSwitches.setValue(115,true) || $gameSwitches.setValue(116,true)
のようになる…はず!!(ぇ

いや、動作確認したよ?
できたよ?
でもね、合ってるか自信ないんよ!(ぉぃ

なげーから見づらいし、メモ帳で分かりやすくこんな感じに…

ね?
スクリプト一つで収まった!!

クエスト作るにもこのやり方なら
セルフスイッチやって…とかそんなにいらん!!

なら、クエスト完了とかも変数にして
変数1が1の時は未クエスト状態、
2でクエスト中…とかにすれば
この複数条件分岐をこのようにして
それ以外の時…で分岐すれば次の会話…とかもできる!

ちなみに条件分岐を通常通りツクった時と
複数条件分岐をスクリプトでまとめた時の容量は何気に違って
スクリプトった方が軽くなるんよ!!

ってことはだ!!

アクター(キャラ)が髪色が違ったりとか
見た目が違って同じキャラだった時、
キャラボイスって同じにするでしょ?

で、好感度が300以上で女性・女の子であったとしても
指定のキャラだけがキャラボイスが変わる…といった
恋愛シミュレーションゲームのようなものをツクるとしよう…

そして、例えば幼少期が1、学生期が2、青年期が3と仮定して
そのアクター・アクターIDが1~3が同じキャラとしよう…

$gameParty.members().contains($gameActors.actor(1)) || $gameParty.members().contains($gameActors.actor(2)) || $gameParty.members().contains($gameActors.actor(3))

というように複数条件分岐を組めば
アクター1の時またはアクター2の時またはアクター3の時、
このキャラボイスが発生する…ということで
さらに応用すると
($gameVariables.value(741) >= 300) && $gameSwitches.setValue(115,true) || $gameSwitches.setValue(116,true)

の条件分岐を組んだ下に
$gameParty.members().contains($gameActors.actor(1)) || $gameParty.members().contains($gameActors.actor(2)) || $gameParty.members().contains($gameActors.actor(3))

これをすれば
変数で741キャラ好感度300以上で当てたもので
キャラが女性キャラまたは女の子キャラの場合、
さらにそのアクター(キャラ)が
アクター1~3のどれかのキャラを選択している時であれば
「お前のことが…好きだ!!」みたいに
キャラボイスが変わる…といった設定ができる!!

…うん、めちゃくちゃだね。(;^_^A

あ、ちなみに恋愛シミュレーションゲームなんて…
ツクってませんからねっ!?(;'∀')

うちがツクってるのは
キャラにアイテムをプレゼントして好感度を上げることで
アイテムをもらえたり、キャラボイスが変わったり…
…ん?実質、恋愛シミュレーション?(;'∀')

ま…まぁ、このように応用すれば
複数条件分岐をひとまとめにしたり、
条件分岐の量を減らせるってわけですよ!!

前回にやったアイテムを持ってるかの複数条件に似た感じですね

んで、
これを書くことで自分が使う時に楽にコピペできる!(ぉぃ