Mod

提供:ck3wiki
ナビゲーションに移動 検索に移動
CK3 Mod#1 -Modの簡単な紹介。 Roll1D2 Gamesによる便利なツールの案内とハウツーModビギナーズガイド

Mod、またはModを作成することは、個人的な使用のために、またはParadox ModsまたはSteam Workshopを介して他のプレーヤーに公開するために、ゲームのアセットまたは動作を変更する行為のことです。

Paradoxの他のゲームと同様、Crusader Kings IIIもかなり改造可能です。Modderの動機は大きく異なることでしょう。母国語へのより良い翻訳、より多くのイベントやディシジョン、より良い地図、大規模な見直し、チートの追加などなど。

このガイドは、Crusader Kings IIIのModの世界への参入障壁を低くすることを目的としています。しかし、まだ習得には時間がかかり、バニラのコードを読んで試行錯誤を繰り返す必要があります。

重要なこと:ほとんどのMODではチェックサムが変更され、プレイヤーは実績を獲得できなくなります。チェックサムに影響するフォルダとファイルのリストについては、ゲームフォルダのchecksum_manifest.txtを参照してください。安全なModは、テクスチャ、シェーダー、フォント、音楽を置き換えるものだけです。[1]

助言とガイドライン[編集 | ソースを編集]

  • 変更のためのModを作成する。小さな変更にも個人用Modを使用し、CK3ゲームフォルダ内のゲームファイルは警告なしに上書きされる可能性があるため、直接変更しないでください。[2]
  • 適切なテキストエディタを使用して、ファイルを編集し、フォルダを検索します。以下は無料です。
    • Visual Studio Code. Paradox構文のハイライト、バリデーション、およびトリガと効果のツールチップを備えた有志のCWTools拡張を使うことができます。インストールするには、VSの左パネルにあるExtensionsに行き、CWToolsを検索してください。(注意:検証ルールは不完全であり、GUIおよびローカライズ・ファイルに多くの誤ったエラーが表示されます。)
    • Notepad++。Perlを言語として選択すると、強調表示が適切に行われ、コードやコメントのブロックを折り畳めるようになります。デフォルトに設定するには、「Settings」、「Styler Configurator」の左側のリストでPerlを探し、下部の"User ext."フィールドに"gui txt" (ダブルクオーテーションは不要です) を追加します。
    • Atom。 ローカライズファイルの編集に必要なUTF-8-BOMエンコーディングの機能は含まれません。それが必要ない場合は、非常にカスタマイズ可能です。よりよい結果を得るには、言語設定で「Perl6」を使用します。デフォルトに設定するには、File、Configに移動し、「core:」を探し、その下に次のように追加します。 "customFileTypes: "source.perl6": [ "txt" "gui"]"。ここに例があります
    • Sublime Text。Imperatorの開発者がリリースしたCK3: Sublime Tools拡張機能が使えます。エフェクトとトリガーのカラーハイライトが追加されます。Sublimeでコメントを切り替える場合は、このファイルを同じ「User」フォルダに追加する必要があります。
  • error.logファイルで実行エラーを常に確認してください。...\Documents\Paradox Interactive\Crusader Kings III\logsにあります。
  • ログフォルダには、エフェクト、トリガ、およびスコープの一覧も含まれます。ゲーム内で「script_docs」および「DumpDataTypes」コンソールコマンドを使用して生成します。
  • 「reload gui」、「reload gfx」コマンドを使用するには、「-debug_mode -develop」起動オプションを指定してゲームを開始します。
    • Steamの場合:Steamでゲームを右クリック→プロパティ→起動オプション→-debug_mode -developを追加する
    • Windowsの場合、.exeファイルのショートカットを作成し、右クリックして 「プロパティ」 を選択し、「 -debug_mode」 を 「リンク先」の欄の最後に追加する
  • LinuxのCK3フォルダのディレクトリは~/.local/share/Paradox Interactive/Crusader Kings IIIです。
  • Modに関する重要な事実を明確かつ簡潔に伝える
    • あなたのModの説明は、あなたのModがゲームに何を追加したり変更したりするかについての短いが明確な説明で始まる必要があります。変更履歴や、注意事項や前提条件、インストール手順などの長いリストから始めないでください。
  • 説明を読んでいる人がこのModについて以前に聞いたことがあると思ってはいけません(もしそうであれば、一般的には説明を読みません)。
    • あなたのModが鉄人モード(Ironman)互換であるかどうかを明確かつひと目で分かるように述べます。(あなたには明白に思えたとしても!)
  • Steamバージョンをサブスクライブする場合は、ローカルModを削除してください。削除しないと、ゲームで動作しない場合があります。
  • 作業内容をバックアップします。手動で、あるいはGitのようなソース管理システムを使って!GitHubをチームコラボレーションに使うことも検討してください。
  • (WinMergeのような)適切なマージツールを使用してフォルダ間をマージし、修正されたファイルを新しいパッチ用に更新します。
  • 数十行または数百行のコードでテキストを置換する場合は、正規表現を使用できます。これらは、上記のすべてのテキストエディタで使用できます。教材:RegexOneRegExr

ローカライズファイル[編集 | ソースを編集]

  • localizationフォルダにある*.yml[3]ファイルはゲームで正しく読み込まれるようにするためにBOM付きUTF-8[4]でエンコードされて保存されている必要があります。
  • ゲームでファイルを正しく読み込むには、ファイル名を*l_<language>.ymlの形式で保存する必要があります。例:council_l_english.yml
    • "localization"とアメリカ英語のスペルを使用する必要があります。イギリス英語の"localisation"というスペルにすると動作しません。
    • 既存のローカライズ値を上書きするには、変更を加えたファイルをlocalization フォルダ内の「replace」という名前のフォルダに置きます。[5]

Modの作成[編集 | ソースを編集]

メイン記事へ: Mod structure#Creating initial files

Modの初期ファイル郡を作成するには、ゲームランチャーを使用することをお勧めします。

Modのアップロード/アップデート[編集 | ソースを編集]

Modをアップロードしたりアップデートしましょう。

  1. ランチャーを開きます
  2. 「MOD」セクションを開きます。
  3. 「MODツール」を押して、自分のmodをドロップダウンメニューから選びます。
  4. それをどのプラットフォームにアップロードするかを選びます。
  5. 説明を書きます[6]
  6. 説明を確定します。 (更新する場合は、ランチャーがサイトから最新のものをコピーしたことを確認してください。)
  7. サムネイルを追加します。
    1. Steam Workshopの場合、modフォルダにthumbnail.pngを入れます。1:1の比率で最大1MBを使用します。Workshopで表示される最大のサムネイルは、約600x600ピクセルです。
    2. Paradox Modsの場合は、説明の下のフィールドにサムネイルをドラッグします。推奨最小サイズは900x500、pngまたはjpg、最大1MBです。
  8. 「アップロード」ボタンを押します。
    1. Steamの場合、プライベートモードでアップロードされ、 自分のSteamプロファイル→ワークショップアイテムに表示されます。これを開いて、サイドバーの表示を「公開」に変更すると、実際に公開されます。[7]
    2. Paradox Modsでは、検証プロセスの後にModが公開されます。サイトでは通常、改行とBBCodeのフォーマット[8]が削除されるため、説明を編集する必要があります。

セーブデータの編集[編集 | ソースを編集]

セーブファイルはここにあります。

  • Windows: Documents\Paradox Interactive\Crusader Kings III\save games
  • Linux: ~/.local/share/Paradox Interactive/Crusader Kings III/save games

鉄人モードのセーブは編集できません

まずゲームをデバッグモードで起動し、保存します。

  • スチームの場合: Steam上でゲームを右クリック → プロパティ→ 起動オプション → -debug_mode 追加
  • Windows:.exeのショートカットを作成-> それを右クリック → プロパティ→ リンク先に -debug_modeを最後に追加する

PC:

  1. セーブファイルをゲームフォルダから見つける。
  2. セーブファイルを右クリックして7-ZipやWinRarなどのアーカイバーで展開する
  3. 抽出された'gamestate'ファイルの拡張子を.ck3になんとかして変更する
  4. 右クリックして、テキストエディタ(セーブファイルが非常に大きいため、Windowsのメモ帳はお勧めしません。)で開く
  5. そのファイルを編集して保存
  6. そのファイルをゲームで読み込む

オートセーブは、gamestateを抽出せずに直接編集できます。

Mac:

  1. 端末を開く
  2. ディレクトリが正しいフォルダに設定されていることを確認
  3. "unzip FileName.ck3"と打ち込む
  4. 抽出された'gamestate'の拡張子をなんとかして.ck3 extensionに変える
  5. プレーンテキストをのセーブを編集
  6. そのディレクトリをゲームで読み込む(再圧縮は不要)
OS セーブタイプ 保存場所
Windows Local C:\Users\%USERPROFILE%\Documents\Paradox Interactive\Crusader Kings III\save games
Windows Steam Cloud C:\Program Files (x86)\Steam\userdata\####\1158310\remote\save games
Mac Local $HOME/Documents/Paradox Interactive/Crusader Kings III/save games
Linux Local $HOME/.local/share/Paradox Interactive/Crusader Kings III/save games

gamestateファイルの内容[編集 | ソースを編集]

次の表に、gamestateファイルで使用可能な第1レベルのブロックを示します。エントリは、表示順に表示されます。

ブロック 説明
meta_data ゲームバージョンなど、ゲームに関するメタデータが含まれます。メインメニュー画面で使用します。
ironman_manager 鉄人モードセーブに関係
(様々な変数) これらの変数はブロックに属しません。
変数
date
bookmark_date
first_start
speed
random_seed
random_count
variables スクリプトフラグを含みます
game_rules セーブファイルの現状のゲームルールを含みます
provinces 建築物を含む、プロヴィンスデータを含みます。
landed_titles 以下のサブブロックを含みます
サブブロック 説明
dynamic_templates
landed_titles
(repetition)
ゲームにおける各々の土地称号のためのエントリーを含みます。以下フォーマット:
# Exact formatting in file is different in terms of spaces and lines
# It is usually more compact.
# It has been edited here for clarity and demonstration.


# Index for titles starts at 0
index={
	key="(title id)" # The one used in 00_landed_titles.txt, e.g. k_england

	de_facto_liege=(title index) # Optional
	de_jure_liege=(title index) # Optional. The number at the start of a similar block, NOT the title id
	de_jure_vassals={ (title index...) } # Optional, list of title indices.
	holder="(character id)" # Optional

	name="..."
	adj="..." # Optional
	pre="..." # Optional
	article="..." # Optional

	date=2020.10.27 # yyyy.mm.dd
	heir={ (character id...) } # オプション。キャラクターIDのリスト
	claim={ (character id...) } # オプション
	history = { (...) } # オプション
	capital=(province id)
	capital_barony=yes # オプション
	theocratic_lease=yes # オプション
	history_government="(government id)" # Optional
	laws={ "(law id)"... } # オプション。法律IDのリスト

	# Optional (succession_election).
	succession_election={
		electors = {  (character id...) }
		candidates={ (character id...) }
		nominations={
			{
				elector=(character id)
				candidate=(character id)
				strength=(value)
			}
		
		}
	} # end of succession_election block

	coat_of_arms_id=(coat of arms id)
	localization_key="(localization key)" # Optional

	# All below is used for mercenary bands
	special={
		type=mc
		identity=(id)
	}
	color=rgb { (r) (g) (b) }
	landless=yes
	destroy_if_invalid_heir=yes
	no_automatic_claims=yes
	definite_form=yes
}

In vanilla CK3, this block ends at entry ~12369.

index=(value)
「(変数)」
dynasties 以下のサブブロックを含みます
  • dynasty_house (ends at entry ~6401)
  • dynasties (ends at entry ~6239)
  • static_dynasties (数値リスト)
  • static_dynasty_houses (数値リスト)
deleted_characters
living 生存キャラクターのエントリを含みます。以下フォーマット:
index={
	first_name="..."
	birth=(date)
	female=yes # Optional
	culture=(culture index)
	faith=(faith index)
	dynasty_house=(dynasty house index) # Optional
	skill={ (diplomacy) (stewardship) (martial) (intrigue) (learning) (prowess) } # One value for each skill
	sexuality=(sexuality id) # Optional
	dna="(dna string)" # Optional
	mass=(value) # Optional
	traits={ (trait index...) } # List of trait indices
	inactive_traits = { (trait index...) } # Optional. List of trait indices
	
	# Optional (family_data)
	family_data={
		primary_spouse=(character id)
		spouse=(character id)
		child = { (character id...) } # List of character ids
	}

	alive_data={

		# オプション(変数), フラグを含む
		variables={
			data={
				# (...)
			}
		}

		gold=(value) # Optional
		income=(value) # Optional
		location=(landed title index) # Optional
		fertility=(value)
		health=(value)
		piety={
			currency=(value)
			accumulated=(value) # Optional
		}
		prestige={
			currency=(value)
			accumulated=(value) # Optional
		}
		weight_update=(value)
	} # End of alive_data block

	court_data={
		# All keys within this block are optional
		employer=(character id)
		council_task=(council task index)
		regiment=(regiment index)
		knight=yes
	}

	# Optional (landed_data)
	landed_data={
		domain={ (landed title index...) } # List of landed title indices
		vassal_contracts={ (values) } # List of values
		became_ruler_date=(date)
		laws={ "(law id)"... } # List of law ids
		strength=(value)
		balance=(value)
		succession={ (character id...) } # List of character ids
		domain_limit=(value)
		vassal_limit=(value)
		vassals_towards_limit=(value)
		government="(government id)"
		realm_capital=(value
		ai_allowed_to_marry=yes
		council={ (value...) } # List of values
		at_peace_penalty=(value)
		diplo_centers={ (value...) } # List of values
		election_titles={ (landed title index...) } # List of landed title indices
	} # End of landed_data block

	# Optional (playable_data)
	playable_data={
		knights={ (character id...) } # List of character ids
		was_player=yes
	}

}

dead_unprunable キャラクターエントリーを含みます
characters 以下のサブブロックを含みます
  • dead_prunable (contains character entries)
  • prune_queue
  • dummy_female (contains a character entry)
  • dummy_male (contains a character entry)
  • unborn (contains unborn data entries)
  • natural_deaths
  • current_natural_death
  • sexuality_chances
character_lookup
units
activities
opinions 以下のサブブロックを含みます
  • active_opinions (contains opinion entries)
relations Encompasses hooks, alliances, 以下のサブブロックを含みます
  • active_relations
schemes 以下のサブブロックを含みます
  • active (contains scheme entries)
stories 以下のサブブロックを含みます
  • active (contains story entries)
  • next=(date) (変数)
pending_character_interactions 以下のサブブロックを含みます
  • data
  • player
secrets 以下のサブブロックを含みます
  • secrets (contains entries of secrets) (repetition)
  • known_secrets
armies 以下のサブブロックを含みます
  • regiments
  • army_regiments
  • armies
religion 以下のサブブロックを含みます
  • religions
  • faiths
  • great_holy_wars
  • holy_sites
wars 以下のサブブロックを含みます
  • active_wars
  • names
sieges 以下のサブブロックを含みます
  • sieges (複数可)
raid 以下のサブブロックを含みます
  • raid (複数可)
succession
holdings
ai 以下のサブブロックを含みます
  • war_coordinator_db
  • war_plan_db
  • ai_stategies
county_manager 以下のサブブロックを含みます
  • counties
  • monthly_increase (list of values)
fleet_manager 以下のサブブロックを含みます
  • fleets
council_task_manager 以下のサブブロックを含みます
  • active
important_action_manager 以下のサブブロックを含みます
  • active
faction_manager 以下のサブブロックを含みます
  • factions
culture_manager 以下のサブブロックを含みます
  • cultures
  • template_cultures (list of numbers)
  • era_discovery
mercenary_company_manager 以下のサブブロックを含みます
  • mercenary_companies
holy_orders 以下のサブブロックを含みます
  • holy_orders
  • religion_name
  • faith_name
coat_of_arms 以下のサブブロックを含みます
  • coat_of_arms_manager_name_map
  • coat_of_arms_manager_database (ends at entry ~17278)
  • next_id=(id) (変数)
(triggered events) Each triggered event has its own block, started using triggered_event={
next_player_event_id=(value) (変数)
played_character 以下のサブブロックを含みます。
  • name="..." (変数)
  • character=(character id) (変数)
  • player=(value) (変数)
  • important_decisions
  • legacy
  • rally_points
currently_played_characters={ (character id...) } キャラクターIDリスト


Microsoft Storeバージョンからのファイルの展開[編集 | ソースを編集]

Microsoft Storeバージョンを使用してファイルを読み取る場合は、UWPDumperというプログラムを使用してファイルを抽出できます。[9]

  1. UWPDumperの最新のx64バイナリをダウンロードします。
  2. 開発者モードを有効にします(Windowsの設定→アップデートとセキュリティ→開発者用→開発者モード)。
  3. CK3を立ち上げます
  4. ダウンロードしたプログラムからUWPInjector.exeを実行します。
  5. ck3.exeの横に数値を入力します。ParadoxInteractive.ProjectTitus_zfnrdv2de78nyのprocessIDとして。
  6. ファイルがどこに保存されるかを確認します (おそらくC:\Users\%USERPROFILE%\AppData\Local\Packages\ParadoxInteractive.ProjectTitus_zfnrdv2de78ny\TempState\DUMPのどこか)
  7. プログラムが終了するのを待つ.

ファイルは、以前に指定したディレクトリに存在する必要があります。ファイルを編集する場合は、Modを作成し、目的のファイルをそこにコピーします。

ツールとユーティリティ[編集 | ソースを編集]

  • Exporters (MayaとPhotoshop)
  • Clausewitz Maya Exporter: 3Dモデルを作成してエクスポートし、CK3や他のClausewitzゲームで使用するためのツール
  • UWPDumper: Microsoft Storeのゲームからファイルを抽出するツール

日本語化Mod[編集 | ソースを編集]

  • pc GamepassなどSteam以外でプレイしている人はSteamWorkshopオンリーでの配布なのでModファイルを自身で抽出する作業が必要
  • https://github.com/matanki-saito/Ck3JpMod
  • Ck3JpModのreleaseから最新のzipを貰ってきて
  • 中のSourceフォルダをドキュメントの\Paradox Interactive\Crusader Kings III\modにそのままコピー
  • コピーしたSoruceフォルダの中のdescriptor.modを一つ上のModフォルダにjapaneselang.modとしてコピー
  • japaneselang.modをメモ帳で開いて以下を最後の行に追加して保存
  • path="mod/source"
  • pathの区切り文字をは\ではなく/、上記でダメな場合はsourceフォルダのフルパスを指定するといいかも。
  • これでインストール済みのすべてのModに表示されるはず、後はプレイセットからModの追加をするだけ。

外部リンク[編集 | ソースを編集]



  1. 訳者注:日本語化Modはlocalizationフォルダを置き換えているために実績達成が不可能になっています。
  2. 訳者注:Steamの場合、ゲームがアップデートされてもCK3ゲームフォルダ内の変更したファイルはそのまま残ります。ただし整合性の確認を実施すると全てのファイルがもとに戻ります。
  3. 訳者注:アスタリスク(*)は任意の長さの文字列を意味します
  4. 訳者注:ほとんどのテキストエディタはUTF-8と書いてある場合はBOMなしを意味します。BOM付きを保存できるエディタを用意してください。
  5. 訳者注:実例が日本語化MODのgithub repositoryにあるので参考にしてみてください。: https://github.com/matanki-saito/Ck3JpMod
  6. 訳者注:Steam上であとから追加できるのと日本語用の説明は書けないため、ここでは丁寧に書かないほうがおすすめです。
  7. 訳者注:SteamのModにアップロードするには場合によってはSteam Workshopへの規約同意が必要です。またゲームをシェアしているなどで、所有していない場合はアップロードできません。さらにそのアカウントに一度も入金がなかったり、スチームガードを無効化している場合などはSteam上で利用制限アカウントとなり、アップロードできません。詳細な条件についてはこちらを参照ください。 https://support.steampowered.com/kb_article.php?ref=1047-edfm-2932&l=japanese
  8. 訳者注:BBCode(掲示板のコード)のことです
  9. 訳者注:Windowsを開発者モードにするため、自己責任でお願いします