Aber das würde ja bedeuten, dass man wieder für jedes einzelne Event neue Variablen schaffen muss - und gerade das will ich nicht.
Die Überschneidung ist nicht das große Problem, denn die funktioniert sogar ganz gut, wenn man sie in den Griff kriegt.
Aber das würde ja bedeuten, dass man wieder für jedes einzelne Event neue Variablen schaffen muss - und gerade das will ich nicht.
Die Überschneidung ist nicht das große Problem, denn die funktioniert sogar ganz gut, wenn man sie in den Griff kriegt.
...
Hi Stray. Vielleicht misverstehe ich das Problem mit den eigenen Variablen aber vielleicht hilft dir meine Vorgehensweise bei solchen Sachverhalten.
Ich benutze für den Rm2k den Destinypatch und habe auf meinen Maps bis zu 40 Events die sich per Call einer Datenbankevents registrieren.
Im Anschluss daran wird in einem einzigen Event der Datenbank über die IDs geloopt und je nach Eventnamen zu der ID oder weiteren Infos reagiert.
Dabei ist der Destinypatch unersetzlich, denn er hat die Möglichkeit ein Events per ID aus einer Variable fernzusteuern oder sogar ihr Aussehen zu verändern.
Das Minimum was du brauchst ist eine reservierte Anzahl von Variablen des RPGMaker für die ID-Liste.
Falls deine Events Gegner sind, die eine gewisse Energie haben brauchst du logischerweise für jeden Gegner mindestens eine eigene Variable für die Energie. Der DestinyPatch bietet hier zusätzlich eigene Datentypvariablen an, die hierfür sehr praktisch sind.
Du kannst damit beispielsweise die HP-Variable in den dworten des Destinypatch zusammensetzen aus (MapID * 1000) + EventID.
d.h. Event 1 auf Map 1 = d[1001]
Event 90 auf Map 150 = d[150090]
Der DestinyPatch lässt maximal 900.000 dworte zu, soweit ich weiß.
Auf diese Weise kannst du deinen Events eigene globale Variablen zugestehen aber du kannst ganz ohne konkrete Variablen arbeiten indem du die entsprechende Variable immer über die Formel (MapID * 1000) + EventID = dwordPointer erhälst.
@SuperSimon:
Es fällt mir sehr schwer das so nachzuvollziehen und glaube auch nur ungefähr verstanden zu haben. Aber es liest sich zumindest irgendwie vielversprechend. Ich werde mir den DestinyPatch später mal näher ansehen.
Nach stundenlangem Suchen kann ich Folgendes mit Stolz verkünden: keine Ahnung, wie ich an den CallTree herankommen soll.
Ich habe es mal mit etwas anderem versucht (über die Event_ID):
Patches für RPG_RT2k v1.51 und RPG_RT2k3 v1.09 hinzugefügt. EventUpdates allesamt am Ende eines Frames.
Edit:
Zitat von MarcL
(MarcLMaps-->GebirgeTeilLinks/GebirgeRECHTSunten) ziemlich stark, da sind auf den Maps ~1000-2000 Events?
...
Die Parent Map dazu hat übrigens 2190 Events. Und da ist kein Text...
Habe den Kram mal mit MarcL's Zeug durchgetestet. Der Patch nennt sich zwar "Slow", aber einen großartigen Unterschied zur schnellen Variante gibt es, hinsichtlich der Performance, nicht (außer man hat zig Events mit 50 Eventseiten und in jedem eine ganze Menge <ChangeSwitch> und <ChangeVariable>).
Ach und: nicht vergessen die Zeile AntiLagSwitch aus der DynRPG.ini zu löschen.
Wenn jetzt Event A das Event B aufruft, Event B setzt einen Switch der Event A (und dadurch auch die Ausführung vom gecallten Event B!) deaktivieren würde, funktioniert das mit deiner Methode nicht.
Meine Methode mit dem Call Stack ginge so:
In den einzelnen Funktionen für die Eventbefehle (z.B. 4ACB18 ProcChangeVariable) gibt es ja drei Parameter: eax = aktueller TLcfgScripter, edx = aktuelle TLcfgScriptData, ecx = aktuelle TLcfEventScriptLine.
Davon ausgehend:
Der Vollständigkeit halber müsste das ganze btw auch bei Item Management und Change Party ausgeführt werden.
EDIT: Bei DynRPG oder beim RM2k3 Debug Addon oder der Revolution Patch Preview-Version kann die Event ID da auch negativ sein, das ist dann eine Common-Event-ID, du solltest also überprüfen ob sie >= 0 ist, nicht != 0.
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!
Sollte jetzt oben beschriebene Fälle (AC statt ABC; A callt B, B bricht A ab) und Folgendes richtig durchführen:
Im 2k(3) wird nicht nur der Caller (@ bottom of CallTree) sondern auch der Callee (@ current CallTree_pos) geupdatet.
...im Falle, wenn der Caller eine höhere Event_ID hat als der Callee, wird der Ausgangspunkt des <CallEvent> als letztes geupdatet. Ist klar von den Zahlen her. Wenn der Callee aber eine höhere Event_ID als der Caller hat, dann wird der Ausgangspunkt des <CallEvent> auch als letztes geupdatet. Das mit dem "aktuellen Event (das am Bottom des Calltrees)" funktioniert nicht in beide Richtungen.
Setze mal im 2k3 Patch 0x35 = EB und 0xB1 = EB, dann wird nur das Event da vorne im CallTree geupdatet.
Wenn der Switch, welcher das erste Event ausstellen soll, beim gecallten Event eine neue Seite öffnet, dann wird diese Seite vorher ausgeführt, bevor der Ausgangspunkt des <CallEvent> seine neue Seite ausführt.
Zitat von Cherry
Der Vollständigkeit halber müsste das ganze [...]
...
Okay, LocalUpdate jetzt bei
<ChangeSwitch>
<ChangeVariable>
<ChangeTimer>
<ChangeItem>
<ChangeParty>
<KeyInput>
Zitat von Cherry
Revolution Patch Preview-Version kann die Event ID da auch negativ sein
Die Skillanimation wird beim Benutzen von SkillScroll und InvokeSkill wieder vernünftig angezeigt. Vorher ploppten Schadenszahlen während der Skillanimation auf oder der Gegner starb mitten in der Animation.
download AnimationBugFix
Die Skillanimation wird beim Benutzen von SkillScroll und InvokeSkill wieder vernünftig angezeigt. Vorher ploppten Schadenszahlen während der Skillanimation auf oder der Gegner starb mitten in der Animation.
...
Awesome! Hat mich schon immer genervt der Fehler ^^;
Elektra Kingdom v.4.12 Vollversion in der Mache, Zeitlimit bis zum 31.12.2024 *click Offizieller Blog zum Spiel News, Links, Screenshots, etc. *click Tanalin Integer Scaler Fullscreen Tool für RPG Maker 2000 / 2003 Spiele*click VirtualMIDISynth Fix für kaputte MIDI Musik*click Windows Photo Viewer Fix für unscharfe Windows Fotoanzeige *click RPG Maker Ultimate (rpg2009) von Cherry: 1 Million Switches/Variablen, 125 Kästchen für BattleAnimationen, beliebige Picture-Größen importieren *click für DL & *click für 100.000 Pictures RPG Maker 2000 / 2003 (Steam) Korrektes Vollbild , Performance+ & Ultimate *click
Hiermit wird bei Zuständen, welche HP/MP (je Zug) heilen/abziehen, nicht mehr in jedem getätigten Zug (von irgendetwas im Kampf) der Heilungs-/Schadenseffekt ausgelöst, sondern nur nach dem Zug vom betroffenen Kampfteilnehmer.
Wenn der Kampf beendet wurde (Sieg/Niederlage), dann werden die ganzen geöffneten Fenster geschlossen. (Es konnte vorher z.B. eine transparente Skillbeschreibung unter dem "Sieg" Text liegen oder andere Fenster waren noch offen.)
Entfernt auch den Cursor, welcher auf wartende Helden zeigt. Manche plugins müssten vielleicht angepasst werden, wenn sie zusätzliche HUD-Grafiken anzeigen.
Smooth color gradients. Jetzt auch für DynRPG hinzugepackt.
...
Äh, was genau hast du da gemacht? Banenen-Joe hat extrem viel umändern müssen weil ja überall die Palettengröße auf 16 Bit zugeschnitten ist, die Logik die Paletten anpasst, etc... also inwiefern kann das jetzt mit DynRPG gehen? Besonders weil ja die Headerfiles und die Library auch von 16 Bit ausgehen.
Bitte erklär mal... Danke
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!