在上一篇文章中,小编为您详细介绍了关于《亦春秋全支线任务攻略》相关知识。本篇中小编将再为您讲解标题命令与征服重制版MOD制作教程。
发布时间:2020-06-10 11:09 来源:3DM论坛 作者:bbitt
命令与征服重制版MOD制作教程,在本次重制版中我们可以通过官方公开的源代码进行MOD制作,下面就为大家分享具体的教程指南,希望能够帮助到大家。
MOD制作教程(更新中)
我们先准备一些东西:
1.有一定储备的知识:具备一定的计算机编程语言知识,MOD的制作不只是随便修改一下代码就OK的。
2.Microsoft Visual Studio:要下载2017版本,2019版与官方提供的开源存在一定冲突。我在附件里会提供下载安装用的程序。
3.批量UTF8查找工具:我附件会提供一个,你们若是有更好的请自行准备。
4.《命令与征服》MOD开发用的开源代码:正版游戏安装目录中会有提供。
现在开始教程:
一、下载安装 Microsoft Visual Studio 2017版,选择 使用C++桌面开发 其他用不到,就不要装了。
右边的安装详细信息里的建议都选上。里面有你对应系统的一些补丁、编程语言包之类的。
然后右下角点 安装 ,我因为已经装好了所以是“关闭”。
注意:将你的系统设置为支持UTF8编码,如果不设置的话 Microsoft Visual Studio 会将源码程序中编码编译成其他编码,生成MOD的时候会报错。 WIN10请参考https://www.winwin7.com/JC/16635.html
二、我们找到游戏安装目录中的 SOURCECODE 目录(正版有,盗版有没有不知道),将其拷贝出来(存哪你自己决定,别问我)。这个目录就是官方提供的开源代码程序。
用 Microsoft Visual Studio 打开你拷贝出去的目录中的 CnCRemastered.sln 文件(文件→打开→项目/解决方案),右边的解决方案资源管理器就会如图中所示加载完毕。
里面包含两个项目,分别对应的是《红色警戒》和《命令与征服》,请根据自己的目标来修改。我这里就以《命令与征服》中修改一个单位“jeep”车为例。点开 TiberianDawn 项目,
我们可以看到很多的文件,哪个文件才是我们要找的目标呢?
接下来我们就需要用到 批量UTF8查找工具 了,我附件有提供,如果你们有其他工具请注意,一定要使用支持UTF8的工具。MOD修改时需要用到游戏中的一些要素,我们就通过查找这些要素来定位要找的文件。
这里因为打算要修改的是游戏里单位的属性,我们已知的要素包含名字“jeep”和购买价格“COST”两个字符串,我们就搜索这两组字符串来找文件。
以我提供的修改器为例:
目录选择拷贝出去的目录中 tiberiandawn 目录,原字符串名改为 JEEP ,不区分大小写,选中 仅查找不替换 ,新字符串名留空,点执行会生成一个文本文档,不要关闭。
将原字符串名改为 COST(购买价格),点执行又会生成一个文本文档。我们现在对比两份文档,可以看到这两种字符串在同一个文件中出现了:UDATA.CPP
窗口切换到Microsoft Visual Studio ,找到之前打开的TiberianDawn 项目下 Source Files 目录中的 UDATA.CPP 文件并双击打开。按 Ctrl+F 弹出搜索框 输入 jeep 回车,就找到了我们要搜索的字符段。
我们看下下边的内容:
//符号左边边是源代码,右边是对该段代码的描述。
// 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 项目,弹出菜单后选择 生成
生成时会在下边的输出窗口有各种提示,如果有错误会提示哪里有错误,请根据提示修正问题。如果正常生成完成就会提示 生成: 成功 xx 个,失败 0 个,最新 0 个,跳过 0 个
这里重说一下,如果你之前没有将系统修改为支持UTF8编码,就会提示:
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
生成成功后我们到源代码目录中的 bin 目录下的 Win32 目录中有4个文件,其中我们要用到的只有 TiberianDawn.dll 和 TiberianDawn.pdb 两个文件。
MOD文件已经准备好了,现在建立一个目录 bbitt - TD Only (名字你自己决定,这里就以我准备的测试用MOD举例)。在bbitt - TD Only 目录下新建一个 DATA 目录。
将之前准备好的 TiberianDawn.dll 和 TiberianDawn.pdb 两个文件复制进去。
然后回到 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" 游戏类型:泰伯利亚黎明
}
内容填好后将其重命名为 ccmod.json 注意扩展名,可不是 ccmod.json.txt 。
这样MOD目录就OK了。我们现在需要的就是将其放在游戏专门的MODS目录中。具体位置是在 文档>CnCRemastered>Mods>Tiberian_Dawn 目录中。
好了我们测试一下,看看我们的MOD是否能加载,是否有效果。进入游戏、选项、模组,OK,我们的MOD已经刷新出来了。选中然后点确定,会重启游戏。
重启后模组就加载好了,测试一下,完美!
编后语:关于《命令与征服重制版MOD制作教程》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《文明6海洋霸主养成指南》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器