ストーリーサイクル Mod

提供:ck3wiki
2025年10月6日 (月) 06:23時点におけるゆいかせ (トーク | 投稿記録)による版 (ストーリーサイクルmodの日本語化)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

※2025/10/6、英wikiよりkagi翻訳を通しました。機械翻訳なので一部不自然な日本語があるかもしれません。ぜひ編集してくれるとありがたいです。

ストーリーサイクルは、基本的には一定間隔でイベントを発火し、それらに関連する値を保存するイベントマネージャーです。

たとえば、ゲーム内のペット関連イベントは、ペットの年齢を追跡し、時おりそれに関するイベントを発火するストーリーサイクルによって処理されます。

ストーリーサイクルは、変数や変数リストの単なる保管場所としても使用でき、キャラクターの死亡後も保持させることができます。

ストーリーサイクルの作成[編集 | ソースを編集]

ストーリーサイクルは common/story_cycles/ フォルダ内の txt ファイルで定義します。

その後、スクリプト(イベント、ディシジョン等)で create_story = story_cycle_name というエフェクトを使い、あるキャラクターをオーナーとしてストーリーサイクルを作成します。

ストーリーサイクルの基本構造は以下のとおりです:<syntaxhighlight lang="perl6"> story_cycle_name = { on_setup = {} on_end = {} on_owner_death = {}

effect_group = { days/months/years = x

trigger = {}

triggered_effect = { trigger = {} effect = {} } }

effect_group = {} effect_group = {} ... } </syntaxhighlight> story_cycle_name には任意の名前を付けられます。

  • on_setup - ストーリー作成時に効果を実行します

ストーリーのオーナーに作用させたい場合は story_owner を使います。例: story_owner = { trigger_event = my_event.1 }

それ以外の場合、すべての効果はストーリースコープ自体に適用されます。

  • on_end - ストーリー終了時に効果を実行します

ストーリーは end_story = yes で終了できます。これはスクリプトで手動終了することも、たとえばストーリーのオーナーが死亡したときなどに自動的に終了することもあります。

  • on_owner_death - ストーリーのオーナーが死亡した際に効果を実行します(ただし on_action の on_death と同様に、当人がまだ生存中に発火します)

ここには end_story = yes を含めることが多く、ストーリーを終了して on_end ブロック内の効果を実行します。

あるいは、make_story_owner = story_owner.primary_heir エフェクトで相続人など別のキャラクターにストーリーを移したり、変数をコピーしたりする用途にも使えます。

  • effect_group - x 日(または月/年)ごとに繰り返し発火し、トリガーが true の場合に効果を実行するパルスです。

days = { 30 60 } のようにランダム範囲を使えます。これにより 30~60 日ごとに発火します。

chance = x を使うと、1~100 の値で効果が発火する確率をランダム化できます。

triggered_effect は独自のトリガーも持てます。トリガーが true なら、その effect ブロック内の効果を実行します。

1 つのグループ内で複数の triggered_effect を使え、1 つのストーリーサイクルに複数の effect_group を置けます。

first_valid を使って複数の triggered_effect の中から 1 つを選ぶこともできます。例:<syntaxhighlight lang="perl6"> effect_group = { days = 30 first_valid = { triggered_effect = { trigger = {} # このトリガーが true なら最優先でこの効果を選ぶ effect = {} } triggered_effect = { trigger = {} # そうでなければこちらをチェック effect = {} } triggered_effect = {} # 以下同様 } } </syntaxhighlight>

ドキュメンテーション スクリプトスコープ効果トリガー変数補正リスト
スクリプト AIブックマークキャラクターコマンド評議会文化ディシジョン王朝イベント政府歴史領地ライフスタイル連隊宗教スクリプト値ストーリーサイクル闘争称号特性
インターフェース インターフェースデータ型ローカライズカスタムローカライズフレーバー化
マップ マップ地形
グラフィック 3Dモデルエクスポーター紋章グラフィックアセットフォントパーティクルシェーダーユニットモデル
オーディオ 音楽サウンド
その他 コンソールコマンドチェックサムModの構造Mod制作ツールトラブルシューティング