Jump to content

[BUG]Spider Dungeon 2.Floor (Syserr : Type Error)


Recommended Posts

  • Replies 6
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Post your system.py here.

 

Thank you.

 

My Root/System.py

 

Link :  http://dosya.co/cd5784c10821b4a8/system_py.rar

 

 

import sys

import app
import dbg
 
sys.path.append("lib")
 
class TraceFile:
def write(self, msg):
dbg.Trace(msg)
 
class TraceErrorFile:
def write(self, msg):
dbg.TraceError(msg)
dbg.RegisterExceptionString(msg)
 
class LogBoxFile:
def __init__(self):
self.stderrSave = sys.stderr
self.msg = ""
 
def __del__(self):
self.restore()
 
def restore(self):
sys.stderr = self.stderrSave
 
def write(self, msg):
self.msg = self.msg + msg
 
def show(self):
dbg.LogBox(self.msg,"Error")
 
sys.stdout = TraceFile()
sys.stderr = TraceErrorFile()
 
#
# pack file support (must move to system.py, systemrelease.pyc)
#
 
import marshal
import imp
import pack
 
class pack_file_iterator(object):
def __init__(self, packfile):
self.pack_file = packfile
 
def next(self):
tmp = self.pack_file.readline()
if tmp:
return tmp
raise StopIteration
 
_chr = __builtins__.chr
 
class pack_file(object):
 
def __init__(self, filename, mode = 'rb'):
assert mode in ('r', 'rb')
if not pack.Exist(filename):
raise IOError, 'No file or directory'
self.data = pack.Get(filename)
if mode == 'r':
self.data=_chr(10).join(self.data.split(_chr(13)+_chr(10)))
 
def __iter__(self):
return pack_file_iterator(self)
 
def read(self, len = None):
if not self.data:
return ''
if len:
tmp = self.data[:len]
self.data = self.data[len:]
return tmp
else:
tmp = self.data
self.data = ''
return tmp
 
def readline(self):
return self.read(self.data.find(_chr(10))+1)
 
def readlines(self):
return [x for x in self]
 
__builtins__.pack_open = pack_open = pack_file
 
_ModuleType = type(sys)
 
old_import = __import__
def _process_result(code, fqname):
# did get_code() return an actual module? (rather than a code object)
is_module = isinstance(code, _ModuleType)
 
# use the returned module, or create a new one to exec code into
if is_module:
module = code
else:
module = imp.new_module(fqname)
 
# insert additional values into the module (before executing the code)
#module.__dict__.update(values)
 
# the module is almost ready... make it visible
sys.modules[fqname] = module
 
# execute the code within the module's namespace
if not is_module:
exec code in module.__dict__
 
# fetch from sys.modules instead of returning module directly.
# also make module's __name__ agree with fqname, in case
# the "exec code in module.__dict__" played games on us.
module = sys.modules[fqname]
module.__name__ = fqname
return module
 
module_do = lambda x:None
 
def __pack_import(name,globals=None,locals=None,fromlist=None):
if name in sys.modules:
return sys.modules[name]
 
filename = name + '.py'
 
if pack.Exist(filename):
dbg.Trace('importing from pack %sn' % name)
 
newmodule = _process_result(compile(pack_file(filename,'r').read(),filename,'exec'),name)
 
module_do(newmodule)
return newmodule
#return imp.load_module(name, pack_file(filename,'r'),filename,('.py','r',imp.PY_SOURCE))
else:
dbg.Trace('importing from lib %sn' % name)
return old_import(name,globals,locals,fromlist)
 
def splitext(p):
root, ext = '', ''
for c in p:
if c in ['/']:
root, ext = root + ext + c, ''
elif c == '.':
if ext:
root, ext = root + ext, c
else:
ext = c
elif ext:
ext = ext + c
else:
root = root + c
return root, ext
 
class PythonExecutioner: 
 
def Run(kPESelf, sFileName, kDict): 
if kPESelf.__IsCompiledFile__(sFileName): 
kCode=kPESelf.__LoadCompiledFile__(sFileName) 
else: 
kCode=kPESelf.__LoadTextFile__(sFileName) 
 
exec(kCode, kDict) 
 
def __IsCompiledFile__(kPESelf, sFileName): 
 
sBase, sExt = splitext(sFileName) 
sExt=sExt.lower() 
 
if sExt==".pyc" or sExt==".pyo": 
return 1 
else: 
return 0 
 
def __LoadTextFile__(kPESelf, sFileName): 
sText=pack_open(sFileName,'r').read() 
return compile(sText, sFileName, "exec") 
 
def __LoadCompiledFile__(kPESelf, sFileName): 
kFile=pack_open(sFileName)
 
if kFile.read(4)!=imp.get_magic(): 
raise 
 
kFile.read(4) 
 
kData=kFile.read() 
return marshal.loads(kData) 
 
def execfile(fileName, dict): 
kPE=PythonExecutioner() 
kPE.Run(fileName, dict) 
 
def exec_add_module_do(mod):
global execfile
mod.__dict__['execfile'] = execfile
 
import __builtin__
__builtin__.__import__ = __pack_import
module_do = exec_add_module_do
 
"""
#
# PSYCO installation (must move to system.py, systemrelease.pyc)
#
try:
import psyco
#from psyco.classes import *
 
def bind_me(bindable_list):
try:
for x in bindable_list:
try:
psyco.bind(x)
except:
pass
except:
pass
 
_prev_psyco_old_module_do = module_do
def module_bind(module):
_prev_psyco_old_module_do(module)
#print 'start binding' + str(module)
try:
psyco.bind(module)
except:
pass
for x in module.__dict__.itervalues():
try:
psyco.bind(x)
except:
pass
#print 'end binding'
 
dbg.Trace("PSYCO installedn")
 
except Exception, msg:
bind_me = lambda x:None
dbg.Trace("No PSYCO support : %sn" % msg)
"""
 
def GetExceptionString(excTitle):
(excType, excMsg, excTraceBack)=sys.exc_info()
excText=""
excText+=_chr(10)
 
import traceback
traceLineList=traceback.extract_tb(excTraceBack)
 
for traceLine in traceLineList:
if traceLine[3]:
excText+="%s(line:%d) %s - %s" % (traceLine[0], traceLine[1], traceLine[2], traceLine[3])
else:
excText+="%s(line:%d) %s"  % (traceLine[0], traceLine[1], traceLine[2])
 
excText+=_chr(10)
 
excText+=_chr(10)
excText+="%s - %s:%s" % (excTitle, excType, excMsg)
excText+=_chr(10)
 
return excText
 
def ShowException(excTitle):
excText=GetExceptionString(excTitle)
dbg.TraceError(excText)
app.Abort()
 
return 0
 
def RunMainScript(name):
try:
execfile(name, __main__.__dict__)
except RuntimeError, msg:
msg = str(msg)
 
import locale
if locale.error:
msg = locale.error.get(msg, msg)
 
dbg.LogBox(msg)
app.Abort()
 
except:
msg = GetExceptionString("Run")
dbg.LogBox(msg)
app.Abort()
 
import debugInfo
debugInfo.SetDebugMode(__DEBUG__)
 
loginMark = "-cs"
 
app.__COMMAND_LINE__ = __COMMAND_LINE__
RunMainScript("prototype.py")
 
Link to comment
Share on other sites

  • Active Member

open your system.py;

 

find this

def __pack_import(name,globals=None,locals=None,fromlist=None):
	if name in sys.modules:
		return sys.modules[name]

	filename = name + '.py'

	if pack.Exist(filename):
		dbg.Trace('importing from pack %sn' % name)

		newmodule = _process_result(compile(pack_file(filename,'r').read(),filename,'exec'),name)		

		module_do(newmodule)
		return newmodule
		#return imp.load_module(name, pack_file(filename,'r'),filename,('.py','r',imp.PY_SOURCE))
	else:
		dbg.Trace('importing from lib %sn' % name)
		return old_import(name,globals,locals,fromlist)

Change with this

def __pack_import(name,globals=None,locals=None,fromlist=None, level=-1):
	if name in sys.modules:
		return sys.modules[name]

	filename = name + '.py'

	if pack.Exist(filename):
		if name in sys.modules:
			dbg.Tracen('importing from sys.modules %s' % name)
			return sys.modules[name]

		dbg.Tracen('importing from pack %s' % name)

		newmodule = _process_result(compile(pack_file(filename,'r').read(),filename,'exec'),name)		
			
		module_do(newmodule)
		return newmodule
	else:
		dbg.Tracen('importing from lib %s' % name)
		return old_import(name,globals,locals,fromlist, level)

Link to comment
Share on other sites

 

open your system.py;

 

find this

def __pack_import(name,globals=None,locals=None,fromlist=None):
	if name in sys.modules:
		return sys.modules[name]

	filename = name + '.py'

	if pack.Exist(filename):
		dbg.Trace('importing from pack %sn' % name)

		newmodule = _process_result(compile(pack_file(filename,'r').read(),filename,'exec'),name)		

		module_do(newmodule)
		return newmodule
		#return imp.load_module(name, pack_file(filename,'r'),filename,('.py','r',imp.PY_SOURCE))
	else:
		dbg.Trace('importing from lib %sn' % name)
		return old_import(name,globals,locals,fromlist)

Change with this

def __pack_import(name,globals=None,locals=None,fromlist=None, level=-1):
	if name in sys.modules:
		return sys.modules[name]

	filename = name + '.py'

	if pack.Exist(filename):
		if name in sys.modules:
			dbg.Tracen('importing from sys.modules %s' % name)
			return sys.modules[name]

		dbg.Tracen('importing from pack %s' % name)

		newmodule = _process_result(compile(pack_file(filename,'r').read(),filename,'exec'),name)		
			
		module_do(newmodule)
		return newmodule
	else:
		dbg.Tracen('importing from lib %s' % name)
		return old_import(name,globals,locals,fromlist, level)

Not fix up!

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.