I am working on a text role-playing-game in Python3, and have encountered an issue saving objects.
I am able to save strings and integers (e.g. representing character name, stats, etc.), but cannot save objects (such as the items or weapons), as I get the error:
write() argument must be str, not Weapon
Here is my code:
elif userinp == 'save':
save_place = open("rpgsave.txt", "w")
list_to_write = [strength, agility, dexterity, wisdom, intelligence, charisma,
main_character.name, main_character.weapons,
main_character.mp, main_character.xp, level_counter, job,
free_points, copcoin, cloc.xpos, cloc.ypos,
main_character.health, inventory]
for i in range(len(list_to_write)):
unacceptables = [main_character.weapons, inventory]
if list_to_write[i] in unacceptables:
if list_to_write[i] == main_character.weapons:
save_place.write(list_to_write[i])
save_place.write("\n")
elif list_to_write[i] == inventory:
objects = (Weapon, Item)
for x in range(len(inventory)):
save_place.write(inventory[x])
save_place.write("\n")
else:
list_to_write[i] = str(list_to_write[i])
save_place.write(list_to_write[i])
save_place.write("\n")