特別プロジェクトのMOD制作¶
特別プロジェクトのゲームデータはcommon/special_projectsにあります。
特別プロジェクトのファイル構造¶
ファイルは一連のspecial_project = {}項目で構成されます。
| 名前 | 説明 | 値 | 必須 | 例 |
|---|---|---|---|---|
key |
プロジェクトID。イベントとローカライズファイルで使用します。説明にはMYMOD_EXAMPLE_1_PROJECT_DESCのようなキーが想定されます。 |
文字列 | はい | key = "MYMOD_EXAMPLE_1_PROJECT" |
event_chain |
関連するイベントチェーン。 | 既存イベントチェーンのID | いいえ | event_chain = "mymod_example_event_chain" |
picture |
プロジェクト画像。 | 文字列 | いいえ | picture = GFX_evt_alien_nature |
sound |
プロジェクト固有の音声があるか。 | yes/no |
いいえ | sound = no |
icon |
状況ログのツリー左側に表示するアイコン。 | 文字列 | いいえ | icon = "gfx/interface/icons/situation_log/situation_log_quest.dds" |
cost |
プロジェクトの研究点コスト。days_to_researchを使う場合は0にします。 |
整数 | いいえ | cost = 560 |
days_to_research |
完了までの日数。costまたはdays_to_researchのどちらかを定義します。 |
整数 | いいえ | days = 180 |
tech_department |
担当する研究部門。 | physics_technology、society_technology、engineering_technology |
はい | tech_department = physics_technology |
same_option_group_as |
別プロジェクトのサブプロジェクトである場合に指定します。 | 特別プロジェクトID | いいえ | same_option_group_as = { KETLING_PROJECT_1 } |
AI_wait_days |
AIが待機する日数。通常のAI重みフィールドと同様にfactor、add、weightを使います。国家スコープで、FROMは作成時のスコープです。 |
重み整数と修正ルール | いいえ | 下記参照 |
timelimit |
プロジェクトが失敗し、on_failを発生させるまでの日数。 |
整数、無期限は-1 |
いいえ | timelimit = 100 |
location |
プロジェクトに固有の場所があるか。 | yes/no |
いいえ | location = no |
event_scope |
ステートメントを実行するスコープ。 | ship_event、planet_event |
はい | event_scope = planet_event |
requirements |
プロジェクト開始に必要な要件。通常の条件とは別の構文です。 | 要件 | いいえ | 下記参照 |
abort_trigger |
進行中のプロジェクトを中止する条件。thisは所有国家、FROMはイベントスコープ(存在しない場合あり)、FROMFROMは作成時スコープ(通常は場所)です。 |
条件 | いいえ | 下記参照 |
on_start |
プロジェクト開始時に実行するステートメント。thisはイベントスコープ、FROMは作成時スコープです。 |
ステートメント | いいえ | 下記参照 |
on_success / on_progress_25/50/75 |
完了時/進捗25・50・75%時に実行するステートメント。thisはイベントスコープ、FROMは作成時スコープです。 |
ステートメント | on_successは必須 |
下記参照 |
on_cancel |
abort_triggerが真になった場合に発生します。thisは所有国家、FROMはイベントスコープ、FROMFROMは作成時スコープです。 |
ステートメント | いいえ | on_cancel = {} |
on_fail |
プロジェクト失敗時に実行します。thisは所有国家、FROMは作成時スコープです。 |
ステートメント | いいえ | 下記参照 |
代表的なブロック例:
AI_wait_days = {
weight = 80
modifier = {
factor = 0.5
has_ethic = ethic_fanatic_militarist
}
}
requirements = {
shipclass_science_ship = 1
leader = scientist
skill > 1
}
abort_trigger = {
NOT = { exists = fromfrom }
}
on_start = {
owner = {
set_country_flag = started_x_project
}
}
on_success = {
owner = {
country_event = { id = mymod.event.1 }
}
}
on_success = {
ship_event = { id = mymod.anomaly.1 }
}
on_fail = { # 時間切れ。
owner = {
country_event = { id = federations3.2129 }
}
}
requirements¶
requirementsは条件に似た構文を使いますが、専用のコマンド群を持ち、ANDとORには対応しません。
| 名前 | 説明 | 値 | 必須 | 例 |
|---|---|---|---|---|
leader |
場所に必要なリーダー種別。 | scientist、admiral、general、ruler、governor |
いいえ | leader = scientist |
skill |
リーダーのスキルレベル。 | 整数 | いいえ | skill > 2 |
has_trait |
リーダーに必要な特性。 | リーダー特性ID | いいえ | has_trait = leader_trait_expertise_voidcraft |
shipclass_military |
必要な軍用艦数。 | 整数 | いいえ | shipclass_military = 1 |
shipclass_constructor |
必要な建設船数。 | 整数 | いいえ | shipclass_constructor = 1 |
shipclass_science_ship |
必要な調査船数。 | 整数 | いいえ | shipclass_science_ship = 1 |
shipclass_colonizer |
必要なコロニー船数。 | 整数 | いいえ | shipclass_colonizer = 1 |
shipclass_transport |
必要な輸送船数。 | 整数 | いいえ | shipclass_transport = 1 |
assault_armies |
必要な攻撃軍数。 | 整数 | いいえ | assault_armies = 1 |
defense_armies |
必要な防衛軍数。 | 整数 | いいえ | defense_armies = 2 |
research_station |
場所に研究ステーションが必要か。 | yes |
いいえ | research_station = yes |
mining_station |
場所に採掘ステーションが必要か。 | yes |
いいえ | mining_station = yes |
observation_station |
場所に観測拠点が必要か。 | yes |
いいえ | observation_station = yes |
fleet_power |
shipclass_militaryを使う場合に必要な艦隊戦力。 |
整数 | いいえ | fleet_power > 999999 |
is_founder_species |
所有者が創設種族である必要があるか。 | yes |
いいえ | is_founder_species = yes |
例:
requirements = {
shipclass_science_ship = 1
leader = scientist
skill > 2
}
使用方法¶
特別プロジェクトを定義した後、イベント内でenable_special_projectコマンドを使うと開始できます。コマンドには3つのパラメーターがあります。
| 名前 | 説明 | 例 |
|---|---|---|
name |
特別プロジェクトのキー。 | name = "MYMOD_EXAMPLE_1_PROJECT" |
location |
イベントが発生する場所。場所がないイベントでは通常、首都を指定します。 | 下記参照 |
owner |
プロジェクトが有効になる国家。 | owner = root |
capital_scope = {
enable_special_project = {
name = "MYMOD_EXAMPLE_1_PROJECT"
location = this
owner = root
}
}
一般的な例:
enable_special_project = {
name = "MYMOD_EXAMPLE_1_PROJECT"
location = this
owner = root
}
特別プロジェクトを終了するabort_special_projectコマンドもあります。
abort_special_project = {
type = MYMOD_EXAMPLE_1_PROJECT
location = capital_scope
}
国家はlocationパラメーターから推定されます。
トリガーの例: has_special_project = CAPTURE_QUEEN
ローカライズ¶
ローカライズ項目はkeyプロパティに依存します。タイトルにはkey、説明にはkey_DESCを使います。
MYMOD_EXAMPLE_1_PROJECT:0 "Example title"
MYMOD_EXAMPLE_1_PROJECT_DESC:0 "Example description"
出典: Stellaris Wiki — Special Project modding(原文更新日: 2022年12月24日、版ID 71723)
翻訳日: 2026年8月31日 / 対応バージョン: 3.1
本ページは原文Wiki(CC BY-SA 3.0)の内容を翻訳した非公式ファン翻訳です。