--

--.--

スポンサーサイト

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

スポンサー広告:  トラックバック(-)  コメント(-) 

    2010

06.28

NehrimでMODを入れた時のレベルアップできない不具合

「入るなら入れたらええやん」的テンションでNehrimにMODを入れていたら、
さっそく不具合に遭遇してしまいました!(なぜかテンション高め)
今回のケースでは、Ragna Block and Parry V2でした。
とはいえRagna Block and Parry V2に限らない不具合のようです。

あくまでNehrimに(想定されていない)MODを詰め込んでいる筆者が悪いのであって、
Ragna Block and Parry V2は悪くないんだってこと忘れないでください。

【不具合】
  • 経験値をいくら溜めてもレベルアップしない
  • 500 Gold以上持ってるのにロバが買えない
  • (W)のついている道具を手に入れても説明が出ない
  • …つまりPlayerにくっついているはずのGlobalplayerscriptがまったく働いていない
【原因の切り分け】
  1. 今入れているMODの中で、Playerを弄っているのはRagna Block and Parry V2だけ
  2. このMODだけ外すと、通常通りレベルアップした→一応原因はこのMOD
【やってみたこと】
  • Ragna Block and Parry V2をロード順の一番上に置く→×
  • Nehrim.esmにScriptタグをつけてみる→×
  • その他つけられそうなタグをつけまくってみる→×
【原因】
  • Ragna Block and Parrt V2が「Player」にタッチしており、
    他のespは(日本語化などで「Player」にくっつけられてるスクリプトの内容にはタッチしているものの)
    「Player」というEditorIDのオブジェクト自体にはタッチしてないため
    ロード順をどう置こうとRagna Block and Parry V2のスクリプトが生きる
【想定される対処】
  • Ragna Block and Parry V2を外す→確実に解決するが当然パリィできなくなる
  • スクリプトのコピペで併用を試みる→うまくいった… 6/28
    できるのかもしれないけど、詳しく検証はしてないです
    Globalplayerscriptの中身をRagnaParry内にただコピペしてもParryは出ませんでした
【スクリプトのコピペを試みてみた】
こんな手順でやってみたら上手くいきました。
こちらの環境では日本語テキストはNehrimJP.espという名前で保存しているので、
それを例にしていきます。
  1. CSでNehrimJP.espを読み込む
  2. Globalplayerscriptを丸ごとコピーする(正確には2行目以降のみ)
  3. OBSE経由のCSでRagna Parry V2.espをActiveにして読み込む
  4. RagnaParryというスクリプトを開き、1行目のスクリプト名と変数列挙の間にペーストする
    Scriptname RagnaParry

    ←この辺にペーストする


    Float Timer
    Float StatusTimer
    Float StatusLevelUpTimer
  5. スクリプトを保存してespも保存する
以下は当初使っていたアイディアですがメンテが面倒だったのでやめました。
  1. OBSE経由でCSでNehrimJP.espをActiveにして読み込む
    この時Ragna Parry V2.espも一緒に読み込む
  2. RagnaParryというスクリプトをスクリプトエディタで開き3行目~最終行をコピーする
    (具体的には
    short blocktracker
    と書かれている行から最終行までです)
  3. Globalplayerscriptというスクリプトをスクリプトエディタで開き、
    書かれているスクリプトの更に下に、2.でコピーしたものをペーストする
  4. スクリプトを保存する
    この時、「ifで書かれるべきなのにelseifで書かれてる所があるぞ」と怒られるので、該当する4箇所(55、61、171、177行目かな? 正確にはエラーメッセージをよく読んでください)をelseif→ifに書き換えればエラーは出なくなります
    (OBSE経由で起動すると、本来緩めの構文チェックが厳しくなるようですね…ちなみに、今回のこのエラーはif...endifで構成されるべき部分がいきなりelseif...endifでくくられてるのが原因のようです)
  5. espを保存する
  6. CSではespをMaster指定できないのでWryeBashを起動し、NehrimJP.espを右クリック→Add Master→Ragna Parry V2.espを指定する
    Masterリストに以下のように列挙されればよい
    ・Nehrim.esp
    ・Ragna Parry V2.esp
  7. ゲームを起動して確認すると、Parryもレベルアップも機能した
日本語化してない場合はRagnaParryを直接編集してGlobalplayerscriptにコピペし、
PlayerにくっつけられているスクリプトをGlobalplayerscriptに指定しなおせば可能だと思います。
とはいえespをMaster指定するなどOblivionでもあまり推奨されない手段なので、
同じ手段を使う場合、自分の責任で行ってください。

要はGlobalplayerscriptとRagnaParryの中身が両方Playerにくっついていればいいのではないかと。
というかBegin GameMode~Endっていくつあってもよかっったんですね…という。

というような感じでRagna Block and Parry V2は、
Master差し替えだけでは導入できませんでした。
PlayerにくっつけるObject ScriptをつけかえるようなMODでは、
いずれにせよ同じような現象が起きてしまうと思われます。
申し訳ありませんでした。

スポンサーサイト

Nehrim関係トラックバック(0)  コメント(2) 

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