星际拓荒吧 关注:6,167贴子:32,860
  • 10回复贴,共1

[抛砖引玉]全日志解锁脚本

只看楼主收藏回复

之前因为steam云存档的问题导致存档损坏,就写了一个小脚本来解锁全日志。之前旧吧主还在就没往贴吧发,只在瓶盖的群里分享过,现在姑且也在吧里发一下。
因为我个人并不懂CSharp,所以其中的业务逻辑来自对文件修改效果的反推。因此发这个脚本也是抛砖引玉,希望有懂CSharp的大佬能写出更好的版本。
脚本内容见二楼。


IP属地:湖北1楼2024-03-07 10:06回复
    使用方法在3L
    import json
    #read save filewith open('data.owsave', 'r') as saveFile: data = json.load(saveFile)shipLog=data['shipLogFactSaves']
    #Get the last revealOrderlastOrder = -1for fact in shipLog: if shipLog[fact]['revealOrder'] > lastOrder: lastOrder= shipLog[fact]['revealOrder'] #Handle ids that are tagged newlyRevealed=True but read=Falsefor id in shipLog: if shipLog[id]['newlyRevealed']== True: shipLog[id]['newlyRevealed']=False shipLog[id]['read']=True data['newlyRevealedFactIDs'].remove(id) #Handle ids that have not been revealed if shipLog[id]['revealOrder']== -1: lastOrder+= 1 shipLog[id]['revealOrder']=lastOrder shipLog[id]['read']=True
    #write save filewith open('data.owsave', 'w') as f: json.dump(data, f)


    IP属地:湖北2楼2024-03-07 10:07
    收起回复
      2025-08-07 10:57:14
      广告
      不感兴趣
      开通SVIP免广告
      找到你的“%APPDATA%\..\LocalLow\Mobius Digital\Outer Wilds\SteamSaves”目录,这里就是你的存档文件夹,其中不同的子文件夹就是游戏内的不同资料,将脚本放到你要解锁全日志的那个资料的文件夹里运行,即可完成解锁。


      IP属地:湖北3楼2024-03-07 10:10
      回复
        贴吧的排版好像没法发python这种依赖缩进的文本,姑且把图片放在下方,要用的朋友可以自行缩进
        import json
        #read save file
        with open('data.owsave', 'r') as saveFile:
        data = json.load(saveFile)
        shipLog=data['shipLogFactSaves']
        #Get the last revealOrder
        lastOrder = -1
        for fact in shipLog:
        if shipLog[fact]['revealOrder'] > lastOrder:
        lastOrder= shipLog[fact]['revealOrder']
        #Handle ids that are tagged newlyRevealed=True but read=False
        for id in shipLog:
        if shipLog[id]['newlyRevealed']== True:
        shipLog[id]['newlyRevealed']=False
        shipLog[id]['read']=True
        data['newlyRevealedFactIDs'].remove(id)
        #Handle ids that have not been revealed
        if shipLog[id]['revealOrder']== -1:
        lastOrder+= 1
        shipLog[id]['revealOrder']=lastOrder
        shipLog[id]['read']=True
        #write save file
        with open('data.owsave', 'w') as f:
        json.dump(data, f)


        IP属地:湖北5楼2024-03-07 10:14
        回复
          不错


          IP属地:北京来自iPhone客户端6楼2024-03-07 10:45
          回复
            好帖,收藏了


            IP属地:四川来自Android客户端7楼2024-03-07 11:00
            回复
              好贴已收藏


              IP属地:浙江来自Android客户端8楼2024-03-07 11:23
              回复
                真伟大啊遗弃神


                IP属地:江西来自Android客户端9楼2024-03-07 12:05
                回复
                  2025-08-07 10:51:14
                  广告
                  不感兴趣
                  开通SVIP免广告
                  谢谢大神救我


                  IP属地:湖南10楼2024-06-10 09:59
                  回复
                    好像没用啊,楼主


                    IP属地:奥地利来自Android客户端12楼2024-11-22 21:11
                    回复