Top / MOD一覧 / MOD製作 / トラブルシューティング

MOD製作/トラブルシューティング

MOD製作

MODトラブルシューティング

概要

  • 各々のHoI2のMODにおける過去の経験を、書いたりする場所です。
    • 当然のことながら、その経験を他人(=Modder)にも生かして貰う為の場所です。
  • ここは解決策を貼る場所です。
    • 質問を貼るのはお門違いです。

目次

DD・DAを無印に対応させるには

  • 単純に答えるなら、DD・DAの追加要素を排除すればよい。
    • DAに関しては、後述するDAをDDに対応させる部分を参照して下さい。
    • 無印持ってないけど、対応させたいと言うのであれば悪いことは言わないのでやめた方が良いです。
      • テストプレイも無しに作るのは愚か者*1がやる事です。
    • バニラを前提の記述ですので、MODによる調整によっては更なる(もしくは異なる)編集が必要になる可能性があります。
    • 無印をDD・DAに対応させるのであれば、下記とは逆の事をやればいいと言えます。
    • 削除はファイルによってはコメントアウト化と同義である。
  • ai
    • 編集者がAIファイルを対応させた事が無い為、不正確な記述となります。申し訳ない。
    • 諜報関連の記述(spyprefs)を削除。
    • 無印では護衛戦闘機は師団扱いとなっている為、部隊の生産割合(military)で旅団としての護衛戦闘機の付属割合が0%でなかった場合、師団生産割合の和が100ではなくなる為、調整する必要がある。
    • 軽空母(escort_carrier)、原子力潜水艦(nuclear_submarine)に関する記述を削除。
      • 二つの削除により生産割合の和が100でなくなるのならば、それぞれ空母と潜水艦にでも足せばいいのかもしれない。
    • "evac_islands"、"use_offensive_supply"、"min_core_attack_fleets"、"num_attack_fleets"、"max_staging_distance"、"min_mission_strength_org"、"convoyraiddesirability"、"convoyraidtolerance"はDDで追加されたものなので削除する事。
      • 他にもあったら追記をお願いします。
  • config\unit_names.csv
    • "MODEL_12_X"〜"MODEL_26_X"を"MODEL_13_X"〜"MODEL_27_X"と1ずつ増加させる。
      • 無印では護衛戦闘機が12にある為。
    • "MODEL_30_X"を"MODEL_29_X"に変更する。
      • DDでの29は原子力潜水艦、無印では輸送艦。
    • "doomsdaytext.csv"の"BRIG_MODEL_15_X"を"MODEL_12_X"に置換し、無印のcsvファイルへ移す。
  • db\diplo_costs.txt
    • 以下の部分を削除する必要がある。
      # Ban from Alliance
      	-150
  • db\events.txt
    • 以下の部分を削除する必要がある。
      # Doomsday Events
      event = "db\events\doomsday_election_events.txt"
      event = "db\events\doomsday_death_events.txt"
      event = "db\events\doomsday_coup_events.txt"
  • db\misc.txt
    • 以下の部分を削除する必要がある。
      # Time in days to send a division to an ally
      	30	
      # TC Load from undeployed brigades (multiplied on top of the division cost)
      	0.3
      # If units can be sold/transfered to non allied countries
      	0
      (中略)
      #CHANCE TO GET TERRAIN TRAIT 
      	1200
      #CHANCE TO GET EVENT TRAIT 
      	1200
      #BONUS ON TERRAIN TRAIT
      	0.1
      #BONUS_ON_EVENT_TRAIT_
      	0.05
      #Chance of leaders dying while in combat per day
      	0.0003
  • db\events
    • 後述する、"db\tech"の部分も参照して下さい。
    • 師団配備コマンド(build_division)で、旅団(value)の場所に護衛戦闘機(escort)を記述していた場合削除。
      • あるいは、師団として新たに護衛戦闘機(escort)を追加。
  • db\units\modifiers.csv
    • 護衛戦闘機(ESC F)は無印では師団扱いである為、追加する必要がある。基本的には戦闘機(MR F)なり迎撃機(INT F)の部分をコピーすれば無問題である。
    • 軽空母(CVL)と原子力潜水艦(NSUB)の列を削除する。
  • db\units\brigades
    • 艦載機(cag)の通商破壊(convoyattack)を削除する必要がある。
  • db\units\divisions
    • 海軍・空軍の通商破壊(convoyattack)を削除する必要がある。
  • db\leaders
    • DD追加特性があった場合削除する必要がある。
    • 基本的には減算していけば良い。特性(Traits)の列に524288以上の数字があれば減算する必要がある。
  • db\tech
    • 軽空母(escort_carrier)、原子力潜水艦(nuclear_submarine)、核の威力補正(nuke_damage)、最大強襲上陸可能数(max_amphib_mod)、通商破壊(convoyattack)に関する記述を削除。
    • 研究画面の面積が異なる為、座標を調整する必要がある。
  • gfx\map\hoi_counter_strip.bmp
    • 師団として護衛戦闘機(escort)を追加、軽空母(escort_carrier)・原子力潜水艦(nuclear_submarine)を削除する。
  • gfx\Interface
    • auxiliary.bmp
      • 護衛戦闘機の部分である右端のアイコンを削除する。
    • techtree_air_doctrines.bmp
    • techtree_aircraft.bmp
    • techtree_armor.bmp
    • techtree_industry.bmp
    • techtree_infantry.bmp
    • techtree_land_doctrine.bmp
    • techtree_naval.bmp
    • techtree_naval_doctrines.bmp
    • techtree_secret_weapons.bmp
      • 画像のサイズ(および技術の座標)が異なる為、調整する必要がある。
  • gfx\Interface\models
    • "ill_div_12_X.bmp"〜"ill_div_26_X.bmp"、"ill_div_TAG_13_X.bmp"〜"ill_div_TAG_27_X.bmp"と1ずつ増加させる。
      • 護衛戦闘機の師団の画像に関しては各自でなんとかしてください。
    • "ill_div_30_X.bmp"を"ill_div_29_X.bmp"に変更させる。
      • 上記二つの理由は"config\units.csv"の部分を参照。

DAをDDに対応させるには

  • 単純に答えるなら、DAの追加要素を排除すればよい。
    • テストプレイも無しに作るのは愚か者*2がやる事です。
    • バニラを前提の記述ですので、MODによる調整によっては更なる(もしくは異なる)編集が必要になる可能性があります。
    • 削除はファイルによってはコメントアウト化と同義である。
  • db\events.txt
    • 以下の部分を削除する必要がある。
      # Armageddon Events
      event = "db\events\armageddon_events.txt"
      event = "db\events\armageddon_elections.txt"
      event = "db\events\armageddon_deaths.txt"
  • db\misc.txt
    • 以下の部分を削除する必要がある。
      #_CV_AIR_ORG_DMG_MODIFYER1_ Increasing this value will increase the org dmg air units takes
      	25.0
      #_CV_AIR_ORG_DMG_MODIFYER2_Str dmg will increase by org/ this value
      	0.003
      #_CV_AIR_STR_DMG_MODIFYER_ Increasing this value will increase the str dmg air units takes
      	0.2
  • db\country.csv
    • 以下の部分を削除する必要がある。
      U20;DarkGray;ENG;MIN;X
      U21;DarkOrange;ENG;MIN;X
      	中略
      UAP;LightYellow;ENG;ENG;X
      UPE;DarkRed;ENG;ENG;X
      END;DarkRed?;ENG;ENG;Xまで消してしまわないように注意。
  • db\events
    • 後述する、"db\tech"の部分も参照して下さい。
    • イベントコマンド(command)で、U20-99、UAP、UAU、UBO、UCH、UCS、UER、UES、UGS、UIC、UIR、UPE、UPR、UPS、URO、USN、UTC、UTL、UTOに関する記述を削除。
  • db\tech
    • 先述した、"db\events"の部分も参照して下さい。
    • 対潜兵装(naval_asw)、補助艦用対空兵装(naval_anti_air_s)、補助艦用レーダー(naval_radar_s)、補助艦用射撃管制装置(naval_fire_controll_s)、
      補助艦用改良型船体(naval_improved_hull_s)、補助艦用魚雷(naval_torpedoes_s)、主力艦用対空兵装(naval_anti_air_l)、
      主力艦用レーダー(naval_radar_l)、主力艦用射撃管制装置(naval_fire_controll_l)、主力艦用改良型船体(naval_improved_hull_l)、
      主力艦用魚雷(naval_torpedoes_l)に関する記述を削除。
  • gfx\Interface
    • auxiliary.bmp
      • 海軍付属装備に関する部分を削除。つまり、護衛機より右を削除。
  • scenarios\(開始年またはシナリオ名のフォルダ)
    • (国名).inc
      • 初期配備部隊の海軍付属装備に関する部分を削除。

ゲームを強制終了させるハメになった。

イベントを実行した瞬間固まった

  • 一つのイベントに、ある国に対する併合コマンドと何らかのコマンド(例:友好度増減)が同時に存在するとそうなる。
    ただし、前者と後者が逆の順番に挿入されていた場合は不明である。
    恐らく、イベント実行前に処理方法(コマンドにカーソルあわせた際、ツールティップに表示されるアレ)が設定されていて、
    併合する → 友好度調整する → あれ?国が存在しなくね? → くぁwせdrftgyふじこlp → 問題が発生したため(ry
    となる為かと思われる。イベントを考えながら編集すれば起こりうるような事ではない為、非常に稀な事象と言える。

秘密兵器とかのトリガーにカーソルあわせたり、ショートシナリオの読み込みが完了した瞬間(ry

  • 陸軍部隊数(army)は使えないみたいです。そこだけコメントアウト化する必要があります。
    前者は、カーソルをあわせなければ発生しませんが、不便なことこの上ないため極力コメントアウトすべきです。
    フラグなりを活用すれば、 army の代用は可能です。army の条件が整っていればフラグを立て、整っていなければフラグを下ろすと言ったイベントを追加すればいいかもしれません。

ゲームをしようと思ったら、(応答無し)になる

  • 基本的に問題があればエラーが表示されます。しかし、エラーが出ないものもあります。
    ここでは、ゲーム起動時、あるいはシナリオ開始時に固まる物について取り扱います。
  1. ゲーム起動時に固まる。
    • db
      • convoy_costs.txt
        { が多い。
    • db\units\divisions
      • 全ての txt ファイル
        } が多い。 (世界を初期化中で固まる)
  2. シナリオ開始時に固まる。
    • db
      • building_costs.txt
        } が多い。
      • convoy_costs.txt
        } が多い。

すまん、飽きた。

スパイを派遣しようと思ったら、ゲームを強制終了させる(ry

  • 情報大臣の有無を確認して下さい。

ゲームプレイ中に将官のMAXスキルを見れるようにしたい

方法1

  1. プレイする国のcsvファイルをExcelで開き、区切り位置をセミコロンに変える。
    • または、Excelで開く前に、テキストエディタ等でセミコロンをカンマに置換する。
  2. I列(Max Skill、最大スキル)をコピーしてA列(Name、名称)に挿入。
  3. A列とB列の間に新たな列を作成し、ファイルに存在しない文字(例:hudehige)をその列の一番下まで埋め尽くして保存する。
  4. テキストエディタ等で、",hudehige,"を置換で削除、カンマをセミコロンへ置換して保存。
    • 3の処理で存在する文字を入れてしまうと、将官の名称(Name)、読み込む画像(Picture)までもが置換に巻き込まれ、まともに読み込まれない可能性がある。
  5. ゲームを起動して、将官の順番を名前順にする。
  6. (゜д゜)ウマー
  • 一行目の"Max SkillName?"を"Name"に戻せばビューティフォー。
  • もっとうまい編集方法があると思う。ううん、知らないけど絶対そう。
  • そんな感じでCF版AoD1.04に全部対応したのがあるみたいで。(日本将官のみ独自調整有り)

方法2

  1. プレイする国のcsvファイルをテキストエディタで開く。
  2. 置換ウィンドウを開き、正規表現のオプションにチェックを入れてから、検索欄に下の文字列を入力する。
    (.+?)((?<=\d{4};\d{4};\d;)(\d))
  3. 置換欄には下の文字列を入力する。
    $2$1$2
  4. すべて置換を実行し、保存する。
  5. ゲームを起動して、将官の順番を名前順にする。
  6. (゜д゜)ウマー
  • 上の正規表現が使えたのは Mary gPad サクラエディタ の3つだったので、そのあたりのテキストエディタでやってください。

イベント連鎖しねええええええええええ、閣僚変更でID指定してるのにずれてるううううううううううetc

  • 上記の通り、イベントを発生させるようにコマンドを挿入したり、イベントで閣僚を変更させようとするとIDがずれたりする事があります。
    AoD 1.07 ならば、24bit(16777216)の桁溢れが原因です。
    • 数値が 16777216 以上*3であった場合、それより低い数値にする必要があります。
    • ごちゃまぜMODにて 1902XXXX を 1603XXXX に置換したところ正常に動作しました。
    • 念のために書いておきますが、連鎖させたり閣僚なりで指定しない分には問題無いかもしてません。
      トリガーに記述されている場合の動作が不明な為、かもとしています。
  • MODにて 16777216 以上の数値を使っているのであれば変更した方が互換性が高くなります。
    MOD作者はそこらへん意識した方が良いかもしれません。

研究終わったら、想定してるのと違う旅団に変更が適用されてるんだが。

  • AoD1.07で、b_u20を使っているなら仕様です。
    • b_u20の調整がゲーム内ではb_u10として処理される為です。
      ぶっちゃけると、b_u20は死に枠です
    • 1.07以外の環境では正常に動作するのかは調べてません。

【DH】Fullマップのプロビデータ(ICとか)いじりたいんだが、定義してるファイルが見当たりません

  • 勘違いしやすいですが、FullマップのデータはModsファイルのFull内ではなく、noneが入ってるとこのmapファイル内のMAP_1に入っています。
  • そこからコピーして、Modsファイル内に持ってきて改造すればOK

【DH】Excel file not fondって言われる

  • db以下のleaders.txt等に、存在しないファイルが定義されているようです

【DH】ver1.04FinalのMODを1.051に対応させたい

  • ここで書かれてるには、miscのみに変更を加えればいいようです。

*1 この項の編集者
*2 この項のへんsy(ry
*3 16777216は無問題なのかは要検証

Top / MOD一覧 / MOD製作 / トラブルシューティング