KILLTUBE / corvid

Source Engine level converter for Call of Duty.
GNU Lesser General Public License v2.1
54 stars 12 forks source link

Error "TypeError: string indices must be integers" at step 7 #7

Closed fusorf closed 3 years ago

fusorf commented 3 years ago

When converting "sp_a2_triple_laser_d" from Portal 2

Conversion stops at step 7 outputing following stacktrace :

Generating GDT file... Exception in thread Thread-4: Traceback (most recent call last): File "C:\Users\Mehmet\AppData\Local\Programs\Python\Python39\lib\threading.py", line 950, in _bootstrap_inner File "C:\Users\Mehmet\AppData\Local\Programs\Python\Python39\lib\threading.py", line 888, in run File "app.py", line 410, in convertButton_command File "C:\Users\Mehmet\Documents\GitHub\corvid\modules\MapExporter.py", line 473, in exportMap File "C:\Users\Mehmet\Documents\GitHub\corvid\modules\AssetExporter.py", line 314, in createMaterialGdt File "C:\Users\Mehmet\Documents\GitHub\corvid\modules\AssetExporter.py", line 403, in createMaterialGdtBo3 TypeError: string indices must be integers Exception in threading.excepthook: Exception ignored in thread started by: <bound method Thread._bootstrap of <Thread(Thread-4, started 8144)>> Traceback (most recent call last): File "C:\Users\Mehmet\AppData\Local\Programs\Python\Python39\lib\threading.py", line 908, in _bootstrap File "C:\Users\Mehmet\AppData\Local\Programs\Python\Python39\lib\threading.py", line 952, in _bootstrap_inner File "C:\Users\Mehmet\AppData\Local\Programs\Python\Python39\lib\threading.py", line 1220, in invoke_excepthook AttributeError: 'TextRedirector' object has no attribute 'flush' Exception ignored in sys.unraisablehook: <built-in function unraisablehook> AttributeError: 'TextRedirector' object has no attribute 'flush'

snowtyler commented 3 years ago

I am getting this same error. What's really odd is I was able to successfully convert a map yesterday, but now that same map won't export today. I would also like to add that I've gotten this same error when attempting to convert multiple maps from HL2 EP2, Portal, and Portal 2.

Corvid-log-07.04.2021_(14.24.32).txt

myuce commented 3 years ago

I thought I had fixed this one after trying out a few maps from different games, but I'll try converting sp_a2_triple_laser_d to see if there's something I missed.

@snowtyler according to the log file you sent, it looks like the map you're trying to convert is from Garry's Mod and I did not include that game in the supported games list since I don't really know about the differences in file structure between a Source game and Garry's Mod. It also looks like the tool is not able to find any of the files referenced in the VMF so make sure to check if the VPK files mentioned in the log exists in the game's folder.

snowtyler commented 3 years ago

@snowtyler according to the log file you sent, it looks like the map you're trying to convert is from Garry's Mod and I did not include that game in the supported games list since I don't really know about the differences in file structure between a Source game and Garry's Mod. It also looks like the tool is not able to find any of the files referenced in the VMF so make sure to check if the VPK files mentioned in the log exists in the game's folder.

The map mentioned in the log file -- ttt_lockdown -- is the one that I was able to convert yesterday but now could not today. It uses only assets from HL2, so the fact that it is meant for GMOD should not be an issue. Though I think I may have solved my own problem -- it appears that after loading up Corvid to test this again, it went through the initial setup of asking for the Steam directory and this time had hl2-related entries listed in the "VPK files" and "Asset directories fields." This wasn't shown in the tutorial video (both of those fields are empty) but I selected my ttt_lockdown VMF, set the game profile to HL2, began the conversion and it completed with no problem. Then, I hit the convert button again with the same VMF. Nope, now I get the String indices error at step 7.

New discovery: After exiting and re-launching Corvid, I was able to convert ttt_lockdown again successfully. I attempted to convert the following map from Portal 1, now it halts at step 10 with a different error...

testchmb_a_00_fail.txt

Then, since I was having relative luck with the Half-Life 2 profile in corvid, I restarted the program and attempted to convert d1_canals_01 and d1_eli_01. Both give ZeroDivisonErrors..

d1_canals_01_fail.txt

myuce commented 3 years ago

It looks like this is the same issue mentioned in #5. Should be fixed after 519a6b46d97db73854357eedd2fc264cdec36849.