P社允許modder在玩家的遊戲簡介中顯示自定義的成就。Avalanche(1.12.1)版本提供了創建這些成就的能力。
成就可以在個人檔案(在遊戲中這一按鈕叫作「本局遊戲概況」)里找到,圖像可以在Paradox論壇中使用。
文件結構
custom_achievements/
common/achievements/
custom_achievements_achievements.txt
gfx/achievements/
custom_achievement_test.dds
custom_achievement_test_grey.dds
custom_achievement_test_not_eligible.dds
localization/english/
custom_achievements_l_english.yml
編碼語法
- unique_id - 這是你的 Mod 的自定義必要屬性,它是將成就存儲的 cloudsavefile 的名稱。
- custom_achievement_test/custom_ribbon_test - 這是你的特定成就的唯一標誌。
- possible - 這會在遊戲開始時檢測勛帶或成就是否可以被獲得。如果在遊戲開始時為否(不滿足其中條件),那麼將無法獲得這些成就和勛帶。
- 這與決議或Idea的
allowed
代碼類似,但是它是在遊戲開始時而不是開始之前進行計算的。
- 代碼示例中並未使用一些常見檢測條件,例如tag檢測( tag 或 original_tag)或是否為鐵人模式 (
is_ironman = yes
).
- happened - 一旦滿足其中條件,就可以獲得成就。(通常是滿足瞬間到遊戲內兩個小時生效)
- ribbon - (選填)這一參數只用於綬帶。它允許通過RGB色值修改綬帶的顏色。
unique_id = custom_achievements_123456
custom_achievement_test = {
possible = {
# classic triggers used in all vanilla achievements
difficulty > 1
has_start_date < 1936.01.02
has_any_custom_difficulty_setting = no
game_rules_allow_achievements = yes
}
happened = {
date > 1936.01.02
}
}
custom_ribbon_test = {
possible = {
difficulty > 1
has_start_date < 1936.01.02
has_any_custom_difficulty_setting = no
game_rules_allow_achievements = yes
tag = ITA
}
happened = {
date > 1936.01.02
}
ribbon = {
frames = { 1 1 1 1 }
colors = {
{ 45.0 64.0 102.0 1.0 }
{ 154.0 73.0 107.0 1.0 }
{ 238.0 189.0 96.0 1.0 }
{ 211.0 181.0 128.0 1.0 }
}
}
}
圖標
成就的圖片需要 3 個不同的圖像,存儲在gfx/achievements
文件夾中,他們不需要在interface文件夾中通過spriteType 方式進行註冊。
- custom_achievement_test.dds
- custom_achievement_test_not_eligible.dds
- custom_achievement_test_grey.dds
本地化
成就的本地化需要兩個本地化鍵。後綴NAME表示該成就的名字,而後綴DESC表示該成就的描述,可以是一些笑話,也可以是如何完成這個成就的指引,隨你:)
custom_achievement_test_NAME: "Custom Achievement Title"
custom_achievement_test_DESC: "Custom Achievement Description"
References