Oblivionいじり アレコレ

OBLIVIONのCSやMOD,改造などの情報を載せています。他にオマケ情報もあり。

Call Horse: プレイヤーの乗馬に合わせてコンパニオンも乗馬する

TES NexusでこのMODを見る (要OBSEv0015以上)

アナタのコンパニオン、Tamrielマラソンの選手になってませんか? プレイヤーは馬に乗ってるのにコンパニオンだけ気合の持久走なんて可哀想じゃないですか?

なんでプレイヤーだけ馬に乗ってるの?

call_horse_ss.jpg(123631 byte)

NPCの騎乗ってOblivionでは意外に面倒な問題で、何かのAIパッケージに付随して「Use Horse」として馬に乗るという仕組みで、とりあえず馬に乗せるというのはないんです。どこかにTravelする上で馬にのる、プレイヤーをFollowするついでに馬に乗るとか、そんな感じです

で、OblivionのAIパッケージの気難しさは広く知られていて、その上、処理のタイミングが悪かったりするとあっさりゲームが落ちたりして、かなり手強い存在です。そのせいなのか、コンパニオンMODなのに馬を使ってくれなかったりして、意図せず「プレイヤー → 白馬の騎士」「コンパニオン → マラソン選手」みたいなシゴキプレイになりがちです。

自分の知ってるところでは、mpcは鮮やかに馬に乗ってくれますが、もう1つの大御所 Mad Companionship Spells v2.5 や自分が愛用してる Companion Share and Recruit v3.27 では馬に乗ってくれず、気合のフルマラソン状態に。プレイヤーが黒馬に乗ってたりするとコンパニオン涙目です。

これを解決するには、自分でコンパニオンMODを作るか、うまいことサポートするMODを作るしかないんですが、前者は絶望的に大変なので後者をやってみました。AIパッケージとスクリプトを使って、プレイヤーの乗馬・下馬に同期します。

一応売りとしては

  • 一度スペルでタッチして登録すればプレイヤーの乗馬と下馬に自動的にシンクロ
  • コンパニオンMODの挙動に応じて、どれほど操作を加えるか調整できる
  • 1人1人、黒馬と白馬のどちらかを選べる
  • プレイヤーの馬を登録して召喚可能。というか実は馬じゃなくても登録でk

となってます。あれ、セールスポイント少ないなぁ…。でも多分便利だと思います。勝手にシンクロするのが一番の売り。

call_horse_menu.jpg(43236 byte)

MODの仕組みは単純、力技ばかりです

まずタッチのスペルでNPCにスクリプト付きのアイテムを渡し、ついでに馬のオーナーのリストに登録します。プレイヤーが乗馬したら感知して専用の馬を召喚するスペルをCast、AIパッケージまたはスクリプトで乗馬させ、プレイヤーをFollowさせます。プレイヤーが下馬したら感知して馬をアクティベートして降りさせます。

アイテムにより毎フレーム監視されていますが、多少は負荷も考えていて、例えばプレイヤーが馬に乗っていないなら1行のIf文でReturnされます。

If (state == 0) && (Player.IsRidingHorse == 0)
  Return ;この程度なら事実上負荷なし

プレイヤーとコンパニオンが乗馬中でも、3つのIf文を含む5行でReturnされるので、負荷はほとんどかからないはずです。

欠点としては、コンパニオンMODなどと併用しないと、赤の他人のNPCに使ってもすぐにAIパッケージが切り替わってしまって戻ってしまったり、強制的に乗せるオプションを使っている場合に特定の状況で落ちる点です。

試したところ、MCSは強制的なオプションを使わないと乗馬しないので、もしかしたら使いづらいところがあるかもしれません。その反面、CSRはプレイヤーをFollowするAIパッケージに「Use Horse」が含まれているのか、所有する馬が近くにあるだけで勝手に乗ってついてきてくれるので助かります。

ちなみにCSRを使っている理由は、自動ルーティング機能で勝手にアイテムを拾ってくれるので楽だからです。いちいちインベントリを開いて受け渡しするの面倒すぎるので…余談でした。

あまりに地味すぎて、TESNに投稿しても全然ダウンロードしてもらえないみたいですが、本当に困ってる人に使ってもらえたらそれだけでも十分だと思ってます。やっぱりコンパニオンがマラソンって、プレイしていて凄い違和感なんですよ。どうしても我慢できなかったので作ってみた結果がこれです。

使ってみた感想や改良したほうが良い点があれば教えていただけるとバージョンアップするかもしれません。自分で考えつくのは一定距離離れた際に「MoveTo Player」でワープさせることくらいですが、それはコンパニオンMODの役目の気がします。でもCSRだといつの間にいなくなったりしてるんですが…。

戻る