[[初めにやる事]]前回の講義へ #image(ベリート・ムッソリーニ.png) やぁ、こんにちは。今回は指導者を弄ってみようか&s(){ここに文字を入力} 前回はModフォルダを作った所までだったね、 忘れていたけど試しに起動してみようか。 あ、忘れていたけど製作する時は必要最低限のMODで起動するようにね #image(指導者を弄ってみよう1.png) #image(ベリート・ムッソリーニ.png) よし始めよう、しばらく時間が経ったら… #image(指導者を弄ってみよう2.png) うん-debugモードを入れているからエラーログが出たね。ここで注目した方が良いのが 赤枠で囲んでいる部分だね、それは自分が作ったMODファイルのエラーが出ているね。 それ以外のエラーログは他の人が作ったMODのエラーだから気にしなくていいよ。 エラーの内容は「&color(#FF0000){作ったMODの情報のファイルが文字コードが違うぞ}」という警告だね 実はHOI4のMODは文字コードは&color(#FF0000){UTF8-bom}が前提だよ。 &bold(){※追記}あくまでMOD情報ファイル。他のファイルは指定されているかどうか不明 何故か公式ランチャーでMOD情報ファイルを作っているのに文字コードが違うと言うエラーが吐かれてしまったから直そうか。 #image(ベリート・ムッソリーニ.png) あ、言い忘れていたけど今回、僕がやりやすくする為にテキストエディタの「サクラエディタ」を使いながら説明するよ。 テキストエディタの使い方はここではあまり説明しないから、ちゃんと自分が使うテキストエディタの使い方を大体でも良いから覚えておこうね。 たぶん使うテキストエディタに今回の手順が若干変わるかもしれないからね。 よし、エラーを吐いているModの情報ファイルを開こうか #image(指導者を弄ってみよう3.png) さて開いたらすぐに「&color(#FF0000){名前を付けて保存}」をしようね。 今回は上書きではなく「&color(#FF0000){名前を付けて保存}」だよ、間違いないようにね #image(指導者を弄ってみよう4.png) よし、そうしたらこの画面が出るねUTF-8じゃないだめなのにSJISになっちゃっているね ちゃんと正しい&color(#FF0000){UTF-8}に変えようか。 #image(指導者を弄ってみよう5.png) よしよし、ここで文字コードのセットを&color(#FF0000){UTF-8}に&color(#FF0000){BOM}にもチェックを入れておこうか。 ちゃんとセットしたら保存してみようか。上書き保存しますか?と聞かれるけど今回は「はい」で大丈夫だよ。 #image(ベリート・ムッソリーニ.png) よしよし、またさっきと同じMOD構成で起動してみようか。 #image(指導者を弄ってみよう6.png) よしよし、さっきのエラーログが消えたね、今あるのは他の人が製作したMODのエラーログだから気にしないようにね。 #image(ベリート・ムッソリーニ.png) ここから本格的に製作する事になるよ。 まず何を作りたいかによるけど、…比較的製作手順の楽な指導者の改造をしてみようか。 拝借する為にまずHOI4のライブラリを見てみようか。 まずSteamのライブラリからHOI4を右クリックしてね、前回やったと思うから分かると思うよ。 #image(指導者を弄ってみよう7.png) ローカルファイルのタブを選択してね。 #image(指導者を弄ってみよう8.png) 「ローカルファイルを閲覧」を押してHOI4のインストールフォルダに移動しようか。 #image(指導者を弄ってみよう9.png) よしよし、HOI4がインストールされているフォルダに移動したね #image(ベリート・ムッソリーニ.png) &bold(){ここで重要事項だよ} このフォルダでやる事はここからコピーする事だけだよ。&color(#FF0000){ここのインスコフォルダで絶対に弄っちゃダメだよ!} もし弄っちゃたらHOI4を再インスコの作業が待っているよ、慎重にやろうね。 さて今回の目的は指導者を弄る事だよ、 目的の物は[[history]]\countriesにある弄りたい国家のデータを拝借する事だよ。 #image(ベリート・ムッソリーニ.png) さて、自分が作ったmodフォルダにも同じく[[history]]フォルダを作ってその中にcountriesフォルダを作って 目的の国家ファイル関係コピーして入れて… #image(ベリート・ムッソリーニ.png) *面倒くさいからhistoryフォルダごとコピーしちゃえ #image(指導者を弄ってみよう10.png) *よしそのまま自分のMODフォルダに貼り付けだ! #image(指導者を弄ってみよう11.png) #image(ベリート・ムッソリーニ.png) うん、本当はあまり好ましくない作業だね、出来る限り変更を加えるファイルだけコピーして貼り付けた方が良いね。 これをすると他MODとの競合率が跳ね上がるからあまりしない方がオススメだよ。 よい子のみんなは目的の変更を加えるファイルだけコピーして、フォルダとかは自分で指定の名前付けて設定してね。 #image(指導者を弄ってみよう12.png) よし早速貼り付けた[[history]]を開こうか #image(指導者を弄ってみよう13.png) この[[history]]のフォルダの中には countries(国家指導者・国家政党・国家指揮官関係等) diplomacy(知らない) states(各州のそれぞれのデータ) units(各国のシナリオ開始時点の師団配置データ) wars(知らない) が入っているはずだよ。 #image(ベリート・ムッソリーニ.png) 国家指導者を弄るだけの予定なのに 初期ユニットデータと州データも混じっているね。 もし現在このMODと州データとか初期ユニットを変更するMODを一緒に起動するとほぼ間違いなく競合を起こすね **一体誰がこんな面倒な事をしたんだろうね。 まぁ良いやcountriesのフォルダを開こうか。 #image(指導者を弄ってみよう14.png) うんうん、ちゃんとデフォルトのHOI4全国家が入っているね。 よ造してみようか。 ちゃんとテキストエディタで開こうね。 #image(指導者を弄ってみよう15.png) #image(ベリート・ムッソリーニ.png) …うん文字アレルギーが卒倒しそうなレベルでたくさん色々書かれているね。 ここに書いてあるのはここの国家の初期設定みたいな感じだね。 僕も全部の意味が分かると言う訳じゃないけど ちょっと寄り道して分かる所だけ説明していくよ。 #image(指導者を弄ってみよう16.png) まず、ここに書いてある事は上から 初期研究枠は「set_research_slots = 4」つまり4枠だね。 初期安定度「set_stability = 0.6」これは安定度の初期設定値は60%と言う意味だよ。 初期戦争協力度「set_war_support = 0.7」はこれは初期値の戦争協力度が70%あるという事だね。 そして設定している「add_ideas」で{}で囲まれたのがそれぞれ国民精神と徴兵制や輸出関係と動員法の初期設定だね。 #image(ベリート・ムッソリーニ.png) あ、数値に関しては実数指定と%での指定は別々に存在するという事を覚えておくと良いよ。 例えばset_stability = 1にしておくと初期値は安定度が100%になるしset_stability = 0.01なら初期値は1%になるよ。 #image(指導者を弄ってみよう17.png) ここらへんは最初から研究が完了している研究事項の一覧だね。 そうそう「#」から始まる言葉はプログラムに認識されなくなるからいわゆるコメントやメモ用だね。 #image(指導者を弄ってみよう18.png) ここらへんは最初から設定している外交設定だね。 declare_war_onは最初から戦争している国家についてだね target = ETHのETHは国家タグを示しているよ、ETHはエチオピアだね。 type = annex_everythingの意味はまだあんまり良くわかっていないけど完全に併合する事が目的なのかな? give_guarantee = ALBは アルバニアに対して独立保障をしている意味だね。 ALBも国家タグを示しているよ。国を指定する時は3文字の国家タグがちょくちょく現れるから国家タグ用の辞書を見れるようにしようね。 #image(指導者を弄ってみよう19.png) ここらへんは1939年から開始する時の設定だね、 add_political_powerは最初からある政治力の数値の説明くらいだし ちょっと飛ばそうか #image(指導者を弄ってみよう20.png) set_convoys = 200は最初から所持している輸送船が200隻あるという意味だね。 set_politicsはそれぞれのイデオロギーの政党支持率だね。合計が100になるように調整しようね。 ruling_party = fascismは最初の与党はファシスト政党に設定されている意味だよ。 last_electionは最後に行われた選挙日数だったかな? election_frequencyはたぶん選挙の間隔だったかな? elecrions_allowedは選挙があるか無いかだったかな? 最後の3つに関しては弄った事が無いから自信が無いよごめんね。 #image(ベリート・ムッソリーニ.png) ちなみにイデオロギーも自分で追加する事も可能みたいだけどやり方は僕も分からないよ。 #image(指導者を弄ってみよう21.png) 次は…おっと create_country_leader = { から始まるやつはそれぞれの政党の指導者についてだね。 つまり今回弄る予定の数値だね name=""から始まる変数は設定する国家指導者名だね、なぜかここだけ日本語で直接入力出来るみたいだよ desc=はymlファイルで設定するその指導者の説明についての情報が入っている変数の指定だね。初期状態だと何も入ってないから設定していても見れないね。 pictureはどこの画像ファイルを参照するかの設定だね。portrait_pathになっている場合もあるから不都合があるならその都度変更しようね。 expireはその指導者が使えなくなるタイミングだね、デフォルトで1965年1月1日まで設定されているね。 ideologyはその指導者の所属するイデオロギーだね。 traitsから始まるのはその指導者が所持している能力だね。何も無いね。 #image(ベリート・ムッソリーニ.png) ちょっとここまで見ちゃったし一応最後まで分かる所だけ解説していくよ。 #image(指導者を弄ってみよう22.png) create_field_marshalは元帥の作成。 create_corps_commanderは将軍の作成だね。 name=は名前だねここの名前も日本語で大丈夫みたいだね pictureも参照するポートレート指定だね。 traitsはその指揮官に取り付ける能力だね、複数付ける時は半角スペースで挟むと良いよ。 skill=はその元帥の初期スキル、そのままだね attack_skillは攻撃スキル defense_skillは防衛スキル planning_skillは計画スキル logistics_skillは補給スキルを現しているよ。 見ての通り将軍の追加と元帥の追加は大体一緒だよ。 指揮官とか増やしたいならそのままcreate_field_marshalとか作成して同じような物を書いて設定すると良いよ #image(指導者を弄ってみよう23.png) これは海軍司令官の追加だね、陸軍と大体同じだから省くよ。 #image(指導者を弄ってみよう24.png) create_equipment_variantはいわゆる最初から改造している装備の設定だね。 ごめん僕はここらへんよく分かっていないから解説は省くよ。 #image(ベリート・ムッソリーニ.png) さて色々解説しちゃったね、さて本筋の指導者を改造する方へ戻ろうか #image(指導者を弄ってみよう21.png) よしこれだね、ついでに画像ファイルも追加して差し替えてみようか。 #image(指導者を弄ってみよう25.png) #image(ベリート・ムッソリーニ.png) さて、君が作ったMODの最初のフォルダに戻って新しいフォルダを作成しようか #image(指導者を弄ってみよう26.png) ここで作るフォルダは「&bold(){gfx}」このフォルダは画像関係データを入れるよ。 このフォルダを作ったら開いていね #image(指導者を弄ってみよう27.png) gfxの中に次に作るフォルダは「&bold(){leaders}」だよ。 このフォルダは指導者と陸軍の指揮官と海軍の指揮官の画像関係のフォルダだよ。 またまたフォルダを開こうね。 #image(指導者を弄ってみよう28.png) 次に作るフォルダは対応する国家タグ3文字のフォルダだね、 今回はイタリアだか対応する国家タグのフォルダ名「&bold(){ITA}」だね #image(ベリート・ムッソリーニ.png) あ、そういえば国家タグについて説明してなかったね。 国家タグはその国家に対応した3文字の単語だよ、調整する国のタグ名が分からなかったら調べようね。 …うんごめんまだ国家タグ一覧のページが作ってなかったね、余裕があったら作るよ。 #image(指導者を弄ってみよう29.png) よしフォルダを開いたら ポートレート用の画像を投入しようね 規格は「&bold(){縦156横210の.ddsファイル}」だよ。間違えないでね。 #image(ベリート・ムッソリーニ.png) よしよし、ポートレート画像も置いたしITA - Italy.txtの改造に戻ろうか。 #image(指導者を弄ってみよう30.png) よし、とりあえずこんなふうになったね。 descファイルは今回設定しないから、何も表示されないと思うけどとりあえずこれで起動して見てみようか。 #image(指導者を弄ってみよう6.png) エラーログはさっきと変わってないね。 #image(ベリート・ムッソリーニ.png) もし、違う何かのエラーが出ていたら何か間違っている原因があるという事だね。 特に一気にエラーが出る場合は「{」と「}」の囲みを忘れていたり、元となるデータを参照出来ないせいで色んな対応するファイルがエラーが出るというケースもあるよ。 とりあえずニューゲームで初めてみようか。 #image(指導者を弄ってみよう31.png) #image(ベリート・ムッソリーニ.png) よし成功だ!これで無事指導者を差し替える事が出来たよ。 #image(指導者を弄ってみよう32.png) #image(ベリート・ムッソリーニ.png) よしよし、今回は無事に書き換える事が出来たね。 まだまだ出来た事が地味だけど、基本MOD製作は地味な作業の繰り返しで どんどん大きく変更していくのが目標だよ。 …それにしても能力が何も無いのがちょっと不満があるね、次回があったら能力の追加を行おうか。 それでは執筆者がエターにならなかったらまた次回の講義で会おうね。 #comment_num2()