Open momoblydblk opened 4 days ago
我也是,搞得我手动去记录里面修改了一遍
出现类似的问题,四星保底10抽出现了11; 实际抽卡为 祭礼大剑-芭芭拉-绝弦-芭芭拉,抽卡记录则多了一次这个循环。
@momoblydblk 原神的抽卡服务似乎出现了问题,你更新全部抽卡记录应该能解决。
@Tynthdall 你遇到的问题像是同一次抽卡对应了两个id,现在游戏内查看的抽卡历史会遇到同样的问题吗?
@momoblydblk 原神的抽卡服务似乎出现了问题,你更新全部抽卡记录应该能解决。
@Tynthdall 你遇到的问题像是同一次抽卡对应了两个id,现在游戏内查看的抽卡历史会遇到同样的问题吗?
游戏内当然是正常的;Snap Hutao获取的抽卡历史也是正常的。
刚想用胡桃工具箱的记录导出json来覆盖修复,不料发现新版UIGF4.0不受支持喵
@momoblydblk 原神的抽卡服务似乎出现了问题,你更新全部抽卡记录应该能解决。
@Tynthdall 你遇到的问题像是同一次抽卡对应了两个id,现在游戏内查看的抽卡历史会遇到同样的问题吗?
更新全部抽卡记录了,结果现在告诉我5星已垫133抽……
我也遇到了相同的情况, 通过导出表格来查看, 本应是同一次抽卡,却有两个id 游戏内查看是正常的,更新全部抽卡记录并不能解决。
针对这个问题,在新版本中添加了删除指定时间段抽卡记录的功能,入口在抽卡设置中。
好像不太对劲?这个删除指定时间段记录
好像不太对劲?这个删除指定时间段记录
可以大胆把范围调大一点,游戏里能存6个月,6个月之内的都能被获取回来。
可以大胆把范围调大一点
最后是这么解决的,不过这也算是个 BUG 吧(乐
对比发现重复的记录id后10位是相同的,但因为前几位有不同,从而被程序误认为是不同的记录。我敲了个Python程序,可以删除掉更新前的重复记录。有需要的友友们自取。(相信大家会用吧hhh)
import json
import pathlib
import argparse
def main(args):
print('Loading file.')
try:
filename = pathlib.Path(args.input_file).absolute()
ifile = open(filename, 'r')
gachalog = json.loads(ifile.read())
ifile.close()
gachalist = gachalog['list']
except FileExistsError:
print('Error. Wrong file name or no such file exists.')
raise
except IOError:
print('Error opening file.')
raise
except json.decoder.JSONDecodeError:
print('Error parsing JSON.')
raise
except:
print('Error.')
raise
print('Processing data.')
try:
i = len(gachalist) - 1
while i > 0:
j = i - 1
while j >= 0:
if all((gachalist[j]['id'][-10:] == gachalist[i]['id'][-10:],
gachalist[j]['time'] == gachalist[i]['time'],
gachalist[j]['uid'] == gachalist[i]['uid'])):
gachalog['list'].pop(j)
i -= 1
j -= 1
i -= 1
except KeyError:
print('Error. File not in UIGF.')
raise
except:
print('Error.')
raise
if filename.suffix:
ofilepath = filename.parent / (filename.name[:-len(filename.suffix)] + '_fixed' + filename.suffix)
else:
ofilepath = filename.parent / (filename.name + '_fixed')
print(f'Writing to {ofilepath}')
try:
ofile = open(ofilepath, 'w')
ofile.write(json.dumps(gachalog))
ofile.close()
except IOError:
print('Error writing to file.')
raise
except:
print('Error.')
raise
print('Done.')
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('input_file', type=str, help='Path to json file to be processed.')
args = parser.parse_args()
main(args)
注意程序输出会覆盖目录下的同名文件。算法辣鸡O^2,数据量大的话会卡一会儿,如果能确定出错时间区间的话建议使用时间区间删除工具。
C。。。。。一年多的记录全报废了,,,,早不说有指定日期删除。。。真的是,,,,
C。。。。。一年多的记录全报废了,,,,早不说有指定日期删除。。。真的是,,,,
@lily195 惨惨。指定日期区间删除是新版更进去的,之前没这个功能。 兄弟如果有备份或者有通过其他第三方渠道收集的抽卡记录的话,或许可以恢复。
@lily195 惨惨。指定日期区间删除是新版更进去的,之前没这个功能。 兄弟如果有备份或者有通过其他第三方渠道收集的抽卡记录的话,或许可以恢复。
可惜starward不支持uigf4.0()
C。。。。。一年多的记录全报废了,,,,早不说有指定日期删除。。。真的是,,,,
@lily195 惨惨。指定日期区间删除是新版更进去的,之前没这个功能。 兄弟如果有备份或者有通过其他第三方渠道收集的抽卡记录的话,或许可以恢复。
算了吧,不打算用了。我还不如用官方启动器
@lily195 惨惨。指定日期区间删除是新版更进去的,之前没这个功能。 兄弟如果有备份或者有通过其他第三方渠道收集的抽卡记录的话,或许可以恢复。
可惜starward不支持uigf4.0()
我只有表格形式的保存记录,问题是软件也不支持这个格式导入。
只能说,即使我有表格记录,我找不到有什么地方可以转成json让软件识别。
@lily195 上班前大脑复健了一下哈哈。你可以参考ChatGPT的最后一版代码搞一下,实测可用:https://chatgpt.com/share/674c6c81-f2c8-8002-b842-88b0d71eefc8
注意运行前按着第一版代码的提示配置一下环境。导出的Excel文件有格式缺陷,另存个文件修一下。程序最后几行填上你的文件路径。如果开了全局代理,运行前关掉代理。
如果你没接触过Python,也可以上传你的文件试试让GPT运行,不过数据量过大的话会占用你的每日调用配额。
Checklist
Description
啥玩意儿啊???90抽保底哪来的100啊
Reproduction Steps
不知道哪来的问题……
Expected Behavior
No response
Screenshots
No response
Starward Version
0.13.4
Windows Version
19045.5131
Log
Additional Context
No response