逗游網(wǎng):值得大家信賴(lài)的游戲下載站!

微信:doyo_game
關(guān)注逗游
單機(jī)首頁(yè) 游戲庫(kù) 排行榜 資訊 攻略 專(zhuān)題 合集 工具補(bǔ)丁 手機(jī)游戲 正版商城
所在位置:攻略中心 > 圖文攻略 > 命令與征服:重制版 > 正文

命令與征服重制版MOD制作教程

發(fā)布時(shí)間:2020-06-10 11:09 來(lái)源:3DM論壇  作者:bbitt

 

命令與征服重制版MOD制作教程,在本次重制版中我們可以通過(guò)官方公開(kāi)的源代碼進(jìn)行MOD制作,下面就為大家分享具體的教程指南,希望能夠幫助到大家。

MOD制作教程(更新中)

我們先準(zhǔn)備一些東西:

1.有一定儲(chǔ)備的知識(shí):具備一定的計(jì)算機(jī)編程語(yǔ)言知識(shí),MOD的制作不只是隨便修改一下代碼就OK的。

2.Microsoft Visual Studio:要下載2017版本,2019版與官方提供的開(kāi)源存在一定沖突。我在附件里會(huì)提供下載安裝用的程序。

3.批量UTF8查找工具:我附件會(huì)提供一個(gè),你們?nèi)羰怯懈玫恼?qǐng)自行準(zhǔn)備。

4.《命令與征服》MOD開(kāi)發(fā)用的開(kāi)源代碼:正版游戲安裝目錄中會(huì)有提供。

現(xiàn)在開(kāi)始教程:

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

右邊的安裝詳細(xì)信息里的建議都選上。里面有你對(duì)應(yīng)系統(tǒng)的一些補(bǔ)丁、編程語(yǔ)言包之類(lèi)的。

然后右下角點(diǎn) 安裝 ,我因?yàn)橐呀?jīng)裝好了所以是“關(guān)閉”。

注意:將你的系統(tǒng)設(shè)置為支持UTF8編碼,如果不設(shè)置的話(huà) Microsoft Visual Studio 會(huì)將源碼程序中編碼編譯成其他編碼,生成MOD的時(shí)候會(huì)報(bào)錯(cuò)。 WIN10請(qǐng)參考http://www.winwin7.com/JC/16635.html

二、我們找到游戲安裝目錄中的 SOURCECODE 目錄(正版有,盜版有沒(méi)有不知道),將其拷貝出來(lái)(存哪你自己決定,別問(wèn)我)。這個(gè)目錄就是官方提供的開(kāi)源代碼程序。

Microsoft Visual Studio 打開(kāi)你拷貝出去的目錄中的 CnCRemastered.sln 文件(文件→打開(kāi)→項(xiàng)目/解決方案),右邊的解決方案資源管理器就會(huì)如圖中所示加載完畢。

里面包含兩個(gè)項(xiàng)目,分別對(duì)應(yīng)的是《紅色警戒》和《命令與征服》,請(qǐng)根據(jù)自己的目標(biāo)來(lái)修改。我這里就以《命令與征服》中修改一個(gè)單位“jeep”車(chē)為例。點(diǎn)開(kāi) TiberianDawn 項(xiàng)目,

我們可以看到很多的文件,哪個(gè)文件才是我們要找的目標(biāo)呢?

接下來(lái)我們就需要用到 批量UTF8查找工具 了,我附件有提供,如果你們有其他工具請(qǐng)注意,一定要使用支持UTF8的工具。MOD修改時(shí)需要用到游戲中的一些要素,我們就通過(guò)查找這些要素來(lái)定位要找的文件。

這里因?yàn)榇蛩阋薷牡氖怯螒蚶飭挝坏膶傩裕覀円阎囊匕帧癹eep”和購(gòu)買(mǎi)價(jià)格“COST”兩個(gè)字符串,我們就搜索這兩組字符串來(lái)找文件。

以我提供的修改器為例:

目錄選擇拷貝出去的目錄中 tiberiandawn 目錄,原字符串名改為 JEEP ,不區(qū)分大小寫(xiě),選中 僅查找不替換 ,新字符串名留空,點(diǎn)執(zhí)行會(huì)生成一個(gè)文本文檔,不要關(guān)閉。

將原字符串名改為 COST(購(gòu)買(mǎi)價(jià)格),點(diǎn)執(zhí)行又會(huì)生成一個(gè)文本文檔。我們現(xiàn)在對(duì)比兩份文檔,可以看到這兩種字符串在同一個(gè)文件中出現(xiàn)了:UDATA.CPP

窗口切換到Microsoft Visual Studio ,找到之前打開(kāi)的TiberianDawn 項(xiàng)目下 Source Files 目錄中的 UDATA.CPP 文件并雙擊打開(kāi)。按 Ctrl+F 彈出搜索框 輸入 jeep 回車(chē),就找到了我們要搜索的字符段。

我們看下下邊的內(nèi)容:

//符號(hào)左邊邊是源代碼,右邊是對(duì)該段代碼的描述。

// Jeep (hummer)

static UnitTypeClass const UnitJeep(

UNIT_JEEP,

TXT_JEEP, // NAME: Text name of this unit type. 這個(gè)單位類(lèi)型的名字

"JEEP", // NAME: Text name of this unit type. 這個(gè)單位類(lèi)型的名字(和上一個(gè)有什么區(qū)別不知道,沒(méi)做測(cè)試)

ANIM_FRAG1, // EXPLOSION: Type of explosion when destroyed. 摧毀時(shí)的爆炸類(lèi)型

2, // Build level. 建造、制造等級(jí)

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

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

true, // Is a leader type? 是否是領(lǐng)航類(lèi)型

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

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

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

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

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

false, // Does this unit harvest Tiberium? 這個(gè)單位能運(yùn)送泰伯利亞礦石嗎?

false, // Is invisible to radar? 這個(gè)單位在雷達(dá)上隱形嗎?

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

true, // Can it be a target for attack or move? 是否是可以被移動(dòng)或攻擊的目標(biāo)

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

false, // Is it immune to normal combat damage? 對(duì)正常戰(zhàn)斗傷害免疫嗎?

true, // Is it equipped with a combat turret? 它裝備了戰(zhàn)斗炮塔嗎?

false, // Fires multiple shots in quick succession? 快速射擊是否連續(xù)射出多發(fā)子彈?

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

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

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

false, // Does it have a rotating radar dish? 它有旋轉(zhuǎn)的雷達(dá)天線嗎?

false, // Is there an associated firing animation? 是否存在關(guān)聯(lián)的射擊動(dòng)畫(huà)?

false, // Must the turret be in a locked down position while moving? 移動(dòng)時(shí)炮塔是否鎖定不動(dòng)?

true, // Does it lay tracks while moving? 它在移動(dòng)時(shí)會(huì)留下痕跡嗎?

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

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

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

false, // Does the unit have a constant animation? 該單元是否具有常量動(dòng)畫(huà)?

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

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

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

1, // COST: Cost to build (Credits). 價(jià)格(我這里改成1是因?yàn)闇y(cè)試MOD用)

5, // SCENARIO: Starting availability scenario. 可用性開(kāi)始場(chǎng)景(不明白用法)

80,41, // RISK/RWRD: Risk/reward rating values. 風(fēng)險(xiǎn)與回報(bào)評(píng)級(jí)值(不太懂用法)

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 裝甲類(lèi)型 ALUMINUM 是鋁

SPEED_WHEEL, // MOVE: Locomotion type. 移動(dòng)類(lèi)型 WHEEL輪式

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

10, // ROT: Rate of turn (degrees per tick). 炮塔轉(zhuǎn)動(dòng)速度

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

MISSION_HUNT // ORDERS: Default order to give new unit. 訂單:給予新單位的默認(rèn)訂單。(用法不明)

);

根據(jù)自己的目的進(jìn)行修改代碼。(我這里只是修改了價(jià)格為1)

三、當(dāng)你把所有要修改的修改完成后我們接下來(lái)生成MOD文件

鼠標(biāo)右鍵點(diǎn)擊 Microsoft Visual Studio 的窗口中右邊解決方案資源管理器中 TiberianDawn 項(xiàng)目,彈出菜單后選擇 生成

生成時(shí)會(huì)在下邊的輸出窗口有各種提示,如果有錯(cuò)誤會(huì)提示哪里有錯(cuò)誤,請(qǐng)根據(jù)提示修正問(wèn)題。如果正常生成完成就會(huì)提示 生成: 成功 xx 個(gè),失敗 0 個(gè),最新 0 個(gè),跳過(guò) 0 個(gè)

這里重說(shuō)一下,如果你之前沒(méi)有將系統(tǒng)修改為支持UTF8編碼,就會(huì)提示:

warning C4819: 該文件包含不能在當(dāng)前代碼頁(yè)(936)中表示的字符。請(qǐng)將該文件保存為 Unicode 格式以防止數(shù)據(jù)丟失

生成成功后我們到源代碼目錄中的 bin 目錄下的 Win32 目錄中有4個(gè)文件,其中我們要用到的只有 TiberianDawn.dll TiberianDawn.pdb 兩個(gè)文件。

MOD文件已經(jīng)準(zhǔn)備好了,現(xiàn)在建立一個(gè)目錄 bbitt - TD Only (名字你自己決定,這里就以我準(zhǔn)備的測(cè)試用MOD舉例)。在bbitt - TD Only 目錄下新建一個(gè) DATA 目錄。

將之前準(zhǔn)備好的 TiberianDawn.dll TiberianDawn.pdb 兩個(gè)文件復(fù)制進(jìn)去。

然后回到 bbitt - TD Only 目錄下新建一個(gè)文本文檔,內(nèi)容為:

{

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

"description": "Changes Hummer cost = 1", MOD簡(jiǎn)介 Changes Hummer cost = 1 改變hummer的價(jià)額為1

"author": "bbitt", 作者

"load_order": 1, 加載順序

"version_low": 0, 版本低

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

"game_type": "TD" 游戲類(lèi)型:泰伯利亞黎明

}

內(nèi)容填好后將其重命名為 ccmod.json 注意擴(kuò)展名,可不是 ccmod.json.txt

這樣MOD目錄就OK了。我們現(xiàn)在需要的就是將其放在游戲?qū)iT(mén)的MODS目錄中。具體位置是在 文檔>CnCRemastered>Mods>Tiberian_Dawn 目錄中。

好了我們測(cè)試一下,看看我們的MOD是否能加載,是否有效果。進(jìn)入游戲、選項(xiàng)、模組,OK,我們的MOD已經(jīng)刷新出來(lái)了。選中然后點(diǎn)確定,會(huì)重啟游戲。

重啟后模組就加載好了,測(cè)試一下,完美!

進(jìn)入《命令與征服:重制版》專(zhuān)區(qū)
查看更多《命令與征服:重制版》攻略
標(biāo)簽: 
http://www.4uh5.cn/article/394577復(fù)制本文地址
閱讀本文后,您的心情是:(選擇后可查看結(jié)果)
 
惡心
憤怒
強(qiáng)贊
感動(dòng)
路過(guò)
無(wú)聊
雷囧
關(guān)注
今日關(guān)注游戲
游戲?qū)n}
IGN 9分以上作品 愿者上鉤釣魚(yú)的那點(diǎn)趣事 深冬之寒,來(lái)一起看看游戲中精美的雪景吧