Vehicle: Unterschied zwischen den Versionen

Aus Makerpendium.de
(SetVehicleLocation und interessante Eigenheiten)
 
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
''SetVehicleLocation'' ist ein [[Event]]-Befehl des [[RPG Maker 2000]] und [[RPG Maker 2003]]. Mit ihm kann die Position und die [[Maps|Map]] von in den [[RPG Maker]] eingebauten [[Vehicle|Fahrzeugen]] geändert werden. Der Befehl funktioniert auch, wenn die [[Party]] innerhalb des Fahrzeugs ist.
+
__NOTOC__
 +
'''Vehicle''' ist eine spezielle Form von [[Eventoid|Interaktionsobjekten]] auf [[Mapping|Maps]] neben gewöhnlichen [[Event]]s, die es in den meisten [[RPG Maker|RPG-Maker]]-Versionen für PC gibt. Seit dem [[RPG Maker 2000]] existieren mit Ausnahme von [[RPG Maker XP|RPGXP]] durchgehend mit je einem ''Boot'', ''Schiff'' und ''Flugschiff'' insgesamt drei Arten dieser auf Deutsch meist ''"Fahrzeuge"'' genannten Objekte. In sie einzusteigen, sowie sie wieder zu verlassen, wird genau wie das Ansprechen von Events mit der primären Aktionstaste ausgelöst.
  
== Teleportation mit Party im Fahrzeug ==
+
Die Aufgabe der beiden erstgenannten Fahrzeuge ist, die Spielerfigur über Wasserabschnitte auf einer ''Weltkarte'' zu führen, häufig wird dem ''Boot'' dabei verwehrt, sich über tiefe Gewässer zu bewegen, während das ''Flugschiff'' (manchmal auch als ''Heißluftballon'' oder ''Drache'' dargestellt) sich über alle oder die meisten Oberflächen bewegen kann und für gewöhnlich um einiges schneller unterwegs ist. Der Zweck vom ''Boot'' oder ''Schiff'' ist jedoch nicht auf Wasser beschränkt, in einigen Fällen werden sie in Spielen auch als Landfahrzeuge wie Autos oder Panzer verwendet.
  
Wenn ein Teleport auf eine andere Map durchgeführt wird, während die Party im Fahrzeug ist, stürzt [[RPG_RT.exe]] in der Regel ab. Wenig bekannt ist, dass unter gewissen Bedingungen, ein Teleport auch mit Party im Fahrzeug (Vehicle-Teleport) möglich ist:
+
==RPG Maker 2000/2003==
 +
Im RPG Maker 2000 und [[RPG Maker 2003|2003]] können jedem [[Terrain]] Eigenschaften dafür zugewiesen werden, welche Fahrzeuge sich auf ihnen bewegen dürfen und ob dem Flugschiff erlaubt ist, auf ihnen zu landen.
  
* Wenn ein [[Common Event]] den Vehicle Teleport durchführt, funktioniert er immer
+
===Teleport mit Fahrzeug===
* Wenn ein [[Event|Map Event]] den Vehicle Teleport durchführt, darf es kein paralleler Prozess sein und die Event ID am Anfang des Callstacks (also die ID des Map Events bei dem die Eventausführung losging, CallEvent fügt z.B. neue Events dem Callstack hinzu) muss auf der Zielmap existieren.
 
  
== Vehicle-Teleport vs. Normaler Teleport ==
+
Wird der Eventbefehl zum Setzen einer Fahrzeugposition bei dem Vehicle angewendet, in dem sich die Spielerfigur gerade befindet, stürzt die [[RPG_RT.exe]] in der Regel ab, wenn diese Änderung zu einem Mapwechsel führt. Wenig bekannt ist jedoch, dass unter gewissen Bedingungen ein Teleport auch mit Party im Fahrzeug möglich ist:
 +
*Diese Art von [[Teleport]] funktioniert aus einem [[CommonEvent]] heraus grundsätzlich immer.
 +
*Ein ''MapEvent'', das diesen Teleport durchführt, darf kein ''Paralleler Prozess'' sein, zudem muss ein Event mit der gleichen ID wie das, das den aktuellen Event-CallStack ausgelöst hat, auf der Zielmap existieren.
  
* Es findet kein Fade-In/Fade-Out statt
+
Wird eine dieser Bedingungen erfüllt, treten folgende Eigenheiten gegenüber einem normalen Teleport auf:
* Im Gegensatz zu einem normalen Teleport wird nicht die Eventausführung unterbrochen, dann die Map geladen und die Eventausführung fortgesetzt, sondern der Mapwechsel ist sofort, d.h. der nächste Befehl wird noch im selben Frame ausgeführt.
+
*Es finden keine Übergänge ''(FadeIn, FadeOut)'' statt.
* Ein normaler Teleport setzt die ID von noch laufenden Events der alten Map auf 0, hier bleibt aber die ID erhalten, d.h. ThisEvent-Referenzen funktionieren weiterhin.
+
*Normalerweise wird die Eventausführung unterbrochen, dann die neue Map geladen und die Eventausführung fortgesetzt, hier wird jedoch der Mapwechsel sofort ausgeführt, d.h. der nächste Befehl wird noch im selben Frame verarbeitet.
* [[Pictures|Picture]] werden nicht gelöscht, dies ist somit eine Möglichkeit, ohne aktuelle RPG Maker 2003 Version Pictures beim Mapwechsel nicht zu verlieren.
+
*Ein normaler Teleport setzt die ID von noch laufenden Events der alten Map auf 0, hier bleibt die ID jedoch erhalten, d.h. ''ThisEvent''-Referenzen funktionieren weiterhin.
 +
*''Pictures'' werden nicht gelöscht, dies ist somit eine Möglichkeit, ohne [[RPG Maker 2003: Changelog|aktuelle RPG-Maker-2003-Version]] Pictures beim Mapwechsel nicht zu verlieren.
  
== Vehicle-Teleport mit Vehicle -1 ==
+
===Fahrzeug-ID -1===
 +
Besonders in der japanischen Community ist eine Eigenheit des Eventbefehls zum Setzen einer Fahrzeugposition verbreitet, die sich zunutze macht, dass die systeminternen Event-IDs für die Spielerfigur (10001) und Fahrzeuge (10002, 10003, 10004) direkt aufeinanderfolgen. Wird z.B. über [[TKcode]] in [[TKoolBridge]], [[TKcode Scripter]] oder einem anderen [[:Kategorie:Tool|Tool]] der Befehl so manipuliert, dass er den Index ''-1'' statt einem Wert zwischen 0 und 2 referenziert, kann mit ihm stattdessen die Position und Map der Spielerfigur schlagartig geändert werden, ohne einen ''Teleport'' durchzuführen. Ein prägnantes Beispiel ist der Musikraum im Spiel [[Yume 2kki]], welcher sehr regen Gebrauch von diesem Feature macht.
  
Besonders in der japanischen Community ist noch eine Eigenheit des Befehls verbreitet: Neben den herkömmlichen Fahrzeugen kann mit externen Tools auch das zu teleportierende Fahrzeug auf -1 gesetzt werden. In diesem Fall passiert das Folgende: Wenn die Party in keinem Fahrzeug ist, ist die ID des aktuelles Fahrzeugs -1 und dies sorgt dafür, dass die Party direkt referenziert wird, d.h. die Party kann mit diesem Befehl auch teleportiert werden, wenn sie in keinem Fahrzeug ist. Dies macht den Befehl sehr mächtig, da es die einzige Möglichkeit ist, ohne Unterbrechung durch einen normalen Teleport auf der Selben, als auch auf andere Maps zu teleportieren. Ein prägnantes Beispiel ist der Musikraum im Spiel [[Yume2kki]], welcher sehr regen Gebrauch von diesem Feature macht.
+
[[Kategorie:Technik]] [[Kategorie:RPG Maker 2000]] [[Kategorie:RPG Maker 2003]] [[Kategorie:RPG Maker VX]] [[Kategorie:RPG Maker VX Ace]] [[Kategorie:RPG Maker MV]] [[Kategorie:RPG Maker MZ]]
 
 
 
 
 
 
[[Kategorie:2000]] [[Kategorie:2003]] [[Kategorie:Event]]
 

Aktuelle Version vom 4. Mai 2024, 12:16 Uhr

Vehicle ist eine spezielle Form von Interaktionsobjekten auf Maps neben gewöhnlichen Events, die es in den meisten RPG-Maker-Versionen für PC gibt. Seit dem RPG Maker 2000 existieren mit Ausnahme von RPGXP durchgehend mit je einem Boot, Schiff und Flugschiff insgesamt drei Arten dieser auf Deutsch meist "Fahrzeuge" genannten Objekte. In sie einzusteigen, sowie sie wieder zu verlassen, wird genau wie das Ansprechen von Events mit der primären Aktionstaste ausgelöst.

Die Aufgabe der beiden erstgenannten Fahrzeuge ist, die Spielerfigur über Wasserabschnitte auf einer Weltkarte zu führen, häufig wird dem Boot dabei verwehrt, sich über tiefe Gewässer zu bewegen, während das Flugschiff (manchmal auch als Heißluftballon oder Drache dargestellt) sich über alle oder die meisten Oberflächen bewegen kann und für gewöhnlich um einiges schneller unterwegs ist. Der Zweck vom Boot oder Schiff ist jedoch nicht auf Wasser beschränkt, in einigen Fällen werden sie in Spielen auch als Landfahrzeuge wie Autos oder Panzer verwendet.

RPG Maker 2000/2003

Im RPG Maker 2000 und 2003 können jedem Terrain Eigenschaften dafür zugewiesen werden, welche Fahrzeuge sich auf ihnen bewegen dürfen und ob dem Flugschiff erlaubt ist, auf ihnen zu landen.

Teleport mit Fahrzeug

Wird der Eventbefehl zum Setzen einer Fahrzeugposition bei dem Vehicle angewendet, in dem sich die Spielerfigur gerade befindet, stürzt die RPG_RT.exe in der Regel ab, wenn diese Änderung zu einem Mapwechsel führt. Wenig bekannt ist jedoch, dass unter gewissen Bedingungen ein Teleport auch mit Party im Fahrzeug möglich ist:

  • Diese Art von Teleport funktioniert aus einem CommonEvent heraus grundsätzlich immer.
  • Ein MapEvent, das diesen Teleport durchführt, darf kein Paralleler Prozess sein, zudem muss ein Event mit der gleichen ID wie das, das den aktuellen Event-CallStack ausgelöst hat, auf der Zielmap existieren.

Wird eine dieser Bedingungen erfüllt, treten folgende Eigenheiten gegenüber einem normalen Teleport auf:

  • Es finden keine Übergänge (FadeIn, FadeOut) statt.
  • Normalerweise wird die Eventausführung unterbrochen, dann die neue Map geladen und die Eventausführung fortgesetzt, hier wird jedoch der Mapwechsel sofort ausgeführt, d.h. der nächste Befehl wird noch im selben Frame verarbeitet.
  • Ein normaler Teleport setzt die ID von noch laufenden Events der alten Map auf 0, hier bleibt die ID jedoch erhalten, d.h. ThisEvent-Referenzen funktionieren weiterhin.
  • Pictures werden nicht gelöscht, dies ist somit eine Möglichkeit, ohne aktuelle RPG-Maker-2003-Version Pictures beim Mapwechsel nicht zu verlieren.

Fahrzeug-ID -1

Besonders in der japanischen Community ist eine Eigenheit des Eventbefehls zum Setzen einer Fahrzeugposition verbreitet, die sich zunutze macht, dass die systeminternen Event-IDs für die Spielerfigur (10001) und Fahrzeuge (10002, 10003, 10004) direkt aufeinanderfolgen. Wird z.B. über TKcode in TKoolBridge, TKcode Scripter oder einem anderen Tool der Befehl so manipuliert, dass er den Index -1 statt einem Wert zwischen 0 und 2 referenziert, kann mit ihm stattdessen die Position und Map der Spielerfigur schlagartig geändert werden, ohne einen Teleport durchzuführen. Ein prägnantes Beispiel ist der Musikraum im Spiel Yume 2kki, welcher sehr regen Gebrauch von diesem Feature macht.