The Crimson Queen いじり

噂通りCTDの嵐でした。
CTDさえなければ、ゴアなデスメタルの雰囲気が味わえる素晴らしいMODです。
CTDさえなければ…。

原因はちょっと分かりません。
CSで開くと警告出まくりだったり、クリーニングしてなかったり。
疑わしいところが多いです。

それ以外に疑わしい点は

1オブジェクト置きすぎじゃね?
2クリーチャー置きすぎじゃね?

VRAMに余裕がないと、この辺も影響して落ちやすくなるのかな?と想像を逞しくしました。
で、一番やばい場所が VmpFortGarrusStorage(セル名は Fort Garrus Storage Basement)です。
このセルでやたら落ちます。

他のセルでもたまに落ちることはあるんですが、このセルだけ桁違いです。
何が違うのかを比較すると、分かりやすいところだと、GoreSpriggan(名前はBlood Horror)が出現します。
Blood Horrorには二種類いて、その辺に突っ立ってて襲って来るのと、ある地点に進入すると突然現れるのがいます。
この、後者がいる地点でやたらCTDしているように感じました。
なので、そられを削除。

その際に注意するのは、スクリプトでBlood Horrorのリファレンスを参照してるので、そのスクリプトを丸ごとコメントアウトするか、削除するかしないと、新たなCTDの原因になるかも知れません。
私は一番上の行 scn ... だけ残して、それ以下の行を全てコメントアウトしました。

その他、クリーチャーを狭い範囲に配置しすぎてるので、何匹か間引きしました。
ハラーダも間引き。
ゴアなオブジェクトもいくつか間引き。
これでとりあえず、CTDが出まくることはなくなりました。

疑わしい点は、まだあります。

荒い息遣いや突然鳴るサウンドのあたりでCTDが起きるように感じます。
それらのサウンドの再生時間を見ると30秒前後あります。
時間が長すぎる?

それから、まったく理由が分からないんですが、この扉の向こうにクリーチャーをひっかけたまま突っ立ってるとCTDします。

120327_1.jpg

肉弾戦ができないキャラを使っているので、クリーチャーを一匹ずつおびき寄せて、まんまと追いかけてきたら召喚したゾンビ達で袋叩きにするという戦い方をしてます。
扉の向こう側も同じセルにあり、向こう側でひっかかっているクリーチャーが扉の隙間から見えます。
クリーチャーはこちら側へ来ようとするのですが、扉が邪魔して来られません。
そんな状態のまま突っ立っていると、何故かCTD。

もうひとつ試した事は、BSAからデータを読むのが遅いか、何らかの原因で失敗しているのかも?と思い、BSAファイルを削除して、作者様が配布されている Unpacked Resources を使いました。
私の環境では、これといって効果は実感できませんでした。

CTDしすぎ…という方は、オブジェクトとクリーチャーを間引けば、ある程度は改善するかも知れません。
こんな素晴らしいMODがプレイできないのは勿体無いです。
 

Tda's Pyramid Head Mod 日本語化 2

日本語バージョンではなく、既に微調整バージョンになっている…。

作者様にプライベートメッセージを送りました。
返事待ちです。

変更した内容。

1▲様の挙動を変更。

 ▲様が異世界から出たらdisable、その後、▲様の部屋でランダムで復活します。
 最速で5秒、計算上は50秒平均。
 ▲様が消えている間に装備をゲットできます。

 ヘルスや防御が高ければ▲様の攻撃を耐えることができるのかも知れませんが
 私が使っているような紙装甲キャラだと一撃で死にますw

 装備をゲットするために、こんな事をしました。
 ▲様に延々と追いかけられ、アンヴィルまで逃げてようやく引き剥がし成功。
 その隙に▲様がいた部屋を物色し、装備を入手。

 ▲様にしては、動きが早すぎるので、何とかならないかと試行錯誤したのですが
 オブリビオンのシステムでは無理なようです。
 EncumbranceがデフォルトでMAX値ギリギリになるように調整されている
 (所持量が重くなるほど移動スピードが遅くなる)ため、おそらく作者様も試行錯誤は
 されたと思われます。

2メッセージでも説明。

 封印された扉の前に落ちている本を拾ったとき、文字によるメッセージが
 表示されます。ストランド砦に何かあるというヒントが確実に伝わります。

3CSの警告を駆逐。

 MODをCSで開いたとき、ふたつ警告メッセージが出るのですが
 原因を解消しました。

 1.繋がっていないパスノードがあったので削除。
   扉のすぐ前にあることと、すぐ近くに別のノードがあるため、つなげる必要はないと
   判断しました。

 2.GetSelfではなくpersistent reference IDを設定してそれを使用。
   取得できない(can't be taken)本なのですが、GetSelfを使うと警告が
   出るようです。
 

Tda's Pyramid Head Mod 日本語化

Tda's Pyramid Head Mod の日本語版がないので作ろうかと思い、パーミッションを見ると、まず作者の許可を取らないといけない…という設定になっています。
もういじっちゃってるのですが、作者様から許可を頂けない限りは公開できません。
いじってる最中に不具合や不備を見つけたので、それについて書きます。

1 無駄な情報がかなり残ってるので、クリーニング必須です。

そのままMODで遊ぶと、環境によって色々不具合が出るかも知れません。
色々と試行錯誤の末に完成したMODだと分かります。

2 スクリプトにバグがあります。

tdaAbaddonSanctumDoor というスクリプトの9行目

if player.GetItemCount AbaddonGlyph と書かれていますが、AbaddonGlyphというアイテムが存在しません。
if player.GetItemCount MetatronGlyph の間違いです。

Fort Strandだったのかぁ…。
for strandって読んでしまって、ストランドというキャラクターがいるのかと思い、あっちこっち探しまわってしまいましたw
それにも増して、シロディールの地理について、あまりにも勉強不足でしたね。
 

種類

を増やしました。

Harvest Dog なのですが、nexusで「狼のバージョンも欲しい。」という感じのコメントをいただきました。
私の英語力だと完璧な理解はできなかったのですが、色々な事を気遣ってコメントしていただいているのは理解できました。
肉と皮が削げ落ちた犬なので、狼なら違和感ないということで、狼バージョンを提案してくれたのかなぁと想像しています。

MODの設定上、違和感が出てしまうんですが、狼以外にも何種類か選択できるようにしました。

120411.png
左から黒熊、狼、腐乱犬、泥蟹、猪、山猫、羊、鼠。
どれもキュートなんですが、クマとネズミにやられました。

ついでにもうひとつ、大人サイズか子供サイズかを選べるようにしました。

泥カニの子供サイズはかなり小さくしているのですが、川辺で遭遇する泥カニのサイズより小さくはならないようです。
ネズミも同様、これ以上は小さくならないサイズにしています。
CS上はきちんと小さくなるんですが、ゲーム中はある程度のサイズでリミッターが設定されてしまうようです。

黒クマの大人サイズは結構小さいです。
大人サイズは倍率を1倍にしています。
おそらく、ゲーム内に配置されている黒クマは1.5〜2倍くらいになっているんじゃないでしょうか。

逆に泥カニの大人サイズはかなりデカイです。


腐った犬が集めた素材を受け取るのはちょっと抵抗が…という方でもお使いいただけるようになりました。
 

判明

Harvest Dog でOBSEセーブデータを肥大化させていた原因が分かりました。
すごく馬鹿なミスをしていました。

いくつかMODを作ってると、同じような処理を繰り返し書いている事に気が付くと思います。
そういう処理を毎回いちから作るのは時間の無駄なので、どのMODでも使える部分を流用しやすい形に微調整して、ユーティリティスクリプトみたいな感じでまとめています。

例えば、refに格納されているオブジェクトのFormIDが、指定したFormIDと一致するかを調べるユーザー定義関数。
Oblivion/Data/ini と Oblivion/Data フォルダ内に指定したファイルがあるかを調べて、あるなら、そのファイルに対してRunBatchScriptするユーザー定義関数。
などなど…。

私のMODをTes4Editで開いて、スクリプトの名前を比較すれば、流用しているスクリプトが分かります。

Harvest Dog にも流用しているスクリプトがあります。
その流用しているスクリプトが古いままでした。
古いスクリプトは、まだセーブデータの肥大化を修正する前の状態でした。

何故、そんな事が起きてしまったのか?
今後、同じミスが起こりうるのか?

今回の失敗が起きた経緯を時系列で書きます。

1Harvest Dog作成開始。
2流用スクリプトを導入。
3OBSEセーブデータの肥大化が発覚。
4Harvest Dogはまだ未公開だったので、ひとまず放置。
5肥大化対策完了。
6Harvest Dogの流用スクリプト以外を修正。
7流用スクリプトの存在を忘れていた。

既に公開していた私のMODについては、流用スクリプトについても確認したのですが、Harvest Dogは未公開だったということで、気を抜いてしまったようです…。
流用スクリプトは既に修正が終わっているので、これから新しく作るMODで、今回のような事が起こることはありません。

また、Harvest Dogの挙動についてはチェックしていたのですが、セーブデータに保存される内容まではチェックしていませんでした。

とにかく、原因が分かって良かった…。
それから、重ね重ね申し訳ないm(_ _)m
 
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。