本指南将带您了解编辑存档文件和初始战役文件的基础知识。由于每个存档中存储的文件/数据数量庞大,我无法全面描述每个文件。不过,我会详细介绍每个文件中最重要的部分,并说明执行常见任务(如添加新指挥官、新部队等)的位置。 前言 本指南将介绍存档文件的结构、编辑方法以及一些常见的模组制作思路。重要的是,您操作的所有内容都要【备份】,并且要明白有时某些内容是无法配置的。 本指南仍在【制作中】,因为有大量不同的文件需要编辑(而且我相当懒)。从实际角度出发,本指南不太可能脱离“施工中”阶段,因为每个文件中都有数量多得令人头疼的内容需要解读(其中一个这样的糟糕文件里就有150个真假值列表。我曾以为它们全都是“假”,直到有一次看到了一个“真”。我完全【已编辑】不知道那可能是什么意思,除了给我带来麻烦之外)。 无论如何,欢迎对本指南提供任何支持、建议或建设性批评。 更新部分 令人震惊的是,我有时确实会出错。请在此处查看我对指南先前版本所做的任何更正: 13年11月25日 - 更新了关于受伤/死亡/被俘指挥官的“WIAorKIA”数值,现在绝对正确。dat - 各方控制触发器和AI的数据 version.dat - 包含版本数据 如何编辑存档文件 了解哪些内容可以编辑、哪些不能编辑固然重要,但如何编辑文件以及如何检查编辑结果呢? 一般来说(可能存在例外情况),操作相当简单——只需在你想要编辑的游戏中进行存档,然后打开文件资源管理器(或类似工具),导航至你的GTCW文件夹,该文件夹通常位于C: Program Files (x86) Steam steamapps common Grand Tactician The Civil War (1861-1865)。 从这里,你需要进入Campaigns文件夹,然后选择001(代表完整美国地图)或002(代表东部战役地图),接着按照【包含所有文件的那个】中概述的步骤,确定你的存档所在的字母文件夹。最后,你需要找到你最近的存档(或任何你想处理的存档)。存档通常分为两种:一种是名为【Save】的自动存档文件夹,另一种是手动存档,其名称格式为【Save_DD_MM_YYYY_HH_MM_SS】,即按当时保存时间命名的存档。 编辑文件的操作很简单,只需打开记事本或任何类似的纯文本编辑器。个人建议使用【Notepad++】,它功能强大,具备行号显示、批量查找替换功能以及多种插件。在进行任何修改之前,建议你备份文件,更好的做法是事先复制整个存档目录。确保文件结构在编辑前后保持一致非常重要——通常,最佳做法是记录行数,并确保编辑前后的行数相同。完成任何编辑后,你只需加载已编辑的存档,就很可能(但不确定)看到效果。现在是讨论游戏中文件层次结构的好时机,或者更具体地说,是谁提供了哪些数据。 文件层次结构——非常初步的版本 我的意思是,有些文件存储着诸如部队人力等数据,而其他文件则从这个主文件中读取数据并加以使用。我会将这个源文件称为层次结构的顶层,第二个文件称为其下的层级。自然也存在第0个文件,即游戏的预构建代码和脚本,但这与此处关系不大。我还会将初始化某些内容的文件(例如battledata.dat初始化战斗)称为源文件。以下是文件层级结构: 顶层(可能是因为没有更高层级,或者没有关联文件):commanders.txt、groups.dat、scenario.dat、regiments.dat 第二层(依赖于顶层文件):battledata.dat、objectives.dat 第三层(依赖于上述任何层级的文件):battleunits.dat、frontlines.dat 第四层(高度依赖 - 不建议编辑,因为极易被覆盖) 通常,你应该编辑最顶层的文件 -> 它是所有后续信息的源头,因此最有可能避免数据被覆盖,并且能切实应用到游戏中。 但在游戏初始化后尝试编辑时,此规则不适用 - 例如,当战斗已经开始时,编辑battledata.dat是没有意义的,因为初始化已完成。在这种情况下,你最好调整battleunits.dat或类似文件。 数据类型 另一个关键点是注意你正在编辑的数据的数据类型。数据在计算机中以特定的1和0的组合存储,不同的格式对应不同类型的数据。例如,存储字符串【朗斯特里特将军】的方式与存储整数【5】的方式不同。有4种重要的数据类型需要注意: 字符串:这是你可以调整的最安全的数据类型,因为它几乎可以接受你插入的任何值。例如,你会发现这些作为角色或单位名称。唯一的危险是如果你无意中使用了反斜杠字符【\】——游戏引擎可能会将其解析为下一个字母是特殊字符。不过,如果你查看regiments.dat等文件中的【服役历史】,会发现字符" n"——这是一个换行符,用于告诉游戏将后续文本显示到下一行。 整数:这是一种非常常见的数据类型,表示整数。可以是正数(例如15)或负数(例如-6)(不过使用负值时需谨慎,因为游戏引擎不认可单位中出现负人数等情况)。这些数字与浮点数不同,它们不应该包含小数点"."。 浮点数:这是另一种数据类型,通过使用小数点来表示任何数字,包括整数。表现形式如"5.3"、"0.0"或"-14.356"等。精度(即小数点后的位数)的使用存在限制,但除非你选择进行一些鲁莽操作,否则这不会成为问题。这些数值不应与整数混用——游戏代码可能无法正确解析它们,而且在出现问题前你可能都不会察觉。 布尔值:这是一种用于表示真/假条件的相对少见的数据类型。你会看到它们以“true”“True”或“false”“False”这样的字符串形式出现,但它们并非字符串。我强烈建议仅使用True或False来表示布尔值。 重要的是不要改变你所插入数据的类型,否则最好的情况是解析失败并被替换为默认值,最坏的情况则是存档无法运行,且不会提示任何错误原因。 指挥官。本节将指导你编辑指挥官文件。首先,我们来了解一下该文件的结构,它相当简单明了。第一行是一个计数器,用于显示文件中描述的指挥官数量。然后,对于计数器中的每位指挥官,都有一个数据列表,其结构如下: # 针对每位指挥官 ["指挥官ID(这应当是一个【唯一标识】,如果不是,可能会出现异常情况!)", "姓氏(通常用于其麾下旅的默认名称)", "名字", "全名(如果你想给指挥官添加昵称,可以编辑此项)", "国家(他的爱国情怀归属地,详见国家相关内容)"]数据),【经验值】,【声望】,【领导力】,【主动性】,【管理能力】,【谋略】,【是否为老兵】,【是否西点毕业】,【历史兵种(-1为无,0为步兵,1为骑兵,2为炮兵,3为工兵,4为海军)】 以下内容按日/月/年格式重复三次(即出生日期日、出生日期月、出生日期年,中尉任职日...)["出生日期", "中尉", "上尉", "少校", "中校", "上校", "准将", "少将", "中将", "上将", "著名", "声名狼藉", "不可用"] 这些为单独条目(正常情况) ["默认照片", "州ID", "是否从政", "服役历史", "增益减益", "战斗次数", "军衔(参见军衔列表)", "受伤或阵亡", "最新适配军衔", "肖像ID", "肖像文件名", "相框ID", "活跃状态"] 因此每位指挥官应有66行数据 关于模组制作:复活指挥官:【活跃状态】应该是你需要修改以复活指挥官的选项,但游戏可能每天都会检查哪些指挥官应列为伤亡/不可用。修改所有相关选项是稳妥的做法。 军衔:军衔日期是获得该军衔的日期。不确定是否必须严格按从低到高的顺序排列。在“如何编辑存档文件”中还新增了一个关于游戏文件中数据类型的部分。 存档文件的基本结构 本部分将详细介绍存档文件的格式,并大致指出各种重要数据的位置。X表示我已完成相应章节,而x表示该章节仍在制作中。 存档文件与其战役文件相关联,战役文件由一个字母(A、B等)标识,而该字母又位于战役地图编号之下(001代表全美国地图,002代表东部战役地图)。遗憾的是,这对于确定你正在查看哪个文件并不是非常有帮助。海军指挥官同样使用相同的军衔日期,但上尉至将军的军衔会替换为海军军衔(显然中尉军衔没有对应替换)。军衔也可以通过将指挥官分配到需要更高/更低军衔的部队来覆盖(会覆盖为所需的最低/最高军衔)。添加新指挥官:只需复制粘贴现有指挥官,更改ID然后编辑其数据。【记住要更改第一行】。恢复/移除指挥官:有想要提前重返战场的指挥官?将“WIAorKIA”改为0表示正常,1表示阵亡,2表示战俘,3表示受伤。注意:如果要在存档文件中更改指挥官,必须在存档文件中操作。如果要在战役初始化时更改指挥官,请在战役文件中进行修改。团。同样简单,只有一个计数器——团的数量 对于每个团成员: "Unit_ID","Unit_Name","Override_Name","Parent_ID","Unit_type","Commander_ID","Total_Men","Wounded","Captured","SickRatio","Experience","Drill","First_Battle","Weapon_ID","Chest_RGB","Leg_RGB","Colour_Variation","Perk_ID","Perk_Lvl","Perk_Exp","Battleflag_ID","Unique_Icon_ID","Unique_Music","Horse_Art","Unit_Tier","Unit_Ranking","Enlist_Date","Contract","Battle_Count","State_ID","Drafted","Service_History","Uniform","Transfer_Time","Transfer_target_x","Transfer_target_y","Transfer_target_z","Last_Transfer_Update","Morale" 需要修改的重要事项:重要提示:Unit_ID必须是唯一的,否则它将不会在游戏中显示。可能会有更严重的后果,但我尚未发现。 昵称:只需将【覆盖名称】更改为你心仪的任何名称。 更改类型:单位类型包括0-步兵、1-骑兵、2-炮兵。如果你想要【 Horse artillery( Horse artillery)】,将【Horse_Art】更改为1或【True】。 更改单位等级:你可以通过将【Unit_Tier】更改为【unitprefs】中你偏好的等级,将单位从例如旅改为营(并相应更改军衔要求)。游戏在特定情况下偶尔会重置此设置,但恢复起来并不太难。注意不要将单位设置为师级或更高级别——游戏会出现异常,你将不得不完全重新加载。战役配置 更好的检查方法是查看每个战役文件,并查看战役初始化文件,即所有不在文件夹中的文件。具体来说,找到ScenarioDescr.txt文件,查看前几行,这些行应指明它们在主菜单中代表的战役。除ScenarioDescr外,你还会看到以下文件: aipersonalities.dat - 处理AI个性,例如AI应选择哪些政策、如何应对征兵短缺等。 armygroups.dat - 处理陆军集团的存在位置和类型。 battledata.dat - 处理所有战役单位的初始位置和状态。 battleprefs.txt - 一个配置文件,用于处理战斗中使用的设置方式。 Briefing0。txt - 联邦玩家简报 Briefing1.txt - 邦联玩家简报 campaignprefs.txt - 战役地图设置配置文件 cities.dat - 实际上无任何作用(据我观察) dlcwl_config.dat - W&L DLC的配置文件 groups.dat - 处理现有部队编制(集团军、军、师等)及其所属关系等 historicalevents.dat - 处理正常游戏中出现的报纸事件 nations.dat - 初始化战役中的各国家(交战状态、控制领土等) regiments.dat - 处理现有部队单位(旅/团)及其所属编制等 ScenarioDescr.txt - 设置主菜单上的战役描述(仅控制描述,不影响实际游戏) ships.dat - 列出战役开始时的所有船只 subsidies.dat - 列出战役开始时的所有补贴 unitprefs.txt - 单位行为的配置文件,应该是任何模组首先查看的地方! weaponstock.dat - 列出战役开始时的所有武器库存(注意:并非所有库存都保证存在,有些库存会从根目录/config文件夹中的配置文件获取默认值,还有一些则不相关。编辑时请根据实际情况合理判断。) 通常,这些文件由两种类型的数据组成:计数器和条目。计数器描述了后续条目的数量(条目长度可以是1到几百个),每个条目提供一个数据点(例如指挥官姓名或单位人数)。有时,每个文件中可能存在多个计数器,甚至在一组条目中也会有计数器(我甚至发现过第三级计数器——这让我很头疼)。一般来说,你无需担心这些第二级和第三级计数器中包含的信息,因为游戏运行时会立即覆盖它们。关于这些计数器,需要知道的重要一点是,当你深入研究存档文件时,它们会给你带来麻烦,所以要小心。不过,顶级计数器总是非常重要的,任何编辑都必须确保文件中的项目数量与负责该文件的计数器所显示的数量保持一致。游戏确实具备错误处理功能,但无法保证你的修改能成功保存到存档中,也无法确保你不会损坏原本想要优化的存档文件。在进行任何修改前,请【备份存档】。 上述内容介绍了战役的初始化方法。以下内容将帮助你调整实时存档。这可能是一项更艰巨的任务,因为这些文件中有许多是相互关联的。 存档文件 存在两种类型的存档文件——一种用于战役地图,另一种用于战斗地图。战斗地图的存档会包含两组文件,一组位于“Battle”目录下,用于控制战斗内的数据;另一组位于该目录外,用于控制整个战役的数据。 以下是你在战役存档中会找到的文件: addcommanders.dat AICampaign.dat AlarmInfos.dat AllObjects.dat armygrouprefs.dat armygroups.dat attributes.dat battledata.dat buildings.dat CampaignObjectives.dat ChartDatabase.dat commanders.txt garrisonrefs.dat groups.dat IIPsTowns.dat nations.dat paths.dat Railroads.dat regiments.dat X scenario.dat ships.dat shiptype.dat snow.dat spottings.dat version.dat weapons.dat weather.dat 这些是你在存档文件的Battle目录中会找到的文件(当且仅当有战斗正在进行时) armygrouprefs.dat - 不确定 armygroups.dat - 不确定 artillery.dat - 控制左侧火炮位置 attributes.dat - 控制指挥官属性 battledata.dat - 控制部队位置等初始化数据 battleunits.dat - 控制部队位置等大部分数据(三级计数器,注意) buildings.dat - 地图上建筑物的位置 X commanders.txt - 提供战斗期间指挥官的数据(推测仅用于战斗初始化) entrypoints.dat - 关于进入点的数据 fallenlayers.dat - 关于阵亡士兵位置的数据 frontlines.dat - 描述部署区域的来源,若非部署阶段则为空 X groups.dat - 提供战斗期间指挥官的数据(推测仅用于战斗初始化) objectives.dat - 关于目标及其状态的数据 obstacles.dat - 关于障碍物的数据(不确定?) paths.dat - 路径数据 pontoons.dat - 关于浮桥位置和状态的数据 X regiments.dat - 提供战斗期间团级单位的数据(推测仅用于战斗初始化) X scenario.dat - 关于场景的数据 - 时间、日期、天气等 sideinfo.

部队等级变更结果:18弗吉尼亚州部队现为营级单位,19弗吉尼亚州部队为旅级单位,28弗吉尼亚州部队为【炮兵连】。这也会相应改变指挥官的军衔(可能在你未注意的情况下晋升或降职指挥官)。 编队等级 以下是Unit_Tier在本文档和groups.dat中使用的数值。这适用于主游戏的旅级玩法——对于团级战役/战斗,所有部队等级均向上调整1级(因此团为13级),而舰队保持17级不变。如有疑问,请查看战役unitprefs.txt文件的部队数据部分。 10:炮兵连 11:营 12:团 13:旅 14:师 15:军 16:集团军 17:舰队 部队特长 以下是部队可使用的特长ID。括号内为该特性可适用的部队类型。 0:无 1:工程兵(步兵) 2:神射手(步兵) 3:祖阿夫兵(步兵) 4:精锐散兵(步兵) 5:激昂冲锋(步兵) 6:致命齐射(步兵) 7:黑桃王牌(步兵) 8:钢铁纪律(步兵) 9:精锐斥候(骑兵) 10:冷兵器(骑兵) 11:骑步枪兵(骑兵) 12:突击骑兵(骑兵) 13:先锋骑兵(骑兵) 14:闪电旅(骑兵) 15:近距离支援(炮兵) 16:精准瞄准(炮兵) 18:机动炮兵(炮兵) 19:工兵炮兵(炮兵) Groups.dat 这是另一个简单的文件,开头有一个计数器,用于指示存在的编队数量。这些编队包括所有可下辖部队的编制(通常指你的陆军、军和师),以及舰队和卫戍部队。"部队ID", "部队名称", "上级ID", "所属国家", "指挥官ID", "士气", "步枪弹药", "火炮弹药", "补给物资", "粮草或煤炭", "步兵状态", "骑兵状态", "火炮状态", "战旗ID", "独特图标ID", "上衣RGB值", "裤子RGB值", "部队等级", "情报等级", "部队军衔", "技能1ID", "技能1等级", "技能1经验值", "技能2ID", "技能2等级", "技能2经验值", "技能3ID", "技能3等级", "技能3经验值", "技能4ID", "技能4等级", "技能4经验值" 备注: 技能4暂未启用,尝试修改可能会导致未知问题。 粮草或煤炭取决于部队是陆军还是海军。 可进行的显著修改:更改部队等级:直接按团级单位中所列修改部队等级。dat,对军衔有相同影响 修改特性:请参见下方特性ID列表,-1表示无特性 陆军特性 0:攻城列车 1:野战电报 2:气球部队 3:军事情报局 4:熟练制图师 5:快速纵队 6:徒步骑兵 7:工程师与机械师 8:救护队 9:浮桥列车 10:工兵与矿工 11:地雷 12:游击队旅 13:游击队员 14:随军记者 15:聚光灯 16:精英侦察兵 17:河流远征队 舰队特性 0:鱼雷 1:迫击炮艇 2:补给煤船 3:气球驳船 4:聚光灯 5:封锁中队 6:海上突袭者 7:两栖攻击 8:破封锁舰 9:炮艇 10:港口防御者 scenario.dat scenario.dat负责处理存档的大部分基本元数据,包括存档名称到玩家国家等所有信息。战役模式中的版本与战斗文件中的版本存在细微差异。不过总体而言,这些设置的作用是相同的。这也是一个简单的文件,没有计数器(太棒了!)。该文件中存在一些未知内容——通过找出它们来为战争贡献力量吧!国家ID - 用于更改你所扮演的国家(0=联邦,1=邦联) 国家名称 游戏内日期日 游戏内日期月 游戏内日期年 游戏内小时 游戏内分钟 存档日期年 存档日期小时 存档日期分钟 是否处于部署阶段 未知 战役文件夹路径 战场文件夹路径 - 战役模式下不存在 持续胜利点 - True表示开启,你可以在设置中轻松配置此项 未知 存档标语 未知 战役开始日 战役开始月 战役开始年 是否为教程 未知 未知 存档文件名 战役名称 战争迷雾 - True=开启 战备状态 - False=开启 内部矛盾 - False=开启 命令延迟 - True=开启 单位层级 - 用于在团级、旅级之间修改存档值得注意的模组修改: - 更换国家:众所周知,通过修改文件顶部的国家ID,你可以切换加载的国家。这对于重新配置部队编制等情况很有用。不过,除非你调整调试设置,否则AI仍会保持启用状态,这可能会打乱你精心安排的编制。 - 战役名称:你是否曾因一场本该叫“夏洛战役”的战斗却被命名为“孟菲斯-杰克逊铁路战役”或其他毫无新意的名称而感到不满?只需修改战役名称,战斗顶部显示的名称就会更新,并且战役结束后会用于战役纪念碑。 - 调整开关:通过此文件,可以切换战争迷雾、部队就绪度、派系矛盾、命令延迟以及持续胜利点机制。




换一换 



















