Re: バグ報告スレッド5 [ No.26 ]
メンテ
 2008/12/16 23:15
 Code:AIBA
Code:AIBAです。
基本システムVer1.25により、『コモンEv004:○回復・ダメージ処理』にバグが発生しているようですのでご報告致します。

【問題内容】
コモンEv4によってパーティ全体の回復を行った後、再度コモンEv4によって1人を回復するとエラーが発生する。
[メッセージ]:『DB読込 ERROR4:文字列を格納すべき場所に変数が代入しようとしました』
[処理地点 ]:コモンEV53 行7

【原因】
Ver1.25でコモンEv4による回復処理の前に『コモンEv053:×┃┗装備済パラメータ算出』を呼び出す処理を追加していると思いますが、入力3『対象位置』に範囲外の値を入力するケースがあるためです。
# 図解を添付しておきます。

まず『対象位置』は『対象となるキャラクタがパーティの何番目にいるか』を表す値のため 0〜5 の値しか許容しません。
しかし、以下の手順により範囲を超えてしまいます。
1.コモンEv4を呼び出して、パーティ全体を回復
⇒ループ処理により、入力3に0〜5の値を順に入力してコモンEv53を呼び出す。(入力3の値はループカウンタのセルフ10番-1としており、セルフ10番はループ終了時には7となる)
2.コモンEv4を呼び出して、誰か1人を回復
⇒1人を回復する処理ルートにはセルフ10番を変更する処理はない。よって前回の呼び出しによりセルフ10番は7なので、入力3を6にしてコモンEv53を呼び出してしまうためエラーが発生。

【対処】
1人を回復する処理ルートでもセルフ10番に範囲内の値を格納すればいいのですが、コモンEv4の仕様次第ではそれだけでは済みません。
コモンEv4の入力は『対象のキャラ番号』ですが、コモンEv53の入力は『対象がパーティの何番目にいるか』なので可変DBのパーティ情報を検索する必要がありますが、対象がパーティ内にいなかった場合はそれでも値を得られません。
そもそも対象がパーティ内にいない場合、コモンEv4はどのような挙動をする仕様でしょうか?対象外だとしたら検索後イベント終了でいいと思いますが、そうでない場合このままコモンEv53を使うことはできないはずです…。
添付ファイルあり20081216_2315_21_1.jpg

添付ファイルあり20081216_2315_21_2.jpg