☆ Unnecessarily Fixed Fixed Dragon Stalking Fix [バグフィックス] ID:55518 Author:KirbonatedBeverage 2021-09-13 10:18 Version:1.0
- RATE: ★=200 G=1 [DOWNLOAD SITE]
-
TAG: [バグフィックス] [問題解決] [ドラゴン] [死体]
Unnecessarily Fixed Fixed Dragon Stalking Fix
ドラゴンの死体を掃除するスクリプトMODの
Dragon Stalking Fix およびFixed Dragon Stalking Fix
をさらに改良したもの、スクリプトのみ
■解説
[1]Dragon Stalking Fix の問題点
この問題を解決するための最初の試みである「Dragon Stalking Fix」では、OnLoad()とOnUnload()フォームイベントを使用して、ドラゴンの魂が吸収された後にドラゴンを削除していましたが、この方法ではOnLoad()とOnUnload()イベントの信頼性が低いため、同時に過剰な処理があるという問題がありました。
[2]Fixed Dragon Stalking Fix の問題点
このバージョンでは、より信頼性の高い IsAttached 関数を使用して修正を実行しています。
しかしこのMODをインストールした後、ドラゴンが近くにいると突然大量のスクリプトラグが発生することに気付きました。
制作者はこの問題を引き起こすことはあり得ないと断言していましたが、私が実験したところ、それは逆でした。
このMODは、そのバージョンのDragonActorScriptを実行しようとすると、スタックバッファオーバーフローを引き起こします。
このMODのソースファイルを見てみると、すぐにエラーの根本的な原因がわかりました。このMODはOnUpdateGameTime()をイベントとしてではなく、関数として誤って呼び出しているのです。
これはこのイベントを呼び出すのに有効な方法ではなく、前述のスタックオーバーフローエラーが発生します。
この問題はFixed Dragon Stalking Fix と同じ物をドラゴンオーバーホールMODにも同封されてることもあるため直接導入してなくても問題が起こっている可能性があります。
※現在確認されてるもの
Dragon War - A Dragon Overhaul …同封されてる
KS Dragon Overhaul 2 …問題無し
Unofficial Skyrim Modder's Patch - USMP SE …同封されてる
※影響を受けているかどうかを知る方法
ドラゴンと戦った後に大量のスクリプトラグが発生した場合は、FallrimToolsでセーブファイルを開き、アクティブスクリプトを見てみましょう、
問題が起こっていれば画像2枚目のような感じになっています。
■このMODの修正点
関数OnUpdateGameTime()をイベント呼び出しに変更し、それをState deadDisintegratedに移動することで、Tarlazoのコードを修正しました。
それ以外の点では、コードはTarlazoのものとまったく同じです。
■互換について
DragonActorScript.pexを編集しています
現在未確認のドラゴンのオーバーホールのMODとは競合する可能性があります。Skyrim Special Edition Nexus, KirbonatedBeverage. 13 Sep 2021. Unnecessarily Fixed Fixed Dragon Stalking Fix. 13 Sep 2021 <https://www.nexusmods.com/skyrimspecialedition/mods/55518>.スポンサーリンク
スポンサーリンク
上記説明は古い又は異なる場合があります。導入の際はDescriptionを確認の上、自己責任でお願いします。
説明はどなたでも編集する事が可能です、古い又は異なる場合は編集にご協力をお願いします。
To users except in Japan - コメントコメントだけでも投稿できます。気に入ったMODはNEXUSでもENDORSEしましょう。
[Spoiler]テキスト[/Spoiler]とする事で隠しテキスト、#や>>後、半角数字でアンカーを使用可。 -
-▼ Version : 1.0#7名無しここまで皆のMOD環境が違い過ぎると原因の究明も解決も困難すぎる・・・
POSTみて思ったわ ID:UwYjMxMW Day:738 Good:0 Bad:0- Good
- Bad
- 55518
#6名無し結局いるのかいらないのかどちらなんだろう ID:Q4OWIzMz Day:1 Good:0 Bad:0- Good
- Bad
- 55518
#5名無し一連のやり取りを受けてか、名前が Fixed Fixed Dragon Stalking Fix から Unnecessarily Fixed Fixed Dragon Stalking Fix に変わってますね
一応バージョン取得しておきました ID:RjNjEzMj Day:182 Good:0 Bad:0- Good
- Bad
- 55518
#4名無し>OnUpdateGameTimeの使い方にミスがあったということも事実です
いえそれが、eventで呼び出してもfunctionで呼び出しても
コンパイルしてしまえばどちらも同じものになる、ということなんだそうです。
このドラゴンの死体が消えない問題は、そもそもスクリプトにミスがあって消えないわけではなく
スクリプトを場合によって実行したりしなかったりするスカイリムシステムの仕様の問題で起きている問題だそうで、
Fixと名乗っているMODも、それぞれが思うより確実に実行されるであろう書き方に変えてるだけで
大本システムのそのいい加減さには手をつけられていないので、完全には直せていないということだそうです。
2024年にはFix Fix Fix Fix が登場してくるのが楽しみだ!
と冗談をコメントしている人もいるのはそういうことだったようです
(私自身は詳しくないのでまったくわからなく、向こうのポストに書いてあるコメントの真偽が判断できないので、全員真実を述べていると信じて書いているのを表明しておきます) ID:JkMDQ2MG Day:11 Good:1 Bad:0- Good
- Bad
- 55518
#3名無しこの改変スクリプトを作った方は少なくとも自身の環境においては効果があったという話ですし、OnUpdateGameTimeの使い方にミスがあったということも事実です
現時点では何の問題もなくても、いつかなにかの拍子に問題が起きるかもしれない
転ばぬ先の杖ということで、見えている構文ミスは直しておきましょうって認識で良いのでは ID:diZmQ5Ym Day:937 Good:1 Bad:0- Good
- Bad
- 55518
#2名無しこの解説の[2] の問題について、
スクリプトラグやらスタックバッファオーバーフローなど起きていない
そのような現象は君の環境が原因となっておきた別MODの仕業だろう
といったことがあちらのポストにて討論されています
このMOD作者本人ものちにほぼバニラ状態だとそんなことは起きないと発言を訂正しました
くわしくないのでまったくわからないのですが
Fixed Dragon Stalking Fixにはなんにも問題など無かった、(だが騒動を嫌ったのか元作者は消してしまった)
という事だったのでしょうか
つまりどういうことだったのかよくわからないです ID:JkMDQ2MG Day:10 Good:0 Bad:0- Good
- Bad
- 55518
#1名無しGood!TASUKARU ID:M5NWFhND Day:233 Good:0 Bad:0- Good
- Bad
- 55518
- 機械翻訳 説明引用 [原文]
「プログラミング エラーではないことが判明した、認識されたプログラミング エラーを解決しようとしました。あなたはすでにドラゴンストーカーバグを修正するmodを使用している場合は、この...」
スポンサーリンク
スポンサーリンク