Revolution Patch: Unterschied zwischen den Versionen
Zeile 87: | Zeile 87: | ||
==Funktionsaufrufe== | ==Funktionsaufrufe== | ||
Wenn Variable #3361 auf einen Wert gesetzt wird, wird eine Funktion ausgelöst, die an diesen Wert gekoppelt ist. Je nach gewählter Funktion ist eine zuvor durchgeführte Angabe von bis zu neun Parametern in Variablen ab #3362 notwendig. | Wenn Variable #3361 auf einen Wert gesetzt wird, wird eine Funktion ausgelöst, die an diesen Wert gekoppelt ist. Je nach gewählter Funktion ist eine zuvor durchgeführte Angabe von bis zu neun Parametern in Variablen ab #3362 notwendig. | ||
+ | |||
+ | Einige Funktionen arbeiten mit Kommazahlen, die in zwei Parameter-Variablen aufgeteilt werden. Dabei gibt die erste den Teil vor, die zweite den hinter dem Komma an. Auf beiden Seiten sind bis zu 7 Stellen möglich (123 und 4567000 bspw. würden zusammen <code>123,4567</code> ergeben). | ||
<table><tr><td style="vertical-align: top;"> | <table><tr><td style="vertical-align: top;"> | ||
Zeile 105: | Zeile 107: | ||
|} | |} | ||
</td><td style="vertical-align: top;"> | </td><td style="vertical-align: top;"> | ||
− | {| class="wikitable" | + | {| class="wikitable" style="margin-right: 16px;" |
!colspan="2"|Spezielle Eventoid-IDs | !colspan="2"|Spezielle Eventoid-IDs | ||
|- | |- | ||
Zeile 118: | Zeile 120: | ||
|'''10005'''||Aktuelles Event | |'''10005'''||Aktuelles Event | ||
|} | |} | ||
− | </tr></table> | + | </td><td style="vertical-align: top;"> |
+ | {| class="wikitable" | ||
+ | !colspan="2"|Beispiele für Zahlen-Platzhalter | ||
+ | |- | ||
+ | |'''%6d'''||Bis zu sechsstellige Zahl (rechts)<br />(1234 = <code> 1234</code>) | ||
+ | |- | ||
+ | |'''%-6d'''||Bis zu sechsstellige Zahl (links)<br />(1234 = <code>1234 </code>) | ||
+ | |- | ||
+ | |'''%.6d'''||Immer mindestens sechsstellige Zahl<br />(1234 = <code>001234</code>) | ||
+ | |} | ||
+ | </td></tr></table> | ||
{| class="wikitable" style="width: 100%; font-size: 0.85em;" | {| class="wikitable" style="width: 100%; font-size: 0.85em;" | ||
Zeile 161: | Zeile 173: | ||
|19||SkipMessage||Überspringt den momentanen Nachrichtentext, falls vorhanden. | |19||SkipMessage||Überspringt den momentanen Nachrichtentext, falls vorhanden. | ||
|- | |- | ||
− | |20||GetStringLength||Speichert in Variable #3362 die Länge der angegebenen Zeichenkette vom Typ aus selbiger | + | |20||GetStringLength||Speichert in Variable #3362 die Länge der angegebenen Zeichenkette vom Typ aus selbiger mit der ID aus Variable #3363. |
|- | |- | ||
|21||OpenCustomWindow|| | |21||OpenCustomWindow|| | ||
Zeile 211: | Zeile 223: | ||
|44||BetterGetEventID||Listet ab der Variable mit der ID aus #3364 alle Eventoiden auf, die sich auf der Position aus #3362 (X) und #3363 (Y) befinden (Ende: 0). | |44||BetterGetEventID||Listet ab der Variable mit der ID aus #3364 alle Eventoiden auf, die sich auf der Position aus #3362 (X) und #3363 (Y) befinden (Ende: 0). | ||
|- | |- | ||
− | |45||EvalHeroName|| | + | |45||EvalHeroName||Ersetzt Zahlenplatzhalter im Namen des in Variable #3362 angegebenen Helden durch die Werte von Variablen, auf die ab #3363 verwiesen wird. |
|- | |- | ||
− | |46||CopyStringToHeroName|| | + | |46||CopyStringToHeroName||Ersetzt den Namen des in Variable #3362 angegebenen Helden durch die in #3363 (Stringtyp) und #3364 (ID) angegebene Zeichenkette. |
|- | |- | ||
− | |47||AddCharToHeroName|| | + | |47||AddCharToHeroName||Hängt das Zeichen mit dem ANSI-Code aus Variable #3363 an das Ende des Namens vom in #3362 angegebenen Helden. |
|- | |- | ||
− | |48||GetCharFromHeroName|| | + | |48||GetCharFromHeroName||Speichert in Variable #3364 den ANSI-Code des Zeichens im Namen des in #3362 angegebenen Helden an der Stelle aus #3363. |
|- | |- | ||
− | |49||CatHeroName|| | + | |49||CatHeroName||Kopiert den Namen des in Variable #3363 angegebenen Helden an das Ende des Namens von jenem aus #3362. |
|- | |- | ||
|50||GetCameraPos||Speichert die Position des aktuellen Ausschnitts vom Mapbildschirm pixelgenau in Variable #3362 (X) und #3363 (Y). | |50||GetCameraPos||Speichert die Position des aktuellen Ausschnitts vom Mapbildschirm pixelgenau in Variable #3362 (X) und #3363 (Y). | ||
Zeile 225: | Zeile 237: | ||
|51||SetCameraPos||Ändert die Position des aktuellen Ausschnitts vom Mapbildschirm pixelgenau auf die Position aus Variable #3362 (X) und #3364 (Y). | |51||SetCameraPos||Ändert die Position des aktuellen Ausschnitts vom Mapbildschirm pixelgenau auf die Position aus Variable #3362 (X) und #3364 (Y). | ||
|- | |- | ||
− | |52||SquareRoot|| | + | |52||SquareRoot||Speichert die [[wikipedia:de:Quadratwurzel|Quadratwurzel]] aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen. |
|- | |- | ||
− | |53||Sine|| | + | |53||Sine||Speichert den [[wikipedia:de:Sinus_und_Kosinus|Sinus (SIN)]] aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen. |
|- | |- | ||
− | |54||Cosine|| | + | |54||Cosine||Speichert den [[wikipedia:de:Sinus_und_Kosinus|Kosinus (COS)]] aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen. |
|- | |- | ||
− | |55||Tangent|| | + | |55||Tangent||Speichert den [[wikipedia:de:Tangens_und_Kotangens|Tangens (TAN)]] aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen. |
|- | |- | ||
− | |56||FloatAdd|| | + | |56||FloatAdd||Addiert die aus Variable #3364 und #3365 kombinierte Kommazahl auf die aus #3362 und #3363. |
|- | |- | ||
− | |57||FloatSubtract|| | + | |57||FloatSubtract||Subtrahiert die aus Variable #3364 und #3365 kombinierte Kommazahl von der aus #3362 und #3363. |
|- | |- | ||
− | |58||FloatMultiply|| | + | |58||FloatMultiply||Multipliziert die aus Variable #3362 und #3363 kombinierte Kommazahl mit der aus #3364 und #3365. |
|- | |- | ||
− | |59||FloatDivide|| | + | |59||FloatDivide||Dividiert die aus Variable #3362 und #3363 kombinierte Kommazahl durch die aus #3364 und #3365. |
|- | |- | ||
|60||IsEnemyHidden|| | |60||IsEnemyHidden|| |
Version vom 29. November 2023, 00:33 Uhr
Revolution Patch |
---|
Kein Bild verfügbar | |
Erstellt von | Cherry |
Betriebssystem | Windows |
Für Maker/Engine | RPG Maker 2003 1.08 |
Sprache | - |
Aktuelle Version | |
Veröffentlichung | 6. Juni 2011 |
Herunterladen | revpreview.rar |
Revolution Patch ist eine von Cherry modifizierte, jedoch nie fertiggestellte RPG_RT.exe vom RPG Maker 2003 1.08, die eine Vielzahl neuer Features hinzufügt, die teilweise über Switches (#3361~4100) und Variablen (#3371~3400) gesteuert werden. Damit das Programm lauffähig ist, wird revhelper.dll im Spielordner benötigt.
Eine frühe Vorabversion zum Testen erschien am 6. Juni 2011. Der Ersteller selbst bezeichnete den Patch einige Zeit später als falschen Ansatz und widmete sich anschließend der Entwicklung des Pluginsystems DynRPG, ebenfalls für die gleiche Makerversion.
Darstellungsreihenfolge
Der Reihenfolge, in der in jedem Frame verschiedene Arten von Grafiken auf den Bildschirm gezeichnet werden, werden zwischen den einzelnen Kategorien eine Reihe festgelegter Bereiche aus Picture-IDs hinzugefügt. Als beständig gekennzeichnete Picture-Bereiche werden bei einem Mapwechsel nicht gelöscht.
Auf dem Mapbildschirm
|
Auf dem Kampfbildschirm
|
Spezielle Switches
- Switch #3366 pausiert sämtliche Bewegungsrouten auf eventoiden Objekten.
- Switch #3369 blockiert die manuelle Steuerung der Spielerfigur.
- Switch #3370 ist immer ON, solange die Nachrichtentextbox offen ist.
- Switch #3371 erzwingt die Darstellung von Nachrichtentexten ohne Fenster, auch wenn die Einstellung dafür aus ist.
- Switch #3372 deaktiviert die kleine zusätzliche Texteinrückung von Auswahlmöglichkeiten.
- Switch #3373 reduziert die Breite des Rahmens von Auswahlmöglichkeiten auf das Nötigste.
Tastatur und Maus
Wird Variable #3371 durch den entsprechenden Eventbefehl auf 0 gesetzt, wird daraufhin ermittelt, ob derzeit eine Taste auf der Tastatur gedrückt wird, und - falls dies der Fall ist - selbige Variable mit der erstbesten, dazugehörigen VirtualKey-ID überschrieben. Zu den möglichen Werten gehören dabei unter anderem auch die Maustasten (Links: 1, Mitte: 4, Rechts: 2).
Wird die gleiche Variable stattdessen auf einen positiven Wert gesetzt, gilt diese Überprüfung nur für die Taste mit der entsprechenden VirtualKey-ID. Falls die Taste nicht gedrückt wird, wird der Variable der Wert 0 zugewiesen.
Die aktuelle Position des Mauszeigers relativ zum Spielfenster wird dauerhaft in den Variablen #3372 (X) und #3373 (Y) hinterlegt und kann darüber abgefragt werden.
Textüberwachung
Variable #3391 und #3392 enthalten den Bytecode der je nach Tempo bis zu zwei im aktuellen Frame ins Nachrichtentextfenster hinzugefügten Zeichen (0 falls nicht zutreffend). Die Variablen #3393 und #3394 geben an, in welcher Zeile und Spalte sich der Nachrichtentext-Prozess derzeit befindet. Variable #3395 enthält die horizontale Position der Zeichen (relativ zum linken Rand der Textbox), #3396 die zuletzt genutzte Textfarbe, #3397 das Schreibetempo.
Sonstige Anpassungen
- Sobald ein Fehler auftritt, wird das Spiel nicht geschlossen, sondern resettet.
- Falls eine angeforderte Grafikdatei nicht vorhanden ist, wird ein Dummy generiert, auf dem der Dateiname geschrieben steht.
- F11 öffnet jederzeit im TestPlay-Modus das Dateimenü im Speichermodus.
- Picture-Befehle können auch benutzt werden, während die Nachrichtentextbox geöffnet ist.
- Der Befehl zum Eingeben einer Zahl, die anschließend in einer Variable gespeichert wird, zeigt zu Beginn den derzeitigen Wert der gewählten Variable an.
- Nachrichtentexte und Auswahlmöglichkeiten können mehr als vier Zeilen enthalten (revmsgedit.exe wird benötigt).
- Wird versucht, eine Auswahl abzubrechen, für die kein Abbruchsfall definiert wurde, ertönt der Buzzer-Sound.
Fensterverwaltung
Mit den Funktionen (siehe "Funktionsaufrufe") #21~37 können eigene Systemgrafik-Fenster erstellt, befüllt, angezeigt und verwaltet werden.
Funktionsaufrufe
Wenn Variable #3361 auf einen Wert gesetzt wird, wird eine Funktion ausgelöst, die an diesen Wert gekoppelt ist. Je nach gewählter Funktion ist eine zuvor durchgeführte Angabe von bis zu neun Parametern in Variablen ab #3362 notwendig.
Einige Funktionen arbeiten mit Kommazahlen, die in zwei Parameter-Variablen aufgeteilt werden. Dabei gibt die erste den Teil vor, die zweite den hinter dem Komma an. Auf beiden Seiten sind bis zu 7 Stellen möglich (123 und 4567000 bspw. würden zusammen 123,4567
ergeben).
|
|
|
Funktionsname | Auswirkung und Anmerkungen | |
---|---|---|
1 | GetTurn | Speichert den Kampfrundenzähler des Kampfteilnehmers aus Variable #3362 in selbiger. |
2 | SetTurn | Ändert den Kampfrundenzähler des Kampfteilnehmers aus Variable #3362 auf den Wert von #3363. |
3 | GetTurnUsedFlag | |
4 | SetTurnUsedFlag | |
5 | SetBattleLayout | Ändert die Kampfbildschirmlayout-Einstellung auf den Wert aus Variable #3362. |
6 | SetWindowSize | Ändert die Fenstergrößen-Einstellung im Kampfbildschirm auf den Wert aus Variable #3362. |
7 | SetWindowTransparency | Ändert die Einstellung für Fensterdurchlässigkeit auf den Wert aus Variable #3362. |
8 | GetPartyMember | Speichert die ID des Helden im PartySlot aus Variable #3362 in selbiger. |
9 | GetATBValue | |
10 | SetATBValue | |
11 | GetEnemyID | Speichert die ID des Gegners im TroopSlot aus Variable #3362 in selbiger. |
12 | GetFullScreenFlag | Speichert in Variable #3362, ob der Vollbildmodus aktiv ist oder nicht. |
13 | GetLargeWindowFlag | Speichert in Variable #3362, ob das Spielfenster auf einfach oder doppelt eingestellt ist. |
14 | GetTotalPlayingTime | Speichert die bisher gemessene Spielzeit (bzw. den FrameCounter) in Variable #3362. |
15 | SetKeyAssignment | Ändert die dem GameButton in Variable #3363 zugewiesene Taste auf den Wert aus #3362. |
16 | GetATBMode | Speichert die ATB-Modus-Einstellung in Variable #3362. |
17 | SetATBMode | Ändert die ATB-Modus-Einstellung auf den Wert aus Variable #3362. |
18 | GetSkillMP | Speichert den MP-Verbrauch des Skills aus Variable #3362 in selbiger. |
19 | SkipMessage | Überspringt den momentanen Nachrichtentext, falls vorhanden. |
20 | GetStringLength | Speichert in Variable #3362 die Länge der angegebenen Zeichenkette vom Typ aus selbiger mit der ID aus Variable #3363. |
21 | OpenCustomWindow | |
22 | CloseCustomWindow | |
23 | ClearCustomWindow | |
24 | IsCustomWindowOpen | |
25 | HasCustomWindowOpeningFinished | |
26 | SetCustomWindowMode | |
27 | SetCustomWindowBackgroundTransparency | |
28 | SetCustomWindowChoicesCount | |
29 | SetCustomWindowChoicesColumns | |
30 | SetCustomWindowChoicesPerPage | |
31 | SetCustomWindowSelPos | |
32 | SetCustomWindowSelSize | |
33 | SetCustomWindowChoiceDefault | |
34 | SetCustomWindowChoiceResultVar | |
35 | GetCustomWindowChoice | |
36 | GetCustomWindowScrollPos | |
37 | SetCustomWindowChoice | |
38 | GetEventLayer | Speichert die Prioritätsebene (0/1/2) des Eventoiden mit der ID aus Variable #3362 in selbiger. |
39 | SetEventLayer | Setzt die Prioritätsebene (0/1/2) des Eventoiden mit der ID aus Variable #3362 auf den Wert von #3363. |
40 | GetBattlerPos | Speichert die Position des angegebenen Kampfteilnehmers aus Variable #3362 in #3363 (X) und #3364 (Y). |
41 | SetBattlerPos | Setzt die Position des angegebenen Kampfteilnehmers aus Variable #3362 auf die Werte von #3363 (X) und #3364 (Y). |
42 | DoesEventExist | Speichert in Variable #3362, ob ein Event mit der in selbiger angegebenen ID existiert. |
43 | SetEventPositionOffset | Verschiebt die Grafik des Eventoiden mit der ID aus Variable #3362 pixelgenau auf das Offset in #3363 (X) und #3364 (Y). |
44 | BetterGetEventID | Listet ab der Variable mit der ID aus #3364 alle Eventoiden auf, die sich auf der Position aus #3362 (X) und #3363 (Y) befinden (Ende: 0). |
45 | EvalHeroName | Ersetzt Zahlenplatzhalter im Namen des in Variable #3362 angegebenen Helden durch die Werte von Variablen, auf die ab #3363 verwiesen wird. |
46 | CopyStringToHeroName | Ersetzt den Namen des in Variable #3362 angegebenen Helden durch die in #3363 (Stringtyp) und #3364 (ID) angegebene Zeichenkette. |
47 | AddCharToHeroName | Hängt das Zeichen mit dem ANSI-Code aus Variable #3363 an das Ende des Namens vom in #3362 angegebenen Helden. |
48 | GetCharFromHeroName | Speichert in Variable #3364 den ANSI-Code des Zeichens im Namen des in #3362 angegebenen Helden an der Stelle aus #3363. |
49 | CatHeroName | Kopiert den Namen des in Variable #3363 angegebenen Helden an das Ende des Namens von jenem aus #3362. |
50 | GetCameraPos | Speichert die Position des aktuellen Ausschnitts vom Mapbildschirm pixelgenau in Variable #3362 (X) und #3363 (Y). |
51 | SetCameraPos | Ändert die Position des aktuellen Ausschnitts vom Mapbildschirm pixelgenau auf die Position aus Variable #3362 (X) und #3364 (Y). |
52 | SquareRoot | Speichert die Quadratwurzel aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen. |
53 | Sine | Speichert den Sinus (SIN) aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen. |
54 | Cosine | Speichert den Kosinus (COS) aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen. |
55 | Tangent | Speichert den Tangens (TAN) aus einer aus Variable #3362 und #3363 kombinierten Kommazahl in selbigen. |
56 | FloatAdd | Addiert die aus Variable #3364 und #3365 kombinierte Kommazahl auf die aus #3362 und #3363. |
57 | FloatSubtract | Subtrahiert die aus Variable #3364 und #3365 kombinierte Kommazahl von der aus #3362 und #3363. |
58 | FloatMultiply | Multipliziert die aus Variable #3362 und #3363 kombinierte Kommazahl mit der aus #3364 und #3365. |
59 | FloatDivide | Dividiert die aus Variable #3362 und #3363 kombinierte Kommazahl durch die aus #3364 und #3365. |
60 | IsEnemyHidden | |
61 | SetBattlerAnimation | |
62 | ShowDamage | |
63 | GetRow | |
64 | SetRow | |
65 | SetPicture | |
66 | SetGlobalEventSpeed | |
67 | SetEventSpeed | |
68 | SetEventFrame | |
69 | SetEventPlace | |
70 | MoveCamera | |
71 | HideEnemy | |
72 | GetNumberOfEnemies | |
73 | GetPicturePalette | |
74 | SetPicturePalette | |
75 | GetPicturePixel | |
76 | SetPicturePixel | |
77 | FillPictureRect | |
78 | CopyPictureRect | |
79 | DrawPictureLine | |
80 | GetPictureDimensions | |
81 | IsMessageWaiting | |
82 | DoesEventPageExist | |
83 | SetChuckNorrisMode | |
84 | SimulateKeyPress |