
需要为这款画面精美的重制版游戏制作模组吗? 别再找了! 我翻出了一些旧代码,制作了这份指南,希望能帮助自己和其他难以搞懂如何修改这款游戏的玩家。 我会尝试扩充内容并制作更多指南,但不做保证。 希望这能帮到你。 Visual Studio使用指南 大家好, 如果你和我一样,要么对命令与征服系列游戏怀有强烈的热情,要么对伴随自己成长的这些游戏有着怀旧之情,你就会知道战略性地炸毁敌方基地或在战场上制造混乱是多么有趣。这份源代码让我能够调整和体验游戏的各个方面,但看到相关内容如此之少,我感到有些遗憾。不过本指南旨在帮助你理解并在命令与征服宇宙中创造属于自己的影响。我将从最基础的内容开始,为你打下坚实的基础。 步骤1:Visual Studio相关准备 是的,这过程可能有些繁琐且令人头疼。 你需要下载Visual Studio 2017社区版来开始(当然你也可以选择2019版,但我们先从稳妥的版本开始)。

安装2017后,点击修改按钮,即可为Visual Studio添加组件。使用Visual Studio 2017时,你需要三样东西:Windows 10 SDK、C++ ATL工具和C++ MFC工具。(如果你愿意,也可以获取Win 8.1 SDK,10和8.1都能正常使用)

当文件获取完成后,你可以在【Steam】的【steamapps/common/CnCRemastered/SOURCECODE】目录中找到《命令与征服:重制版》的源代码,然后用【Visual Studio】打开解决方案文件。

当使用Visual Studio打开后,你需要进入【项目】>【属性】

请确保已选择正确的SDK

如果一切看起来没问题,你只需点击“生成”,然后看着代码整合完成。 如果你遇到类似“头文件大小不匹配”之类的错误,需要在C++预处理器页面添加相应的异常。 如果你遇到类似“缺少.h文件”之类的错误,说明C++工具安装不正确,或者与你的SDK不兼容。 实际操作步骤: 好了,你已经有了良好的基础,并且能够生成代码而不会导致命令与征服崩溃(希望如此)。 接下来我们开始创建新单位。 我打算先创建一个带有手榴弹的新单位。 在IDATA中向下滚动大约四分之三的位置。CPP,在Delphi下方粘贴以下代码 这会更改启动基础单位所需的所有变量,接下来我将介绍需要编辑/添加新信息以适配我们创建的新对象的各个位置 static InfantryTypeClass const C9TEST( // DinoMod INFANTRY_TEST,// 步兵类型编号。 TXT_C9TEST,// 步兵类型的翻译名称编号。 "C9TEST",// 步兵的INI名称。 3,// 建造等级。 STRUCTF_NONE,// 建筑前置条件。 false,// 是否为女性类型? true,// 是否为领袖类型? true,// 是否有爬行动画帧? false,// 是否为平民? true,// 是否始终使用给定的步兵名称? false,// 是否为"胆小鬼"逃跑类型步兵? false,// 该步兵类型能否占领建筑?false,// 是否为特定场景的图形图像? -1,// 拥有的射击次数(默认值)。 &MiniGunnerDos[0][0],// 指向DO表的指针 2,// 发射投射物的帧。 0,// 卧倒时发射投射物的帧。 5,// 步兵的强度(以伤害点数计)。 0,// 视野范围。 10,// 步兵的成本(以 credits 计)。 1,// 首次出现的场景。 0, 1,// 该步兵单位的风险/奖励值。 HOUSEF_MULTI1 | HOUSEF_MULTI2 | HOUSEF_MULTI3 | HOUSEF_MULTI4 | HOUSEF_MULTI5 | HOUSEF_MULTI6 | HOUSEF_JP | HOUSEF_GOOD | HOUSEF_BAD | HOUSEF_NEUTRAL,// 谁可以拥有该步兵单位。 WEAPON_GRENADE, WEAPON_NONE, //DinoMod MPH_SLOW_ISH );

列出所有步兵单位。你需要确保你的单位包含在内。按Ini名称调用该单位。

列出所有步兵类型,你要确保你的单位包含在内。

定义TXT_C9Text条目,以便后续更轻松地对其进行命名。

上面的条目基本上确定了单位的整体形状。我以rmbo(突击队员)为参考,并采用了它的形状,这样就能确定单位的大小。 现在,如果你查看我发布的所有图片,并在每个位置创建条目,一旦构建代码并运行,你应该会得到类似这样的结果。

增添一些特色 你制作了一些可以扔手榴弹的自定义白色方块,这没什么大不了的,我奶奶都能做到。 给那东西起个名字吧,现在的<Missing> C9Test可不行。 现在你应该有来自Nuketank mod的这个目录(我已经重命名了文件夹并做了一些调整)。

以下条目区分大小写——请勿在Excel中编辑——使用Notepad++ 优先

接下来,进入以下目录并编辑其中的xml文件,大致复制核弹坦克的相关内容并粘贴到下方,然后用以下信息填写完整。

现在,如果你操作正确,游戏中就会出现这种情况。

啊,瞧瞧这客串角色的美术图、这惊艳的标题和绝妙的描述! 现在我们总算有点进展了!(如果你看到这段文字,并且前面的步骤遇到了问题,那就要仔细检查你的代码了。我也是经过了无数次的反复尝试才让它正常运行,因为我很容易忽略一些小细节。不过,我已经确保在本指南中列出了所有正确且有效的步骤。) 给我来点真正的美术素材吧 好了,我们已经到这一步了,你就快拥有一个单位了。现在,在你复制粘贴的代码中,我们基本上使用的是基础机枪兵的动作模组。为了简单起见,我们现在就先用那个单位的美术资源。(我可能会添加自定义武器和美术资源,但现在我已经很累了) 现在你需要前往的目录是 CnCRemastered Mods Tiberian_Dawn UnholyTD Data XML Tilesets

哦,天哪,这看起来可真够呛。 让我们来折腾一下。 那么,【名称】A10 field——似乎指向该单位的ini名称。 【帧】a10 A10-0000.tga 似乎指向实际游戏文件中的a10文件夹,并指向该帧的确切文件。既然我们要用机枪手的动作模组,那就作弊一下,盗用他的帧动画吧。(有没有更简单的方法?——可能有,但这是我一直在用的方法) 我们确切知道,机枪手的ini名称是E1。


哦,看看这些珍贵的画面~ 让我们把E1的所有区块都收集起来

嗯,我们也把E1重命名为类似……C9TEST这样的名称吧。

现在,将其复制回TD_Units.xml的底部(确保遵循磁贴层级结构)

如果所有步骤都操作正确,你应该会得到类似下面的结果。

看看那些小家伙!

等等,谁给他们装的激光?(是我装的,我很快会制作一份自定义武器指南,做这个可费了不少功夫,哈哈)希望这份指南能帮到你!
2026-02-15 22:00:10 发布在
《命令与征服™:重制版》
说点好听的...
收藏
0
0
