Idle Manager

自作Mod

プレイヤーの待機モーションをランダムに変更するための補助ツールです。

モーション変更までの時間と、別のモーションに切り替わる間隔を設定できます。

おまけとして、EVG Conditional Idlesでモーションが切り替わると別のモーションを取るまではずっとそのままになってしまいますが、これがなおります。

ダウンロード

更新履歴

  • 2021/11/23
    • MCMに対応しました。
    • アイドルを固定する機能をつけました。
  • 2021/2/10
    • 盾を外す機能を追加しました。

インストール

お使いのMod Managerにて普通にインストールするだけです。

Dynamic Animation Replacerと待機モーションが別途必要です。

待機モーションの追加

モーションの切り替えはDynamic Animation Replacerを利用します。

待機モーションを別途用意します。

グローバル変数imIdleCounter(Form ID = 801)が「0より小さい場合」を加えてカスタム条件を作成します。

DARの条件例

例としてSexy Random Idles (simple and dynamic)を使う場合で説明します。

DARのカスタム条件として3301から3320まで用意されています。

それぞれの_conditions.txtを開き、以下のようになっているところを

IsActorBase("Skyrim.esm" | 0x000007) AND
Random(0.5)

ValueLessThan関数を追加します。

IsActorBase("Skyrim.esm" | 0x000007) AND
ValueLessThan("IdleManager.esp" | 0x00000801, 0) AND
Random(0.5)

切り替わりを自然にする

モーションの切り替わりにIdleLookFarモーションを再生します。

以下のようなカスタム条件を作成することで、動きが自然になります。

meshes\actors\character\animations\DynamicAnimationReplacer\_CustomConditions\101
  • _conditions.txt
  • idlelookfar.hkx

101の部分は都合に合わせて変更します。

idlelookfar.hkxは、現在使用しているデフォルトのmt_idle.hkxをコピーして用意します。

_conditions.txtは以下のようにします。

IsActorBase("Skyrim.esm" | 0x00000007) AND
ValueLessThan("IdleManager.esp" | 0x00000801, 0)

待機時間や間隔を変更する

以下のグローバル変数にて定義されています。

変数名役割
imIdleTimeプレイヤーが移動を停止してから最初のモーション変更までの秒数
imIdleInterval2回目以降のモーション変更までの間隔
imIdleCounter移動中と停止直後は0になります。
停止してからimIdleTimeが経過すると-1になります。
さらにimIdleIntervalが経過すると-2になります。
以降はimIdleIntervalが経過するごとに1ずつ下がっていきます。
imUnequipShield0で盾を外しません。0以外で盾を外します。

_conditions.txtを工夫することで、停止してある程度の時間が経ってからのみ行うモーションを用意することもできます。

アイドルを固定で指定する

MCMで固定にするよう設定すると、グローバル変数imIdleNumber(Form ID = 808)に番号が設定されます。

DARのカスタム条件を以下のように作成するとアイドルアニメーションを指定できます。例として3301を設定しています。

IsActorBase("Skyrim.esm" | 0x000007) AND
ValueEqualTo("IdleManager.esp" | 0x00000808, 3301)

使い方としては、たくさんあるアイドルアニメーションをゲーム内で順に確認したりできます。

注意事項

モーションが切り替わるのに1秒かかりますが、このときは動けません。

mt_idleからmt_idleへの移行はできないようなので、別の支障なさそうなモーション(idleLookFar)を経由して切り替えているのですが、idleLookFarの再生中は移動できないためです。

タイトルとURLをコピーしました