-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] 抽卡记录……??? #1168
Comments
我也是,搞得我手动去记录里面修改了一遍 |
@momoblydblk 原神的抽卡服务似乎出现了问题,你更新全部抽卡记录应该能解决。 @Tynthdall 你遇到的问题像是同一次抽卡对应了两个id,现在游戏内查看的抽卡历史会遇到同样的问题吗? |
游戏内当然是正常的;Snap Hutao获取的抽卡历史也是正常的。 |
更新全部抽卡记录了,结果现在告诉我5星已垫133抽…… |
针对这个问题,在新版本中添加了删除指定时间段抽卡记录的功能,入口在抽卡设置中。 |
最后是这么解决的,不过这也算是个 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。。。。。一年多的记录全报废了,,,,早不说有指定日期删除。。。真的是,,,, |
@lily195 惨惨。指定日期区间删除是新版更进去的,之前没这个功能。 |
可惜starward不支持uigf4.0() |
算了吧,不打算用了。我还不如用官方启动器 |
我只有表格形式的保存记录,问题是软件也不支持这个格式导入。 |
@lily195 上班前大脑复健了一下哈哈。你可以参考ChatGPT的最后一版代码搞一下,实测可用:https://chatgpt.com/share/674c6c81-f2c8-8002-b842-88b0d71eefc8 注意运行前按着第一版代码的提示配置一下环境。导出的Excel文件有格式缺陷,另存个文件修一下。程序最后几行填上你的文件路径。如果开了全局代理,运行前关掉代理。 如果你没接触过Python,也可以上传你的文件试试让GPT运行,不过数据量过大的话会占用你的每日调用配额。 |
Starward导出的2.3版本的UIGFJSON可以通过Upgrader升级到3.x或4.x版本 |
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
The text was updated successfully, but these errors were encountered: