Git Product home page Git Product logo

hsr-scanner's Introduction


tl;dr
  • Computer Science @ UBC ๐Ÿ‡จ๐Ÿ‡ฆ
  • Open-source apps are cool
  • Beat Saber is fun

https://kelvin.zhao.io/

hsr-scanner's People

Contributors

kel-z avatar lightarrowsexe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hsr-scanner's Issues

Relics limit

Can you please increase relics limit. It's 25 in latest version

[feature request] Use process usage to (core count)-1

Hey!

Is it possible to limit process usage to some core count while OCRing? Setting would be nice but if would be hardcoded to (core count)-1 - it would be sweet! Currently OCR process makes system almost unresponsible. Which is tolerably, of course, but if there is some way to limit process usage by OCR process - it would be very nice and even sweeter.

Not a high priority, though...

Thanks again for a great utility! Now that pressing "enter" does not stops OCR - it's just a breeze!

Scann

image

My Scanning always stop at 115 relics , how do I solve this? thanks :D

Scanning doesn't work with different keyboard layouts.

I've encountered an issue, where standard binds in configure menu doesn't seem to work properly

I have a cyrillic layout in my windows, and I tried to scan my account with standard configuration of the scanner. It didn't work at first. Only after I changed layout to english or changed the configuration to a cyrillic characters it started working. It was pretty annoying at first, but I managed to fix it, hope it'll be patched foe everyone.

Scan aborted with error ValueError: Failed to parse quantity.

I tried to start scan, but character always used basic attack and after that scanner stopped with error [01:46:26] > Scan aborted with error ValueError: Failed to parse quantity. Did you start the scan from the ESC menu?. Try scanning with a different in-game background. Every try scanner didn't open any game menu (bag or characters). Tried to change location, to stand in dart corners, but always have same error.
I ran scanner several times in a row with different options and for about 10-15 starts program worked normally 1-2 times.

Full error log:
[01:46:20] > Starting scan...
[01:46:20] > Scanning relics...
[01:46:26] > Scan aborted with error ValueError: Failed to parse quantity. Did you start the scan from the ESC menu?. Try scanning with a different in-game background.

Game settings:
image
Scan options:
image

[enchantment] Negative delay? And some encouragement

I have pretty decent PC. HSR-Scanner works pretty fast - especially after you sorted up character scans, thanks! - but scanning of full-fledged account still takes some time.

So there is the question - does HSR works on their full speed? Or may be there are several hard-coded delays between screenshots? If later - may be it's possible to introduce negative delay on scan? I saw that there is already positive scan delays introduced so if there is some internal hard-coded delay may be it would be possible to add a negative one?

Otherwise - thanks again for this great scanner! It helps much to manage chars/relics. Hoyoverse made a great work by streamlining relic/char interface - it MUCH better then in GI (even with latest changes) but still it lack ability to see all char/relic stat at a glance,

Also - great that you saves SRO in parallel with original format. I want to have both files for later internal use and making 2 scan would be cumbersome.

Thanks for great work, mate! Please, continue development!

HSR Scanner start to open "Bookshelf" instead of "Character" screen

After recent HSR update (? not sure) HSR Scanner start behave weird - it opens "Bookshelf" screen instead of "Character"

Cones and relics opened and scanned normally

Same behavior on 0.2.2 and 0.2.1

2023-08-26 about 22:00 it works fine - got complete scan. Today - 2023-08-28 08:00 - it behaves erratically.

Bug: HSR Scan fails if switch app on OCR stage

If after scan phase when HSR Scanner OCRs screenshot I switch to other app - not HSR itself or HSR Scanner - sometime later will abort OCR and fail whole scan process. Especially it's annoying when scan fails after scanning 800+ relics.
For now I can't find exact sequence how to reproduce this behavior. I will monitor HSR Scanner behavior.

v.0.2.3 beta

Hunter of Glacial Forest Mixup

I noticed that consistently hand and body pieces for Hunter of Glacial Forest get mixed up. I have to manually check and fix

Incorrect Light Cone sort coordinates

Light cone sort options were changed and moved Lv. and Rarity down a spot. This results in the light cone scanner selecting the wrong sort option if the current sort isn't the optimal option.

HSR v1.3 makes character scan fully irrelevant

Relates to all versions from 0.2.0 to 0.2.2

Scan results for different HSR-Scanner versions for chars
HSR_chars.zip
Scans was obtained by staring at black wall, in one run, not moving, not changing anything in same ESC menu instance

Results differs from scan to scan

All versions scans only 1st "page" of characters, never advanced to 2nd one.

image
Only this characters even attempts to be scanned.

Scan result irrelevant - multiple errors makes this unusable. Even basic character detection now not working

feature request | language support

Hi Kel-z,
May you add support for star rail version of chinese and other versions. Particularly in the game name detection module. In current version the game with chinese name "ๅดฉๅ๏ผšๆ˜Ÿ็ฉน้“้“" could not be captured by the game. We would be able to switch language resources in game to English, so no need for further adjustments. Many thanks if you'd like to reply.

Scanning relics on resolutions lower than (1920x1080) still kinda iffy

td;dr

  • In an ironic twist of fate, scanning on a white background might actually be better for relic substats.
  • Errors don't seem to happen on 1600x900+, only on 1280x720.
  • Needs more testing.

Scanning this on 1280x720 outputs:

DEF 35
DEF 4.8%
CRIT Rate 3.2%
CRIT DMG 24.6%5

(an extraneous 5 is appended to CRIT DMG which would break current % detection logic of checking the last character in the string)
image


Ironically enough, scanning the same thing but on a white background yielded the correct results.

DEF 35
DEF 4.8%
CRIT Rate 3.2%
CRIT DMG 24.6%

image


Might need to tweak colour filter thresholds on substat image preprocessing some more (and change % detection logic to check the entire string instead of just the last character).

Failing to correctly scan Trailblazer will crash the character scanner

I can't reproduce it myself (probably some combination of graphic settings and game resolution), but it is possible for the scanner to not recognize the Trailblazer character and try to read the character name instead (which will most likely produce a KeyError and crash the parser since Trailblazer's name is the account name).

Either fine-tune the Trailblazer recognition logic, or wrap everything in a try-catch to skip a character if it fails to parse. Whichever comes first.

Fix sub stats order

image
{
"stars" : 5,
"stat" : "HP",
"lvl" : 15,
"slot" : "HEAD",
"set" : "MESSENGER_TRAVERSING_HACKERSPACE",
"location" : "Kafka",
"oldLocation" : "Topaz & Numby",
"subStats" : {
"EFFECT_HIT_RATE_PERCENT" : 3.8,
"CRIT_DMG_PERCENT" : 16.8,
"ATK" : 21,
"ATK_PERCENT" : 11.6
}
}

Can you keep sub stats order? like
{
"ATK" : 21,
"ATK_PERCENT" : 11.6,
"CRIT_DMG_PERCENT" : 16.8,
"EFFECT_HIT_RATE_PERCENT" : 3.8
}

Suggestion: Scan character speed up

Hey!

I notices that slowest character scan moment is an eidolons scan due to delay of game itself. Unfortunately, eidolon screens opens twice during scan of one character: fitst time when you switching from prev character then when switching to scan eidolons (applies for 2nd character and beyond).

I offer to star scanning character from eidolons and finish scanning character on "Details" page then switch character to next one - i.e reversing current scan order to "Eidolons"->"Relics"->"Traces"->"Light Cone"->"Details".

Sync names with KQM-SRL

Hey!

V0.2.3 seems scan chars okay.

Any chances to adopt GOOD format from Genshin Impact? HSR-Scanner pretty near already - some minor tweaks and it would looks GOOD.

Say, GOOD uses CamelCase names like
"artifacts": [
{
"setKey": "GildedDreams",
"slotKey": "flower",
"level": 20,
"rarity": 5,
"mainStatKey": "hp",
"location": "Collei",
"lock": false,
"substats": [
{
"key": "critDMG_",
"value": 13.2
},
{
"key": "eleMas",
"value": 42.0
},
{
"key": "enerRech_",
"value": 11.7
},
{
"key": "critRate_",
"value": 7.4
}
]
},

Also it uses another name convention for keys - critDMG_ instead of CRIT DMG_. Etc.

I tried to find formal specs for GOOD but failed. But I can supply some scanner outputs in GOOD format if you interested.

May be some option to export in GOOD format?

Also if you interested - here some data from HSR which can be used to sync with new characters: https://github.com/KQM-git/SRL/tree/master/src/data

[bug] 0.5.1-pre1 Relics on Welt incorrectly recognized as male Trailblazers ones.

My guess is scanner is looking for female Trailblazers portrait on relics to determine its location, so it matches with Welt instead because he looks similar to male Trailblazer. There was similar problem with Silver Wolf and Lynx in previous versions of the scanner, but now it seems to be fixed.

image

Amount of relics placed on Trailblazer:
image

Error while trying to scan 1500/1500 artifacts

Log window:

[21:16:44] > Finished scanning light cones
[21:16:48] > Scan aborted with error: Failed to parse quantity. Got "/1500" instead. Did you start the scan from the ESC menu?

Dumb me didn't made a screenshot, sorry.

[bug] Character wrongly assigned in output json

When scanning characters, the json will sometimes include the same character key twice.
This results in the recommended websites not including specific characters because the wrong name has been assigned to them.

HSRScanData_20240202_211630.json

        {
            "key": "Seele",
            "level": 80,
            "ascension": 6,
            "eidolon": 3,
            "skills": {
                "basic": 1,
                "skill": 1,
                "ult": 1,
                "talent": 6
            },
            "traces": {
                "ability_1": true,
                "ability_2": false,
                "ability_3": true,
                "stat_1": true,
                "stat_2": false,
                "stat_3": false,
                "stat_4": false,
                "stat_5": false,
                "stat_6": true,
                "stat_7": false,
                "stat_8": true,
                "stat_9": false,
                "stat_10": false
            }
        },
        ...
        {
            "key": "Seele",
            "level": 80,
            "ascension": 6,
            "eidolon": 2,
            "skills": {
                "basic": 6,
                "skill": 10,
                "ult": 10,
                "talent": 10
            },
            "traces": {
                "ability_1": true,
                "ability_2": true,
                "ability_3": true,
                "stat_1": true,
                "stat_2": true,
                "stat_3": true,
                "stat_4": true,
                "stat_5": true,
                "stat_6": true,
                "stat_7": true,
                "stat_8": true,
                "stat_9": true,
                "stat_10": true
            }
        },

Logs:

[20:42:07] > Starting scan...
[20:42:07] > Scanning light cones...
[20:42:13] > Quantity: 162/1500.
[20:43:21] > Finished scanning light cones.
[20:43:21] > Scanning relics...
[20:43:27] > Quantity: 1073/1500.
[20:50:12] > Reached minimum rarity filter (got rarity 4).
[20:50:14] > Finished scanning relics.
[20:50:14] > Scanning characters...
[20:50:17] > Character total: 32/41.
[20:52:51] > Finished scanning characters.
[20:52:51] > Starting OCR process. Please wait...
[21:16:02] > Bronya: Failed to parse 'basic' level. Setting to 1.
[21:16:02] > Sushang: Failed to parse 'basic' level. Got '/' instead. Setting to 1.
[21:16:03] > Guinaifen: Failed to parse 'basic' level. Got '/' instead. Setting to 1.
[21:16:03] > Qingque: Failed to parse 'basic' level. Setting to 1.
[21:16:03] > Seele: Failed to parse 'basic' level. Setting to 1.
[21:16:03] > Welt: Failed to parse 'basic' level. Setting to 1.
[21:16:04] > Silver Wolf: Failed to parse 'basic' level. Setting to 1.
[21:16:06] > Guinaifen: Failed to parse 'skill' level. Got '42' instead. Setting to 1.
[21:16:06] > Seele: Failed to parse 'skill' level. Got '42' instead. Setting to 1.
[21:16:06] > Welt: Failed to parse 'skill' level. Got '2' instead. Setting to 1.
[21:16:07] > Clara: Failed to parse 'skill' level. Got '/12' instead. Setting to 1.
[21:16:07] > Sushang: Failed to parse 'skill' level. Setting to 1.
[21:16:07] > Bronya: Failed to parse 'skill' level. Setting to 1.
[21:16:09] > Qingque: Failed to parse 'skill' level. Setting to 1.
[21:16:10] > Sushang: Failed to parse 'ult' level. Got '141 1' instead. Setting to 1.
[21:16:10] > Silver Wolf: Failed to parse 'skill' level. Setting to 1.
[21:16:12] > Welt: Failed to parse 'ult' level. Setting to 1.
[21:16:13] > Bronya: Failed to parse 'ult' level. Setting to 1.
[21:16:14] > Asta: Failed to parse 'basic' level. Got '44' instead. Setting to 1.
[21:16:16] > Pela: Failed to parse 'basic' level. Got '/' instead. Setting to 1.
[21:16:16] > Silver Wolf: Failed to parse 'ult' level. Setting to 1.
[21:16:17] > Fu Xuan: Failed to parse 'basic' level. Setting to 1.
[21:16:17] > Guinaifen: Failed to parse 'talent' level. Setting to 1.
[21:16:17] > Asta: Failed to parse 'skill' level. Got '44' instead. Setting to 1.
[21:16:18] > Qingque: Failed to parse 'talent' level. Got '/' instead. Setting to 1.
[21:16:18] > Natasha: Failed to parse 'basic' level. Setting to 1.
[21:16:21] > Silver Wolf: Failed to parse 'talent' level. Setting to 1.
[21:16:22] > Fu Xuan: Failed to parse 'skill' level. Setting to 1.
[21:16:22] > Asta: Failed to parse 'ult' level. Setting to 1.
[21:16:23] > Pela: Failed to parse 'ult' level. Setting to 1.
[21:16:23] > Fu Xuan: Failed to parse 'basic' level. Setting to 1.
[21:16:25] > Serval: Failed to parse 'basic' level. Setting to 1.
[21:16:25] > Pela: Failed to parse 'talent' level. Got '1' instead. Setting to 1.
[21:16:27] > Fu Xuan: Failed to parse 'skill' level. Setting to 1.
[21:16:27] > Bailu: Failed to parse 'basic' level. Setting to 1.
[21:16:27] > Serval: Failed to parse 'skill' level. Setting to 1.
[21:16:28] > Natasha: Failed to parse 'talent' level. Setting to 1.
[21:16:29] > Bailu: Failed to parse 'skill' level. Setting to 1.
[21:16:29] > Serval: Failed to parse 'ult' level. Setting to 1.
[21:16:30] > Bailu: Failed to parse 'ult' level. Setting to 1.
[21:16:30] > Serval: Failed to parse 'talent' level. Got '/' instead. Setting to 1.
[21:16:31] > Creating accompanying export in SRO format...
[21:16:31] > Scan complete. Data saved to D:/Users/light/Documents/StarRailData

The behaviour between sites also seem to differ here, but I'm not certain how relevant that is to this issue. Noting here primarily so it's logged somewhere.

  • Fribbels HSR Optimizer
    image

  • Relic Harmonizer
    image

The Inventory Viewer does not check for duplicate characters and simply shows all of them:
image

Please let me know if there's any additional information you'd like, or if you want me to perform additional runs.

Substat parsing failed [v0.3.0]

[23:25:38] > Relic ID 389: Failed to get value for sub-stat: DEF. Error parsing sub-stat value: V3.
[23:25:51] > Relic ID 460: Failed to get value for sub-stat: ATK. Error parsing sub-stat value: V3.

    {
        "set": "Knight of Purity Palace",
        "slot": "Hands",
        "rarity": 4,
        "level": 9,
        "mainstat": "ATK",
        "substats": [],
        "location": "Gepard",
        "lock": true,
        "_id": "relic_389"
    },

__gepard_hands

    {
        "set": "Inert Salsotto",
        "slot": "Planar Sphere",
        "rarity": 3,
        "level": 0,
        "mainstat": "ATK",
        "substats": [
            {
                "key": "CRIT DMG_",
                "value": 3.8
            }
        ],
        "location": "",
        "lock": true,
        "_id": "relic_460"
    },

_inert_salsoto_460
I believe this is right one

[crash] 0.5.1b Hard error in OCR phase

All HSRS version until now works w/o any errors. In 0.5.1b after several usages new error arises:

image

[19:25:26] > Starting scan...
[19:25:46] > Finished scanning light cones
[19:26:08] > Finished scanning relics
[19:26:50] > Finished scanning characters
[19:26:50] > Starting OCR process. Please wait...
[19:27:16] > Scan aborted with error: (3221225794, '')

I restarted HSRS - same happens again but even worse: whole PC becomes unresponsible and even Explorer dies and Chrome stops Youtube clip on background!

Later I will try to restart PC and report.

Character scanner fails at databank screen on 1280x720 resolution

Screenshot 2024-01-25 at 9 01 53โ€ฏAM

[09:02:07] > Starting scan...
[09:02:07] > Scanning characters...
[09:02:10] > Scan aborted with error ValueError: Failed to parse character count from Data Bank screen. Got "2841" instead. Did you start the scan from the ESC menu?. Try scanning with a different in-game background.

OCR fails to detect the slash. It works when you change to a higher resolution.

[feature request] Do OCR to the achievements and export in UIAF standard

Hi, I noticed this repo which is so great. Actually, I'm looking for an OCR tool to export the hsr achievements, and it seems yours is the most close one. Can you expand the function of this tool to allow it to export the achievements? That will be useful!

If you're willing to do this, I'd like to recomment the UIAF standard. It's an open source standard for json file which records the achivements of Genshin and HSR. The author group have also made some other standards for other things like the gacha history, and they have cooperated with lots of tools, so I think they're reliable. Anyway, this is just a recommendation. If you trust them, you can try, if not, please just ignore my words, that's ok.

Thanks in advance!

Scanner can't seem to scan character after light cones and artifacts.

I'm using HSR Scanner beta v0.6.1 and made sure the game is in 16:9 resolution and window. Stood in a dark space and no light in the background. Scanning was going just find, but, when it gets to characters it goes the data bank instead and it abort the scan. I don't what else I need to do for characters, but i did try it with faster scanning settings. My only guess is the scanner hasn't registered the new characters, so I'm turning to you guys if got any idea.
[17:57:24] > Starting scan...
[17:57:24] > Scanning light cones...
[17:57:30] > Quantity: 210/1500.
[17:58:18] > Finished scanning light cones.
[17:58:18] > Scanning relics...
[17:58:24] > Quantity: 650/1500.
[17:58:24] > Sorting by Rarity... (was Lv)
[18:01:01] > Finished scanning relics.
[18:01:01] > Scanning characters...
[18:01:03] > Character total: 43.
[18:01:03] > Scan aborted with error ValueError: Failed to parse character count from Data Bank screen. Got "43" instead. (Try scanning with a different in-game background, window resolution, or fullscreen/windowed mode, or increasing nav/scan delay in scanner configuration.)
Honkai_ Star Rail 2_9_2024 18_04_28

Scanned data usage

Not an issue, but got nowhere to ask. What are some sites/apps that you can input the scanned data into? I could find none, making the scanner kinda useless for me

Program not clicking on menu options

Whenever I try to start the program, it gets to my inventory but can't click on anything. The mouse only moves. I tried running as administrator, restarting my laptop, and changing the aspect ratio, but still got the same issue. It doesn't seem to be able to click on anything but move my mouse. This is the error I get:

[12:29:12] [INFO] > Starting scan...
[12:29:12] [INFO] > Scanning light cones...
[12:29:20] [INFO] > Quantity: .
[12:29:20] [WARN] > Failed to parse quantity. Retrying... (1/5)
[12:29:24] [INFO] > Quantity: .
[12:29:24] [WARN] > Failed to parse quantity. Retrying... (2/5)
[12:29:28] [INFO] > Quantity: .
[12:29:28] [WARN] > Failed to parse quantity. Retrying... (3/5)
[12:29:32] [INFO] > Quantity: .
[12:29:32] [WARN] > Failed to parse quantity. Retrying... (4/5)
[12:29:36] [INFO] > Quantity: .
[12:29:36] [WARN] > Failed to parse quantity. Retrying... (5/5)
[12:29:39] [INFO] > Quantity: .
[12:29:39] [FATAL] > Scan aborted with error ValueError: Failed to parse quantity from inventory screen.
Stack trace: "Traceback (most recent call last):
File "services\scanner\scanner.py", line 235, in scan_inventory
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 581, in run
File "asyncio\runners.py", line 44, in run
File "asyncio\base_events.py", line 646, in run_until_complete
File "services\scanner\scanner.py", line 125, in start_scan
File "services\scanner\scanner.py", line 240, in scan_inventory
ValueError: Failed to parse quantity from inventory screen.
" (Try increasing nav/scan delay in the scanner settings, or scan with a different in-game background, window resolution, or fullscreen/windowed mode.)

TesseractError while trying any type of scan

[FATAL] > Scan aborted with error TesseractError: (1, 'Error opening data file C:\Program Files\Tesseract-OCR/DIN-Alternate.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language 'DIN-Alternate' Tesseract couldn't load any languages! Could not initialize tesseract.')

Stack trace: "Traceback (most recent call last):
File "main.py", line 581, in run
File "asyncio\runners.py", line 44, in run
File "asyncio\base_events.py", line 646, in run_until_complete
File "services\scanner\scanner.py", line 125, in start_scan
File "services\scanner\scanner.py", line 231, in scan_inventory
File "utils\ocr.py", line 40, in image_to_string
File "pytesseract\pytesseract.py", line 423, in image_to_string
File "pytesseract\pytesseract.py", line 426, in
File "pytesseract\pytesseract.py", line 288, in run_and_get_output
File "pytesseract\pytesseract.py", line 264, in run_tesseract
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file C:\Program Files\Tesseract-OCR/DIN-Alternate.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language 'DIN-Alternate' Tesseract couldn't load any languages! Could not initialize tesseract.')

[bug] v0.6.0b - multiply scan errors (on link ropes 3rd degree - blue ones?)

[08:10:31] > Relic ID 436: Failed to get value for substat: ATK.
[08:10:31] > Relic ID 435: Failed to get value for substat: ATK.
[08:10:31] > Relic ID 437: Failed to get value for substat: ATK.
[08:10:34] > Relic ID 438: Failed to get value for substat: ATK.
[08:10:36] > Relic ID 442: Failed to get value for substat: ATK.
[08:10:36] > Relic ID 441: Failed to get value for substat: ATK.
[08:10:37] > Relic ID 443: Failed to get value for substat: ATK.
[08:10:37] > Relic ID 444: Failed to get value for substat: ATK.
[08:10:41] > Relic ID 446: Failed to get value for substat: ATK.
[08:10:43] > Relic ID 448: Failed to get value for substat: ATK.
[08:10:43] > Relic ID 447: Failed to get value for substat: ATK.
[08:10:43] > Relic ID 449: Failed to get value for substat: ATK.
[08:12:19] > Relic ID 426: Failed to get value for substat: SPD.
[08:12:21] > Relic ID 427: Failed to get value for substat: SPD.
[08:12:21] > Relic ID 428: Failed to get value for substat: SPD.
[08:12:22] > Relic ID 429: Failed to get value for substat: SPD.
[08:12:22] > Relic ID 430: Failed to get value for substat: SPD.
[08:12:24] > Relic ID 431: Failed to get value for substat: SPD.
[08:12:50] > Relic ID 788: Failed to get value for substat: ATK.
[08:12:51] > Relic ID 789: Failed to get value for substat: ATK.
[08:12:52] > Relic ID 787: Failed to get value for substat: ATK.
[08:12:52] > Relic ID 790: Failed to get value for substat: ATK.
[08:12:52] > Relic ID 791: Failed to get value for substat: ATK.
[08:12:53] > Relic ID 792: Failed to get value for substat: ATK.
[08:12:54] > Relic ID 793: Failed to get value for substat: ATK.

    {
        "set": "Rutilant Arena",
        "slot": "Link Rope",
        "rarity": 3,
        "level": 0,
        "mainstat": "DEF",
        "substats": [
            {
                "key": "DEF",
                "value": 12
            }
        ],
        "location": "",
        "lock": false,
        "_id": "relic_436"
    },

image

    {
        "set": "Broken Keel",
        "slot": "Link Rope",
        "rarity": 3,
        "level": 0,
        "mainstat": "ATK",
        "substats": [
            {
                "key": "DEF_",
                "value": 2.5
            }
        ],
        "location": "",
        "lock": false,
        "_id": "relic_426"
    },

Probably this one

image

Low probability - this one

image

Kafka speed incorrect

Double checked all relics, they matched exactly with game. However ingame speed is 148 vs 145 in optimizer. Disregard difference in HP, this is because I haven't bought the trace. All other stats match with game.

image

image

Too few relics scanned

I have around 1300 relics in total. For some reason scanner is only showing 431 in output file. Scan wasn't interrupted, windowed 1920x1080 resolution, looking at the floor of parlor car.

Light Cone and Relic scanner always returns quantity parsing error

Error:
"Failed to parse quantity. Did you start the scan from the ESC menu?"
Program accurately goes to Light Cone or Relic screen based on scan settings, but stops there and returns the above error message.

Troubleshooting:
Tried Windowed and Fullscreen at 1920x1080 and 1600x900
Tried all the preset graphic settings
Found the darkest area I could find (a corner in Storage Zone, HSS)

[bug] 0.5.0b - Multiple scan errors

For some reasons correct values logged as "illegal value". Most interesting that all 3 reported relics are 3-star rarity. May be there is some issue in validation table?

[10:54:01] > WARNING: Relic ID 1453: Substat CRIT DMG_ has illegal value "3.4".
[10:54:03] > WARNING: Relic ID 1448: Substat CRIT DMG_ has illegal value "3.4".
[10:54:04] > WARNING: Relic ID 1447: Substat CRIT Rate_ has illegal value "3.4".
[10:54:04] > WARNING: Relic ID 1447: Substat Break Effect_ has illegal value "3.4".
{
    "relics": [
        {
            "set": "Genius of Brilliant Stars",
            "slot": "Feet",
            "rarity": 3,
            "level": 0,
            "mainstat": "SPD",
            "substats": [
                {
                    "key": "CRIT DMG_",
                    "value": 3.4
                }
            ],
            "location": "",
            "lock": true,
            "_id": "relic_1453"
        },
        {
            "set": "Messenger Traversing Hackerspace",
            "slot": "Feet",
            "rarity": 3,
            "level": 9,
            "mainstat": "SPD",
            "substats": [
                {
                    "key": "ATK",
                    "value": 11
                },
                {
                    "key": "DEF_",
                    "value": 3.2
                },
                {
                    "key": "CRIT DMG_",
                    "value": 3.4
                },
                {
                    "key": "Effect Hit Rate_",
                    "value": 2.5
                }
            ],
            "location": "",
            "lock": true,
            "_id": "relic_1448"
        },
        {
            "set": "Hunter of Glacial Forest",
            "slot": "Body",
            "rarity": 3,
            "level": 9,
            "mainstat": "CRIT DMG",
            "substats": [
                {
                    "key": "ATK",
                    "value": 12
                },
                {
                    "key": "DEF",
                    "value": 12
                },
                {
                    "key": "CRIT Rate_",
                    "value": 3.4
                },
                {
                    "key": "Break Effect_",
                    "value": 3.4
                }
            ],
            "location": "Yanqing",
            "lock": true,
            "_id": "relic_1447"
        }
    ]
}

1453
image

1448
image

1447
image

Relic levels inconsistent during scan

Scanner fails to read the first "1" in relic levels sometimes (+12 or +13 would get parsed as level 2 and 3, respectively).

Need to tune screenshot coordinates or improve the pre-processing for the relic level image.

Game resolution detection bug

On certain monitors, some 16:9 resolutions don't get detected as 16:9.

This is because scanner only considers the size of the window, not the actual game (so if the game is fullscreen but there are black bars on the side to fill in empty space, scanner won't see that it's 16:9 resolution).

A workaround is to change the resolution to 1600x900 windowed mode, for example.

[bug] 0.5.1b Relic ID XX: Failed to get value for substat: HP.

Started new character to investigate some early-game details. When scanning relics some errors in logs:
[21:55:52] > Relic ID 73: Failed to get value for substat: HP.
{
"set": "Fleet of the Ageless",
"slot": "Planar Sphere",
"rarity": 2,
"level": 0,
"mainstat": "Ice DMG Boost",
"substats": [],
"location": "March 7th",
"lock": false,
"_id": "relic_73"
},
image

[21:55:52] > Relic ID 75: Failed to get value for substat: HP.
{
"set": "Fleet of the Ageless",
"slot": "Link Rope",
"rarity": 2,
"level": 0,
"mainstat": "Break Effect",
"substats": [],
"location": "",
"lock": false,
"_id": "relic_75"
},
image

[feature request] Scan only specific types of relics

Such as I only want to optimize relics for the Acheron, so I just want to scan the Pioneer Diver of Dead Waters.
But the scanner will scan nearly 1200 relics, instead of 100 relics of Pioneer Diver of Dead Waters.

Hotkeys are too limited

Right now it seems the hotkeys are limited to letters and numbers but I've remapped my game hotkeys to the F-row of keys. I'd like to be able to likewise assign these in HSR-Scanner.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.