唐突だけど、またちょっとしたModを作ってみたり。

Auto Equip Any Arrows

弓の装備/非装備時に矢を自動で着脱する、よくあるアレです。
どの矢を優先的に装備するか、ある程度は任意で決めることができます。
弓を装備していない状態になると強制的に矢を装備解除するので
弓を装備せずに矢だけを装備しておくことはできません。仕様です。

ぶっちゃけた話、この手のModは既にいくつも存在してるんですよね。
ただ、私は弓を使う時は、一応はElven Arrowを常備はしているものの
基本は拾いものの矢を優先的に消費していく感じでやってます。

拾った矢は取っておくんじゃなくて、街に戻った時に全部売り払っちゃうので
そうなると、旅(?)に出るたびに、毎回毎回、違う種類の矢を使うことになるわけで。
この点「最後に装備してた矢を再装備する」類のModは私には不都合でした。

加えて、同じ拾いものでも、DaedricやEbonyやGlassは換金用に取っておきたくて
換金面での重量効率は悪めで1本ごとが重いDwarvenを最優先で使いたいとか
そして他の矢がない時に限り、常備してるElven Arrowを使用するっていう
「強い順」とか「重い順」とか「重量効率順」とかですらない
無駄に細かくて地味に面倒な独自の優先度付けをしてたりします(ノ∀`)

ゆえに、独自の優先度付けをしたいなら独自のModを作ればいいじゃない?っていう
いつものアレな感じで、自分でサクッと作っちゃうことに。
当Modの配布データにはespファイルがいくつか含まれていて
どれを導入するかで自動装備される矢の優先度が変わるようになっています。

配布ファイルには以下の7種類のespが同梱されています。
 ・強い順で優先的に装備する
 ・安い順
 ・重い順
 ・1Gあたりの攻撃力が高い順(攻撃力÷価格)
 ・攻撃力1あたりの重量が大きい順(重量÷攻撃力)
 ・重量1あたりの価格が安い順(価格÷重量)
 ・Dwarven→Silver→Steel→Iron→Elvenの順で、この5種類のみ(※自分用)
どれかひとつだけを選んで導入して下さい。2個以上は入れないように。

具体的にどの矢が装備されるかの優先順は、こんなものを作ってみたりもしたので
よろしければ併せてご利用下さい。並び替え機能付き。要JavaScript。
Oblivion 矢リスト

ちなみに「Amber Arrow」(IDがSEAmberArrow1の、中程度のLv帯で作れるもの)は
何故か「65」とかいうトンデモナイ価格になってるけど、実際にこの価格です。
たぶん開発(公式)の設定ミスなんだろーとは思います、はい(ノ∀`)

あと、自動装備の対象となるのは、Vanillaのもの(IronとかSteelとかその他諸々)と
SIのGrummite、Amber系、Madness系だけになっています。
Vanilla矢でもエンチャ付きの矢やクエスト関連物は非対象です。SIの骨矢も対象外。
Amber/MadnessもMatrix(鋳型)を消費して作るものは対象外。

それと、基本的にGame of the Year Edition以外は動作対象外です。
少なくともOblivion.esmにSIの内容が含まれているタイプじゃないと動きません。
Steamで販売されているものなら問題はないはずです。私もSteam版だし。
かなりの初期版である純粋なVanilla単品に後からSIを追加した環境の場合は
当ModにShivering Isles.espをMaster指定追加すれば動く…かな…どうかな…。

インベントリ画面などで手動で矢を装備した場合は自動装備機能自体が起動しません。
優先度設定とは無関係に任意の矢を使用したい場合は手動での装備を行なって下さい。
※ただし弓を装備解除した時点で装備中の矢も自動的に外れて
 次に弓だけを装備しても優先度設定に従っての矢の自動装備が行われますので注意。


…で、この「優先度」設定を実現するために、iniファイルを利用してみたりとか
いろいろやろうとしてみたんだけど、どうにも私には難しくって
最終的には、ちょー単純にespを複数用意することで対処しました(ノ∀`)

あくまでもゲーム内やiniで細かい設定ができるというわけではないので
好みの設定のものがない人は大勢いらっしゃるかと思います。
その場合は自分でスクリプトを変更して下さい。ヾ(*´∀`*)ノ

…と、丸投げしたらMod公開の意味がないので(特に今回は類似Modが多数既出だし)
Modと同時にこんなものも作って公開してみることにしました。
Auto Equip Any Arrows用スクリプト生成スクリプト
優先度リストを入力することで、必要なスクリプトを自動で生成してくれます。
Mod本体よりもむしろこっちの方が公開物としてはメイン。かも。

作って公開したっていうか、正直いうと、元は自分用に作ったものなんですけどね。
優先度別にいくつもespを手作業で作るのは正直しんどくてスクリプト化したっていう。
スクリプトを作るためのスクリプトをまず作る…。
これも「手の込んだ手抜き」とゆーんだろうか…(ノ∀`)


まず、リンク先のページの上部に矢のデータ一覧を用意しておいたので
これを表計算ソフトか何かに貼り付けて下さい。
いわゆるExc○lとかの類。SSはApache OpenOfficeのCalcです。
…って、この時点でいきなり難度高い気もするけど(-∀-;)

ちなみにリストの全てを使う必要はありません。
私の「自分用」では、SIには行かないプレイをしてるのでSI系は外してあって
あと換金面での重量効率が飛び抜けてるGlass、Ebony、Daedricの3種類は
換金用として使わずに取っておいて後で売り払いたいので、リストに入れてません。

逆に、標準(配布ファイル)では省かれているエンチャ矢を独自に追加したり
Master指定とロードオーダーさえ正しくすればMod矢を追加しても構いません。
そのあたりはお好みで自由に編集して下さい。
※公式のCSは、他の「esp」をMaster指定しているespを編集して保存すると
 「esp」のMaster指定は外れてしまう不具合があるのでご注意を。
※ID(EditorID)はUESPWikiなりCSやTES4Editなりで自分で調べて下さい。



ソフトの並び替え(ソート)機能の類を適当に上手く使ったり、手作業なりで
リストを好みの順番に並べ替えて下さい。
右(F列以降)のセルに例えば「=C2(~30)/E2(~30)」だとかを追加するとか
そのあたりは必要に応じて各自で。

並び替えができたらID部分だけをクリップボード等にコピーして…。
※一番上の「ID」までコピーしないように要注意。


「スクリプト生成スクリプト」のページのIDリスト入力部に貼り付けて下さい。
「↓生成↓」を押すと、必要なスクリプトが自動生成されます。

10行目の「~fQuestDelayTime to 0.7」の末尾の「0.7」の部分は
数字を小さくすると「ラグ」のようなものが減りやすくなります。
あんまり減らしても常時高負荷がかかるので、好みやスペック次第でまあ適当に。
このModなら0.7程度でも十分だと思うけど、気になる人は0.2ぐらいにしてもいいかな。


CSのスクリプトエディタで「aaaTirinaAutoEquipAnyArrowsScript」をロードして
さきほど生成されたスクリプトと差し替えて下さい。(全て選択→貼り付け、とか)
※SSではConstruction Set Extenderを使用しています。

その後「スクリプトを上書き保存」してから「espを上書き保存」して下さい。
これで、あなただけの独自の優先度設定の矢の自動装備Modのできあがり(*'ω'*)

…正直、CSを起動すらしたことない、そもそもインストールもしてないよ!
っていうような人には、どう考えても難しすぎる内容のような気はしてます(´∀`;)
この内容は、あくまでもCS(とスクリプトエディタ)が自分で使える人向けです。

CS(CSE)やその他ソフトの使い方に関する個別の質問には答えられませんので
自力でなんとかできない人は、他のModを探すなり何なりして下さいヾ(*´∀`*)ノ
でも「こういう優先順で矢を装備するバージョンを作って!」っていう要望をくれれば
気まぐれで気が向いた時に気分次第で作らないでも…なくは…なくも…ない…かも…。

ぶっちゃけ、配布してる7種類のespじゃ足りない気はしてるんだけど
他にどんな優先度設定があるといいか、私じゃ特にはもう思い付かなくって(ノ∀`)

[特に読む必要はない余談]
私が作ったスクリプトでは、処理対象の矢1種類毎に
 ・その矢を所持しているかどうか確認する。→非所持なら次の矢の処理へ移動。
 ・所持しているなら、所持本数-1の数値を取得。
 ・取得した数値分、その矢を所持品から取り除く。(1本だけ手元に残す。)
 ・矢を装備する。
 ・減らした分の矢を所持品に追加する。
っていう謎の処理を組んであるんだけど、EquipItemやEquipItemNSで矢を装備すると
何故か1本分だけしか装備されないんですよね。
1本しか装備してない状態の矢を撃っても、またすぐに自動装備が起動して
同じ矢が(残ってれば)装備されるから、それでも問題ないといえばないんだけど…。
ただ、ゲーム的にはどうにも「美しくない」ので、こんな処理を組みました。
ぶっちゃけ、スクリプト的にはこっちの方が美しくないけどね!(ノ∀`)
そして見た目が1本しか装備してないように見えるのは直しようがないので諦めた。

以上、矢の自動装備Modでした。
何度もいうけど、この手のModは既にいくつも公開されてるし
需要のほどが謎すぎる気もするけど、よろしければどうぞ(゚∀゚)
そしてこれをきっかけに自分でCSとかスクリプトとかに触れてみて
貴方もMod作者になっちゃってみてもいいんじゃないかな!ヾ(*´∀`*)ノ
前の記事次の記事