LV. 31
GP 1k

RE:【心得】模組製作——新建築

樓主 likwueron iqandadie
GP16 BP-

作者標示-非商業性

本授權條款允許使用者重製、散布、傳輸以及修改著作,但不得為商業目的之使用。使用時必須按照著作人指定的方式表彰其姓名。

我後來仔細看,應該是我格式化標記打錯,而不是被吃字。
雖然我的確花了不少時間處理這部份,看來是被時間迷惑了。



我們剛剛特質講到一半,但還是重頭來好了。
是的,你如果要讓它變成特殊建築,就是要加特質(Trait)
<Types>
    <Row Type="TRAIT_CIVILIZATION_BUILDING_GAME_STUDIO" Kind="KIND_TRAIT" />
</Types>

接著你要寫入Buildings,說明某個建築要求這份特質才能蓋
<Buildings>
    <Row BuildingType="BUILDING_GAME_STUDIO" Name="LOC_BUILDING_GAME_STUDIO_NAME" PrereqDistrict="DISTRICT_CITY_CENTER" PurchaseYield="YIELD_GOLD" Cost="50" AdvisorType="ADVISOR_GENERIC"
    TraitType="TRAIT_CIVILIZATION_BUILDING_GAME_STUDIO"
    />
</Buildings>

那誰又有這份特質呢?
你可以選領袖
<!--LEADER參考 安裝位置\Base\Assets\Gameplay\Data\Leaders.xml-->
<LeaderTraits>
    <!--領䄂 歌果-->
    <Row LeaderType="LEADER_GORGO" TraitType="TRAIT_CIVILIZATION_BUILDING_GAME_STUDIO" />
    <!--領袖 伯利克里-->
    <Row LeaderType="LEADER_PERICLES" TraitType="TRAIT_CIVILIZATION_BUILDING_GAME_STUDIO" />
</LeaderTraits>

或是,反正歌果和伯利克里都是希臘人,就設為希臘吧。
<CivilizationTraits>
    <Row CivilizationType="CIVILIZATION_GREECE" TraitType="TRAIT_CIVILIZATION_BUILDING_GAME_STUDIO" />
</CivilizationTraits>

特質也有一張自己的表,是專門放名稱和描述的
<Traits>
    <Row TraitType="TRAIT_CIVILIZATION_BUILDING_GAME_STUDIO" Name="LOC_PLACEHOLDER" Description="LOC_PLACEHOLDER" />
</Traits>
不過因為我們這邊是建築,所以顯示的時候會忽略這兩個值,你只要指定為LOC_PLACEHOLDER就行了。



你建置專案,進入遊戲,發現到選單中沒有列出我們新的建築。
「這是怎麼一回事?你耍我啊?」
等一下,等一下!先按進入遊戲,看啊!在讀取畫面中我們看到偉大的領袖有這新建築。

回到很上面我提過的:專案Properties中的FrontEnd Actions
我們需要建立一個新檔案,在你的專案上右鍵->Add->New Item
選XML,而名子嘛...
因為要用的表格叫PlayerItems,所以不如就叫PlayerItems.xml吧?

<PlayerItems>
    <Row>
        <Domain>StandardPlayers</Domain>
        <CivilizationType>CIVILIZATION_GREECE</CivilizationType>
        <LeaderType>LEADER_PERICLES</LeaderType>
        <Type>BUILDING_GAME_STUDIO</Type>
        <Name>LOC_BUILDING_GAME_STUDIO_NAME</Name>
        <Description>LOC_BUILDING_GAME_STUDIO_DESCRIPTION</Description>
        <Icon>ICON_BUILDING_GAME_STUDIO</Icon>
        <SortIndex>11</SortIndex>
    </Row>
</PlayerItems>
這邊一個限制是,就算你指定是希臘的特殊建築,你仍要對歌果和伯利克里寫一份。
雖然複製下來把LeaderType改掉就好了,但還是有點煩燥啊...

寫好後,記得我們還要改Properties
在FrontEnd Actions中加入三個Action

第一個Type是Update Database
把剛剛的PlayerItems.xml加進去

第二個是Update Icons
把NewBuilding_Icons.xml加進去

第三個是Update Text
把NewBuilding_Text.xml加進去

這部份就完成了。



話說,一般這些特殊建築不是會取代原本的東西嗎?
是的,寫入另一張表
<BuildingReplaces>
    <Row CivUniqueBuildingType="BUILDING_GAME_STUDIO" ReplacesBuildingType="BUILDING_MONUMENT"/>
</BuildingReplaces>
這部份請去查遊戲內預設的Buildings.xml看看你想取代誰



我們當然希望有中文,既然是自己寫的自然要把中文包進去。
請看NewBuilding_Text.xml的內容
<!-- 建築名稱 -->
<Row Tag="LOC_BUILDING_GAME_STUDIO_NAME" Language="en_US">
  <Text>Cheat Building</Text>
</Row>
<!-- 建築描述 -->
<Row Tag="LOC_BUILDING_GAME_STUDIO_DESCRIPTION" Language="en_US">
  <Text>wow!</Text>
</Row>
<!-- 百科歷史,注意,這邊的Tag是自動決定的,它必然使用你先前定下的Type
LOC_PEDIA_BUILDINGS_PAGE_[TYPE]_CHAPTER_HISTORY_PARA_1
-->
<Row Tag="LOC_PEDIA_BUILDINGS_PAGE_BUILDING_GAME_STUDIO_CHAPTER_HISTORY_PARA_1" Language="en_US">
  <Text>You are making history...</Text>
</Row>

很明顯的,問題就在於Lanuguage這東西上。
所有的值可以去查一個叫ISO-639的標準,但我就直接跟你說,正體中文是zh_TW。

而為了方便管理,請另外建一個檔案。
我個人的習慣,因為語言檔會很多,所以會用另外的資料夾,我們就叫它Text
而檔案名稱,不如就叫GameStudio_zh-TW.xml吧?
反正,易於辨認是最重要的,特別是在你一個專案包含多個東西的時候,雖然現在沒這個必要就是了。

總之,你把原本的內容複製過去,把en_US改成zh_TW。
別忘了修改Properties中的FrontEnd Actions和In-Game Actions,不然你還是看不到中文。



你一定會問:我們幹了這麼多事,為什麼遊戲內的模組管理介面還是給我看英文?
這又是另一個沖不下去的設計,啍...

這部份請你參考Yet (not) Another Maps Pack的作法
訂閱這模組後請打開
Steam安裝位置\steamapps\workshop\content\289070\871861883\Yet (not) Another Maps Pack.modinfo
你會找到你要的東西

至於你的模組輸出位置,則是在
%userprofile%\Documents\My Games\Sid Meier's Civilization VI\Mods



好了,你都搞定了,準備分享你棒棒的新建築?
打開第二個叫Steam Workshop Uploader的工具。
它有一個神祕的Begin按鈕,真的很神祕,算了啦...

按下Upload按鈕,然後找輸出後的模組資料夾中的modinfo檔案
大概就是這樣。



我的亂七八糟專案包含上面說的所有內容。
不過,也包含了一些,嗯...搞怪的東西
16
-
未登入的勇者,要加入討論嗎?
板務人員:歡迎申請板主

316 筆精華,03/03 更新
一個月內新增 0
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】