Wozu braucht man das module system und gibt es eins für version 1.011?

正在查看此主题的用户

Joestealer

Recruit
also wozu braucht man das module system wenn man die änderung auch bei den txt files vornehmen kann?also ich habe die M&B version 1.011 und benutze die module system nr 1.010 und bei mir funktionieren die änderungen nur bei den txt files. wenn ich die änderung bei den x.py dateien vornehme builde ich und dann kommen dort error anzeigen usw. kann es am versionen unterschied liegen? danke im vorraus, Joestealer
 
Error anzeigen bekommst du, wenn du was falsch gemacht hast. Bin jetzt grade zu faul, um mir den Changelog anzuschaun, aber prinzipiell ist es immer gut das MS deiner spiel version zu nutzen. Für alte MS empfehle ich dir die Suchfunktion.

Hast du in Module Info auch den Path definiert?

Txt. files sind "gut" für das ändern von Werten, für anspruchsvollere Dinge braucht man das MS.
 
Joestealer 说:
also wozu braucht man das module system wenn man die änderung auch bei den txt files vornehmen kann?also ich habe die M&B version 1.011 und benutze die module system nr 1.010 und bei mir funktionieren die änderungen nur bei den txt files. wenn ich die änderung bei den x.py dateien vornehme builde ich und dann kommen dort error anzeigen usw. kann es am versionen unterschied liegen? danke im vorraus, Joestealer

Der Hauptgrund, warum Python verwendet wird, ist erstmal die Lesbarkeit, es verwendet lesbare Ausdrücke, anstatt Zahlen. Zum Zweiten ist es bei Python relativ egal, wo was steht, es muß nur definiert sein. Zudem kannst Du zwischen bestehenden Truppen, Items, Meshes, usw. neue einfügen, ohne den gesamten Index über den Haufen zu schmeissen, wie es bei der Textdatei der Fall wäre.
Wenn Du eine Textdatei so ändern würdest, dass du irgendwo zwischen drin einen neuen Eintrag hinzufügst, ändert sich der Index für alle darauf folgenden Einträge um +1 nach oben. Das wiederum löst im Spiel eine gewaltige Kettenraktion von Fehlern aus,  bzw. es werden einfach andere Gegenstände, Truppen, Gitter, Scripte, usw. benutzt.

Aus einen Script "script_macht_irgend_was" wir also beispielsweise "78", weil es das 78. Script in der Liste ist. Das Spiel wird es mit 78 adressieren, denn es ist auch völlig egal, ob Du den Index in der Textdatei nachher umbenennst. Stell Dir mal vor Du machst aus allem was einen Namen hast, eine Zahl, genau das sind die Textdateien, das wird absoulut unlesbar. Hinzu kommt, dass die Textdateien viele Dezimalzahlen enthalten, die eigentlich aber Hexadezimalwerte sind, also noch umgewandelt werden, und welche wiederrum mit "bitweisen Operatoren" (http://de.wikipedia.org/wiki/Bitweiser_Operator) ausgelesen werden. Nichts anders macht im übrigen mein Editor, anders wär es nicht möglich diese Daten zu bearbeiten.
Diese Operatoren wiederum werden verwendet, weil man in einem kurzen Hexadezimalausdruck sehr viele boolesche (ja/nein) Werte speichern kann. in dem Wert F (Decimal 15) kann man die "Flags" 1+2+4+8 (=15)als einzigartigen 1/0 (Ja, Nein) Wert speichern, das heisst das ich in dem HEX F vier mal Ja und Nein abspeichern kann, und es sauch wieder eindeutig auslesen kann. Im Spiel sind das die "Flags", diese werden als Bits in Hexadezimalzahlen abgespeichert. Das spart abartig Speicherplatz.

Das Spiel selbst liest die Textdateien ein, diese sind fest indexiert, das Spiel liest die Daten an einem Stück, ohne irgendwelche Konstanten überprüfen zu müssen, oder zu überprüfen wo Daten stehen, wie beispielsweise bei XML, dass eher wie eine Datenbank funktioniert. Der Zugriff ist also schneller beim Einlesen aller Daten, und das gesamte Modul (Rohdaten ohne Texturen , usw - also Textdateien)  ist sehr schlank.

Die Scriptsprache Python ansich ist "relativ beliebt" für Game Modding. Wobei das Modulsystem größtenteils Taleworlds-Kauderwelsch ist, lediglich das Grundgerüst, und bilden des Moduls sind eigentlich Python Operationen... Wenn Du also ein Game-Script schreibst, machst du das mit Taleworlds-Befehlen und nicht mit welchen, die in Python existieren, dessen sollte man sich bewusst sein, weil viele meinen sie würden hier Python "lernen".

Das Modulsystem gibts hier, bzw, Links stehen in diesem Thread: http://forums.taleworlds.com/index.php/topic,111706.0.html


PS: Die deutsche Sprache verwendet auch Großbuchstaben, Absätze, mehr Kommata, usw. Ich glaube es könnten sich auch mehr Leute begeistern, Deine Beiträge zu lesen, wenn Du Dir mit diesen ansich mehr Mühe geben würdest.
 
后退
顶部 底部