この投稿は「Cataclysm Dark Days Ahead」のプレイ日記です。目次はこちら。
1/13 追記を書きました。
こんにちは。初心者です。ただいまの時刻は22:21。時間が無いので書き殴ります。前回は「変身MOD」を製作しました。変身MODとはオリジナルタイルをキャラクターとしてゲームに登場させるMODです。今回はオリジナルタイルを武器と防具に対応させるMODを作ります。とりあえずセーブしてゲームを終了しますね。
今回やること
1/13追記。今回の投稿で行う作業を説明します。「ツヴァイヘンダー」という剣の性能をオリジナルのドット絵に対応させます。そして「メイド服」の性能もオリジナルのドット絵に対応させる。すると性能は同じだが、見た目のドット絵だけが違う「オリジナルの剣」と「オリジナルのメイド服」が完成するのです。なぜこんなMODを作るのか?それはCataclysm:DDAをより楽しむ準備だからです。
前回のpngファイルを開いてください
まずは前回作ったpngファイルを開いてください。私は0.Dの時に使っていたnekoneko.pngを開きます。
縦64px、横192px
pngを開いたら縦幅を64px、横幅を192pxにしてください。「fg0、fg1、fg2」はキャラクターのドット絵が配置されているはずです。fg3に剣(装備時)のドット絵を描いてください。fg4に剣を床に置いたときのドット絵を描いてください。fg5はメイド服(装備時)を描いてください。fg6はメイド服を床に置いたドット絵を描いてください。
items.json、recipes.json
次に「items.json」と「recipes.json」を用意してください。まだ何も書かなくて良いです。
Hitchhiker's Guide to the Cataclysm(日本語版)
そして私は「Hitchhiker's Guide to the Cataclysm」の日本語版にアクセスしたのです。ここならアイテムのIDや性能やレシピがわかると思った。だけどよく分かりませんでした。
0.F-3、ツヴァイヘンダー
上の画像のように0.F-3のツヴァイヘンダーを調べたのだが難しかったので諦めました。言い訳はしない。俺は頭が悪いクズなんだ。
生成→アイテム生成
というわけでサクラエディタのGrepを使って武器や防具の性能やレシピを調べます。Grepの検索はアイテムのIDを知っているとやりやすい。IDを調べるためにデバッグメニューで「アイテム入手」を選択しました。1/13追記。IDはさっきの「Hitchhiker's Guide to the Cataclysm」で簡単に調べることができます。
ツヴァイヘンダー、zweihander
ツヴァイヘンダーのIDは「zweihander」です。
メイド服、maid_dress
メイド服のIDは「maid_dress」です。
現在のitem.json
今回はarmor.jsonを使わずに武器も防具もitems.jsonに書いてしまいます。ツヴァイヘンダーの性能は「\data\json\items\melee\swords_and_blades.json」に書いてありました。メイド服の性能は「\data\json\items\armor\torso_clothes.json」にありました。それらをitems.jsonにコピペしたのだが、なんだこれ意味がわからねえ!誰か助けて!!
↓のidとnameを変えます(items.json)
上の画像はツヴァイヘンダーの性能が書かれたjsonの一部分です。どうしてnameが「zweihテ,nder」と変な表記になっているのだ。やべえ!Cataclysm:DDAが俺の知らない別のゲームになっている!「id」は絶対に書き換えなければいけません。同じidのアイテムが複数個あるとエラーが出てしまう。「name」も書き換えるべきだが、過去のバージョンとは記述の仕様が変わっていらっしゃる。
idとnameを書き換えました(items.json)
コピペしたツヴァイヘンダーの性能の「id」と「name」を上のように変えました。無事に導入できるかは分からないけど突っ走りましょう。
1/14追記。nameについて。
1/14追記。0.F-3では"name"を「"name": { "str": "名前", "str_pl": "名前" },」と書くようです。私が今回の投稿で行ったのは古いバージョンのやり方です。
メイド服のIDとnameも変えました
メイド服のidとnameも書き換えました。これで性能は全く同じだが名前だけが違うアイテムが2つ登場するはずだ。items.jsonの書き換えはこれで終わりにします。
完成したitems.jsonです
完成したitems.jsonは上の画像。jsonが0.Dよりも複雑になっています。メイド服の「repairs_like」がちょっと怖いなと思いながらも次に進みます。
現在のrecipes.json
ツヴァイヘンダーのレシピは「\data\json\recipes\weapon\cutting.json」、メイド服のレシピは「\data\json\recipes\armor\torso.json」に書いてありました。それらをW-N_MODの「recipes.json」にコピペしました。ツヴァイヘンダーとメイド服の「id」を「items.json」と同じものに書き換えましょう。
完成したrecipes.json
ツヴァイヘンダーとメイド服のidをitems.jsonと同じものにしました。レシピの本も変更するべきだが("book_learn")、とりあえずrecipes.jsonの作成はこれで終わり。今回は無事にゲームに登場するのか確かめるだけにします。
tile_config.json
次は前回作成したtile_config.jsonを開いてください。
完成したtile_config.json
完成したと思われるtile_config.jsonは上の画像。無駄な改行があるけど許してください。「fg0、fg1、fg2」は前回のまま何も変えていません。この位置にはキャラクターのドット絵が描かれているからね。「fg3」には自作ツヴァイヘンダーを装備した時のドット絵がある。武器のidには「wielded_」をつけるのだ。「fg4」は自作ツヴァイヘンダーを床に置いた時のドット絵が配置されている。idをそのまま書くだけで良い。「fg5」にはメイド服を装備した時のドット絵があります。防具のidには「worn_」をつけます。「fg6」にはメイド服を床に置いたドット絵があります。idは武器のときと同じくそのまま書くだけです。
現在のW-N_MOD
現在のW-N_MODは上の画像。items.jsonとrecipes.jsonが加わり、tile_config.jsonの内容が変わりました。いまのところ変更した点はこれだけ。
W-N_MODをmodsフォルダに入れる
これで完成したとは思うがわからない。時間が無いので一発勝負だ。前回のように大事なセーブデータがある0.F-3ではなく、MOD製作用のために新しく作った0.F-3を用意してください。そしてmodsフォルダの中にW-N_MODを入れてしまおう。タイルセットは「UNDEAD_PEOPLE(NEW VERSION)」に設定してください。
読込→作った世界→作ったキャラクター
MODをフォルダに入れたらゲームを起動します。無事にゲームが起動しました。それでは投稿の最初でセーブをしたキャラクターを読み込みます。
ファイル読み込み中
床に置いた際のドット絵は0.Dの「MSX++DeadPeopleEdition」からコピペしました。MODの動作確認のためだけに使うので許してください。
無事に起動しました
無事にセーブデータを読み込めました。今のところエラーは起きていません。まずはデバッグを使って自作アイテムがゲームに導入されたのか調べます。「生成→アイテム入手」を実行します。
無事に2個のアイテムが追加されていました
jsonに書き込んだツヴァイヘンダーとメイド服がゲームに追加されていました(成功)。次は装備時のドット絵と床に置いた時のドット絵が対応されているのか調べるのです。デバッグでこの2つのアイテムを入手します。
床に置いたドット絵は成功です
微妙に操作方法が変わっているから床にアイテムを置くだけでも手こずった。2つのアイテムを床に置いたところ私が設定したドット絵が対応されていました。つまり成功というわけですね。次は装備したときのドット絵を確認します。
剣を装備しました
僕のツヴァイヘンダー【W-N_MOD】を装備しました(wキー)。これは竜鱗亭さんに描いて頂いたドット絵ですね。成功したわけだが、拡大したら右側に1pxずれていやがった。即座に直します。
メイド服を装備します
次は僕のメイド服【W-N_MOD】を装備します(Wキー)。これも成功ですね。過去の投稿でケモミミ君が着ていたメイド服です。
解禁-全レシピ
デバッグメニューでアイテムを入手するのは可能だとわかった。重要なのはクラフトができるかどうかだ(&キー)。再びデバッグを使って全レシピを解禁します。あとでレシピ本が無くても作れるように改造します。
クラフト画面を開きました
レシピを解禁してクラフト画面を開きました。なんだこりゃあ!全く理解できねえ!!まあ理解はできないが、道具と材料を揃えれば作ることはできるようです。
メイド服のクラフトも可能です
僕のメイド服【W-N_MOD】のクラフトも可能なようだ。書かれている内容の半分くらいは理解できていないけどね(笑)。というわけでrecipes.json、items.json、tile_config.jsonの設定は意図したとおりに成功したようです。
現在の時刻は0:00です
現在の時刻は0:00。1時間と40分くらい書き殴り続けた。なんでこんなMODを作ったのか説明する余裕さえ無かった。明日は早いので書き殴ったまま投稿を終了します。たいしたMODではないのだが、これを作らないと俺のCataclysm:DDAが始まらないんだよなあ。次回の投稿はMODの調整とオプションの設定をやります。
recipes.json、 "autolearn": true,
1/13追記。今回の投稿ではデバッグを使ってレシピを解禁しました。ゲームを開始していきなりアイテムをクラフトする方法を追記しておきます。「recipes.json」に「 "autolearn": true,」を書き込んでください。「 "autolearn": true,」を書き込むと習得条件が無くなります。棍棒のようにレシピを学んだ状態でゲームを開始できるのです。そして「"book_learn"」の行を消してしまいましょう。"book_learn"を残してもエラーは出ないのだが、ゲーム開始時に習得しているレシピを本から学んでも意味はありませんからね。
"difficulty": 0,
しかし「 "autolearn": true,」を書き込むだけではゲームを始めていきなりツヴァイヘンダーを作ることはできない。ツヴァイヘンダーは製作スキルを鍛えないとクラフト画面に出てこないからだ。ゲーム開始直後に作りたいアイテムは「difficulty」の値を「0」にしてください。
使用スキル:製作(0/0)、習得条件なし
「 "autolearn": true,」と「"difficulty": 0,」により自作ツヴァイヘンダーの使用スキルが0になり、習得条件が無くなりました。つまりゲームを開始してすぐにクラフトが可能になったのだ。まあ必要な道具と材料が多すぎるから作るのは難しいんだけど(笑)。以上、追記でした。