Ein Problem im RMN, Ausgangssituation: Kampf endet mit allen Helden tot, ein Event sollte u.a. einen Helden wiederbeleben, aber nachdem die Map erscheint kommt sofort Game Over.
Meine Analyse:
Zitat von CherryZitat von bulmabriefs144Zitat von Cherry
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Dinge an die ich mich grob erinnere:
Die "Dead"-Condition hat eine Option namens "Extend of Effect" und wenn man die auf "Persists after battle" setzt wird man nach Kampfende auf der Map umgeklatscht. Bei "Ends after battle" hat man das Problem nicht.
Irgendwie so wars.
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Klar. Bewirkt aber auch dass alle Charaktere nach dem Kampf wieder 1 HP haben, was hier nicht gewünscht war.
Auf der Map wird man nur umgeklatscht wenn irgendein Event eins der oben aufgelisteten Befehle ausführt bevor mindestens ein Held wiederbelebt wurde. Darum gehts ja grade.
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Irgendwie ist mir neulich aufgefallen, dass das "Horizontal Scrolling" beim RM2K3 funktioniert, beim RM2K jedoch nicht wirklich.
Wenn ich bei den Map-Properties einstelle, dass ein Panorama sagen wir mit der Geschwindigkeit 0, Häkchen bei Hor. Scroll und bei Auto-Scroll läuft und ich dann via Event (Parallel Process) die Geschwindigkeit erhöhe, um beispielsweise eine gleichförmige Beschleunigung zu simulieren, funktioniert das auf dem RM2K3 tadellos, auf dem RM2K passiert jedoch schlichtweg gar nichts. Selbes Event einmal im RM2K3 und einmal im RM2K getestet:
usw.
Weiß jemand woran das liegt? bzw. wie ich dasselbe Ergebnis mit dem RM2K realisieren kann?
Mal eine Frage, da ich hoffe jemand kommt auf eine gute Idee, wie man das lösen könnte:
Beispiel:
Ich habe auf einer Map 30 Events, die jeweils ein sehr langes Script auf Seite1 ausführen.
Wechselt man (z.B. per Switch oder Variable) auf Seite 2, dann springt es sofort dorthin zu Zeile1.
Wechselt man wieder zurück, beginnt das Script auf Seite1 wieder von vorne.
Profiwissen:
Bei Seitenwechsel in Map-Events findet ein Sofort-Wechsel der Map Seite (und des darin enthaltenen Scripts) statt.
Das ist jedoch bei Common Events nicht der Fall.
Hat man ein CommonEvent (z.B. mit Switch Aktivierung) und schaltet man diesen auf OFF, dann wird die Stelle gemerkt und ab dieser Zeile geht es dann beim erneuten Aktivieren (Switch ON) weiter!
Anders gesagt:
Profiwissen:
Common Events merken sich die aktuelle Zeile bei Abbruch und gehen ab dieser dann bei erneuter Aktivierung weiter!
Will man das nicht, muss man nach jeder einzelnen Zeile eine Bedingung einbauen, mit der es (per Label) zum Ende springt.
Das ist natürlich äußerst umständlich, da man diese Bedingung nach jeder Zeile einfügen muss!
(denn je nachdem, wann man das CE deaktiviert, kann sich die aktuelle Aktion überall im Script befinden)
Kennt jemand einen guten Alternativweg, wie man diese Map-Events (bei denen ein das Script immer von Anfang beginnen muss) zu Common Events umfunktionieren kann, ohne 1000 Bedingungen darin einzubauen?
(wegen des äußerst langen Scripts in jedem der 30 Map-Events, die sich jeweils auf bestimmte IDs der Map beziehen, (und wegen dem Sofortwechsel (von Map-Seiten) muss ich bisher all diese Events in jede meiner Maps kopieren, was die Maps um ein ~10faches vergrößert (im Speicherverbrauch))
Ich mach das mit nem Mix aus Common und Map Events: auf der Map z.B. ein Event mit PP erstellen, das nur losgeht wenn Switch 01 aktiviert ist. Im Script steht dann lediglich das Common Event das du Aufrufen möchtest. wenn der Switch aus geschaltet wird, wird auch die Seite deaktiviert, wenn der Switch wieder angeht, startet das Event (und damit das CE) ganz von oben.
Hoffe ich hab mich verständlich ausgedrückt. :P
--
Verständlich ausgedrückt.
Ich habe jetzt nach dieser Art alle Maps umgebaut und es funktioniert noch tadellos!
Danke für diese gute Lösung!!
TheDude hatte hier ein komisches Problem bei dem ein Faceset nicht angezeigt wurde, obwohl es gesetzt wurde:
Ein Beispielprojekt, was das demonstriert, wäre hier: https://cherryshare.at/f/ElLtXw/Project1.zipZitat von TheDude
Wenn man das Autostart-Event links oben löscht, funktioniert es.
Hat wohl hiermit zu tun, Zitat aus der Hilfedatei:
Aber die Art, wie das gemacht wird, ist nicht ideal, weil Faces in Wahrheit keine Eventzugehörigkeit haben sondern global sind. Es wird einfach immer dann, wenn ein neues Event in den Hauptinterpreter (in welchem Autostart- und Action-Key/Touch-Events ausgeführt werden) geladen wird, oder wenn der Hauptinterpreter das Ende eines Events erreicht, das Faceset gelöscht.Zitat
Es wird davon ausgegangen, dass in Parallel Process Events (die einen eigenen Interpreter haben) keine Dialoge passieren, weil deren Ablauf im Vergleich zum restlichen Spiel nicht genau zeitlich steuerbar wäre (eben weil sie parallel laufen in einem eigenen Interpreter pro PP-Event und nicht den Hauptinterpreter exklusiv verwenden können wie andere Events), und sie ja auch jederzeit unterbrochen werden können wenn ihre Startbedingung nicht mehr aktiv ist (im Gegensatz zu Events im Hauptinterpreter, die immer komplett laufen).
Was hier also passiert ist folgendes:
* Map wird geladen
* Events werden abgehandelt:
... * Parallel Processes Interpreter werden abgehandelt, das bewirkt dass in deinem PP-Event das Face gesetzt wird und die Nachrichtsanzeige initiiert. Da das aber ein grafisches Update und eine Animation beinhaltet, wird der Interpreter zu dem Zeitpunkt freigegeben und wartet (in dem Fall bis beim nächsten Zyklus die Message irgendwann wieder fertig ist und der nächste Befehl ausgeführt werden kann). Face ist momentan gesetzt.
... * Hauptinterpreter wird abgehandelt. Der hat momentan noch kein aktives Event geladen, und schaut sich um welches Event ausgeführt werden soll. Das wird das Autostart-Event. Er lädt das Event, und das Laden eines Events in den Hauptinterpreter bewirkt das Löschen des Face, wie oben erklärt. Face ist momentan gelöscht.
* Messagebox wird aktualisiert - Das Spiel sieht dass eine Messagebox von einem Event initialisiert wurde, und rendert die Box. Das Face ist aber bereits gelöscht!
Das Problem existiert nicht wenn du in 2 PPs Face+Text machst, weil nämlich Messagebox-relevante Befehle gar nicht erst ausgeführt werden wenn gerade eine Box offen (oder im Öffnen begriffen) ist. Aber das Löschen des Face beim Laden eines Events in den Hauptinterpreter überprüft das nicht. (Das könnte man vielleicht patchen.)
Die Moral der Geschichte: Keine Dialoge in PPs packen, die sind nicht dafür gedacht. Wenn ein Dialog von einem PP ausgelöst werden soll, dann sollte stattdessen besser ein Switch gesetzt werden, der ein Autostart-Event oder Map-Event auslöst, sodass das entsprechende Event im Hauptinterpreter läuft und andere Hauptinterpreter-Events blockiert. ("Call Event" hilft da nicht, weil das würde nur bewirken, dass das Unterevent auch im Interpreter von seinem aufrufenden PP-Event abgehandelt wird, nicht im Hauptinterpreter.)
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Geändert von Cherry (06.01.2021 um 15:16 Uhr)
Hallo guten abend
Gibt es auch Möglichkeiten mit 2k3 auch eine KS zu machen wie bei Legacy Of Goku reihe auf den GBA? Also falls du die reihen kennst. Es gabs vor paar Jahren eine englische spieleentwickler der sowas auf seine 2k3 eingebaut hatte
Mit genug technischem Wissen sicherlich. Das nennt sich AKS (Action-Kampfsystem) bzw. ABS (Action Battle System), mit der Bezeichnung findest du besser Tutorials dazu.
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT