很抱歉内容过长,我并不擅长撰写指南,但我觉得或许应该发布出来给其他人看看。这款游戏“无法模组化”的名声已经流传太久了。说一款游戏“无法模组化”就是个骗局,也是一场大型心理操纵。只要你用心去做,任何游戏都是可以模组化的。 简介 这是我刚刚写的一份非常简短的指南,目的是分享我刚发现的方法,也就是通过(使用QuickBMS)提取特定.lp存档文件的内容,修改任意数量你想要修改的文件,然后(同样使用QuickBMS)将提取出的文件重新导入存档,以此来制作《星球大战:原力释放》的模组。 这个流程能让你对《星球大战:原力释放》进行模组制作。虽然还不能像【Kuku's SWTFU Characters Mod】这类模组对《星球大战:原力释放2》进行深度模组化——因为目前这种方法还无法向游戏中添加新的加载文件——但确实是可行的。 简单说明一下,《星球大战:原力释放2》的.lp文件(一种自定义的存档类型)可以用WinRAR打开并修改,而《星球大战:原力释放》初代的.lp文件格式则让这一操作稍显困难。不过,我已经弄清楚了如何解包《星球大战:原力释放》初代的.lp存档,以及如何将修改后的文件重新导入回去! 说实话,这方法并非我原创,而是我根据大约十年前别人制作的QuickBMS脚本,再结合QuickBMS强大的文件重新导入功能拼凑出来的。所以功劳应该归于原作者! 第一步: 首先,你需要下载《星球大战:原力释放》初代。不过,我个人在修改档案时已经不再这么做了。 <alpha>0.0</alpha> <amountOfBlurStreaking>0.0</amountOfBlurStreaking> <maxLength>0</maxLength> 10. 保存文件并退出记事本 11. 找到名为“reimport3_localizations.bat”的文件并运行它。(这会以文件重新导入模式运行QuickBMS,用于处理如.lp之类的序列文件) 12. 选择你用于提取文件的相同脚本(“star_wars_lp.bms”) 13. 现在选择你之前在“input”文件夹中提取的同一个.lp文件(“player.actor.xml_pc.lp”) 14. 最后,进入“output”文件夹并像之前一样按“保存”。由于我们使用的是重新导入功能,你选择的“output”文件夹将作为文件从中重新导入到.lp文件的文件夹。lp 存档。 15. 等待处理完成:现在你的“input”文件夹中的“player.actor.xml_pc.lp”文件包含已修改的内容。 16. 从“input”文件夹复制“player.actor.xml_pc.lp”文件,并将其粘贴到《星球大战:原力释放》游戏文件的“LevelPacks”文件夹中。替换原始文件(事先备份,以防出现意外问题!) 17. 启动游戏,选择“训练装备”服装,你会发现冲刺和某些攻击时出现的难看动态模糊完全消失了!简直神奇!) 如何在不导致游戏崩溃的情况下更改.xml文件长度 更新:跳过此步骤通常实际上不会导致游戏崩溃,因此你可以忽略此部分。自从我开始跳过这一步骤后,有时会遇到一些奇怪的故障,但不确定是否因此导致。为了周全起见,我保留了旧文本。 我发现了一种更改导出的.xml文件长度的方法,这样将它们重新导入.lp存档时就不会导致游戏崩溃。让我们以前面使用过的相同.lp文件和.xml文件为例。 在“player.boneblur.xml”文件中,找到我们之前修改过的行: <amountOfBlurStreaking>0.0</amountOfBlurStreaking> 将其更改为: <amountOfBlurStreaking>0.00</amountOfBlurStreaking> 然后保存文件,并按照上述方法将其重新导入“player.actor.xml_pc.lp”文件。 接着用十六进制编辑器打开“player.actor.xml_pc.lp”文件。我们在此处要做的是调整文件内部记录的文件大小,使其与重新导入修改后的.xml文件的实际更新文件大小相匹配。 右键点击文件并选择“属性”。查看“大小”(以字节为单位)。对我而言,显示的是“63.0 MB(66,113,566 字节)”。 我们需要将该字节数(这是一个有符号的32位整数)转换为其对应的十六进制代码,具体采用小端序表示法。你可以在线进行转换。转换结果为“1ED0F003”。 使用十六进制编辑器打开该文件,找到两个地址,一个位于偏移量0x00000034处,另一个位于偏移量0x00000048处。这些偏移位置是所有.lp文件头所固有的,文件正是在此处存储其大小以进行验证。如果文件的实际字节大小与内部大小不同,那么一旦将该文件插入游戏文件,游戏就会崩溃。 现在,找到从0x00000034和0x00000048位置开始的8个数字。对于未修改的“player.actor.xml_pc.lp”文件,这两个字段的值均为“A0CBF003”。根据你使用的十六进制编辑器,你可以直接按Ctrl+F来查找该值。它在整个文件中只出现两次:就在文件开头这里,我们将修改这两个值。 将这两个“A0CBF003”值都更改为“1ED0F003”,然后保存文件。之后像之前一样将其插入游戏的“LevelPacks”文件夹。 你不会看到游戏有任何变化——但游戏不会崩溃了!这意味着我们已成功将数据插入到一个xml文件,并且我们已将其正确打包为.lp文件。 这项技术的用途比我最初期望的还要广泛。感谢OpenBMS。(不过,安装这些特定的模组仍然很麻烦——即使某个模组只修改.lp存档中的单个文件,你也需要为每个想要修改的服装执行此过程。这有点愚蠢,但除非有人编写动态安装脚本之类的东西,否则使用QuickBMS似乎没有更简单的解决方案。出于同样的原因,发布模组也很麻烦——我已经做了一些供自己使用的简单修改,比如移除连击时出现的那些难看的光剑光晕效果,以及通过减少隐藏的“冲刺冷却时间”,让冲刺感觉像《星球大战:原力释放2》中那样灵敏。)我对发布这些模组有些犹豫,主要是考虑到最终用户使用起来可能会比较麻烦,而且下载文件体积也很大。但如果至少有一些人感兴趣的话,要是你们希望的话,我可以把它们上传到MODDB或者NexusMods之类的平台。祝好!接下来,下载QuickBMS。 现在下载用于提取和重新导入.lp文件的QuickBMS脚本。 关于.lp文件的注意事项: .lp文件是一种自定义存档文件,类似于.rar,《星球大战:原力释放》系列游戏用它来存储动画、3D模型、部分游戏玩法逻辑、全局游戏变量、原力技能效果及使用方式、与某些视觉特效相关的.xml文件等诸多内容。 《星球大战:原力释放1》的.lp文件似乎存在大量重复文件,尤其是在不同服装之间(每套服装的所有相关数据都存储在其对应的.lp文件中,因此诸如动画和视觉特效等大量数据在这些文件之间存在重复)。我还没弄明白游戏加载这些文件的方式(因为可能有一种方法可以将修改后的.xml文件重新导入到单个自定义.lp文件中,理论上这样可以覆盖并取代该文件的其他副本,但我目前还没弄清楚。所以现在,我只能单独修改每套服装的.lp文件,以确保任何更改都能影响到每套服装。) 仅这些情况就已经非常麻烦了。例如,《星球大战:原力释放2》的Kuku模组能够通过创建新的.lp档案轻松地向游戏中插入新文件,这些档案包含许多直接取自《星球大战:原力释放》的文件(比如带有《星球大战:原力释放》中达斯·摩尔Boss的双光剑剑柄的达斯·摩尔服装。) 简而言之:我只弄清楚了如何进行。目前在《星球大战:原力释放》终极西斯版中,仅能对特定的LP存档文件进行替换(例如在玩家服装的LP文件中更换光剑剑柄模型),但我还未找到添加新文件的方法。 后续步骤: 1. 将QuickBMS解压到指定文件夹。 2. 将下载的脚本放入与quickbms.exe相同的文件夹中。 3. 在同一目录下,创建两个文件夹:一个命名为“input”(输入),另一个命名为“output”(输出)。(你可以随意命名,但接下来我将使用这两个名称) 现在准备工作已完成。我会详细说明如何从指定的LP存档中提取文件以及如何重新导入修改后的文件。 如何找到LP文件? 前往《星球大战:原力释放》终极西斯版的安装目录,然后进入名为“LevelPacks”的文件夹。该文件夹包含游戏所有的LP文件。其中一些LP文件代表出现在特定关卡中的数据(例如文件“cloudcity_act2_pc.lp”,其中似乎包含所有与云城关卡相关的数据,包括关卡几何结构、物体数据、关卡逻辑、敌人模型及其他数据等)。 但其他LP文件则代表玩家可穿戴的独立服装。我尚未研究基于关卡的LP文件,因此我们将着眼于如何修改特定玩家服装的一些简单行为。 部分服装LP文件非完整列表: 这是一份略粗略的列表,如有错误敬请谅解。此列表主要用于说明哪些LP文件包含你可能希望修改的服装: player.actor.xml_pc.lp - 这是【训练装备】服装,是你解锁的第一个服装。 playerdarthvader.actor.xml_pc.lp - 这是游戏卡希克序章任务中可操控的达斯·维达文件。我现已成功将他通过模组加入游戏,替换了另一套服装的位置。 playerdeathstar.actor.xml_pc.lp - 这是死星任务中的【绝地探险者长袍】。 playerdarthmaul.actor.xml_pc.lp - 这是达斯·摩尔服装。(注:应该可以像《星球大战:原力释放2》的Kuku终极模组那样,在使用默认动画的同时给他配备双刃光剑。我目前正在研究这一点。) playerraxusact1.actor.xml_pc.lp - 这应该是前往拉克萨斯主星的第一个任务中的【重型训练装备】。 下一步计划...?好的,在你的游戏“LevelPacks”文件夹中,找到一个名为“player.actor.xml_pc.lp”的文件。该文件负责游戏序章后的第一个关卡【TIE工厂】中玩家角色默认穿着的服装。这也是你在服装界面解锁的第一个服装,就是你知道的那套。为了简单起见,我们将对这个服装进行操作。 请注意,由于我们只修改这一套服装,因此我们对其进行的任何更改都将仅适用于这一套服装。如果你希望在其他服装上也保持这些更改,可以为其他服装重复这些修改步骤。 复制“player.actor.xml_pc.lp”文件,并将其放置到你之前在QuickBMS目录中创建的“input”文件夹里。 如果愿意,你可以阅读QuickBMS的readme文件以获取更多相关信息。好了,我废话不多说,这就长话短说: 移除斯塔克iller默认服装在攻击和冲刺时的难看条纹模糊效果: 1.exe”文件。 2. 会弹出一个文件选择窗口:选择你下载的QuickBMS脚本。(文件名应为“star_wars_lp.bms”) 3. 会出现另一个文件选择窗口:进入你的“input”文件夹,选择你刚刚复制到那里的“player.actor.xml_pc.lp”文件。 4. 还会出现一个文件选择窗口:打开你的“output”文件夹,然后点击“保存”按钮。这会将“output”文件夹选为提取的输出位置。 5. 一旦提取完成,命令提示符显示可以关闭QuickBMS的文字后,关闭它。 6.进入名为【Scum】的文件夹,然后依次进入【characters】、【actor】、【maleAverage】、【player】文件夹。 7. 找到【player.boneblur.xml】文件,用记事本打开(推荐使用Notepad++,其他编辑器也可以)。 8. 在文件顶部找到以下几行内容: <alpha>1.0</alpha> <amountOfBlurStreaking>0.9</amountOfBlurStreaking> <maxLength>5</maxLength> 9. 将数字修改为以下数值:(编辑这些.xml文件时添加或删除符号可能会导致一些问题,但经过长期测试,我发现大多数情况下是没问题的。不过你也可以更新【player.actor.xml_pc.lp】文件头部以十六进制表示的文件大小值。如果有兴趣,可以查看下方指南的相关部分。




换一换 
















