然而當製作Tuning Mod逐漸增加難度,閱讀Tuning腳本中的XML標籤和屬性變得越來越困惑,實際上模擬市民4的EA官方有釋出Tuning腳本的說明文件供模組製作者閱讀。
延伸閱讀
三宫六院:[功能MOD必备]调整档说明书浏览器 (TDesc Browser)
#more#
什麼是Tuning Description(TDESC)
[論壇位置]Mods and CC Technical DiscussionsEA遊戲官方在官方論壇會定期發佈供模組製作者閱讀的Tuning腳本說明文件,文件格式*.tdesc,可以透過文字編輯器閱讀,例如記事本或Notepad++。
例如Buff.tdesc的內容如下:
<Instance instance_type="buff" class="Buff" module="buffs.buff" muid="428AC54D9C8BCD1A" description="Main container class that holds all data for a buff and contains all the
accessors for the buff_tracker. " instance_needs_reference="True" instance_subclasses_only="False" path="Buffs\Descriptions" use_guid_for_reference="True">
閱讀TDESC的工具
[下載位置]scumbumbo的TS4 Tuning Description Browser[全文翻譯][模擬市民4]TS4 Tuning Description Browser
我推薦scumbumbo的工具,把TDESC以樹狀分類,並加入Search(搜尋)功能,閱讀介面也很清楚明瞭;搜尋功能可以同時搜尋多個單字,大小寫也不區分。
第一次啟動需要選擇TDESC資料夾的位置,如果之後要變更,在Settings的Tdesc Root Folder做更改。
TDESC的標籤
每一項Tuning名稱都會註明它的標籤,例如:buff_reason的(TunableVariant),接下來會說明標籤在XML如何使用。
Instance: 物件名稱,XML屬性是I。
<I n="名稱"></I>
Tunable: 表示可以調整,XML屬性是T。
<T n="名稱">調整內容</T>
TunableEnum: 列舉值,使用方法類似Tunable,XML屬性是E。
<E n="名稱">調整內容</E>
Tunable和TunableEnum通常使用在整個樹狀標籤的末端,內容取決於標籤的規則,例如:interaction_action的NO_ACTION。
當標籤的說明提到type是bool(布林值),標籤的規則就是True(啟用)和False(停用)。
allow_autonomous (Tunable): <T n="allow_autonomous">True</T> interaction_action (TunableEnum): <E n="interaction_action">NO_ACTION</E>
TunableVariant: 可以從它的子項目中多選一,只能使用一項,超過一項以上會被無視,XML屬性是V,必須寫出t=表示他的子項目名稱。
<V n="名稱" t="子項目名稱"> <T n="子項目名稱"></T> </V>有個特例,是當TunableVariant的名稱是None,表示這個Variant沒有名稱,則可以忽視n,直接寫t。
<V t="子項目名稱"> <T n="子項目名稱"></T> </V>
TunableTuple: 它的巢狀子項目有許多串列,這些串列都可以使用,XML屬性是U。
<U n="名稱"> <T></T> <V n="子項目名稱"></V> </U>
TunableList: 它是清單,表示可以它可以有很多統一屬性的子項目,XML屬性是L。
<L n="名稱"> <T>項目名稱</T> <T>項目名稱</T> </L>
當這些標籤在TDESC以樹狀結構表示的時候,必須在XML以巢狀撰寫,假設是以下情況的時候:
name_a (TunableVariant)
↳name_b (TunableVariant)
↳name_c (TunableTuple)
↳name_d (Tunable)
在XML撰寫的時候如下:
<V n="name_a" t="name_b"> <V n="name_b" t="name_c"> <U n="name_c"> <T n="name_d"></T"> </U> </V> </V>
如何在XML文件中加上註解
註解的用途在於備註、整理、讓其他人讀懂,請養成習慣加上註解;註解也可以用於讓這行程式不被執行。如果你想加上EDITED,來表示你有修改過這行。
<!--EDITED-->
0 意見:
張貼留言