Kpisa 发表于 2023-11-20 18:25:02

【逆天改派】真·现实干扰器(隐藏舰船/武器解锁脚本)

本帖最后由 Kpisa 于 2024-6-16 04:21 编辑

标题说明一切
本改派深感多MOD环境下手动殴打ship_data.csv文件百密一疏爆破存档有可能,控制台mod去listship又老花眼不可避,故作一python脚本替懒癌晚期的我完成工作。





工作流程(使用方法):
       需要安装python3,流程在此不赘述,安装后双击.py文件运行,脚本首先要求游戏安装路径,请输入绝对路径(例“F:\Starsector_096a_RC10”),判断标准为该目录下是否存在starsector.exe。
       判断通过后,脚本会访问该路径下mods文件夹里所有子文件夹并寻找data\hulls\ship_data.csv和data\weapons\weapon_data.csv,找到后会在控制台输出其所属mod文件夹的名字。
       对于ship_data.csv,脚本会先判断name、fleet pts和supplies/rec列的内容,名字不能空,部署点必须大于0,燃料存量、月补给消耗和最大速度也要大于0(防止把舰载机和模块船的模块放出来),然后读取hints列内容,如果其中存在STATION项则放弃修改(即使是我也觉得把空间站丢到遭遇战里太疯狂了),最后再看breakProb列,也不可为空,全部通过后如有HIDE_IN_CODEX则去除(同时也解除UNBOARDABLE也就是AI船的手操限制,但我想都做到这一步了,应该不在乎了吧?),再去掉tags里的restricted并添加rare_bp词条,修改后会在控制台输出原行(name、id)内容。
       对于weapon_data.csv,脚本读取names和OPs列,如果不为空且不为0则读取hints列内容,如果存在SYSTEM项放弃修改(防止把热脉冲这类内置武器或实际无数据的装饰武器放出来,什么?内置武器你也想往船上拍?你比我厉害!),如果不存在则去除tags列里的no_drop、 no_drop_salvage和restricted项,同样修改后输出原内容。
       最后在保存修改之前脚本会将原文件在原地另存为ship_data.csv.backup(weapon_data.csv.backup)文件以备回档。


由于我对mod制作一窍不通,可能不理解hints/tags列内容的具体含义(说白了就是我不能保证用完这玩意后你的游戏不会爆炸,求稳还是走控制台指令addships比较好)
已知“问题”是这种修改不会让你自动获得被“解锁”的舰船,如果要获取(而不是蓝图/打捞)还是需要控制台的全蓝图指令,另外,这种解锁也代表AI可以获得对应舰船,不过我相信各位改派巴不得有各种奇奇怪怪的舰船来挑战自己的叠叠乐/+0大军。


以及,用了这玩意也就别讨论啥游戏性(甚至稳定性也不配)了,可千万别去其他MOD作者处反馈什么“问题”。


现实干扰器V0.7:
本脚本仅在游戏0.96及0.97下测试过,其他版本理论上能用但完全不知道会发生什么

更新记录:
V0.7
再度改进检测标准避免解锁不该解锁的东西(比如战斗机武器)

V0.6
改进了备份逻辑,现在在已存在备份文件的情况下会重新读取备份文件以进行修改
(也就是说在你使用通用的删干净方法更新mod后只需重新运行该脚本即可,无需担心脚本在已经修改过的csv文件上多次运行出现问题)
V0.5
正则写错导致会击毙模块船,修复
V0.4
增加回档功能,可以把之前备份的文件自动恢复。
解锁舰船时如果其生产价格大于20000000星币,设为20000000。后续版本中已移除
继续更新舰船判定,杜绝任何奇怪的模块被解锁。
V0.3
再次修改船体判定,真有人给模块船的模块写部署点和补给消耗啊。
武器判定有问题导致查不出隐藏武器,修复之。
V0.2
添加了防呆装置,多次运行脚本时如果已有备份文件则不覆盖。
修正了一个吞csv文件行数的致命bug!(但如果mod的csv文件第一行没有有意义内容,就能混过去……)
额外添加rare_bp使游戏生成蓝图。













Kpisa 发表于 2023-11-20 20:38:30

我不知道哪五个坛友下了V0.1版,如果能看到的话,如果您没有多次运行该脚本,请立刻恢复所有.backup文件并下载V0.2运行!如果已经过超过一次,那么我很抱歉,只能请您重新下载对应MOD,因为正如更新记录所说,V0.1脚本运行一次就会吃掉它修改的csv文件的第一行……
页: [1]
查看完整版本: 【逆天改派】真·现实干扰器(隐藏舰船/武器解锁脚本)