Danke für den Hinweis Kelven, muss beim Kopieren aus der Backupdatei passiert sein.
Zur Speicherreservierung:
Die Variablenanzahl im 2k / 2k3 kann man beliebig weit runter drehen, ich gehe stark davon aus, dass durch eine Verkleinerung des Variablenblocks auch der nötige Speicher kleiner wird.
Dass es im XP anders ist wusste ich nicht da ich den XP niemals hatte.
Ob das wirklich so ist kann ich nicht sagen.
Ich würde das Prinzip selber nur dann benutzen wenn ich in irgend einem Vorgang mit Rekursiven Aufrufen Vorteile im Arbeitsaufwand dadurch hätte.
Im Grunde ist einzelne variablen Vergeben in Sachen Debugging viel angenehmer und in Sachen Performance ist es egal denn Maker auf aktuellem PC ist Gameboy Tetris auf dem Gamecube. In der Praxis wird sowas sowieso kaum einer nutzen. macht auch nix~ ist sowieso eher für Leute die gern mal mit sowas rumspielen.
Ich als Programmierer des PP weiß genau, dass nur soviel Speicher alloziert wird bis zur letzten Variable, die auf einen Wert ungleich null gesetzt wurde. Wenn sie danach wieder auf 0 gesetzt wird, bleibt der Speicher aber, wie er ist. Daher dauert das erste Ändern eine Variable über diesem bereich auch länger. (Dies gilt jeweils für eine "Spielsitzung")
Daher muss man beim PP auch in einem Autostart-Event die letzte Variable auf -1 ändern.
Man kann dies leicht selbst probieren. Dazu schappt man sich ein Cheattool, macht ein leeres Projekt, setzt im TestPlay die Vari 1 auf 123456, sucht mit dem Cheattool danach und rechnet bei der Adresse, die das Cheattool ausspuckt, 1196 dazu (dann sollte man bei Variable 300 sein) und versucht, den dortigen Wert auszulesen. In den meisten Fällen wird er NICHT null sein, obwohl die Vari 300 eigentlich 0 ist. Ganz einfach deswegen, weil der Maker zu diesem Zeitpunkt nur Speicher für eine Variable alloziert hat.
mfG Cherry
PS: @Kelven: Ignoriert wird gar nix, da beim ändern eine Vari, für die noch kein Speicher alloziert wurde, der Variablenspeicher vergrößert und ggf. verschoben wird.
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!
Echt gut die Idee^^
Ich habs mir durchgelesen, und bin sicher das auch Anfänger dein, wie du es nennst, Stacksytem verstehen.
Es ist gut und einfach erkärt hab nix zu bemängeln, außer vllt das man das Script sicher auch kürzer schreiben könnte *aber jetzt nicht sicher bin erst testen muss* O____O''
Es so viel aus... irgendwie XD
Naja wie gesagt ich find gut^^
AN ALLE DIE DAS NOCH NCHT KENNEN:
Sowas müsst ihr drauf haben, wie Corti sagt lassen ich damit leichter Scripte bauen, man spart da enorm viel glaubt mir
Du hast nicht wirklich ne Ahnung was bspw. mit Pre- und Post Inkremente / Dekremente gemeint ist eh? Falls du es bestreiten willst: man liest es sehr deutlich heraus. Wie dem auch sei.
An sich solltest du auch keine Empfehlungen abgeben nach Marke:
Zitat
AN ALLE DIE DAS NOCH NCHT KENNEN:
Sowas müsst ihr drauf haben, wie Corti sagt lassen ich damit leichter Scripte bauen, man spart da enorm viel glaubt mir
...
Damit verzapfst du nämlich ziemlichen Schwachsinn. Das Stackprinzip von Corti würde in einem "Makerscript" einfach nur zu einem Mehraufwand führen den man durch ein paar Hilfsvariablen ausräumen kann. Diese haben den Vorteil das man keinen solchen Stacksystem für die einzelnen Spielsystem anpassen muss sondern simpel sofort die benötigten Werte parat hat. Von der transparenz der Daten beim Debuggingprozess mal ganz abgesehen. :o
Beim (nicht vorhandenen) Debugger kann es ein echter Spaß sein in einem komplexen Skriptablauf nachzuverfolgen wohin die Daten nun wandern und wieder herkommen.
Es braucht also niemand so ein Stackprinzip. Ist es nun deswegen schlecht? Nö. Nur wie Corti schon selbst ganz richtig schreibt, ist eher eine Spielerei die leider auf so etwas wie dem Maker kaum sinnvoll umsetzbar ist. Also rate doch keinen Leuten das es sinnvoll ist ein Stackverfahren einzubauen obwohl du nicht weisst wozu das so gut sein könnte.
@Corti
Gute Ausführung. :) Wir hätten uns wohl doch kein Spielzeug aussuchen sollen hm? Naja, ist ja in umgewandelter Form bei uns in der Zauberverarbeitung drin. Also wirds sicherlich nicht ungenutzt verwelken.
Ist aber sicherlich für technisch interessierte gut geschrieben. Daumen hoch. :)
Ich versteh immer noch nech den Vorteil gegenüber einer festen Anzahl an freien Variablen, die von allen möglichen Scriptteilen, die sich nicht überschneiden, benutzt werden dürfen, auch nicht aus Scriptfanatikerbetrachtungsweise (in meinem jetzigen Projekt benutze ich allerdings im CBS nen Stack für Zustände der Partymitglieder, ganz einfach weil ich dutzende Zustände auf verschiedener Intensitivität verwalten will (z.B. 1xGift Stufe 3 Dauer 2, 1xGift Stufe 4 Dauer 1 etc)... muss mal schauen, ob ich pro Zustand eine Vari mache und dann mod benutze oder mehrere mach um Laggs zu vermeiden, sprich wenn mans nicht für freie Variablen sondern zur Sammlung von Information auf einem Gebiet benutzt, passt das... ich hoff mal, der Aufrücken-Algorithmus wird nicht zu laggig bei der lahmen Interpretation des Makers)
--
class Dog { //(...)
boolean getBuddha() { throw NullPointerException; } }
Spielt Hero-Chan!
Du hast nicht wirklich ne Ahnung was bspw. mit Pre- und Post Inkremente / Dekremente gemeint ist eh? Falls du es bestreiten willst: man liest es sehr deutlich heraus. Wie dem auch sei.
...
schonmal mein Spiel im Maker angesehen o_O
Aber wirst recht haben...
Prä Inkrement = Wert einer variable sofort + 1
Post Inkrement = Wert einer Variablen wird nach erster Verwendung +
...
Falls du es richtig meinst, hast du es dumm ausgedrückt.
Präinkrement = Variable wird VOR der Verwendung um 1 erhöht
Postinkrement = Variable wird NACH der Verwendeung um 1 erhöht
Bsp.: Um beim KOSMOS-Mikrocontroller-Bausatz auf den Arbeitsspechicher zuzugreifen, gibt es die Befehle "A = [B+]" und "[B+] = A". Ersterer speichert in Register A den Wert aus Adresse B, letzterer tut das Gegenteil. Bei beiden Fällen, wird B NACHHER um 1 erhöht, es handelt sich also um ein Postinkrement.
mfG Cherry
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!