Seite 2 von 2

Verfasst: Donnerstag 14. Februar 2008, 20:12
von Krauzi
hab ich schon gemacht. Aber dann kommt die fehler meldung, die ich im ersten post geschrieben hab. Er erkennt einfach das betriebsystem nicht. Am einfachsten währe es, wenn ich os.sytstem definieren würde. Kann mir hier einer helfen?

Verfasst: Donnerstag 14. Februar 2008, 21:07
von Leonidas
Du kannst "os.system" nicht definieren, da es eine Funktion des os-Moduls ist. D.h. du musst die Funktion also reimplementieren. Und das ist nichttrivial, dazu könntest du ctypes verwenden um die Win32 API-Funktion CreateProcess aufzurufen.

Verfasst: Freitag 15. Februar 2008, 06:28
von Zap
Also Battlefield 2 hab ich nicht, sondern BF2142. Dort liegt im root Verzeichnis ein Zip File mit dem Namen pylib2.3.4.zip in diesem File finde ich unter anderem auch das os-modul. Ist das bei BF2 auch so aufgebaut?
Hast du auch ein solches File?
Ich hab nun keine Ahnung (und auch nicht das große Interesse) wie man mit dem eingebauten Pythoninterpreter von BF rumspielen kann um zu testen ob das hier geht.
Ich denke mal das es ansonsten ne gute Idee wäre in der BF2 Community rumzuhorchen. Kann mir kaum vorstellen das nicht schonmal irgendwelche Modder erweiterte Funktionalität eingebaut haben.

Verfasst: Freitag 15. Februar 2008, 14:54
von Krauzi
pylib2.3.4.zip -> richtig. Ich hätte nie daran gedacht. Ich teste jetzt mal ob es geht. (Bf2142 ist eigentlich nur ein gemodetes bf2xD)

THXTHXTHX Für den tip.....
MfG Krauzi

EDIT: Ich hab jetzt mal das module zipfile importiert. Da kommt immer dieser fehler:
File "mods/reloaded/python\game\test.py", line 1, in ?
import zipfile
File "pylib-2.3.4.zip\zipfile.py", line 4, in ?
ImportError: No module named binascii

Edit2: Wenn ich os.py in die lib.zip von BF2 kopier, kommt immer :
'module' object has no attribute 'system'

Verfasst: Sonntag 17. Februar 2008, 16:50
von Krauzi
Kann keiner helfen?