何らかの事情で、本来消える筈のエフェクトが残ってしまうことがあります。身に覚えの無いエフェクトが延々残ってしまった経験無いでしょうか(僕は始めた頃によくありました)。
また、ビジュアル的なエフェクトに限らず、ステータス面での効果が残存する場合もあります。なんかマッパでもHPがやたら高くなってたとか等。色々とゲームバランスに支障が出ることになります。
こうならない為の手段と、なってしまった時の対策をまとめておきます。
※今回は文字が潰れ対策で画像大き目になってます。細かい字が見えなかったら拡大してくださいませ。
キャラクタのエフェクトについて
ここで言うエフェクトの正体は、キャラクタに掛かっているspellの効果です(実際には更にspellが呼び出すMagic Effectですが、ここでは置いておきます)。魔法だけとは限りません。例えばEnhanced Blood Texturesの流血効果も、spellだったりします。
一時的なspellは何かしら解除条件があるものですが(時間とか)、これがうまく動かなかった場合に、エフェクトが残存してしまいます。
※MODの不正なアンインストールによるエフェクト残存は別要因なので、別途後述します。
通常プレイにおけるエフェクトの残存
MODのアンインストールによる不具合を除きます。外れるべきエフェクトが残ってしまっている場合の対処になります。
全ての一時的なエフェクトを削除する場合
装備や特性等による恒久的なspell以外を、一括してコンソールから削除可能です。
Player.DispelAllSpells (対象がプレイヤキャラ)
DispelAllSpells (対象がNPC。ターゲットしてからの使用)
これでも外れるとは思いますが、何かおつり貰うと面倒なことになりかねません。なので以下、個別に探して外す方法を。
NPCのエフェクトを個別で削除
Mfg Consoleでエフェクトとして稼動してるspellを確認できるので、不要な物だけをコンソールから削除します。
セラーナ様に、なんか得体の知れないエフェクトが残って消えない状態を想定します。
セラーナ様をターゲットして、spellsを調べます(shiftでツリー展開)。中央の列、何か3つ掛かってるようです。一番上のは元々のspellなので除外しますが、それでも2個変なのがついてます。
とりあえず一番下のから見ていくと、このエフェクトを作っているspellのBaseIDが判明します。
BaseIDさえ判ってしまえば、コンソールから
RemoveSpell xxxxxxxx
で削除できます。
この場合は、RemoveSpell 2f3b7になります。
NPCのRefID(BaseIDではないので注意)が判っていれば、
(RefID).RemoveSpell xxxxxxxx
でもOKです。例えばセラーナ様であれば、
ff000c9e.RemoveSpell xxxxxxxx
といった具合。どのみちMfg_Console使っているのでターゲットしますけども(汗)
とりあえず1個外れました。なんかバチバチ系のが消えてくれたようです。
消したいspellは残り1個です。今度は02005160、Dawnguardの追加spellですかね。同じように消してしまいます。
残りのメラメラ系も消えて、綺麗さっぱり元に戻りました。
プレイヤキャラのエフェクトを個別で削除
やることはNPCと同じです。確認はメニューのACTIVE EFFECTSからも見れますが、別途IDを確認する手間があるので、NPCと同様にMfg_Consoleが楽だと思います。
Player.RemoveSpell xxxxxxxx
で削除できます。三人称視点でターゲットしてから実行すれば、NPCと同じコマンドでもOKです。
どっちも解らない場合
バニラのエフェクトであれば、以下のフォーラムに各エフェクトのSSとspellのIDが書いてありますので、目視で探してそれを削除してください。コンソールコマンドは一緒です。MODによる追加spellへの対処は無理です。
バグにより削除不可能なエフェクト
バニラのエフェクトで、spellを削除しても視覚効果としてのエフェクトが外れない場合があります。これはspell側に問題があるようで、特定のspellでしか発生しないと思います。
冒頭に載せた青緑のボワボワ系のエフェクトもその1つです。
同じように、"RemoveSpell 8CC8C" で消せそうなものなのですが・・・
spellが消えてもエフェクトの視覚効果が残ってしまいます。
消せない場合は、さっきも載せたリンク先のスレッドで、STEVE40氏のバグフィクス用スクリプトが公開されています。これを使ってから削除すれば消えてくれます。既に消してしまった場合は、AddSpellコマンドでSpellを再度追加してから、スクリプト導入環境で消し直せばOKです。
MODのアンインストールに伴うエフェクトの残存
MODの削除に伴い、キャラクタに掛かっていたspell効果が、"ゴミ"として残ってしまうことがあります。これは恐らく、アンインストールの手順に問題があることがほとんどです。
MODオリジナルのspellであれば見た目のエフェクトが残ることは無いですが、ステータス増減効果があったり、バニラやその他残っているマスターファイルのspellを使っていた場合は、残存することがあります。
安全にエフェクトを削除する場合
アンインストールする前のセーブデータまで立ち戻り、安全に削除します。長い目で見れば、これが一番安心だと思います。
- Descriptionを読んでアンインストール方法を確認(書いてない場合は後述)
- アンインストールしたMODを再度インストール
- 導入中のセーブデータをロード(これ以降のセーブデータは捨てる)
- 正しくアンインストール
安全にエフェクトを削除したいがDescription記載の無い場合
3番までは同じ手順です。その後ちょっと変わります。共通しているのは、MODで追加されたspellが残っている状態でのアンインストールが、根本的な問題ということです。
例えば装備系MODをアンインストールする場合、ステータス増減系のエンチャントが掛かっていると効果が残存すると思います。必ず装備を外してからアンインストールしてください。それで問題解消します。
魔法系MODの場合、時間効果の魔法なら切れるまで(spellが解除されるまで)待ってからアンインストールする手もあります。トグル系なら手動で確実に解除で。
もっとも、これもMfg_Console等で確認してマニュアルでspellを削除した方が早いと思います。
Mfg_Consoleで、どのspellがどのMOD由来なのかも確認可能です。アンインストール前に確認して削除しておくと、安全度が増すと思います。
現状のセーブデータで強行する場合
あまり推奨しませんが、自己責任にて。
MODでもバニラのspellを使っているエフェクトであれば、最初の手順で削除できます。
けれどもMOD独自のspellの場合だと、既に消滅している為、これを外すことは不可能です。この場合に問題になるのは恐らく元に戻らないステータスの増減ですが、spellも無いことですし、もう戻り値が判りません(外して戻す、ということができない)。
よって、手作業で戻します。ForceAVコマンドを使って、直接Actor Valuteをコンソールから好きな値に設定し直してください。以下のサイトにActor Valueの一覧があります。
Tes5Mod:Actor Value Indices - UESPWiki
要するに、正しい値に「チート改造」するノリです。
例えば、素のHP200だったのにエンチャント増分が戻らなくなったのなら、
Player.ForceAV Health 200
これで素のHPが200に戻ります。こんな具合で、1個づつ再設定してください。スキルや所持重量等も直せます。
注意点として、必ずマッパでspellも外してから実行してください。装備やspell全て込みの、current値の調整になります。
以上で終了です!
ストック切れなので、また暫く更新止まるかもしれませぬ・・・