プログラミング・動画編集 備忘録

プログラミングや動画編集についての備忘録です

SkyrimのModのファイルフォーマット

どこかに絶対あるとは思っていましたが、これまで検索方法が悪くて見つけられませんでした・・・

Modのファイルフォーマットが解説されています。
Tes5Mod:Mod File Format - The Unofficial Elder Scrolls Pages (UESP)

最初からコレみていれば、開発ももっと楽だったろうけど、まぁ自己流で少しずつ解析するのも楽しいので。
ちなみに、次のように検索しました。
https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=skyrim+GRUP&*

以上

Skyrim Creaion Ki でesp読込み時にクラッシュする

Skyrim CKを久々に使おうとしたところ、次のエラーがでて、クラッシュしました。


f:id:rrryutaro:20170330225802p:plain

---------------------------
Assertion
---------------------------
Assert

File: ..\TES Shared\misc\BGSLocalizedString.cpp

Line: 2871

LOCALIZATION: Error opening or reading strings file.

f:id:rrryutaro:20170330225811p:plain

---------------------------
Warning
---------------------------
MASTERFILE: LOCALIZATION: Zero entries or empty block size read from strings file STRINGS/HearthFires_ENGLISH.STRINGS. Strings will be missing.

"Yes to all" will disable all Warnings for this context.

f:id:rrryutaro:20170330225951p:plain
f:id:rrryutaro:20170330225849p:plain


調べてみたところ次の記事を見つけました。
http://alfortmod.blog.fc2.com/

昔の記事ですが、こういった情報は本当に助かります。
Skyrimのフォルダ(C:\Program Files (x86)\Steam\steamapps\common\Skyrim)の、

SkyrimEditor.ini を開き、見てみると次のようになっていました。

SResourceArchiveList2=Skyrim - Shaders.bsa, Update.bsa

これを次のように修正。

SResourceArchiveList2=Skyrim - Shaders.bsa, Update.bsa, Dawnguard.bsa, HearthFires.bsa, Dragonborn.bsa

無事開けるようになりました。
でもいつの間に変わったんだろう?

Skyrim Mod 製作日記 - 17 - すべてのマップマーカーを編集する

前回から続いているModの作成途中ですが、esp/esmファイルの読込をより完全に出来るようにしました。
といってもまだ全然完全ではないですが。

以前に、Discovered Map MarkerというModを作成しました。
これは、ゲームスタート時に各要塞へ行けるようにマップマーカーのフラグをファストトラベル可能にしただけのものでした。
この際、できれば各大立石へもファストトラベル可能としたかったのですが、CKでどのように探せば良いのかわからず、放置していました。

今回の目的は、MapMarker(0x00000010)を参照しているすべての項目を抜き出して出力し、FormIDを知ることです。
それには、Skyrim.esmを読込み、Worldspaceのデータをすべて適切に解析しなければなりません。
他の項目は基本的に単純なのですが、CellとWorldspaceは癖があります。

※今回で大体必要な解析ができたので、Skyrimのesm/espファイルのバイナリ解析については別途記事にする予定です。

ともかくも、Worldspaceの読込が適切に読込めるようになったので、MapMarkerを参照しているものをすべて抜き出しました。
本来なら、そのデータをコピーして出力すればよいのですが、一部仕組みが分からない点があったため、FormIDを出力して、後はSSEEditで対象をコピーするようにしました。(SSEEditは本当すごいですね)

結果、次のようになりました。

全てのマップマーカーのリスト

FormIDが判明したので、そのまま player.moveto {FromID} としてテレポートもできます。

リストが長いので次の場所へ移しました。
rrryutaro.hatenadiary.com

ファストトラベル可能にする

さて、ファストトラベル可能にするには、"FNAM"(Map Flags)の値を Visible:(1) + Can Travel To (2) = 3 にする必要があります。
SSEEditでコピーして作ったespファイルを読込み、FNAMの値を3に変更して保存します。

実行してみたところ次のように、マップマーカーが表示されました。
実際に全て表示されているか確認してみた所、表示されていないマーカーがありました。

表示されていないマーカーについて、player.moveto {FormID} でテレポートしてみた所、発見される場合と、そうでないマーカーがあります。
基本的にはクエストと紐づいているであろうマーカーは表示されないようです。
特に内戦系は、帝国軍かストームクロークかの野営地のいずれかになる場所は表示されません。
また、ドワーフの遺跡のエレベータの入り口や一部の難破船などもマーカー表示にならないようです。
その他、セーブデータ上で、未発見でマーカーが表示されているものは、ファストトラベル可能な状態に書き換わらないようです。

調べた限りでは、全436箇所中、369箇所が有効でした。

PC版について

コンソールコマンドで tmm 1 とすれば、すべてのマーカーが有効になります。

※当初なぜか表示されるだけで、ファストトラベルできないものと勘違いしていました・・・
※折角なのでPC版も公開しようとNexusに登録したところ、コメントをもらい、確かめたところ表示されました
※う~ん。前に試したときに、ファストトラベルできなかったと気がするのですが、勘違いなのでしょう。

Skyrim SE:http://skyrimspecialedition.2game.info/detail.php?id=9186
Skyrim LE:http://skyrim.2game.info/detail.php?id=83030


以上

Skyrim Mod 製作日記 - 16 - ダンジョンを自動生成する (2)

ウィザードリィ#1のマップを利用したダンジョン生成ですが、とりあえずB4まで作成した段階のModを公開しました。

こんな感じです。
gaming.youtube.com

PS4 Version
https://bethesda.net/en/mods/skyrim/mod-detail/3622828
XB1 Version
https://bethesda.net/en/mods/skyrim/mod-detail/3624110
PC Version
https://bethesda.net/en/mods/skyrim/mod-detail/3624087

Skyrim Mod 製作日記 - 15 - ダンジョンを自動生成する (1)

以前にNIFを閲覧するためのModを作成しました。
rrryutaro.hatenablog.com

この画面の樽や床は全て自動生成したもので、元となるデータはフォルダとファイルの情報のみです。
f:id:rrryutaro:20170325224731p:plain

そこで、これを利用してちょっとしたダンジョンなら自動生成できるだろうと思い立ち、ダンジョン生成のプログラムを製作することにしました。
といっても、前に少し作りこんでいましたので、これも製作を再開といった所です。

ダンジョンの構成を1から考えて作るのは大変なので、ウィザードリィ #1のマップを利用することにします。
次のような仕様としました。

ダンジョン生成プログラムの基本仕様

  • 固定サイズの床などを組み合わせる形とする
  • マップは床や壁の配置を指定したcsv形式のファイルを読込むものとする
    • 行がY方向、列がZ方向
    • 壁を配置する方位をbit位置で 北:1 東:2 南:4 西:8 とし、合算した値の数字を設定する
    • 床壁情報、扉情報、敵情報、その他の情報とそれぞれにcsvを分ける
    • 敵情報とその他の情報は配置時の向きとする
  • その他の情報は別途xml形式で何を配置するかの詳細情報を記載する

マップの作成

表計算ソフトを利用して、セルを方眼にして罫線で壁を書き、床壁情報を書き込みます。
f:id:rrryutaro:20170325230436p:plain

扉情報はこんな感じ。
f:id:rrryutaro:20170325230534p:plain

敵情報はこんな感じ。
f:id:rrryutaro:20170325230629p:plain

あらかじめCKでCell情報や、最初の入り口などは作成しておき、これをプログラムから読込み追加情報を書き出して、CKで読込むとこんな感じになります。
f:id:rrryutaro:20170325230936p:plain

一部見えていない壁などは、床や壁に利用している素材が表面部分しか描画が無いためこのように見えます。
このため、ゲーム上で裏側からだと進入できて表面は壁として機能します。
逆にこれを利用して、一見通路のように見えるのに、通過すると壁になるという、ウィザードリィらしいトラップが実現できます。

ゲーム上から見るとこのような感じです。
f:id:rrryutaro:20170325231304p:plain

なお、ナビメッシュはCKで生成するようにしています。

現在実現できていること、出来るだろうけどまだやっていないこと、たぶん実現できないこと

PS4版基準でModを製作していますので、ウィザードリィらしくしたくてもできないこともあります。

現在できていること

  • 床・壁の配置
  • 扉の配置
  • 上下フロアへの移動手段
  • モンスターの配置(普通に配置しているのでダンジョンに入った瞬間全員動き出す)
  • 宝箱の配置
  • 一方通行の壁(床の裏面を通路にして、通り過ぎると表面が壁となるので)
  • ワープ(単純にMoveToできるスクリプト"DA16DreamwarpTriggerScript"を利用)
  • ダークゾーン(ライトを全て真っ暗にしたCellを作成してそこへワープさせる)

出来るだろうけどまだやっていないこと

  • エレベーターの配置
  • シュー
  • メッセージ表示
  • ダメージ系のトラップ類
  • 各種クエスト

タブンできないこと

  • 隠し扉
  • 一方通行の扉
  • 完全なダークゾーン
  • 呪文などを使えなくするゾーン
  • ランダムワープ
  • 回転床(近いことは出来るが、仕組み的にランダムワープと同じなので)

現在B3まで作っています。さすがにB10まで作るのは結構大変なので、調整してそこそこ動きそうなら公開してみようかと思います。

これまでの失敗について

次のようなことがありました。

  • NavMeshを配置してもPS4で動作しない
  • 壁などがCKで見るとちゃんと表示されるのにゲーム上で表示されない
  • ワープされる位置が指定と異なる

原因は、espファイルを出力しては読込んでを繰り返していたためか、セーブデータにゴミデータが出来上がっていたようです。
Mod導入前のセーブデータから実行したらちゃんと表示されました。


以上

Skyrim Mod 製作日記 - 14 - ユニーク装備のアップグレードModを製作する (2)

前回、ユニーク装備を鍛造で+1~+100強化するModについて、基本的な仕組みが出来ました。
今回は、Wikiなどを確認しつつ、ユニーク武器とユニーク防具のコピーを作成していきます。

武器

とりあえず、武器は次のものを登録。
レベルドとクエストの装備以外のものは一通り登録しました。

No 英語名称 日本語名称 価格 素材
1 Auriel'sBow アーリエルの弓 1436 研磨された月長石
2 Dawnbreaker ドーンブレイカー 740 黒檀のインゴット
3 Ebony Blade 黒檀の剣 2000 黒檀のインゴット
4 Keening キーニング 13 鉄のインゴット
5 Mace of Molag Bal モラグ・バルのメイス 1257 黒檀のインゴット
6 Mehrunes' Razor メエルーンズのカミソリ 860 黒檀のインゴット
7 Volendrung ヴォレンドラング 1843 黒檀のインゴット
8 Wuuthrad ウースラド 2000 黒檀のインゴット
9 Aegisbane エイジスベイン 135 鉄のインゴット
10 Akaviri Sword アカヴィリ・ソード 300 鋼鉄のインゴット
11 Angi's Bow アンジーの弓 50 鋼鉄のインゴット
12 Blade of Sacrifice 生けにえの刀剣 144 黒檀のインゴット
13 Blade of Woe 悲痛の短剣 880 鉄のインゴット
14 Bloodskal Blade ブラッドスカルの剣 1250 銀のインゴット
15 Bloodscythe ブラッドサイズ 1859 黒壇のインゴット
16 Bloodthorn ブラッドソーン 183 鋼鉄のインゴット
17 Bolar's Oathblade ボラーの忠誠剣 1014 水銀のインゴット
18 Borvir'sDagger ボルビルのダガー 18 研磨された月長石
19 Bow of the Hunt 狩りの弓 434 鋼鉄のインゴット
20 Champion's Cudgel 勇者のハンマー 1767 黒檀のインゴット
21 Dawnguard Rune Axe ドーンガードのルーンの斧 175 鋼鉄のインゴット
22 Dawnguard Rune Hammer ドーンガードのルーンハンマー 500 鋼鉄のインゴット
23 Dragon Priest Dagger ドラゴンプリーストのダガー 9 鉄のインゴット
24 Drainblood Battleaxe 血吸いの両手斧 266 鋼鉄のインゴット
25 Drainheart Sword 吸精の霊剣 73 鋼鉄のインゴット
26 Drainspell Bow 吸魔の霊長弓 458 鋼鉄のインゴット
27 Dwarven Black Bow of Fate ドワーフの運命の黒弓 1446 黒壇のインゴット
28 Eduj エドシュ 300 鋼鉄のインゴット
29 Firiniel's End フィリニエルズエンド 785 研磨された月長石
30 froki's Bow フローキの弓 307 鉄のインゴット
31 Ghostblade ゴーストブレイド 30 エクトプラズム
32 Glass Bow of the stag prince 鹿の皇子の碧水晶の弓 375 研磨されたクジャク
33 Harkon's Sword ハルコンの剣 1472 鋼鉄のインゴット
34 Hoarfrost ホアフロスト 946 鋼鉄のインゴット
35 Horksbane ホルクスベイン 250 鋼鉄のインゴット
36 The Longhammer ロングハンマー 90 オリハルコンのインゴット
37 Nettlebane ネトルベイン 5 黒檀のインゴット
38 Notched Pickaxe 刻み目のあるつるはし 303 鉄のインゴット
39 Okin オキン 320 鋼鉄のインゴット
40 Poacher's Axe 密猟者の斧 31 鋼鉄のインゴット
41 Red Eagle's Bane 赤鷲の破滅 345 鋼鉄のインゴット
42 Rundi's Dagger ルンディのダガー 18 鋼鉄のインゴット
43 Shiv ナイフ 5 鉄のインゴット
44 Soulrender ソウルレンダー 1852 黒壇のインゴット
45 Steel Battleaxe of Fiery Souls 火炎魂の鋼鉄の両手斧 320 鋼鉄のインゴット
46 Stormfang ストームファング 1185 鋼鉄のインゴット
47 Trollsbane トロールズベイン 121 鋼鉄のインゴット
48 The Woodsman's Friend 森の人の仲間 28 鉄のインゴット
49 Valdr's Lucky Dagger ヴァルドルの幸運のダガー 15 鋼鉄のインゴット
50 Windshear ウィンドシア 40 鋼鉄のインゴット
51 Zephyr ゼフィール 670 ドワーフの金属のインゴット

防具

防具は一式揃っているものを登録。個別のものは今後対応していこうかと思います。

No 英語名称 日本語名称 価格 素材
1 Thieves Guild Hood 盗賊ギルドのフード 551
2 Thieves Guild Armor 盗賊ギルドの鎧 665
3 Thieves Guild Gloves 盗賊ギルドの手袋 222
4 Thieves Guild Boots 盗賊ギルドのブーツ 241
5 Thieves Guild Hood 盗賊ギルドのフード 967
6 Thieves Guild Armor 盗賊ギルドの鎧 1299
7 Thieves Guild Gloves 盗賊ギルドの手袋 445
8 Thieves Guild Boots 盗賊ギルドのブーツ 479
9 Guild Master's Hood ギルドマスターのフード 1252
10 Guild Master's Armor ギルドマスターの鎧 1779
11 Guild Master's Gloves ギルドマスターの手袋 559
12 Guild Master's Boots ギルドマスターのブーツ 649
13 Linwe's Hood リンウェのフード 563
14 Linwe's Armor リンウェの鎧 368
15 Linwe's Gloves リンウェの手袋 483
16 Linwe's Boots リンウェのブーツ 837
17 Nightingale Hood ナイチンゲールのフード 804 虚無の塩
18 Nightingale Armor ナイチンゲールの鎧 1249 虚無の塩
19 Nightingale Gloves ナイチンゲールの手袋 819 虚無の塩
20 Nightingale Boots ナイチンゲールのブーツ 295 虚無の塩
21 Nightingale Hood ナイチンゲールのフード 902 虚無の塩
22 Nightingale Armor ナイチンゲールの鎧 1553 虚無の塩
23 Nightingale Gloves ナイチンゲールの手袋 1054 虚無の塩
24 Nightingale Boots ナイチンゲールのブーツ 295 虚無の塩
25 Nightingale Hood ナイチンゲールのフード 969 虚無の塩
26 Nightingale Armor ナイチンゲールの鎧 1949 虚無の塩
27 Nightingale Gloves ナイチンゲールの手袋 1294 虚無の塩
28 Nightingale Boots ナイチンゲールのブーツ 5434 虚無の塩
29 Helmet of the Old Gods 古き神々の兜 345
30 Armor of the Old Gods 古き神々の鎧 611
31 Gauntlets of the Old Gods 古き神々の篭手 592
32 Boots of the Old Gods 古き神々のブーツ 1104
33 Shrouded Cowl 暗殺者の頭巾 677
34 Shrouded Cowl Maskless 暗殺者のマスクなし頭巾 677
35 Shrouded Armor 暗殺者の軽装鎧 373
36 Shrouded Armor 746
37 Shrouded Gloves 暗殺者の手袋 125
38 Tumblerbane Gloves 325
39 Shrouded Boots 暗殺者のブーツ 305
40 Ancient Shrouded Cowl 太古の暗殺者の頭巾 1199
41 Ancient Shrouded Armor 太古の暗殺者の軽装鎧 617
42 Ancient Shrouded Gloves 太古の暗殺者の手袋 175
43 Ancient Shrouded Boots 太古の暗殺者のブーツ 355
44 Blackguard's Hood ブラックガードのフード 708
45 Blackguard's Armor ブラックガードの鎧 2079
46 Blackguard's Gloves ブラックガードの手袋 778
47 Blackguard's Boots ブラックガードのブーツ 836
48 Deathbrand Helm デスブランドのヘルム 2433 スタルリムの鉱石
49 Deathbrand Armor デスブランドの鎧 2433 スタルリムの鉱石
50 Deathbrand Gauntlets デスブランドの篭手 3987 スタルリムの鉱石
51 Deathbrand Boots デスブランドのブーツ 2416 スタルリムの鉱石

プログラムの仕様を少し変更

前回、登録時点で+1とすることにしていましたが、Creation Kitでは、元アイテムをコピーしてEditorIDのみ変更することにしました。
そして、上記リストの内容に、CrationKitで設定したEditorIDと元アイテムのFormIDを加えたCSVファイルを作成し、そのデータを元に+1~+100の武器・防具のデータと、レシピを作るようにしました。
レシピも基礎となるレシピを1つだけ用意して、それを元手にします。

日本語化について

装備の+1~+100を作る前のespファイルをsseTranslatorで開き、自動翻訳された結果をxmlでエクスポートして、後は、XMLファイルとして読込んで+1~+100を付けたノードを追記して出力し、sseTranslatorで翻訳します。

出来たもの

こんな感じです。
f:id:rrryutaro:20170319175857p:plain
f:id:rrryutaro:20170319175913p:plain

PS4版、XB1版、PC版について、英語版、日本語版の計6種類をBethesdaに登録します。

[PS4] R Upgrade Unique Item
[XB1] R Upgrade Unique Item
[PC] R Upgrade Unique Item
[PS4][JP] R Upgrade Unique Item
[XB1][JP] R Upgrade Unique Item
[PC][JP] R Upgrade Unique Item

毎回この作業が、大変なんです。特に説明文の翻訳。
ともかくも久々に再開しましたが、結構スムーズに目的のものが製作できました。

また、今回の製作で、アイテムデータの自動生成も大体出来たので、その気になれば、データだけ登録してしまえば、ほぼ最終目標のModが出来そうです。


以上

Skyrim Mod 製作日記 - 13 - ユニーク装備のアップグレードModを製作する (1)

状況

さて、1ヶ月ほどMod製作が止まっていましたが、再開しました。
直前の状況が、アイテムデータなどをCreation Kitで作るのは大変なため、プログラムで生成する仕組みをある程度作りこんでいました。
やりたいことは、各種データを自動生成することです。
しかしながら、ソフィーのアトリエのプレイが進んでいないので、題材とするデータがありません。
そこで、仮題材として、次のようなModをプログラムから作ることにしました。
このプログラムでは、武器データ、防具データ、レシピデータを自動生成します。

ユニーク装備のアップグレードModの基本仕様

  • 通常1つしか手に入らない武器・防具を対象にする
  • 通常の鍛造施設で造れるようにする
  • アイテム名称の最後に +1 ~ +n と付けるようにする
  • アップグレード内容は武器ならダメージを+1ずつ、防具なら防御力を+1ずつ上げるようにする
  • 必要な素材は、強化時に必要なアイテムとアイテムの定価のゴールドとし、強化レベル(+1 ~ +n)を掛けた値とする

武器データの製作

とりあえず武器は「アーリエルの弓」を対象にして、+1 ~ +100までを造れるようにします。
Creation Kitで "DLC1AurielsBow"(02000800) をコピーして、最初の+1の武器データを登録します。
f:id:rrryutaro:20170318205302p:plain
IDには、プレフィックスに"rrr"を付けて、アイテム名称、サフィックスには強化レベル(+1~+n)を3桁(001~100)を付けるようにします。
Nameには、アイテム名称の後に"+1"を付けます。
Damageは値を+1します。

これで、基本となる武器データが登録できました。
後は、プログラムで、+2~+100までのデータを繰り返し作成します。
変更するのは [EDID]EditorID、[FULL]Name、[DATA]Game Data - Damage、[CRDT]Critical Data - Damageの4つで、後は変更しません。
クリティカルダメージは基本的に通常ダメージの1/2(切捨て)となるようです。(※一部、通常ダメージと同じ武器もあり、アーリエルの弓も通常ダメージと同じですが、ここではとりあえず、1/2とします)

鍛造で造れるようにするには

ConstructibleObject にレシピを登録します。
f:id:rrryutaro:20170318202200p:plain

右クリックして、[New]を選択します。
f:id:rrryutaro:20170318202322p:plain

各項目

  • ID: EditorIDのこと。Mod内でユニークな名称を付けます。
  • Created Object: 造られるアイテム。コンボボックスからEditorIDを選択します。
  • Created Object Count: 造られるアイテムの数。数値を入力します。
  • Workbench Keyword: アイテムを造る施設。コンボボックスからEditorIDを選択します。
  • Required Item List: アイテムを造るのに必要な素材のリスト。追加する場合、右クリックして[Add]を選択します。
    • Object: [Required Item List]で選択しているアイテムを変更します。
    • Count: [Required Item List]で選択しているアイテムの数(アイテムを造るのに必要な素材の数)を変更します。
  • Match Conditions: アイテムを造るのに必要な条件の指定。ここで指定した条件に合致しない場合、画面に表示されません。
    • <
    • >>: Match Conditionsで選択している項目を一つ下に移動させます。(条件の優先順位を下げる)
    • New: Match Conditionsに条件を追加します。(右クリックで[New]を選択しても同じ)

※コンボボックスの項目はインクリメンタルサーチが出来るので、EditorIDを打ち込んでいけば探しやすいです。なお、データ上はFormIDで管理されています。

次のように入力しました。
f:id:rrryutaro:20170318203727p:plain

IDには、プレフィックスに"rrrRecipe"を付けて、アイテム名称、サフィックスには強化レベル(+1~+n)を3桁(001~100)を付けるようにします。
造るのに必要なアイテムは、Cration Kit内で探すか、次のサイト(Xbox360/PlayStation3「The Elder Scrolls V:SKYRIM」日本語版wiki - トップページ)を参考にしています。
ちなみに、「アーリエルの弓」は砥石で強化できるため、次のように登録されています。
f:id:rrryutaro:20170318204513p:plain

強化時に必要なアイテムは「研磨された月長石」で、「アーリエルの弓」の価格は1436なので、そのように登録します。
なお、+1製造時は「アーリエルの弓」を必要とはせず、+2の製造からは元のアイテムを消費するようにします。(Modでユニークアイテムを削除してしまうとまずいので)

また大量のレシピを追加するため、元アイテムを所持している場合のみ表示されるように条件を追加します。

これで、基本となるレシピが登録できました。
後は、これでもプログラム側で+2~+100までのデータを繰り返し作成します。
変更するのは、[EDID]Editor ID、[CNTO]Item(アイテム製造に必要な素材)、[CTDA]Conditions(アイテム製造に必要な条件)、[CNAM]Created Objectの4つです。

防具データの製作

防具はギルドマスター装備を対象にしてみます。
これまでと同じように、Creation Kitで元データの"Guild Master's Hood"(000E35D9)、"Guild Master's Armor"(000E35D7)"、"Guild Master's Gloves"(000E35D8)、"Guild Master's Boots"(000E35D6)をコピーします。
ちなみに、FormID的には、脚部・胴・腕・頭部の順番になっていますが、頭部・胴・腕・脚部の順番で登録することにします。

武器と同じように、ID、Nameを付けます。防御力はArmor Ratingを変更します。
後は武器と同じように+2~+100のデータを作り、レシピも同じように登録します。

防御力が反映されない

espファイル内でのバリナリデータの事ですが、Armor Ratingは小数点の表示があったため、てっきり浮動小数点型かと思ったのですが、どうやらint型を1/100した値で管理されているようなので、防御力を+1する場合、100を指定するようにします。(バイナリ上で 01 00 00 00 となってなら、通常のint型なら、 1 ですが、Armor Ratingの場合は 0.01 となっています)

防具が透明になる

単なるプログラムのミスですが、"MODL"の値をミスっていたため、透明に表示されました。
逆に考えると、"MODL"の値をNULLにすれば防具を装備しているのに裸状態になるばかりか、頭部が次のようになりました。
f:id:rrryutaro:20170318211904p:plain

本来は次のようなっています。
f:id:rrryutaro:20170318212111p:plain

これはたぶん、フードの部分でおおわれている部分が透明になったのでこのように見えるのでしょう。

今回、コレに気づくのに一番時間を費やしました・・・

一通りのパターンが完成

つまらないことで躓いたりなどしましたが、どうにか武器・防具のデータコピーとレシピのコピーが出来て、鍛造で造れることが確認できました。
後は、各種ユニーク装備の基礎データを登録していけばOKですが、ここは地味に一つ一つ登録していく他ありません。
今回はここまで。