
补丁 XML
一个用于在游戏加载时修补XML调校文件的模组。 无需创建覆盖模组来启用/禁用自主行为,该模组在启动期间会修补相关的XML调校——支持通配符。 再也不用担心过时的覆盖调校了。
查看大图补丁 XML 这个模组是 Live XML 的简易克隆版。 它允许在启动《模拟人生 4》时修补调校文件,这对许多用户来说可能更加方便。 它使用 XML XPath 语法来定位调整中的部分,并提供基本的"添加"、"删除"和"修改"操作。 由于它在加载调校文件时执行,可能存在先有鸡还是先有蛋的问题,因此目前使用配置文件而非'.package'文件来修补调校。
调谐提取器 这个模组可以提取所有带有引用调谐文件注释的调谐文件,就像'TS4 XML 提取器'所做的那样。它不会为文本引用添加 STBL 注释。
调校编辑器
这个模组适合所有想要调整数值却不想直接编辑 XML 文件的玩家。它是覆盖文件的更优替代方案。
我们经常看到一些三个月前的 XML 调整覆盖模组,当与当前的 XML 文件对比时,很明显 EA 在 XML 文件中添加了许多新内容(修复、增益、特性、商品等),而这些内容在模组中是缺失的。
当 EA 发布新的 TS4 版本时,它们经常会失效。
比 Live XML 更易于使用。
不过它有一个限制,即游戏一旦运行,就无法再修改调校参数。
作为普通用户,如果其他模组需要此模组,您会想要安装它。
这个模组本身完全不修改游戏玩法。
当然,你可以安装它,并从中受益(或受苦),如果你未能移除包含的示例配置文件,它们会导致游戏变化。
现实世界示例 我们如何实现一个简单需求,即禁用某个交互的自主性?
复制 XML 调校
不要这样做! 遗憾的是,已经有很多模组是这样创建的。
最简单的方法是复制调校(例如'stereo_Dance_LocalCultureSkill')并添加一行<T n="allow_autonomous">False</T>。
然后将 XML 添加到一个新的.package 文件中,就完成了。
为此,我们对 10 个相似的调谐进行复制,编辑所有 10 个文件并将它们添加到.package 中。
然后我们向 EA 祈祷,希望他们永远不要修改这些调校,尽管我们知道我们做错了。
如果你是这样创建调校模组的,可以考虑使用这个模组。
EA 在调校文件中添加新行,有时 3 行,有时 100 行,每个包含复制调校的 '.package' 文件都会导致游戏错误。
别犯傻,快去 forums.thesims.com 加入'损坏/已更新模组 & CC'论坛。
在启动《模拟人生 4》时应用补丁'与'修补 XML 文件' 我们需要收集调校数据,这个模组需要名称。 支持通配符,因此可以轻松匹配相似的调谐(例如'stereo_Dance_*')。
在使用 XML 时,我们需要找到合适的位置插入 <T n='allow_autonomous'>False</T>
使用 XPath 'xpath': ".",我们将定位到调优根节点。
而使用 'add': [{'tag': 'T', 'attrib': {'n': 'allow_autonomous'}, 'text': 'False', 'comment': " Rumbasim 已死。 "}] 我们添加了 XML 节点。
就是这样。保存到配置文件中,当游戏启动时,它会应用到指定的调校上。
为了在游戏运行时测试这一点,我们创建了一个新的配置文件 no_autonomous_rumbasim.txt,其中包含上述数据。
使用作弊指令 o19.tunings.patch no_autonomous_rumbasim.txt 175415 加载了调谐参数 175415(stereo_Dance_LocalCultureSkill),配置将被应用,修补后的文件已保存。请检查该文件,如果看起来没问题,那么配置应该就没问题了。
安全 该模组使用 literal_eval() 读取并解析配置文件为 Python dict() 元素。 希望这些元素能作为变量正确处理,且永远不应被执行。 请告诉我你是否能识别安全问题,没人想运行一个带有代码注入或 shell 漏洞的模组。 目前我建议您在将文件保存到 mod_data/patch_xml/ 之前先检查一遍。 我认为这个模组是安全的,否则我也不会发布它。
轻微警告 - 游戏机制已更改 mod_data/patch_xml/cfg/*.txt 文件用于调整游戏参数。它们以多种方式改变游戏机制和检查(就像带有 XML 的 .package 文件一样)。 请检查 mod_data 中的文件,并移除您不想使用的文件。广播过滤会影响多个模拟市民。修改后的年龄/种族/性别检查可能允许模拟市民执行原本未计划对他们开放的任务。修改后的范围检查可能会降低或提高模拟市民对隐私的需求。 包含的文件不应过多影响游戏玩法,但全面测试仍存在难度。
作弊指令
o19.tunings.patch file.txt n: 配置文件(位于 patch_xml/cfg/)及要测试的 tuning_id。测试期间无法应用修改。如果补丁看起来没问题,重启游戏以应用它。o19.tunings.pretty False: 禁用 XML 格式化。o19.tunings.comments False: 禁用 XML 中的注释。o19.tunings.write n: 为 tuning_id n 写入调校。o19.tunings.write 0: 写入所有调校文件。根据已安装的 DLC 和 CPU 性能,此操作需要 5 到 30 分钟。
限制 所有调校?不!有些顽强的调校仍在抵抗修改。 尽管所有调校都可以被读取和修改,但并非总能应用这些修改。 'patch.txt'(在启动 TS4 后创建)应包含可修补的调谐文件。'nopatch.txt'包含可能无法修补的调谐文件。例如'satisfaction.satisfaction_tracker'调谐文件。
模组冲突 如果您当前正在使用 Live XML,请考虑将配置迁移到 Patch XML。至少确保 Patch XML 或 Live XML 对调谐进行了修改,这将提高性能。 保留安装 Live XML 可能是有意义的,以便在调谐加载后能够进行检查。
合并
大多数人不会合并脚本模组。
此模组可使用 ZIP 程序与其他模组合并。
文件名可被重命名,它不用于引用任何内容。
未来 修复错误。 添加对修补所有内容的支持。
创建自定义文件
文件 'cfg/sample.txt.ignore' 包含一些带有描述的示例代码,类似于提供的文件。
如果你需要确定使用哪个 XPATH,可以尝试使用类似
实际上,遵循 XML 结构并在每个子标签前使用'/'非常简单,忽略'I'因为 XPath 的实现有限:
<I><U n="go"><T m="home"><E x="y"> ==> U/T/E
<I><U n="go"><T m="home"><E x="y"> ==> U[n='go']/T[m='home']/E[x='y'] 如果调谐包含具有不同属性的多个 U/T/E 元素,则需要更具体地指定。
XPath 可能匹配 1 到 n 个元素,所有匹配的元素都将被处理。
可以添加或删除元素,例如 <E>TEEN</E> 与 {'tag': 'E', 'text': 'TEEN'}。
'delete': [{'tag': 'E', 'text': '青少年'}] 'add': [{'tag': 'E', 'text': '青少年'}]
要删除空标签,添加 'empty': True。 这允许从 XML 中移除空的(列表)元素,这些元素可能会使 TS4 混淆。 '删除': [{'标签': 'E', '空': True}] '删除': [{'标签': 'E', '属性': {'n': 'go'}, '空': True}] 要删除可能的空标签,请使用: 'delete`: [{'tag': 'U', 'empty': True}] - 必须正确清理所有元素已被移除的列表。
元素属性和元素文本也可以被修改:
'attrib': {'n': '其他内容'}
'text': '新文本'
对于数字(整数和浮点数):
'text': 'div(2, 0)' - 减去 '2' 并四舍五入到 '0' 位(整数而非浮点数)。
支持的操作:
mul/div/add/sub/pow(数字, 位数) => 'text' */+-^ 数字;四舍五入到指定位数
支持的操作:
x_div/x_sub/x_pow => 数字 /-^ 'text';四舍五入到指定位数
附录
游戏兼容性 本模组已与《模拟人生 4》1.103.315 版本(2023 年 12 月)、S4CL 3.0(2023 年 12 月)、TS4Lib 0.1.8(2023 年 9 月)进行过兼容性测试。 预计将与即将发布的多个 TS4、S4CL 和 TS4Lib 版本兼容。
依赖项
模拟人生 4 TS4-资料库(NexusMods)或 TS4-资料库(GitHub)
S4CL(NexusMods)或 S4CL(GitHub)
如果未安装,请下载并安装 TS4 及以下模组。
全部免费提供。
安装
定位包含 Mods 文件夹的本地化 The Sims 4 文件夹。
将 ZIP 文件解压到此 The Sims 4 文件夹中。
解压后将创建以下目录/文件:
Mods/o19/$mod_name.ts4script
[i]Mods/o19/$mod_name.package
[i]mod_data/$mod_name/*
和/或
mod_documentation/$mod_name/*
mod_logs/$mod_name.txt 将在数据被记录时自动创建。
手动安装
如果你不想将 ZIP 文件解压到《模拟人生 4》文件夹中,你可能需要阅读以下内容。
ZIP 文件/mod_data 中的文件通常是必需的,应解压到 The Sims 4/mod_data 目录下。
ZIP 文件/mod_documentation 中的文件供您阅读,使用此模组时不需要这些文件。
[i]Mods/o19/*.ts4script 文件可以存放在 Mods 内的任意文件夹中,或直接放在 Mods 目录下。我强烈建议将其存放在 [i]o19 文件夹里,这样你就知道是谁创建的。
使用情况跟踪 / 隐私
该模组不会向任何追踪服务器发送数据。
代码是开源的,未经混淆,可供审查。
日志文件('mod_logs'文件夹)中的某些日志条目可能包含本地用户名,尤其是在找不到文件时(WARN、ERROR)。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。