トラブル/Shivering Islesのバグ の変更点

Top/トラブル/Shivering Islesのバグ

*Shivering Islesのバグについて [#d9a83ff9]
**目次 [#a0befaeb]
#contents

*はじめに [#kd03906a]
 公式拡張のShivering Islesは当初致命的なバグを抱えていました。しかし、現在は''ゲームを最新の物にアップデートする事で修正済み''です。以下の記事はその当時の記録を含みます

*バグについて [#wcdd0dde]
**概要 [#pb6738fd]
 Shivering Islesにゲームが続行不可になるバグが発見されました。Shivering Islesインストール後に50〜120時間ほどプレイするとバグが発症します。(いつ起きるかはフレームレート(以下fps)によります。fpsが高いほど発症するのも早いでしょう。)
 Shivering Islesをインストールした時点で発症へのカウントダウンが始まっています。まだShivering Islesに行ってなくても発症します。

**発生機序 [#a2f66e11]
 Oblivionではオブジェクト(アイテム、NPC、etc)を生成するたびにFormIDというのを割り当てているのですが、Shivering Islesのとある箇所でこのFormIDを延々と生成し続けてしまい、FormIDを使い尽くしてしまうという不具合が発生しています。fpsが高いほど発症が早まるのは、処理が早いだけFormIDの生成も早いからと言うわけです。
 FormIDはFFXXXXXX(16進数)で表されており、上2桁はFFに決まっています。下6桁があふれて上2桁が00になってしまうとFormIDとして機能しなくなってしまいます(カウンターをFF000000に戻すなりすればいいだけだったのでしょうが、あふれるなんて想定外だったのでしょう)。このためにオブジェクトが生成されないなどのバグが起こり始めるのです。

*修正パッチ [#fd7752d0]
 公式の修正パッチが公開されています。公式の対応が遅れることを懸念した有志によるユーザー作成のパッチはもはや必要ありません。作成に関わった皆さん、ありがとうございました。

**PC版向け [#o5988702]
 5月1日、公式パッチの正式版が公開されました。パッチを当てれば、ユーザ作成のパッチは不要となります。
-[[SHIVERING ISLES PATCH v1.2>http://www.elderscrolls.com/downloads/updates_patches.htm]]


**XBOX版向け&aname(SIBugXBOX); [#k851c476]
 XBOX版のバグもパッチにより修正されました

*過去の記録 [#y1c4b00b]
 公式修正パッチが公開され、以下の情報は無用の物となっていますが、参考のため残しておきました。
**XBOX版について [#e5227f4a]
%%XBOX版はバグがあるのかどうか自体わかっていません。%%
XBOX版にも同様のバグが存在することが確かめられました。
[[参照:公式フォーラム>http://forums.bethsoft.com/index.php?showtopic=677583]]
>記事はPC版でバグを解決したDateranoth氏によるもの。XBOX版にバグがあることを発見したのはNephele氏です。また、Nephele氏はBethesdaにメールを送っており、「現在、調査中です」との回答を受け取っています。
<
**ユーザー作成のパッチ [#nc85341c]
修正パッチはDateranoth氏により作成されました。
以下のサイトからファイルをダウンロードして他のプラグインと同じように有効にすればOKです。
[[FORM ID SHIVERING ISLES FIX>http://tessource.net/files/file.php?id=10278]]
[[FORM ID SHIVERING ISLES FIX>NexusOblivion:10278]]
これでFormIDの高速無限生成は修正されます。
>◆''修正内容''
Shivering Isles某所の衛兵のパトロールスクリプトに問題があったらしく、プレイヤーがそこにいないときはスクリプトを停止させる、という修正を実施しています。
Bethesdaから公式パッチが出てもプラグインをDisableするだけで元通りなので安心です。
以下に[[公式フォーラム>http://forums.bethsoft.com/index.php?showtopic=673664]]でバグ修正に当たった中心的な方々を挙げさせていただきます。Many Thanks to you all!
-パッチ作成:Dateranoth氏
-バグ報告:The Conjuring氏
-原因NPC特定:UQForgotton氏
-セーブデータ修正ツール作成:Wrye氏
-情報収集:ashakanar氏
<
ただし、この修正は''&color(red){FormIDの高速無限生成の修正のみ};''なので、''セーブデータのFormIDがオーバーフロー寸前、あるいはバグが発症してしまっているといった場合には修正になりません''。
その場合の修復方法、および、どれだけ危険な状況にあるかを調べる方法もパッチ作成者の方々が公表されていますので、それについては下記「''&color(red){発症危険度の確認とその対策};''」を参照してください。
**発症危険度の確認とその対策 [#ff4a313e]
確認、対策ともに[[WryeBash]]のv0.7.1で可能です。
(リンク先はOblivion Wiki JPです。このツールは導入がやや面倒ですが、ここならインストール方法なども説明されていますので問題ないでしょう。)
とにかくShivering Islesのバグ対策だけ済ませたいという場合は[[ORIDFixというツールでFormIDの確認と修正>#SIFormIDFix2]]をするのがおすすめです。
***発症危険度を調べる [#ofd5c94a]
FormIDを調べます。手順は以下の通り。
+Savesタブを開く
+チェックしたいセーブデータを右クリック
+Statisticsを選択
+「Fbomb Counter」というところの値がFormID

ここの上2桁がFFでなければ既に発症。&aname(SIHowBadAmI);
上から3桁目が桁上がりしそう(16進数!)なら発症寸前の状態です。
***発症を食い止める&aname(SIFormIDFix); [#y201a557]
発症寸前ないし発症状態なら以下の操作を実行します。
(&color(red){実行は推奨されていません};。上記のような本当にどうにもならない場合にのみ実行するようにしてください。)
+Savesタブを開く
+修復したいセーブデータを右クリック
+Repair Fbombを選択
+%%入力を促すダイアログが出てきますが、そのまま「OK」をクリック%%&br;入力を促すダイアログが出てきたらFF000000をFF100000にして、「OK」をクリックします。

で修復完了です。
>次に使うFormIDを無理矢理FF100000にするという処理を行っています。
FF000000のままだと新しくエンチャントしたアイテムがリロード時に消えてしまうといった障害が発生してしまうようです。[[情報:UESPWiki>http://www.uesp.net/wiki/Shivering:Reference_Bug#Repair]]
FF000000に修正済みなら、FF100000に修正し直した方が良いかもしれません。
***より簡単な確認と修正(別ツールORIDFixによる修正)&aname(SIFormIDFix2); [#w6cc5bd8]
Wrye Bashは様々なことのできる優れたツールですが導入に難があります。とりあえずShivering Islesのバグだけ何とかしたいという場合は[[Oblivion Reference ID/FormID Fixer>http://www.tessource.net/files/file.php?id=10329]]がおすすめです。
Wrye Bashは様々なことのできる優れたツールですが導入に難があります。とりあえずShivering Islesのバグだけ何とかしたいという場合は[[Oblivion Reference ID/FormID Fixer>NexusOblivion:10329]]がおすすめです。
導入から使用までは下記の通り。
+ダウンロードしたファイルを解凍し、ORIDFix.exeをSaves(マイドキュメントのMy Games\Oblivion\Saves)フォルダに入れる
+ORIDFix.exeを実行する
+Openをクリックして修正(or確認)したいファイルを読み込む&br;(場合によってはファイル一覧にファイルが殆ど無くて慌てますが、ファイル名が長すぎて一画面に収まっていないだけです)
+FixMeボタンの横の"Current Ref_ID count:"の下のがFormIDなので[[修正が必要かどうか>#SIHowBadAmI]]確認する
+修正が必要なようならSaveをクリック
+ダイアログが出てきますが、そのまま「保存(S)」で問題なし(セーブファイル名の頭に"ORID_"が付加されます)
+FixMeをクリック

以上で修正は完了です。上記の手順なら修正したセーブ名の頭に"ORID_"がついているので、それをロードして下さい。
**その他の対策 [#bcee724d]
-公式修正パッチが出るまでプレイしない
-Oblivionをインストールし直し、Shivering Islesはインストールしない(Shivering Islesのプラグインをはずすだけでは駄目)
-fpsの低いマシン・設定にして発症するまでの時間を稼ぐ

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS