Fallout好き:主にFallout New Vegas

Fallout好き:主にFallout new Vegas

2013年7月10日水曜日

MODの基板:Gameplay→Settingsにある設定値はゲーム起動時に初期化される

前も書いたかもしれないが、結構重要な事なのでメモ。

Gameplay→Settingsにある設定値はゲーム起動時に初期化される

確認した設定値:
 fJumpFallHeightMin

確認手順:
 自作MODで fJumpFallHeightMin(落ちた時にダメージを受ける高さ)を変更(99999)して、セーブ。
これでどんな高い所から落ちても、死なずに着地出来る。
この状態でセーブ&ロードしても、変わらず着地出来る。
しかし、ゲームを終了し、先ほどのデータをロードすると(同じデータをロードしているのに) fJumpFallHeightMin がデフォルトの600に初期化されている。コンソールで、GetGameSetting fJumpFallHeightMin と入力すれば確認出来る。当然、この状態で高所から落ちればダメージを受けるか死んでしまう。
ゲーム再起動後に値を取得したところ。600(デフォルト値)に戻っている。
このままこの高さから落ちれば死ぬ。
ちなみに、Gameplay→Settingsにある設定値はバニラのスクリプトでは設定出来ない(GetGameSetting で取得は出来る)。NVSEのコマンド con_setgamesetting を使って、
con_setgamesetting fJumpFallHeightMin 99999 のようにして設定出来る。ゲームを再起動することで初期化されるからバニラではあえて設定するコマンドを作らなかったのかもしれない。

もう一つ、con_setgamesetting では設定値を変数で指定することは出来ないようだ(確信では無いが)。
設定値を変更する前に変数に保存し、後でその変数を使って元の設定値に戻すのは、不可能に近いと思う。

気をつけること:
 MODでGameplay→Settingsにある設定値を変更しても、その変更はゲームを再起動することで初期化される、ということを意識しなければならない。変更した値をゲーム再起動後も維持させるには、値変更時フラグを立て、ゲーム再起動後にMODが起動した時に、フラグが立っていれば一回だけ再設定する、というような仕組みが必要。

0 件のコメント:

コメントを投稿