Sionus
New Coder
I'm attempting to make a text-based adventure game for fun and im having problems trying to load a specific file. Now before you cry im using repl.it, because i find it visually aesthetic for me. Anyways, what i have done is when you leave the game you can name a save file and one is created and saved. When you load in the game you are asked what save you want to load.
It presents me with this error:
Traceback (most recent call last):
File "main.py", line 1332, in <module>
DisplayMenu(100)
File "main.py", line 1320, in DisplayMenu
LoadGame(Name, Health)
File "main.py", line 74, in LoadGame
SaveFile = shelve.open(File_Test, writeback = True)
File "/usr/lib/python3.8/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
File "/usr/lib/python3.8/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
File "/usr/lib/python3.8/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
Python:
def LoadGame(Name, Health):
global C
global Level
global Knowledge
global CurrentArea
print("Enter the name of your save")
choice = input(">_ ")
File_Test = choice + '.db'
Does_Exist = exists(File_Test)
test = os.path.isfile(File_Test)
if Does_Exist == True:
User = Player()
Inventory = User.GetInventory()
SaveFile = shelve.open(File_Test, writeback = True)
Health = SaveFile["Health"]
C = SaveFile["Credits"]
Level = SaveFile["Level"]
Inventory = SaveFile["Inventory"]
Knowledge = SaveFile["Knowledge"]
CurrentArea = SaveFile["CurrentArea"]
Name = SaveFile["Name"]
SaveFile.close()
print("\n\x1B[3mGame loaded successfully\n\x1B[0m")
print("Welcome back", Name)
print("You are at:", CurrentArea)
Game_Frame(Health, Name)
else:
print("Game file does not exist")
It presents me with this error:
Traceback (most recent call last):
File "main.py", line 1332, in <module>
DisplayMenu(100)
File "main.py", line 1320, in DisplayMenu
LoadGame(Name, Health)
File "main.py", line 74, in LoadGame
SaveFile = shelve.open(File_Test, writeback = True)
File "/usr/lib/python3.8/shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
File "/usr/lib/python3.8/shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
File "/usr/lib/python3.8/dbm/__init__.py", line 89, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined