Hey! So I'm having a blast going through the tutorials and getting a feel of this absolutely awesome engine, but I came upon an issue when trying the 'aggressive NPC' tutorial.
When I go into the rooms.py file and add this:
# mygame/typeclasses/rooms.py
from evennia import utils
from characters import Character
from npc import Npc
# ... inside your Room typeclass ...
def at_object_receive(self, obj, source_location):
if utils.inherits_from(obj, 'Npc'): # An NPC has entered
pass
else:
if utils.inherits_from(obj, 'Character'):
# A PC has entered, NPC is caught above.
# Cause the character to look around
obj.execute_cmd('look')
for item in self.contents:
if utils.inherits_from(item, 'Npc'):
# An NPC is in the room
item.at_char_entered(obj)
I get an error:

The characters module definitely exists. I've tried everything, but I just can't seem to figure it out. I'd love some help.. ALSO, maybe I'm missing something super simple, but could I get a rough explanation of how to construct a storage item? Like a box or a backpack or jug of water, whatever. I'm sure I'll figure it out pretty quick from there. I did make a couple simple objects with self.db attributes, but I feel like a container needs some sort of dictionary list or something? Somewhere to store the data of what is in there, and then edit it when the item is removed or emptied?