今更なオブリビオンブログ
おもにMOD関連のメモを書いていくと思います、MODをいじったり、作ってるのが楽しいです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

クエストアイテムフラグおよびリスポーンについて
クエストアイテムとは、その名の通り主にクエスト用のアイテムで、それにに付けられるものがクエストアイテムフラグなんですが、
アイテムだけではなく、オブジェクトには全てクエストアイテムフラグが付います。



これがオンになっていると「捨てられない」「重さが0になる」「リスポーンしない」という性質を持ちます。
アイテムの場合は重さが強制的に0になるため、「捨てられない重たい荷物」というものは作れません。

クエストアイテムフラグをオンにした場合の最大の特徴が「リスポーンしない」というところです。



NPCのクエストアイテムフラグをチェックした場合、リスポーン期間を過ぎても、そのNPCの死体は、ずっと居残り続けます。



画像はとあるNPCの死体。ちなみにNPCの最大体力が0で不死身でなければ死体扱いになります。

死体、あるいは死ぬ可能性があるNPCに重要なアイテムを持たせる場合や、死体をオブジェクトとして置いておきたい場合に有効です。
チェックしていないとリスポーン期間を過ぎると消えてしまいます。

事件の現場などから死体役がいなくなってしまうのは味気ないです。
そういう演出を狙う時意外は忘れずにチェックしておきましょう。





WorldObjectsにもクエストアイテムフラグがありますが、こちらは設定がやや特殊です。
こちらはObjectWindowからEditorIDごとにも設定できますが、RenderWindowで配置したオブジェクトのReferenceごとにも設定することが出来ます。



画像の赤枠の所は、見ての通り本来はスクリプトから参照したい時にチェックする所です。
ここにチェックが入っていないと、特定のオブジェクトをスクリプトで操作する時にReferenceIDを参照できず、
スクリプトを保存する時エラーになります。ターゲットを選ぶときのリストに出てもきません。

チェックするとクエストアイテムフラグをオンにするのと同様で、リスポーンしなくなります。




ドアの場合は、ここがデフォルトでオンになっていて、オフにすることは出来ないため、
一度出現したら、リスポーン期間を過ぎてもずっと動かないままです。

つまり、MODでドアを移動させても一度そのドアを出現させたセーブデータでは
リスポーン期間を過ぎても移動が反映されないということが起こります。

※このあたり、勘違いしていたようです。リスポーンに関してはこちらの記事をどうぞ。




また、クエストアイテムをリスポーンするNPCに持たせておくと、リスポーンした時に持ち物がリセットされない、という仕様があります。
(これにより見かけ上NPCがリスポーンしなくなったようにみえます)


SetQuestObjectのコマンドでクエストフラグのオン・オフの制御が出来ます。
ヴァニラでは、これでクエストの終了とともにPCの持ち物の中にある各アイテムのクエストフラグをオフにしています。

SetQuestObject MG05FingersMiscBook 0

書式
SetQuestObject [アイテムID] [0or1]

アイテムの場合、オフにした瞬間に本来の重さに戻ります。
指定はEditorIDのため、同一のアイテムは一律に変わってしまいます。



追記です

自分の環境ではCSを日本語化して使っているため、気づきませんでしたが「スクリプトから参照できるようにする」のチェックボックスは、
本来「Persistent Reference」です。

CSWikiや他ブログでは、ここにチェックが入っていることを「Persistentである」とか言ったりしています。
たぶんこれが本来の正しい言い方です。


クエストアイテムをチェックすると、EditorIDごとにオブジェクトがリスポーンがしないようになるのに対し、
「Persistent Reference」をチェックすると、RefIDごとにリスポーンしないようになるようです。
ヴァニラでは、ニルンルートがこの特性を利用していて、一度採取すると復活しないようになっています。



NPCは通常これが強制でチェックが入っていますが、「No low level processing」がオンだった場合はデフォルトではオフになるようです。


また、「Persistent Reference」を切り替えるようなコマンドはヴァニラにも、OBSEにも無く、通常ゲーム中に変更することは出来ません。
Persistentかどうかを判別する関数ならOBSEで追加されるものにあります。

・IsPersistent
書式
[ターゲットのID].IsPersistent



自分で見直したところ、リスポーンについてちょっと分かりづらいと思ったので、もう一つ追記です。


リスポーンについてですが、「オブジェクトのリスポーン」と「セルのリスポーン」の2種類があります。

オブジェクトのリスポーンは、オブジェクトのウインドウで「Respawn」のチェックボックスをチェックすることで、
リスポーン期間が過ぎると持ち物がリセットされます。(NPCは死んでいた場合は生き返ります)

セルのリスポーンは、リスポーン期間が過ぎるとそのセルに配置されたトラップや散らかしたアイテムが元に戻ったり、
採取した植物が元に戻ったり、敵の再配置がなされます。(NPCの死体は散らかしたアイテムと同様に片付けられます)
ただし、セルのオーナーがプレイヤーの場合(自宅など)は、セルのリスポーンがなされないらしいです。(おかげで戦利品等を自宅に飾っていても消えない)


上記の記事では全て「セルのリスポーン」の時のことについて書いています。
スポンサーサイト

テーマ:PCゲーム - ジャンル:ゲーム

コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://5588ob.blog.fc2.com/tb.php/18-6fbc6ef2
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。