鐵銹戰(zhàn)爭mod制作常見問題詳解 p1——ini的基礎(chǔ)結(jié)構(gòu)
ini結(jié)構(gòu).0:基本組成與釋義
????? ??我們moder日常所稱的“ini代碼”,準(zhǔn)確來說是用于存放各項常量及對應(yīng)的邏輯布爾值,方便應(yīng)用讀取的文件,讓我們能夠很輕易地做到新增單位及修改單位參數(shù)。其由近四百余項常量組成(注1),包括[core]、[canBuild]、[attachment]、[action/hiddenAction]、[graphics]、[attack]、[turret]、[projectile]、[effect]、[arm/leg]、[animation]、[movement]、[ai]總計13個模塊。分別意為核心,可建造,附屬物,動作/隱藏動作,圖像,攻擊,炮塔,拋射體,特效,臂/腿,動畫,運(yùn)動。
????? ?? 為保證保證單位正常加載,其中共有必須模塊4個,必須常量12條:
[core](包括此條,缺少則報錯如圖1所示,下同)





[graphics]


[attack]

[movement]

? ? ? ???每個模塊,每條常量間沒有固定的順序,但要確保每條常量處在對應(yīng)的模塊內(nèi)。
? ? ? ? ?我們通常所稱的ini中的“邏輯布爾值”,包括一般的布爾值“true”、“false”和由邏輯連接詞構(gòu)成的復(fù)合語句,作為程序判定常量與否的條件。主要條件及具體參數(shù)如下:


常見bug.1:寫入錯誤
? ? ? ? ?寫入錯誤主要包括位置錯誤,符號錯誤,拼寫錯誤,大小寫錯誤。對ini的不熟悉,以及自身習(xí)慣同ini寫入慣例的矛盾,是導(dǎo)致這些錯誤的主要原因。對有良好檢查習(xí)慣的moder來說,這些錯誤是不會保留到運(yùn)行測試階段的。如果你在mod的報錯界面看到了以下問題,說明你需要更仔細(xì)地檢查你所寫入的ini。
? ? ? ? ?位置錯誤:如上面所說,每條常量有各自對應(yīng)的位置,在寫入一條新常量前,你至少需要清楚它是在哪個模塊下的。
? ? ? ???符號錯誤:你需要確定自己寫入的符號是英文的半角符號。否則將“:”打成“:”就會是你最常見的錯誤。在1.15p4更新后,符號輸入錯誤會由原來的報錯變更為跳過行,即不解析輸入錯誤的一行。
? ? ? ? ?拼寫錯誤:拼寫錯誤人皆有之,哪怕對所用到的單詞非常熟悉,也很難避免。你也很難記住所有常量是如何拼寫的。最好通過復(fù)制黏貼來寫入絕大部分的常量。有意思的是,包括我在內(nèi),幾乎每個moder都有把“true”打成“ture”的經(jīng)歷。如果你還知道其他容易被混淆或是拼錯的常量,歡迎在評論區(qū)下提出。
? ? ? ? ?大小寫錯誤:常量拼寫與日常所用的英文語法規(guī)則不同,它要求你每條常量的第一個單詞首字母小寫,后續(xù)的其他單詞首字母大寫。如“isBio”中的“B”。



注1:由于相關(guān)缺乏資料,代碼量僅為個人經(jīng)驗估計。具體數(shù)量請待我日后進(jìn)行統(tǒng)計,歡迎有意者提供幫助。

? ? ? ? ?在下一期,我們將繼續(xù)研究[core]模塊中的常量,區(qū)分它們之間的區(qū)別,并詳盡地演示每條常量的具體作用,敬請期待。