スイッチを減らしたくて……

sou_sitaku

ユーザー
くそ……結構な回り道になってしまうかも。

なんとなくスイッチやイベントの数が少ない方が管理とかしやすくていいのかな、と思ってセルフスイッチを積極的に使っています。

例えば、町のガイドみたいに、話しては次の場所に移動し、移動先でその場所の説明をしてまた移動し……
みたいなイベントを作るときに下記のようなイベントの組み方をしたんですよ。

イベント(1)セルフスイッチなし 
  このイベント内でイベント自体が移動し、移動先でセルフスイッチAをONにする。
 ↓
イベント(1)セルフスイッチA条件

みたいなことをやるでしょ。
ところがセーブデータにはイベントの位置情報は入っていないらしいことを知らなかった。

マップを切り替えたり(同マップ内の場所移動は問題なかった)、セーブ&ロードをすると、イベント(1)は最初に居た位置に戻ってしまうわけですね。
話しかけるとセルフスイッチA条件のイベントが始まって想定外の結果になってしまう。

取れる方策としては、
 (1)そのイベント中はセーブや移動ができないようにする。
 (2)素直にスイッチを使ってその所々でイベントを作っておく。
ですかね……。
 

chronicle

ユーザー
バージョンアップやバグ修正などで、マップ編集をして通行不可の場所やイベントの位置を移動した場合に、
イベントの位置情報が残っていると最悪セーブデータが使えなくなる、詰む状態になってしまいます。

(2)素直にスイッチを使ってその所々でイベントを作っておく。
がいいと思います。

ツクールのデバッグ画面でスイッチの状況を見たら、進行度やバグも発見しやすくなります。


新機能紹介|RPGツクールMV

> 変数、スイッチ、イベント名などの検索機能を実装
エディタでも、MVやMZではイベント検索機能があるので、
スイッチを利用しているイベントを検索する事も可能です。
 
最後に編集:

たまな

ユーザー
私もセルフスイッチには何度も泣かされてる口ですね
セルフは捨てイベントや簡素イベント(メインストーリーに関わらないイベントや説明イベントなど)にはいいのですけど
メインイベントのスイッチは名前が付けられるイベントの方がいいと思いますよ

スイッチがごちゃごちゃになつてしまいますよね
今、1年前の手直しをしてるのですがひどいものです・・・
反省点として、最初の10は空けておく(これはプラグインで使用する可能性が生まれる為)
スイッチはイベント事に間隔を置いて置きさらに2つ置きくらいに作っていった方が
あとで立ち戻って必要性のあるスイッチが生まれた時にごちゃごちゃにならない位置にスイッチを設置できるのかなぁ
と今思っています
 

panda

ユーザー
順番に発生するようなイベントの場合は、スイッチではなく変数を使うのも一つの手かなと思います。

町のガイドの例であれば、
●ガイド初期位置
 EVページ1:条件なし、ガイド終了後に変数を1にする
 EVページ2:変数>=1、空のイベントページ
●ガイド2番目位置
 EVページ1:変数>=1、ガイド終了後に変数を2にする
 EVページ2:変数>=2、空のイベントページ
……
こういう風にしておけば、複数のスイッチは必要なく、変数1つで一連のイベントを管理できると思います。
 
ああ、これはよく言われていることですね。
「デバッグ画面はデフォルトでは極力シンプルに」がコアスクリプトの掟なので、
セルフスイッチは対象外。
デバッグ画面をもっとリッチにするプラグインはいくつかあるようですが、
元はと言えばセルフスイッチは、宝箱のように、
他のイベントに影響を及ぼさない場面での使用を想定されたもの
なのです。
(だから、OuterSelfSwitch.js みたいなプラグインは、どちらかというと邪道になります)

ここはおとなしく、通常のスイッチを使うことをお勧めします。
スイッチの数が多くなる場合、「○番から○番までは○○イベント専用」みたいに
マイルールを作って管理するのが一番賢いと思います。
 
トップ