最終更新:2008/09/03 01:38:50
このスクリプトは、イベントやキャラクターの移動ルートなどでのスクリプトでエラーが発生したときに、詳細情報を提供するスクリプトです。
このスクリプトは、イベントで問題が発生しても場所を特定しやすくなり、エラーの内容も詳細に表示します。このため、今までよりも更に楽にデバッグが行えるようになり、節約した時間を新たなことに利用できるようになります。
このスクリプトを導入してから、同じようなところでエラーを再現してみてください。エラーの詳細情報がわかるため、どこに問題があるか突き止められるようになります。
イベントコマンド、スクリプトで何らかの問題が発生したとき、発生した例外がSyntaxErrorだったとします。
デフォルトのスクリプトでは、次のようなダイアログが表示されるだけです。

※注:SyntaxErrorでなければ、例外発生時のメッセージが削除されていないだけまだましです。それでも場所が全然わからないのですが…
これではスクリプト上でSyntaxErrorが発生したことしかわかりません。中規模以上の作品を作成しているとき、またはイベントコマンド スクリプトを多用しているときなどの場合では、何処に不具合があるのか探すだけでとても大変なことになります。あまりの情報の無さに悲鳴をあげることでしょう。
また、スクリプトの不具合などで質問するときも、情報が足りないために、回答が得られないことが多く、途方に暮れることになります。
Event-EI インタプリタ 例外情報強化スクリプトを導入した後では、ダイアログは次のようになります。
この例では、MAP001( ID:001 ) の EV004( ID:004 )の1 ページ目のスクリプトでScriptSyntaxError(※1)が発生していることを示します。スクリプトおよび、問題の詳細も表示されますので、直ぐに修正に取り掛かることができます。
同様に、条件分岐のスクリプトやキャラクタの移動ルートによるスクリプトから発生するエラーにおいても詳細情報を取得することができます。
共通スクリプトでも、エラー発生時のログを取得しますが、このスクリプトでも詳細情報をログに残しますので、後でエラーの場所を調べる事ができます。
- ※1 ScriptSyntaxError
- RGSSでは、SyntaxErrorの詳細情報をすべて削除してしまうため、このような例外が用意されています。
イベントが意図せずにいきなり停止して戸惑った事はありませんか?このような問題があるスクリプトも検出してエラーにしてしまうこともできます。
この例ですと、MAP001( ID:001 )の EV002( ID:002 ) の 1ページ目のスクリプトで
無限ループに陥る可能性があるスクリプト(この例の場合 return false)を実行していることを示します。これが意図した操作(条件を満たすまで繰り返す)でなければ、修正を行う事ができます。
※この機能は、デフォルトで無効(XP版のみ)にしています。条件を満たすまで繰り返す意図があるスクリプトがあるかもしれないからです。
※VX版ではデフォルトで有効になっています。
スクリプト上でハングアップが発生したとしても、詳細情報を取得し、何処で発生したかを突き止めようとします。この機能によりハングアップの原因を追究しやすくなるでしょう。
※VX版ではHangupが廃止されているため、検出を行いません。
不具合の原因が分からない場合に、エラー発生時のインスタンス変数の状態を出力させることもできます。
- ※重大な注意事項※
ゲームを配布される前にからなずこの機能が無効になっていることを確認してください。
このオプション設定は、内部の状態を出力するものです。
配布した作品でこのオプションが有効になっていた場合、異常終了時に内部の情報が流出する恐れがあります。
このスクリプトによって上記のような問題が発生したとしてもWHITE-FLUTEは一切責任を負いませんのでご了承ください。
Event-EI インタプリタ 例外情報強化スクリプトを導入する手順は次の通りです。共通スクリプトは、rev-11以降が必要となります。
-
はじめてWF-RGSS-Scriptを導入する場合は、共通スクリプトを導入します。
旧いバージョンの場合も同様に導入が必要な場合があります。
「WF-RGSS-Scripts共通スクリプト導入方法」へ
-
Event-EI インタプリタ 例外情報強化スクリプトをScene_Battleより下、Mainより上に導入してください。
-
rev-6.1 (2008-9-3)
-
(VX版) 自動実行コモンイベントのセットアップに失敗する不具合を修正
-
rev-6 (2008-5-22)
-
rev-5 (2008-5-18)
-
依存性を低減しました。より導入しやすくなっています。
-
rev-4 (2006-6-30)
-
イベントコマンド スクリプトで例外が発生したときインスタンス変数の状態を取得できるようにしました。
※デフォルトでは無効にしています。
-
rev-3 (2006-6-3)
-
スクリプト上でハングアップしたとき、詳細情報を可能な限り出力するようにしました。
-
スクリプト上でのGraphics.update の検出する機能を追加しました。
※デフォルトでは無効にしています。
-
インタプリタの動作速度を若干速くしました。
-
rev-2 (2006-5-27)
-
イベントコマンド スクリプトで意図しない無限ループを検出できるようにしました。
※条件を満たすまで繰り返す事を想定していることがあるため規定でこの機能は無効となっています。
-
例外発生時のログ記録機能は、共通スクリプトに移動しました。共通実行スクリプトの編集は不要となります。
-
rev-1 (2006-5-23)