Pages

Subscribe:

Labels

2019年5月5日 星期日

[模擬市民4自製模組]基礎教學 - TDESC說明文件

在之前的[模擬市民4自製模組]第2篇基礎教學,說明如何修改Tuning腳本的XML,並以範本做簡單教學。
然而當製作Tuning Mod逐漸增加難度,閱讀Tuning腳本中的XML標籤和屬性變得越來越困惑,實際上模擬市民4的EA官方有釋出Tuning腳本的說明文件供模組製作者閱讀。

延伸閱讀
三宫六院:[功能MOD必备]调整档说明书浏览器 (TDesc Browser) 
#more#

什麼是Tuning Description(TDESC)

[論壇位置]Mods and CC Technical Discussions
EA遊戲官方在官方論壇會定期發佈供模組製作者閱讀的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&#xA;accessors for the buff_tracker.
" instance_needs_reference="True" instance_subclasses_only="False" 
path="Buffs\Descriptions" use_guid_for_reference="True">

閱讀TDESC的工具

[下載位置]scumbumboTS4 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>

TunableTunableEnum通常使用在整個樹狀標籤的末端,內容取決於標籤的規則,例如: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 意見:

張貼留言