如題,這是一個簡單的備忘錄,裡面充斥著血的教訓。

關於戰爭結語的定義儲存於 TNO_peace_popup_scripted_localisation.txt 當中。
像是進度條這類特殊的模組要先在.gfx檔案裡用獨特程式碼註冊,然後再引用到.gui檔案裡。
on_actions是一種規則集合,可以使用遊戲內的各種條件創造規則,比如每天減少某國的某個變數,令某國在投降時執行什麼效果之類之類的。
用白和平結束戰爭時,如果想讓戰爭結語正常顯示,必須要應用以下effect:
TAG1 = { save_global_event_target_as = winning_country } TAG2 = { save_global_event_target_as = losing_country } set_global_flag = war_won set_global_flag = show_peace_popup_alert add_to_variable = { global.peace_popup_dirty = 1 } set_global_flag = skip_default_capitulation #如果不是在某一方投降時的白和平則不需要裝民族精神圖示的時候,後端定義的程式碼要加GFX_字首,前端引用的不能加,捏麻麻滴。
TNO製作組在2023年2月的某個時候重構了超事件的觸發機制,令程式碼更加簡潔。接下來我將教你如何使用這個黑盒(內部執行邏輯很難短篇幅解釋清楚,請自行前往"TNO_super_events_scripted_effect.txt"、"TNO_Super_Events_scripted_loc.txt"與"common/ideas/TNO_Super_Events.txt"中研究)製作一個新的超事件:
首先,我們必須為你的超事件準備一個鍵值,就叫SE_TEST罷,TEST可以隨意替換,SE_的字首為了保持格式統一最好不要隨便改。
而觸發超事件的程式碼則是這樣:
effect = { set_temp_variable = { TNO_temp_super_event = token:SE_TEST } TNO_fire_super_event = yes }"TNO_fire_super_event"則是一個預設效果,你可以把它理解為一臺機器,可以把你為TNO_temp_super_event這個變數設定的token自動轉換為引用相同鍵值的本地化與聲音GFX等,而不用你逐個定義。
接下來我們需要為超事件準備文字音訊與圖片,我們先從文字開始。
文字需要在任意本地化檔案中定義,我建議你將檔案命名為"TNO_Super_Events_l_english.yml"的變體以方便記憶。
在此檔案中,我們有三個需要定義的值,它們分別為這樣:
SE_TEST: "測試" #這是標題 SE_TEST_D: "要斷章取義\n-《不要斷章取義》" #這是名言,字尾是必須的 SE_TEST_A: "測試" #這是按鈕同時這三個鍵值還需要在common/ideas/TNO_Super_Events.txt中定義,這個沒辦法,必須要把TNO原版的檔案複製過來重寫,在裡面加上上面這三個鍵值。
然後是圖片,經過了 TNO_fire_super_event = yes 的處理現在我們裝超事件圖片就簡單多了,只需要在後端註冊到這個GFX就行,同樣出自方便管理的原因,我推薦你將這個.gfx檔案更名為TNO_SG_Super_Event.gfx的變體,示例程式碼如下:
spriteTypes = { spriteType = { name = "GFX_SE_TEST" textureFile = "gfx/superevent_pictures/test.tga" } }最後就剩音樂了,同樣因為經過了 TNO_fire_super_event = yes 的處理,你只需要重寫"TNO_superevents.asset"和"TNO_Superevents.txt"這兩個檔案,照著格式註冊一個你自己的音樂就OK了。
本篇教程就到這裡,祝各位早上醒來變二次元美少女。









