差分
ナビゲーションに移動
検索に移動
ストーリーサイクル Mod
(編集)
2025年10月6日 (月) 06:23時点における版
4,164 バイト追加
、
月曜日 06:23
ストーリーサイクルmodの日本語化
{{version|Timeless}}
※2025/10/6、英wikiよりkagi翻訳を通しました。機械翻訳なので一部不自然な日本語があるかもしれません。ぜひ編集してくれるとありがたいです。
ストーリーサイクルは、基本的には一定間隔でイベントを発火し、それらに関連する値を保存するイベントマネージャーです。
たとえば、ゲーム内のペット関連イベントは、ペットの年齢を追跡し、時おりそれに関するイベントを発火するストーリーサイクルによって処理されます。
ストーリーサイクルは、変数や変数リストの単なる保管場所としても使用でき、キャラクターの死亡後も保持させることができます。
== ストーリーサイクルの作成 ==
ストーリーサイクルは common/story_cycles/ フォルダ内の txt ファイルで定義します。
その後、スクリプト(イベント、ディシジョン等)で <code>create_story = story_cycle_name</code> というエフェクトを使い、あるキャラクターをオーナーとしてストーリーサイクルを作成します。
ストーリーサイクルの基本構造は以下のとおりです:<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> <code>story_cycle_name</code> には任意の名前を付けられます。
* <code>on_setup</code> - ストーリー作成時に効果を実行します
ストーリーのオーナーに作用させたい場合は <code>story_owner</code> を使います。例: <code>story_owner = { trigger_event = my_event.1 }</code>
それ以外の場合、すべての効果はストーリースコープ自体に適用されます。
* <code>on_end</code> - ストーリー終了時に効果を実行します
ストーリーは <code>end_story = yes</code> で終了できます。これはスクリプトで手動終了することも、たとえばストーリーのオーナーが死亡したときなどに自動的に終了することもあります。
* <code>on_owner_death</code> - ストーリーのオーナーが死亡した際に効果を実行します(ただし on_action の on_death と同様に、当人がまだ生存中に発火します)
ここには <code>end_story = yes</code> を含めることが多く、ストーリーを終了して <code>on_end</code> ブロック内の効果を実行します。
あるいは、<code>make_story_owner = story_owner.primary_heir</code> エフェクトで相続人など別のキャラクターにストーリーを移したり、変数をコピーしたりする用途にも使えます。
* <code>effect_group</code> - x 日(または月/年)ごとに繰り返し発火し、トリガーが true の場合に効果を実行するパルスです。
<code>days = { 30 60 }</code> のようにランダム範囲を使えます。これにより 30~60 日ごとに発火します。
<code>chance = x</code> を使うと、1~100 の値で効果が発火する確率をランダム化できます。
<code>triggered_effect</code> は独自のトリガーも持てます。トリガーが true なら、その effect ブロック内の効果を実行します。
1 つのグループ内で複数の triggered_effect を使え、1 つのストーリーサイクルに複数の effect_group を置けます。
<code>first_valid</code> を使って複数の triggered_effect の中から 1 つを選ぶこともできます。例:<syntaxhighlight lang="perl6">
effect_group = {
days = 30
first_valid = {
triggered_effect = {
trigger = {} # このトリガーが true なら最優先でこの効果を選ぶ
effect = {}
}
triggered_effect = {
trigger = {} # そうでなければこちらをチェック
effect = {}
}
triggered_effect = {} # 以下同様
}
}
</syntaxhighlight>
{{Modding navbox}}
[[Category:Modding]]
ゆいかせ
98
回編集
案内メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
変種
表示
閲覧
編集
ソースを編集
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWikiについてのヘルプ
ツール
特別ページ
印刷用バージョン