"Anzeigeleisten"? ^^ Das kann natürlich auch sowas wie eine 4stellige Zahl sein, für die man dann bekanntlich 4x9 Forks braucht.
"Anzeigeleisten"? ^^ Das kann natürlich auch sowas wie eine 4stellige Zahl sein, für die man dann bekanntlich 4x9 Forks braucht.
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
der hat nichts mit dyn zu tun oder? hab bei der liste der dyn sachen nix gefunden. hast du nen link zufällig?
(ich weiß natürlich nicht, wie das dann funktioniert. MarcL hat mir gestern versucht zu erklären, was ein pointer ist, so mit mäßigem erfolg. aber ich finde es bestimmt heraus ^^)
http://cherrytree.at/cms/lang/de/download/?did=19
Laut Readme findet sich in dem Demopropjekt ein Zahlenbeispiel. Viel Spass damit, wenns irgendwo klemmt, frag einfach.
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Geändert von Corti (20.03.2014 um 12:52 Uhr)
Im dazugehörigen >>Thread<< gibt es einige weitere Erklärungen von Usern, die dir vielleicht weiterhelfen.
Gibt es eine Möglichkeit neue Checkmarks und Eingabefelder in die F8-Database einzubinden und mit entsprechenden Indeces (Ptr auf integer / booleans) zu verknüpfen?
Im 2k3 fehlt unter MonsterGroup bei dem Alignment/EnemyPlacement eine Checkbox für 'randomize group'.
Für alle Monster, abseits des ersten Monsters ohne hidden_flag, kann mit 50% Wahrscheinlichkeit die hidden_flag automatisch gesetzt werden.
Der dazugehörige Pointer wäre +1C auf MonsterGroupParam:
+04 = MonsterGroup_ID
+08 = MonsterGroup_Name
+0C = Ptr on MonsterList
+10 = TerrainAmount
+14 = Ptr on TerrainArray(?)
+18 = Ptr on BattleEvents
+1C = RandomizeHiding_flag (0|1 = false|true)
+20 = EnemyPlacement_flag (0|1 = manual|auto)
P.S.
random stuff:
Conditions, die HP abziehen, bleiben nicht bei 1 HP stehen:
CharSets im Shop bleiben farbig, selbst wenn entsprechende Items nicht genutzt werden können:Zitat von DynRPG.ini
RPG_RT2k v1.07:Zitat von DynRPG.ini
0x70BDB: 01 set 00
Kein Aufleuchten bei EnemyBehavior: Transform.
RPG_RT2k v1.07:Zitat von DynRPG.ini
0x7EE92: E8 BD FD FF FF set 58 58 58 90 90
Geändert von bugmenot (26.03.2014 um 21:21 Uhr)
AntiLagSwitch 2k(3)
download AntiLagSwitch
Geändert von bugmenot (28.03.2014 um 14:49 Uhr)
Also werden nur die Events geupdated, die von einem Change Switch bzw. Change Variable direkt betroffen sind?
--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
Erm... immer wenn irgendetwas passiert (oder der entsprechende Eventbefehl erfolgt), das die PreConditions auf der linken Seite von Events erfüllen könnte (ChangeSwitch, ChangeVariable, AddItem, ChangeParty, ChangeTimer) ... erfolgt nach jedem solchen Eventbefehl ein EventUpdate, das ALLE Events auf der momentanen Map und ALLE CommonEvents anvisiert.
Wenn man im Hintergrund irgendwelche Logik- oder Arithmetik-Prozesse laufen hat, die aus zig Zeilen bestehen, die in jedem Frame wiederholt werden... kann man entweder einen 0.0 wait setzen (damit das Spiel Zeit hat, sich wieder zu beruhigen... dann muss man aber auch mittendrin waits setzen, weil 2 Frames warten statt vorher 1 ohne wait auch nicht viel bringen könnte...) ...oder halt das Auslagern von Rechenarbeit auf das Durchchecken von mehreren hundert Events unterbinden.
Diese Maker waren nie darauf ausgelegt, mit vorgegebenen Mitteln, irgendetwas großes durch den Nutzer ausrechnen zu lassen.
Der Patch wird leider kein generelles Laggen durch riesige Maps mit hunderten sich bewegenden Events oder durch ständige Festplattenzugriffe durch unnöttiges <ShowPicture> beheben.
Edit:
Solange man einen Block an ForkConditions + Switches + Variables hintereinanderreiht und vor und nach dem Block Switch[1000] an/ausschaltet, sollte es selbst bei parallel laufenden Events keine Probleme geben.
Geändert von bugmenot (26.03.2014 um 11:21 Uhr)
Die Checkerei wird also bei jeder Aktion durchgeführt, die die Seitenbedingungen betreffen könnte?
Es erschliesst sich mir halbwegs, warum das bei dem Event durchgeführt wird, aus dem der Befehl stammt,
da sich mitten im Frame etwas Wichtiges ändern kann, aber alle überprüfen? Es hätte ja eigentlich gereicht,
wenn diese durchgecheckt werden, sobald sie in der Ausführung im derzeitigen Frame dran sind. òo
Was mit den CommonEvents ist, kann ich nicht genau sagen. Aber bezüglich von MapEvents werden in einer 'for i = 1 to EventAmount'-Schleife die Parameter des jeweiligen Events abgerufen und gleich hinterher die Seitenbedingungen durchgecheckt. Bei jeder solchen Aktion, die ein EventUpdate ausführt. Ohne irgendwo mittendrin zu warten.
Sagt mal Leute, wäre es möglich eine Art eigene Scene zusammenzubauen?
Also ich meine ein komplett eigenes Menü, aber im Standardstil, ohne Pictures etc. zu verwenden. Dass man das ganze praktisch hardcoded?
Könnten wir nicht die UpdateEvents-Funktion so umbauen, dass sie nur ein Flag setzt, und am Ende der Eventverarbeitung in einem Frame das eigentliche UpdateEvents ausführen, wenn das Flag gesetzt ist? Ich seh momentan keinen Grund warum man mehr als 1x pro Frame die Events aktualisieren sollte, was meinst du?
--
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
Der Einfall ist mir vor vier Monaten auch in den Sinn gekommen. Mir war aber kein freier Platz in den Pointern bekannt (ohne groß zusammenfassen + anpassen zu müssen) um die Flag unterzubringen, und keine Funktion bekannt, welche jeden Frame nur 1 mal abgerufen wird.
Das lässt sich beides doch extern in einer DynRPG-Routine unterbringen?
...und die loop in loc_4AB8C5 verlassen, solange Flag = true (nach Durchlauf der Schleife setzen) und das ding/flag halt nach jedem Frame per externe Funktion auf false (= do not block EvUpdate) flippen. Warum brauchst du dafür meinen Konsens?
P.S.
Mir ist etwas eingefallen:
download MapInMenu
Keine Ahnung, was ein transparentes F9-Menü bringen soll. Credits an Cherry's erste 2k3 Version.
Geändert von bugmenot (05.09.2014 um 23:15 Uhr)
Ich würd mir meinen eigenen Platz für das Flag suchen, z.B. 4CE100, oder irgendwo ein unbenutztes Byte klauen, wie z.B. Offset 5 (nach der Scene, die nur als Byte und nicht als DWord verwendet wird) in TLcfgSystem, also [[4CDC7C]]+5.
Dann würde ich das richtige UpdateEvents (wenn nötig) einfach bei 4903AB machen, also nachdem die Scene geupdated, aber noch nicht gedrawt wurde (weil letzteres vom Maker ja auch geskipt werden kann wenn ersteres zu lange gedauert hat).
Ich werd das bei Gelegenheit mal einbauen, wenn du es noch nicht gemacht hast bis dahin.
Deinen Konsens: Naja, weil du den AntiLagSwitch gemacht hast, dich also schon mit den Auswirkungen auseinandergesetzt hast, wenn man UpdateEvents nicht aufruft, und daher, sollte meine Idee fehlerhaft sein, was gesagt hättest
@all: Kann mir mal wer ein Spiel verlinken was derbe laggt (und zwar nicht wegen Show Picture)? Ein Real Life Example wär praktisch.
Btw, ich frag mich ja auch woran es liegt, dass das Rotieren von größeren Pictures so extrem laggt. Ich vermute ja, dass sich der Frameskip-Mechanismus da selber ein Ei legt, sobald das Updaten länger dauert als 1/60 Sekunde (weil es das ja jedes Frame braucht).
--
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.09.2014 um 06:34 Uhr)
... du meinst sicher das Byte neben der GameScene, welche durch den [MainPtr]+4 dargestellt wird?
Wenn nicht, dafür sind die 90 90 da. GameScene auf [+4] wird sowieso überall als BytePtr gesetzt/abgefragt bzw. mit zero extend für jmp off_4...[eax*4] ausgelesen.
Eine nicht so schwachsinnige Version.
UpdateEvents setzt eine Byte_flag und in sub_4A35D0 wird dann die flag wieder = false gesetzt und das eigentliche UpdateEvents durchgeführt (ohne nach dem ersten EventBefehl zu blockieren).
Frag mal Itaju, ob er noch den Downloadlink der semi-aktuellen Version von AtV hat.
Oder copy&paste dir ein paar dutzend Events mit 100 EventPages (zählt dann als ca. 50 Events) zusammen und einige hundert mal inc(Var1) in einem parallel process.
Geändert von bugmenot (09.09.2014 um 10:24 Uhr)
Ja, sollte alles beschreibbar sein... was crasht da bei dir?
--
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
Alone - Cold Winter und Eternal Legends 2. Allerdings ist ersteres mit Molebox verschlüsselt (deswegen auch die Ruckler) und bei letzterem kommt es auf den PC an, von welchem es gestartet wird. Bei einigen laggt es sich langsam bis zur Unspielbarkeit, bei anderen passiert garnix.Zitat von Cherry
Ansonsten fallen mir keine Spiele ein, die stark ruckeln.
--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
Also ich hab nicht probiert, ob das mit diesem neuen Antilag-Patch Probleme verursacht, aber eine Situation würde mir einfallen, wo man zwischendurch neu evaluieren muss:
Ausgabe muss sein: AC, das parallele Event bricht sofort ab, sobald eine andere Bedingung erfüllt ist.
Wenn Seite 1 nen anderer Typ ist, ist die Ausgabe immer "ABC".
Das Verhalten weicht übrigens beim XP und neuer ab, da ist die Ausgabe auch bei parallelen Events "ABC", ist also ne 2k/3-Besonderheit.
Ohne Patch: AC
Mit Patch: ABC
Mit Patch mit [0.0 Wait] vor B: AC
Inwiefern?
Wieder zum Ausgangszustand des "alle Events abklappern, wo Eventbedingungen erfüllt sein könnten und viele Frameeinbrüche verursachen" zurück?
Einen CommentCommand @Update für einen erzwungenen Eventupdate einführen? (wovon ältere Spiele dann nichts haben)
Sich darüber aufregen wie dämlich es sich anhört, den Code für irgendeine Funktion auf mehrere EventPages zu verteilen statt irgendwo intern zu verschachteln oder <CallEvent> richtig zu nutzen?
Edit:
"EventUpdate(Global)" = 1x je Frame, updatet jedes Event auf der Map nach einem Eventbefehl
und
"EventUpdate(Local)" = nach jedem einzelnen Eventbefehl, updatet nur das Event, aus dem der Befehl hervorgeht (+eigene EventPages)
?
Geändert von bugmenot (08.09.2014 um 20:03 Uhr)