Discussion:
Save a Tofu Level
Jan Filip Tristan Hasecke
2009-06-15 20:57:21 UTC
Permalink
hi,

I have got a problem saving a tofu Level.
I do:
level.filename = "test"
level.save()

Then I get this error:


Traceback (most recent call last):
File "/var/lib/python-support/python2.6/soya/tofu/__init__.py", line 165, in
main_loop
try: soya.MainLoop.main_loop(self)
File "main_loop.pyx", line 159, in _soya.MainLoop.main_loop
File "main_loop.pyx", line 236, in _soya.MainLoop.begin_round
File "/var/lib/python-support/python2.6/soya/gui/widgets.py", line 276, in
begin_round
self.process_event(soya.process_event())
File "/var/lib/python-support/python2.6/soya/gui/widgets.py", line 301, in
process_event
if widget.on_key_pressed(event[1], event[2], event[3]): break
File "/var/lib/python-support/python2.6/soya/gui/widgets.py", line 1117, in
on_key_pressed
widget.on_clicked()
File "/home/filip/3drpg/guis.py", line 107, in exec_code
execfile("tmp.txt")
File "tmp.txt", line 1, in <module>
self.saveLevel("teste")
File "/home/filip/3drpg/guis.py", line 125, in saveLevel
self.get_selected().parent.saveLevel(name)
File "/home/filip/3drpg/game_world.py", line 65, in saveLevel
self.save()
File "/var/lib/python-support/python2.6/soya/__init__.py", line 315, in save
data = dumps(self, 1) # Avoid destroying the file if the serialization
causes an error.
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 591,
in dumps
Dumper().dump(obj, s)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 144,
in dump
self.collect(root_obj)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 392,
in collect
dumper.collect(state)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 313,
in collect
for i in obj: dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 354,
in collect
for i in obj.itervalues(): dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 331,
in collect
for i in obj: dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 392,
in collect
dumper.collect(state)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 313,
in collect
for i in obj: dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 354,
in collect
for i in obj.itervalues(): dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 392,
in collect
dumper.collect(state)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 354,
in collect
for i in obj.itervalues(): dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 392,
in collect
dumper.collect(state)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 354,
in collect
for i in obj.itervalues(): dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 331,
in collect
for i in obj: dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 392,
in collect
dumper.collect(state)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 354,
in collect
for i in obj.itervalues(): dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 392,
in collect
dumper.collect(state)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 354,
in collect
for i in obj.itervalues(): dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 331,
in collect
for i in obj: dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 392,
in collect
dumper.collect(state)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 182,
in collect
handler.collect(obj, self)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 354,
in collect
for i in obj.itervalues(): dumper.collect(i)
File "/var/lib/python-support/python2.6/cerealizer/__init__.py", line 181,
in collect
if not handler: raise NonCerealizableObjectError("Object of class/type
'%s' cannot be cerealized! Use cerealizer.register to extend Cerealizer
support to other classes." % obj.__class__)
cerealizer.NonCerealizableObjectError: Object of class/type '<type
'instancemethod'>' cannot be cerealized! Use cerealizer.register to extend
Cerealizer support to other classes.
* Tofu * Player 1 logout.

[...]

* Soya3D * Quit...


Sorry for long error :P

Are there special objects, which can't be saved in a level?
What do I have to do before I can save?
Do I need to logout all Players first or to quit all Viewports and so on?

Thanks for your help.

BTW: I want to help in development of soya, but I don't know how.
I may need a small introduction to the inner part of soya.


Yours,
blenderkid

Loading...