MOD製作圖文教程 - 命令與征服重製版MOD怎麼製作

來源:樂享遊戲吧 2.69W

《命令與征服:重製版》是對命令與征服的高清重置,當然一些製作MOD的方法可以繼承,不過一些老版的工具程式碼無法使用了,下邊就給大家帶來“bbitt”分享的命令與征服重製版MOD製作圖文教程,大家可以來看一看。

命令與征服重製版MOD製作圖文教程

我們先準備一些東西:

1.有一定儲備的知識:具備一定的計算機程式語言知識,MOD的製作不只是隨便修改一下程式碼就OK的。

osoft Visual Studio:要下載2017版本,2019版與官方提供的開源存在一定衝突。我在附件裡會提供下載安裝用的程式。

3.批量UTF8查詢工具:我附件會提供一個,你們若是有更好的請自行準備。

4.《命令與征服》MOD開發用的開原始碼:正版遊戲安裝目錄中會有提供。

現在開始教程:

一、下載安裝 Microsoft Visual Studio 2017版,選擇 使用C++桌面開發 其他用不到,就不要裝了。

命令與征服重製版MOD怎麼製作 MOD製作圖文教程

右邊的安裝詳細資訊裡的建議都選上。裡面有你對應系統的一些補丁、程式語言包之類的。

然後右下角點 安裝 ,我因為已經裝好了所以是“關閉”。

注意:將你的系統設定為支援UTF8編碼,如果不設定的話 Microsoft Visual Studio 會將原始碼程式中編碼編譯成其他編碼,生成MOD的時候會報錯。 

Win10設定方法:

1、首先在開始選單單擊滑鼠右鍵,點選 執行 ;

2、輸入control回車開啟控制面板>時鐘和區域>區域>管理>更該系統區域設定>勾選"Beta 版: 使用 Unicode UTF-8 提供全球語言支援" 。

二、我們找到遊戲安裝目錄中的 SOURCECODE 目錄(正版有,盜版有沒有不知道),將其拷貝出來(存哪你自己決定,別問我)。這個目錄就是官方提供的開原始碼程式。

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第2張

用 Microsoft Visual Studio 開啟你拷貝出去的目錄中的 檔案(檔案→開啟→專案/解決方案),右邊的解決方案資源管理器就會如圖中所示載入完畢。

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第3張

裡面包含兩個專案,分別對應的是《紅色警戒》和《命令與征服》,請根據自己的目標來修改。我這裡就以《命令與征服》中修改一個單位“jeep”車為例。點開 TiberianDawn 專案,

我們可以看到很多的檔案,哪個檔案才是我們要找的目標呢?

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第4張

接下來我們就需要用到 批量UTF8查詢工具 了,我附件有提供,如果你們有其他工具請注意,一定要使用支援UTF8的工具。MOD修改時需要用到遊戲中的一些要素,我們就通過查詢這些要素來定位要找的檔案。

這裡因為打算要修改的是遊戲裡單位的屬性,我們已知的要素包含名字“jeep”和購買價格“COST”兩個字串,我們就搜尋這兩組字串來找檔案。

以我提供的修改器為例:

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第5張

目錄選擇拷貝出去的目錄中 tiberiandawn 目錄,原字串名改為 JEEP ,不區分大小寫,選中 僅查詢不替換 ,新字串名留空,點執行會生成一個文字文件,不要關閉。

將原字串名改為 COST(購買價格),點執行又會生成一個文字文件。我們現在對比兩份文件,可以看到這兩種字串在同一個檔案中出現了:

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第6張

視窗切換到Microsoft Visual Studio ,找到之前開啟的TiberianDawn 專案下 Source Files 目錄中的 檔案並雙擊開啟。按 Ctrl+F 彈出搜尋框 輸入 jeep 回車,就

找到了我們要搜尋的字元段。

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第7張

我們看下下邊的內容:

//符號左邊邊是原始碼,右邊是對該段程式碼的描述。

// Jeep (hummer)

static UnitTypeClass const UnitJeep(

UNIT_JEEP,

TXT_JEEP, // NAME: Text name of this unit type. 這個單位型別的名字

"JEEP", // NAME: Text name of this unit type. 這個單位型別的名字(和上一個有什麼區別不知道,沒做測試)

ANIM_FRAG1, // EXPLOSION: Type of explosion when destroyed. 摧毀時的爆炸型別

2, // Build level. 建造、製造等級

STRUCTF_NONE, // Building prerequisite. 建造、製造先決條件

true, // Can this be a goodie surprise from a crate? 這個是否能從“板條箱”中得到(遊戲裡拾取箱子)

true, // Is a leader type? 是否是領航型別

false, // Only has eight facings? 是否只有8個朝向?(應該是車輛朝的方向:上、下、左、右、左上、右上、左下、右下)

false, // Always use the given name for the vehicle? 始終使用車輛的給定名稱?

false, // Is this a typical transport vehicle? 這是典型的運輸工具嗎?

false, // Can it be crushed by a heavy vehicle? 能被重型車壓碎嗎?

false, // Can this unit squash infantry? 這個單位能壓制步兵嗎?

false, // Does this unit harvest Tiberium? 這個單位能運送泰伯利亞礦石嗎?

false, // Is invisible to radar? 這個單位在雷達上隱形嗎?

true, // Is selectable by player? 這個單位能否被玩家選中?

true, // Can it be a target for attack or move? 是否是可以被移動或攻擊的目標

false, // Is it insignificant (won't be announced)? 是否無關緊要

false, // Is it immune to normal combat damage? 對正常戰鬥傷害免疫嗎?

true, // Is it equipped with a combat turret? 它裝備了戰鬥炮塔嗎?

false, // Fires multiple shots in quick succession? 快速射擊是否連續射出多發子彈?

true, // Can it be repaired in a repair facility? 它能在修理廠修理嗎?

true, // Can the player construct or order this unit? player可以建造或命令這個單元嗎?

true, // Is there a crew inside? 裡面有人嗎?(有人的話擊毀後可以掉出小兵)

false, // Does it have a rotating radar dish? 它有旋轉的雷達天線嗎?

false, // Is there an associated firing animation? 是否存在關聯的射擊動畫?

false, // Must the turret be in a locked down position while moving? 移動時炮塔是否鎖定不動?

true, // Does it lay tracks while moving? 它在移動時會留下痕跡嗎?

false, // Is this a gigundo-rotund-enormous unit? 是一個 gigundo-圓形-巨大 單元嗎?(不懂)

false, // Is the unit's art as "chunky" cardinal facing only? (不懂)

false, // Is the unit capable of cloaking? 這個單位能隱形嗎?

false, // Does the unit have a constant animation? 該單元是否具有常量動畫?

-1, // AMMO: Number of shots it has (default). 彈藥量 -1是無限

150, // STRENGTH: Strength (in damage points). 裝甲強度(俗稱血量)

2, // SIGHTRANGE: Range of sighting. 視線範圍

1, // COST: Cost to build (Credits). 價格(我這裡改成1是因為測試MOD用)

5, // SCENARIO: Starting availability scenario. 可用性開始場景(不明白用法)

80,41, // RISK/RWRD: Risk/reward rating values. 風險與回報評級值(不太懂用法)

HOUSEF_MULTI1|

HOUSEF_MULTI2|

HOUSEF_MULTI3|

HOUSEF_MULTI4|

HOUSEF_MULTI5|

HOUSEF_MULTI6|

HOUSEF_JP|

HOUSEF_GOOD, // OWNABLE: Ownable by house (bit field).

WEAPON_M60MG,WEAPON_NONE, 第一武器 ,第二武器

ARMOR_ALUMINUM, // ARMOR: Armor type 裝甲型別 ALUMINUM 是鋁

SPEED_WHEEL, // MOVE: Locomotion type. 移動型別 WHEEL輪式

MPH_MEDIUM_FAST, // SPEED: Miles per hour. 速度(英里每小時) 格式不太懂,這個應該是個變數可以參考其他單位

10, // ROT: Rate of turn (degrees per tick). 炮塔轉動速度

0, // Turret center offset along body centerline. 炮塔中心沿著身體中心線偏移(使用方法不明)

MISSION_HUNT // ORDERS: Default order to give new unit. 訂單:給予新單位的預設訂單。(用法不明)

);

根據自己的目的進行修改程式碼。(我這裡只是修改了價格為1)

三、當你把所有要修改的修改完成後我們接下來生成MOD檔案

滑鼠右鍵點選 Microsoft Visual Studio 的視窗中右邊解決方案資源管理器中 TiberianDawn 專案,彈出選單後選擇 生成

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第8張

生成時會在下邊的輸出視窗有各種提示,如果有錯誤會提示哪裡有錯誤,請根據提示修正問題。如果正常生成完成就會提示 生成: 成功 xx 個,失敗 0 個,最新 0 個,跳過 0 個

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第9張

這裡重說一下,如果你之前沒有將系統修改為支援UTF8編碼,就會提示:

warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失

生成成功後我們到原始碼目錄中的 bin 目錄下的 Win32 目錄中有4個檔案,其中我們要用到的只有 和 兩個檔案。

MOD檔案已經準備好了,現在建立一個目錄 bbitt - TD Only (名字你自己決定,這裡就以我準備的測試用MOD舉例)。在bbitt - TD Only 目錄下新建一個 DATA 目錄。

將之前準備好的 和 兩個檔案複製進去。

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第10張

然後回到 bbitt - TD Only 目錄下新建一個文字文件,內容為:

{

"name": "bbitt - TD Only", MOD名字 bbitt - TD Only ,我怕識別不了就和目錄名字相同

"description": "Changes Hummer cost = 1", MOD簡介 Changes Hummer cost = 1 改變hummer的價額為1

"author": "bbitt", 作者

"load_order": 1, 載入順序

"version_low": 0, 版本低

"version_high": 1, 版本高,與版本低之間貌似一個設為1,另一個必須設為0

"game_type": "TD" 遊戲型別:泰伯利亞黎明

}

內容填好後將其重新命名為 注意副檔名,可不是 。

這樣MOD目錄就OK了。我們現在需要的就是將其放在遊戲專門的MODS目錄中。具體位置是在 文件>CnCRemastered>Mods>Tiberian_Dawn 目錄中。

好了我們測試一下,看看我們的MOD是否能載入,是否有效果。進入遊戲、選項、模組,OK,我們的MOD已經刷新出來了。選中然後點確定,會重啟遊戲。

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第11張

重啟後模組就載入好了,測試一下,完美!

命令與征服重製版MOD怎麼製作 MOD製作圖文教程 第12張

熱門標籤