Einleitung

Was ist der DestinyPatch?

Der DestinyPatch ist eine von Bananen-Joe geschaffene Erweiterung für den RPG-Maker der Firma Enterbrain. Bei dieser Erweiterung handelt es sich nicht um eine offizelle Erweitung der Firma Enterbrain.

Der DestinyPatch ist hierbei in zwei Teile aufgeteilt:
  1. DestinyPatcher
    Das ist das Programm mit dem die RPG_RT (also die EXE des RPG-Maker Spiels) bearbeitet werden kann.
  2. DestinyScript
    Das ist die Skriptsprache des DestinyPatches, welche durch die Destiny.dll bereitgestellt wird.

Was kann der DestinyPatch?

Der DestinyPatch ermöglicht es zum einen die RPG_RT (das ist die EXE des RPG-Maker Spiels) umzugestalten. So können zum Beispiel die Tastenbelegung, der Standardfenstermodus, die Anzahl der Bilder, usw. bearbeitet werden. Hierfür wird der "DestinyPatcher" verwendet.
Zum Anderen erweitert der DestinyPatch die RPG_RT um eine Skriptsprache, welche Funktionen wie Gleitkommaberechnung, Bildbearbeitung, Internetkommunikation, Dateibearbeitung, Aufrufen der RPG-Maker Funktionen, usw. bereitstellt. Hierfür wird die Skriptsprache "DestinyScript" (enthalten in der Destiny.dll) verwendet.

Wie funktioniert der DestinyPatch?

Der DestinyPatch besteht wie bereits genannt aus zwei Teilen: dem DestinyPatcher und der Destiny.dll.
Der DestinyPatcher ist der Teil des Patches, welcher vom Spieleentwickler dazu genutzt wird, die RPG_RT so zu modifizieren, dass diese die Destiny.dll lädt. Die Destiny.dll wird anschließend von der RPG_RT benutzt um die Skriptsprache auszuwerten.

Grafisch dargestellt sähe eine Entwicklung eines Spiels ohne DestinyPatch in etwa so aus:

Schema zur Entwicklung eines Spiels ohne DestinyPatch
Der Entwickler des Spiels verwendet den RPG-Maker, um damit ein Spiel zu erzeugen, welches später über die RPG_RT gespielt werden kann.

Mit dem DestinyPatch sieht die Entwicklung eines Spiels hingegen so aus:

Schema zur Entwicklung eines Spiels mit DestinyPatch
Der Entwickler des Spiels verwendet den RPG-Maker, um damit ein Spiel zu erzeugen, welches später über die RPG_RT gespielt werden kann (wie im Normalfall). Allerdings verwendet der Spieleentwickler zusätzlich den DestinyPatcher, um die RPG_RT nach seinen eigenen Vorstellungen zu verändern. Durch eine dieser Veränderungen verwendet die RPG_RT nun die Destiny.dll um die Skriptsprache auszuwerten.

Wichtige Hinweise zum DestinyPatch

  • Der DestinyPatch ist eine von Bananen-Joe geschaffene Erweiterung für den RPG-Maker von der Firma Enterbrain. Bei dieser Erweiterung handelt es sich nicht um eine offizelle Erweitung der Firma Enterbrain.
  • Bei der Entwicklung des Patches hat der Autor besten Wissens und Gewissens gehandelt, dennoch sind Fehler nicht auszuschließen. Daher distanziert sich der Autor von sämtlichen möglicherweise direkt oder indirekt entstehenden Schäden. Der Autor ist jedoch dankbar für jeden hilfreichen Tipp zur Beseitigung von Fehlern.
  • Der gesamte DestinyPatch ist eine kostenfreie Software. Sofern es nicht vom Autor ausdrücklich erlaubt wurde, ist jeglicher, kostenpflichtige Vertrieb illegal.
  • In dieser Hilfedatei wird teilweise auf externe Seiten (wie z. B. Wikipedia) verlinkt. Da das Internet ein sich ständig änderndes Medium ist (z. B. kann jeder Wikipediabeiträge frei bearbeiten), distanziert sich der Autor von sämtlichen extern verlinkten Inhalten. Zum Zeitpunkt der Erstellung dieser Hilfedatei waren sämtliche externe Links korrekt und unterstützten den Inhalt dieser Hilfedatei mit Erklärungen, usw. Zu späteren Zeitpunkten kann daher in dieser statischen Hilfedatei nicht auf geänderte, externe Inhalte reagiert werden.
< Zurück
Weiter >
Schnellanleitung

Einleitung


Schnellanleitung

Einbinden der Skriptsprache

  1. Starten des DestinyPatchers
    Zuerst wird der DestinyPatcher gestartet (z. B. über das Startmenü von Windows).
  2. Öffnen der RPG_RT mit dem DestinyPatcher
    Nach dem Start des DestinyPatchers wählt man im Menü Datei → Öffnen und öffnet die RPG_RT.exe des zu bearbeitenden RPG-Maker Projektes.
  3. Auswahl der Kategorie "DestinyDLL"
    In der linken Liste des DestinyPatchers wählt man den Eintrag "DestinyDLL" aus.
  4. Setzen des Häkchens "Verwendet Destiny.dll?"
    Das Häkchen "Verwendet Destiny.dll?" wird gesetzt. Die Versionsnummer sollte die neuste sein. Das Häkchen bei "MessageLink aktiviert?" sollte am besten ebenfalls gesetzt sein.
  5. Abspeichern der RPG_RT
    Die RPG_RT.exe muss abgespeichert werden um die Änderungen zu übernehmen. Hierzu wählt man im Menü Datei → Speichern.
  6. Kopieren der Destiny.dll ins Spielverzeichnis
    Um die Skriptsprache benutzen zu können muss noch die passende Destiny.dll ins Spielverzeichnis kopiert werden. Hierzu wählt man im Menü Datei → Destiny.dll kopieren.
  7. Beenden des DestinyPatchers
    Sofern der DestinyPatcher nicht mehr benötigt wird, kann dieser nun geschlossen werden.
  8. Testen der Skriptsprache
    Im RPG-Maker kann die Skriptsprache im entsprechenden Projekt getestet werden, indem man in ein Event ein Kommentar einfügt, das mit $ beginnt. Das weitere Vorgehen zur Skriptsprache kann hier nachgelesen werden.
< Zurück
Einleitung
Weiter >
DestinyPatcher

Schnellanleitung


DestinyPatcher

Was ist der DestinyPatcher?

Der DestinyPatcher ist das Program, mit dem die RPG_RT (also die EXE des RPG-Maker Spiels) bearbeitet werden kann.

Um die Skriptsprache des DestinyPatches ("DestinyScript") einmalig einzubinden muss der DestinyPatcher verwendet werden.

Aufbau des DestinyPatchers

Wurde eine RPG_RT geladen, so kann das Fenster des DestinyPatchers in etwa so aussehen:

Screenshot des DestinyPatchers mit Beschreibungen der Elemente
< Zurück
Schnellanleitung
Weiter >
Menü des Destiny-Patchers

DestinyPatcher


Menü des Destiny-Patchers

Datei-Menü

Screenshot vom Datei-Menü des DestinyPatchers

Öffnen...

Wählt eine RPG_RT zum Öffnen aus.

Speichern

Speichert die aktuell geöffnete RPG_RT ohne Sicherheitsnachfrage.

Speichern unter

Speichert die aktuell geöffnete RPG_RT unter einen anderem Dateinamen. Wird hierbei eine Datei überschrieben, dann wird zuvor gefragt, ob dies gewünscht ist.

Destiny.dll kopieren

Kopiert die verwendete Destiny.dll ins Verzeichnis der aktuell geladenen RPG_RT.

Beenden

Beenden den DestinyPatcher ohne zu speichern. Wurden Änderungen vorgenommen, dann werden diese ohne Sicherheitsabfrage verworfen.

Optionen-Menü

Screenshot vom Optionen-Menü des DestinyPatchers

Einstellungen...

Öffnet einen Dialog um die Einstellungen des DestinyPatchers zu verändern. Bislang kann in diesem Dialog nur die eingestellte Sprache verändert werden.

Screenshot vom Einstellungsdialog des DestinyPatchers

Hilfe-Menü

Screenshot vom Hilfe-Menü des DestinyPatchers

Hilfe zum DestinyPatch

Öffnet diese Hilfe hier.

Auf Update prüfen

Ruft die Website zur Destiny.dll im Standard-Browser mit den aktuellen Versionsinformationen auf. Wird eine veraltete Version des DestinyPatchers oder der Destiny.dll verwerndet, so werden einem dort Updates angeboten.

Über...

Öffnet einen Informationsdialog zum Ersteller des DestinyPatches.
< Zurück
DestinyPatcher
Weiter >
Kategorien des DestinyPatchers

Menü des Destiny-Patchers


Kategorien des DestinyPatchers

Wie im DestinyPatcher zu erkennen ist, sind die verschiedenen Einstellungsmöglichkeiten des DestinyPatchers nach Kategorien sortiert:
  • DestinyDLL
    Ermöglicht es die Destiny.dll (und somit die Skriptsprache) in das Projekt einzubinden
  • Titelbild
    Ermöglicht es Einstellungen zum Titelbild (z. B. Anzahl der Logos, Titelbild überspringen, Titelbildtaste, ...) vorzunehmen
  • Fenster
    Ermöglicht es Einstellungen zum Spielfenster (z. B. ob das Spiel im Vollbildmodus starten) vorzunehmen
  • Bilder
    Ermöglicht es Einstellungen zu den Bildern ("Pictures") (z. B. wieviele Bilder im Spiel zur Verfügung stehen) vorzunehmen
  • Tastatur
    Ermöglicht es die Tastenbelegung (nur Tastatur) des Spiels zu verändern
  • EnterHeroName
    Ermöglicht es die Namenseingabe für Helden ("EnterHeroName") zu konfigurieren und für nicht-japanische Computer zu reparieren
  • Debug
    Ermöglicht es die Einstellungen für den RPG-Maker Debug-Modus (z. B. Verfügbarkeit und Tastenbelegung) zu verändern
  • Blitting
    Ermöglicht es die Zeichenreihenfolge der verschiedenen Ebenen des RPG-Makers (z. B. BattleAnimation über Pictures) zu verändern
  • Strings
    Ermöglicht es verschiedene Strings (z. B. Dateinamen und Schriftarten) zu verändern
  • Musik
    Ermöglicht es Einstellungen zur Musikwiedergabe (z. B. ob die Harmony.dll verwendet wird) zu verändern
< Zurück
Menü des Destiny-Patchers
Weiter >
Patcher-Kategorie: DestinyDLL

Kategorien des DestinyPatchers


Patcher-Kategorie: DestinyDLL

Beschreibung

Diese Kategorie ermöglicht es die notwendigen Einstellungen zur Skriptsprache vorzunehmen. Die grundlegende Einstellung ist hierbei das Häkchen, welches angibt, ob die Destiny.dll verwendet werden soll. Ist das Häkchen nicht gesetzt, dann wird die Destiny.dll auch nicht verwendet.

Aufbau

Screenshot der Kategorie: DestinyDLL

Verwendet Destiny.dll?

Gibt an, ob die gepatchte RPG_RT die Destiny.dll (und somit die Skriptsprache) überhaupt verwendet. Ist dieses Häkchen nicht gesetzt, dann stehen die weiteren Einstellungen dieser Kategorie nicht zur Verfügung.
Information:
Man kann den DestinyPatcher auch einfach nur dazu verwenden um RPG_RTs zu bearbeiten ohne die Skriptsprache hinzuzufügen. Es besteht daher keine zwingende Notwendigkeit dazu die Skriptsprache einzubinden.
Information:
Wurde die Skriptsprache hinzugefügt, dann muss die Destiny.dll noch ins Spielverzeichnis kopiert werden. Dies kann über den entsprechenden Menüpunkt gemacht werden.

Version

Gibt die benötigte Version der Destiny.dll an. Diese Version muss im Spielverzeichnis vorhanden sein, damit das Spiel starten kann.
Achtung:
Manche Einstellungen der anderen Kategorien sind mit der Version 1.0 nicht kompatibel. Des Weiteren steht die Version 1.0 nur bei den RPG_RTs 1.0.5 und 1.0.7 des RPG-Maker 2000 zur Verfügung.

Sprache

Gibt die Sprache an, welche zum Spielstart für die Fehlermeldungen und das Dezimaltrennzeichen verwendet werden. Dieser Wert kann zur Laufzeit über Destiny.Language verändert werden. Es werden nur die Sprachen Deutsch und Englisch unterstützt.

MessageLink aktiviert?

Gibt an, ob zusätzliche Platzhalter für Nachrichtenboxen ("Show Message") freigeschaltet werden. Genaueres steht im Kapitel zum MessageLink.

Anzahl Dwords

Gibt die Anzahl der Dwords (d[]) an, welche zum Spielstart zur Verfügung stehen. Dieser Wert kann zur Laufzeit über d.ReAlloc() verändert werden.

Anzahl Floats

Gibt die Anzahl der Floats (f[]) an, welche zum Spielstart zur Verfügung stehen. Dieser Wert kann zur Laufzeit über f.ReAlloc() verändert werden.

Anzahl Strings

Gibt die Anzahl der Strings (a[]) an, welche zum Spielstart zur Verfügung stehen. Dieser Wert kann zur Laufzeit über a.ReAlloc() verändert werden.
< Zurück
Kategorien des DestinyPatchers
Weiter >
Patcher-Kategorie: Titelbild

Patcher-Kategorie: DestinyDLL


Patcher-Kategorie: Titelbild

Beschreibung

Diese Kategorie ermöglicht es die Einstellungen zum Titelbild vorzunehmen.
So ist es beispielsweise möglich das Titelbild komplett zu unterbinden und somit ein eigenes Titelbild (z. B. mit Animation) zu erstellen.

Aufbau

Screenshot der Kategorie: Titelbild

Kein Titelbild?

Gibt an, ob das Titelbild (und somit auch die Logos) übersprungen werden. Wird das Titelbild übersprungen, dann startet das Spiel direkt bei der Spielstartposition. Die Funktionen des Titelbildes können per DestinyScript nachgebildet werden:
  • Um das Spiel zu laden kann Game.Load() verwendet werden
  • Um das Spiel zu beenden kann Game.Quit() verwendet werden
Information:
Wird das Titelbild übersprungen, dann wird beim Druck der Titelbildtaste das Spiel einfach neugestartet. Ist dies ungewollt, dann muss die Titelbildtaste auf 0 - Keine gestellt werden.

Anzahl Logos

Gibt die Anzahl der Logos (= Werbeanzeigen vor dem Titelbild) an, welche vor dem Titelbild angezeigt werden. Ist dieser Wert 0, dann werden keine Logos angezeigt.

Titelbildmenü-X

Gibt die X-Koordinate des Titelbildmenüs an. Diese Koordinate bezieht sich auf den Mittelpunkt des Menüs.

Titelbildmenü-Y

Gibt die Y-Koordinate des Titelbildmenüs an. Diese Koordinate bezieht sich auf den oberen Rand des Menüs.

Titelbildtaste

Gibt die Taste an, bei dessen Druck das Spiel abgebrochen und zum Titelbild gewechselt wird. Wird das Titelbild übersprungen, dann wird beim Druck dieser Taste das Spiel neugestartet. Ist dies ungewollt, dann kann der Wert dieser Taste auf 0 - Keine gestellt werden, um die Funktion der Titelbildtaste komplett abzuschalten.

Wählen

Klickt man auf diese Schaltfläche und anschließend auf eine Auswahlliste mit Tasten (hier nur die Titelbildtaste), dann kann per Tastendruck diesen Feld die Nummer der gedrückten Taste zugewiesen werden.
< Zurück
Patcher-Kategorie: DestinyDLL
Weiter >
Patcher-Kategorie: Fenster

Patcher-Kategorie: Titelbild


Patcher-Kategorie: Fenster

Beschreibung

Diese Kategorie ermöglicht es die Einstellungen zum Fenster vorzunehmen.
So ist beispielsweise möglich einzustellen in welchem Fenstermodus das Spiel startet und welche Tasten gedrückt werden können um den Fenstermodus zu ändern.

Aufbau

Screenshot der Kategorie: Fenster

Das Spiel startet...

Mit dieser Einstellung kann ausgewählt werden in welchem Fenstermodus das Spiel startet:
  • Normal
    Das Spiel startet im Vollbildmodus, außer wenn per Startparameter etwas anderes angegeben wurde (dies ist der Normalfall)
  • im Vollbildmodus
    Das Spiel startet immer im Vollbildmodus (unabhängig von den Startparametern)
  • im Fenstermodus
    Das Spiel startet immer im Fenstermodus (unabhängig von den Startparametern)
  • im Minifenstermodus
    Das Spiel startet immer im Minifenstermodus (unabhängig von den Startparametern)

Fenster-Taste

Gibt die Taste an, mit welcher zwischen Vollbild- und Fenstermodus gewechselt werden kann.

Minifenster-Taste

Gibt die Taste an, mit welcher zwischen Fenstermodus- und Minifenstermodus gewechselt werden kann.

[Alt]+[Enter] wechselt zwischen Vollbild- und Fenstermodus?

Gibt an, ob die Tastenkombination [Alt]+[Enter] ebenfalls zwischen Vollbild- und Fenstermodus wechselt.

Spiel läuft ohne Fokus weiter?

Gibt an, ob das Spiel weiterläuft, wenn es im Fenstermodus den Fokus verliert (z. B. wenn man ein anderes Programm anklickt). Diese Option sollte bei Spielen, die das Internet/Netzwerk benutzen, unbedingt aktiviert werden. Im Normalfall würde das Spiel einfrieren, wodurch ankommende Datenpakete nicht empfangen werden können.

Wählen

Klickt man auf diese Schaltfläche und anschließend auf eine Auswahlliste mit Tasten, dann kann per Tastendruck diesen Feld die Nummer der gedrückten Taste zugewiesen werden.
< Zurück
Patcher-Kategorie: Titelbild
Weiter >
Patcher-Kategorie: Bilder

Patcher-Kategorie: Fenster


Patcher-Kategorie: Bilder

Beschreibung

Diese Kategorie ermöglicht es die Einstellungen zu den Bilder ("Pictures") vorzunehmen.
So ist es beispielsweise möglich einzustellen wieviele Bilder im Spiel maximal zur Verfügung stehen.

Aufbau

Screenshot der Kategorie: Bilder

Anzahl Bilder

Gibt die maximale Anzahl an Bildern an, welche im Spiel zur Verfügung stehen.
Information:
Wurde die maximale Anzahl der Bilder geändert, dann muss auch der RPG-Maker angepasst werden, damit mehr Bilder zur Verfügung stehen.

MoveWithMap wie bei RM2003?

Gibt an, ob bei Bildern mit aktivierter MoveWithMap-Eigenschaft die Koordinaten bei dem MovePicture-Befehl wie beim RPG-Maker 2003 berechnet werden.
Ist diese Option aktiviert, so bedeutet MovePicture (mit X = 1 und Y = 0) beispielsweise dass das Bild um 1 Pixel nach rechts verschoben werden soll. Ist die Option nicht aktiviert, dann müsste man für die gleiche Aktion die ursprünglichen ShowPicture-Koordinaten nehmen und dort 1 zum X-Wert hinzuaddieren.

Farbtiefe ist...

Gibt an, welche Farbtiefe das Spiel verwendet. Dies hat lediglich Einfluss auf die Farbqualität des Spiels, nicht jedoch auf die maximale Anzahl der Farben pro Bild (256 Farben).
  • 16-Bit
    Die Farben werden im 565-Modus dargestellt (32 Rot-Stufen, 64 Grün-Stufen, 32 Blau-Stufen)
  • 32-Bit
    Die Farben werdem im XRGB-Modus dargestellt (256 Rot-Stufen, 256 Grün-Stufen, 256 Blau-Stufen)
< Zurück
Patcher-Kategorie: Fenster
Weiter >
Patcher-Kategorie: Tastatur

Patcher-Kategorie: Bilder


Patcher-Kategorie: Tastatur

Beschreibung

Diese Kategorie ermöglicht es die Tastenbelegung der Spielsteuerung (nur Tastatur) zu verändern.

Aufbau

Screenshot der Kategorie: Tastatur

Links

Gibt bis zu drei mögliche Tasten an, welche für eine Bewegung nach Links verwendet werden können.

Rechts

Gibt bis zu drei mögliche Tasten an, welche für eine Bewegung nach Rechts verwendet werden können.

Oben

Gibt bis zu drei mögliche Tasten an, welche für eine Bewegung nach Oben verwendet werden können.

Unten

Gibt bis zu drei mögliche Tasten an, welche für eine Bewegung nach Unten verwendet werden können.

Auswahl

Gibt bis zu drei mögliche Tasten an, welche für eine Auswahl verwendet werden können.

Abbrechen / Menü

Gibt bis zu acht mögliche Tasten an, welche für das Menü oder den Abbruch einer Auswahl verwendet werden können.

Null (0)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 0 verwendet werden können.

Eins (1)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 1 verwendet werden können.

Zwei (2)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 2 verwendet werden können.

Drei (3)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 3 verwendet werden können.

Vier (4)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 4 verwendet werden können.

Fünf (5)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 5 verwendet werden können.

Sechs (6)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 6 verwendet werden können.

Sieben (7)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 7 verwendet werden können.

Acht (8)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 8 verwendet werden können.

Neun (9)

Gibt beim RPG-Maker 2003 bis zu zwei mögliche Tasten an, welche für die Ziffer 9 verwendet werden können.

Addieren (+)

Gibt beim RPG-Maker 2003 eine Taste an, welche zum Addieren verwendet werden kann.

Subtrahieren (-)

Gibt beim RPG-Maker 2003 eine Taste an, welche zum Subtrahieren verwendet werden kann.

Multiplizieren (*)

Gibt beim RPG-Maker 2003 eine Taste an, welche zum Multiplizieren verwendet werden kann.

Dividieren (/)

Gibt beim RPG-Maker 2003 eine Taste an, welche zum Dividieren verwendet werden kann.

Dezimaltrennzeichen (,)

Gibt beim RPG-Maker 2003 eine Taste an, welche zum Trennen von Dezimalzeichen verwendet werden kann.

Wählen

Klickt man auf diese Schaltfläche und anschließend auf eine Auswahlliste mit Tasten, dann kann per Tastendruck diesen Feld die Nummer der gedrückten Taste zugewiesen werden.
< Zurück
Patcher-Kategorie: Bilder
Weiter >
Patcher-Kategorie: EnterHeroName

Patcher-Kategorie: Tastatur


Patcher-Kategorie: EnterHeroName

Beschreibung

Diese Kategorie ermöglicht es die Namenseingabe für Helden für nicht-japanische Computer zu reparieren und die Werte der Felder anzupassen.

Aufbau

Screenshot der Kategorie: EnterHeroName

EnterHeroName reparieren? (Bananen-Joes Methode)

Ist dieses Häkchen gesetzt, dann funktioniert das EnterHeroName auf nicht-japanischen Computern wieder. Zudem kann eine variable Zeichenlänge (1 oder 2 Zeichen) verwendet werden, was beispielsweise die Verwendung von Sonderzeichen (z. B. $A für das Schwert) ermöglicht.

Zeichensatz

Ermöglicht die Auswahl eines Standard-Zeichensatzes:
  • RM2000 - [Don Miguel]
    Verwendet den Zeichensatz, den "Don Miguel" damals bei der Übersetzung des RPG-Maker 2000 verwendet hatte
  • RM2000 - [ASCII]
    Verwendet den Zeichensatz, den die Herstellerfirma des RPG-Maker 2000 ("ASCII") ursprünglich verwendet hat
  • Deutscher Zeichensatz*
    Verwendet einen Zeichensatz mit den gängigsten Zeichen der deutschen Sprache.
    Dieser Menüeintrag ist von der eingestellten Sprache des DestinyPatchers abhängig.

Maximale Namenslänge

Dieser Wert ermöglicht es die maximale Namenslänge für einen Heldennamen bei der Eingabe festzulegen. Diese Einstellung steht nur dann zur Verfügung, wenn das EnterHeroName nach Bananen-Joes Methode repariert wurde (Häkchen oberhalb).

Standard

Ermöglicht die Eingabe der Zeichen, welche in der Namenseingabe angeboten werden. "Standard" entspricht hier der Hiragana-Seite im RPG-Maker (= erste Seite).

Erweitert

Ermöglicht die Eingabe der Zeichen, welche in der Namenseingabe angeboten werden. "Erweitert" entspricht hier der Katakana-Seite im RPG-Maker (= zweite Seite).
< Zurück
Patcher-Kategorie: Tastatur
Weiter >
Patcher-Kategorie: Debug

Patcher-Kategorie: EnterHeroName


Patcher-Kategorie: Debug

Beschreibung

Diese Kategorie ermöglicht die verschiedenen Optionen des Debug-Modus der RPG_RT zu (de-)aktivieren.

Aufbau

Screenshot der Kategorie: Debug

Testplay deaktivieren?

Ist dieses Häkchen gesetzt, dann kann der Standard-Debugmodus der RPG_RT nicht mehr genutzt werden. Unabhängig von den Spielparametern startet das Spiel dann im normalen Modus.

Debugmenü-Taste

Gibt die Taste an, mit welcher das Debugmenü (Anzeige der Variablen- und Switches) geöffnet werden kann.

"Keine Kollision"-Taste

Gibt die Taste an, mit welcher der Spieler durch Wände gehen und über Events laufen kann (ohne diese auszulösen).

"Schnelle Nachricht"-Taste

Gibt die Taste an, mit welcher der Inhalt einer Nachrichtenbox umgehend angezeigt wird (ohne Verzögerung für den Textaufbau).

"Event abbrechen"-Taste

Gibt die Taste an, mit welcher das aktuelle Event abgebrochen werden kann.

HideTitle deaktivieren?

Gibt an, ob die Option "HideTitle" deaktiviert werden soll. Ist das Häkchen gesetzt, dann kann das Titelbild durch einen Startparameter nicht mehr ausgeblendet werden.

BattleTest deaktivieren?

Gibt an, ob der BattleTest (also Testkampf gegen Monster im Standard-Kampfsystem) deaktiviert werden soll.

Wählen

Klickt man auf diese Schaltfläche und anschließend auf eine Auswahlliste mit Tasten, dann kann per Tastendruck diesen Feld die Nummer der gedrückten Taste zugewiesen werden.
< Zurück
Patcher-Kategorie: EnterHeroName
Weiter >
Patcher-Kategorie: Blitting

Patcher-Kategorie: Debug


Patcher-Kategorie: Blitting

Beschreibung

Diese Kategorie ermöglicht die Zeichenreihenfolge der verschiedenen Ebenen des RPG-Makers zu verändern.

Aufbau

Screenshot der Kategorie: Blitting

Liste

In dieser Liste sind die verschiedenen Zeichenebenen (samt aktueller Reihenfolge) aufgelistet. Folgende Einträge gibt es:
  1. Panorama
  2. Chipset, unter/gleich Held
  3. Events, unter Held
  4. Events, gleich Held
  5. Chipset, über Held
  6. Events, über Held
  7. Wettereffekt
  8. BattleAnimation
  9. Bilder
  10. Nachrichten/Timer
Die Reihenfolge der Zeichnungsebenen kann über die Pfeiltasten unter der Liste verändert werden.
Achtung:
Eine Änderung der Zeichenreihenfolge bezieht sich auf das gesamte Spiel.

Beispielgrafik

Die Beispielgrafik stellt eine Vorschau der eingestellten Zeichenreihenfolge dar. In dieser Beispielgrafik sind jedoch aus Platzgründen nicht alle Zeichenebenen zu sehen.
< Zurück
Patcher-Kategorie: Debug
Weiter >
Patcher-Kategorie: Strings

Patcher-Kategorie: Blitting


Patcher-Kategorie: Strings

Beschreibung

Diese Kategorie ermöglicht es einige der Strings der RPG_RT zu verändern. So können beispielsweise komplett andere Schriftarten ausgewählt werden.

Aufbau

Screenshot der Kategorie: Strings

Schriftart: RM2000

In dieser Auswahlliste kann die Schriftart für die Schriftartoption "RM2000" gewählt werden. Die hier ausgewählte Schriftart muss auf dem Zielsystem installiert sein.

Schriftart: RMG2000

In dieser Auswahlliste kann die Schriftart für die Schriftartoption "RMG2000" gewählt werden. Die hier ausgewählte Schriftart muss auf dem Zielsystem installiert sein.

Spieldatei: Datenbank

Hier kann der Dateiname der Spieldatenbank angegeben werden.
Achtung:
Wurde der Dateiname der Spieldatenbank umbenannt, dann muss auch die entsprechende Datei umbenannt werden, da sonst das Spiel nicht mehr starten kann.
Achtung:
Wurde der Dateiname der Spieldatenbank umgeändert, dann kann der RPG-Maker das Spiel nicht mehr öffnen. Hierzu müsste der RPG-Maker von Hand ebenfalls angepasst werden, damit das Spiel damit wieder bearbeitet werden kann.

Spieldatei: MapTree

Hier kann der Dateiname des Kartenbaums angegeben werden.
Achtung:
Wurde der Dateiname des Kartenbaums umbenannt, dann muss auch die entsprechende Datei umbenannt werden, da sonst das Spiel nicht mehr starten kann.
Achtung:
Wurde der Dateiname des Kartenbaums umgeändert, dann kann der RPG-Maker das Spiel nicht mehr öffnen. Hierzu müsste der RPG-Maker von Hand ebenfalls angepasst werden, damit das Spiel damit wieder bearbeitet werden kann.

Spieldatei: Karte

Hier kann der Dateiname der Karten des Spiels angegeben werden. Hier wird zudem ein Platzhalter für eine Ganzzahl verwendet. So bedeutet Map%4d.lmu beispielsweise, dass der Dateiname der ersten Karte Map0001.lmu heißen wird. Trägt man hier stattdessen Map%6d.lmu ein, dann würde der Dateiname der ersten Karte Map000001.lmu heißen.
Achtung:
Wurde der Dateiname der Karten des Spiels umbenannt, dann müssen auch die entsprechenden Dateien umbenannt werden, da sonst das Spiel beim Betreten einer solchen Karte abstürzt.
Achtung:
Wurde der Dateiname der Karten des Spiels umgeändert, dann kann der RPG-Maker das Spiel nicht mehr korrekt öffnen. Hierzu müsste der RPG-Maker von Hand ebenfalls angepasst werden, damit das Spiel damit wieder bearbeitet werden kann.

Spieldatei: Speicherstand

Hier kann der Dateiname der Speicherstände des Spiels angegeben werden. Hier wird zudem ein Platzhalter für eine Ganzzahl verwendet. So bedeutet Save%2d.lsd beispielsweise, dass der Dateiname des ersten Speicherstandes Save01.lsd heißen wird. Trägt man hier stattdessen Save%3d.lsd ein, dann würde der Dateiname des ersten Speicherstandes Save001.lsd heißen.
Achtung:
Wurde der Dateiname der Speicherstände des Spiels umbenannt, dann müssen auch die entsprechenden Dateien umbenannt werden, wenn die Speicherstände wiederverwendet werden sollen.
< Zurück
Patcher-Kategorie: Blitting
Weiter >
Patcher-Kategorie: Musik

Patcher-Kategorie: Strings


Patcher-Kategorie: Musik

Beschreibung

Diese Kategorie ermöglicht es die Einstellungen zur Musikwiedergabe mit der Harmony.dll zu verändern.

Aufbau

Screenshot der Kategorie: Musik

Harmony.dll zur Musikwiedergabe verwenden?

Ist dieses Häkchen gesetzt, dann wird die Harmony.dll zur Musikwiedergabe verwendet.
Information:
Dieses Häkchen kann nur dann verändert werden, wenn die Ursprungsversion der RPG_RT keine Musikwiedergabe per Harmony.dll verwendet. Dies trifft nur auf einige, wenige Versionen der RPG_RTs zu.

Dateiname der Harmony.dll

Hier kann ein anderer Dateiname der Harmony.dll eingestellt werden. Diese Einstellung steht nur dann zur Verfügung, wenn die Harmony.dll zur Musikwiedergabe verwendet wird.
< Zurück
Patcher-Kategorie: Strings
Weiter >
Aufbau der Skriptsprache

Patcher-Kategorie: Musik


Aufbau der Skriptsprache

Einleitung eines DestinyScripts

Kern des DestinyPatches ist die Erweiterung der RPG_RT um eine Skriptsprache namens "DestinyScript". Um ein solches DestinyScript zu starten, werden die Kommentar-Befehle eines Events verwendet.
Da die diese nicht nur für DestinyScripts sondern auch für "normale" Kommentare verwendet werden können, beginnen alle DestinyScripts mit einem Dollar-Zeichen ([Umschalt] + [4] → $). Dieses Symbol wurde gewählt, da es einem S ähnlich sieht und das Wort Script mit S beginnt. Wichtig ist hierbei, dass das erste Zeichen des Event-Kommentars das $-Zeichen sein muss! Es dürfen also auch keine Leerzeichen vorher vorkommen, da das Event-Kommentars sonst nicht als DestinyScript interpretiert wird.
Information:
Wenn ein Event-Kommentar des RPG-Makers ein "normales" Kommentar sein soll, aber mit einem $-Zeichen beginnt, dann wird es immer als DestinyScript interpretiert (was unter Umständen Fehlermeldungen verursachen kann). In diesem Fall kann man das Problem lösen, indem man einfach ein Leerzeichen vor das $-Zeichen schreibt, wodurch das $-Zeichen nicht mehr das erste Zeichen des RPG-Maker Kommentars ist.

Beispiel

Als erstes Beispiel soll einer Variablen ein Wert zugewiesen werden.

Hierzu wird ein neues (und leeres (!)) RPG-Maker Projekt erstellt (es wird davon ausgegangen, dass die Standard-Spieldatenbank verwendet wird). Nachdem das Projekt erstellt wurde, muss die RPG_RT mit dem DestinyPatcher so bearbeitet werden, dass diese die Destiny.dll verwendet (Version: 2.0, Sprache: Deutsch, MessageLink: aktiviert, Anzahl Dwords: 100, Anzahl Doubles: 100, Anzahl Strings: 100). Zudem muss die Destiny.dll der verwendeten Version ins Spielverzeichnis kopiert werden (Menüpunkt "Datei → Destiny.dll kopieren" im Menü des DestinyPatchers).

Nachdem das Projekt erzeugt wurde, wird ein neues Event hinzugefügt (dieses sollte sichtbar und ansprechbar sein).
In dieses Event wird ein Kommentar hinzugefügt und folgendes DestinyScript hineinkopiert:

In die Zwischenablage kopieren
1 2
$ v[1] = 5;

Einfügen eines DestinyScripts
Die Grafik kann von der verwendeten RPG-Maker Version (Sprache, Maker, individuelle Änderungen, ...) abweichen.

Unter dieses Kommentar soll nun eine Nachrichtenausgabe eingefügt werden, welche den Inhalt der ersten Variablen ausgibt (z. B. "Variable 1 hat den Wert \v[1]").

Wird dieses Event nun im Spiel aufrufen, dann erhält man folgendes Ergebnis:

Ergebnis der Nachrichtenausgabe

Wie man sieht beinhaltet die 1. Variable den Wert 5. Doch warum das? Alle Variablen des RPG-Makers werden sind nach Spielstart doch standardmäßig mit 0 initialisiert und da es sich um ein neues (und vorallem leeres) Projekt handelt, muss da etwas anderes passiert sein. Die Antwort liegt hierbei klar auf der Hand: Das DestinyScript hat der ersten Variablen den Wert 5 zugewiesen!

Aufbau eines DestinyScripts

Schaut man sich das DestinyScript nochmal an und verinnerlicht sich das Ergebnis, dann wird auch der Sinn dieses Skripts allmählich klar.

In die Zwischenablage kopieren
1 2
$ v[1] = 5;

In Zeile 1 steht das $-Zeichen, welches die Destiny.dll dazu anweist das Event-Kommentar als DestinyScript zu interpretieren. In Zeile 2 steht der Befehl, welcher der ersten Variablen den Wert 5 zuweist.
Ein solcher Befehl hat stets den gleichen Aufbau:
  • Auf der linken Seite steht das Ziel der Operation. In diesem Fall ist dies die erste Variable (daher auch das v[1] – v steht für Variable und [1] für die Nummer der Variablen!).
  • In der Mitte steht der verwendete Operator. Hier ist dies die Zuweisung (dargestellt durch ein einzelnes Gleichheitszeichen; [Umschalt] + [0] → =).
  • Auf der rechten Seite steht das, was in das Ziel geschrieben werden soll (= Quelle). Hier wäre dies die Zahl 5.

DestinyScripts mit mehreren Befehlen

Ein DestinyScript kann auch mehrere Befehle beinhalten. Zum Trennen dieser Befehle wird das Semikolon ([Umschalt] + [Komma] → ;) als Trennzeichen verwendet.
Des Weiteren muss ein Befehl nicht in einer eigenen Zeile stehen. Genau genommen könnte sogar das gesamte DestinyScript in einer einzigen Zeile stehen (das einleitende $-Zeichen benötigt keine eigene Zeile!).
Information:
Der letzte Befehl eines DestinyScripts kann mit einem Semikolon enden, muss es aber nicht. Es wird jedoch empfohlen auch den letzten Befehl eines DestinyScripts mit einem Semikolon zu beenden, damit das DestinyScript leichter zu verändern ist (z. B. kann neuer Code einfach darunter eingefügt werden) und nicht zuletzt, damit das DestinyScript auch schöner (und einheitlicher) wirkt.
So sähe beispielsweise ein DestinyScript mit 2 Befehlen aus:

In die Zwischenablage kopieren
1 2 3
$ v[1] = 5; v[2] = 23;
Dieses DestinyScript würde der 1. Variablen den Wert 5 und der 2. Variablen den Wert 23 zuweisen.
Information:
Innerhalb eines RPG-Maker Kommentares können mehrere Befehle stehen. Das $-Zeichen wird hierbei allerdings nur zur Einleitung des DestinyScripts benötigt. Daher darf das $-Zeichen nicht vor jedem Befehl stehen!

Verhalten bei Fehlern

Tritt bei der Ausführung eines DestinyScripts ein Fehler auf, dann wird das gesamte DestinyScript abgebrochen. Dies kann Vorteilhaft, aber auch Nachteilhaft sein. Beinhaltet zum Beispiel ein DestinyScript mehrere Befehle und tritt bei der Ausführung des ersten Befehls ein Fehler auf, dann werden alle darauffolgenden Befehle nicht ausgeführt.
Um dieses Verhalten zu ändern, kann man entweder jeden einzelnen Befehl in ein eigenes Kommentar packen (sofern möglich) oder das Verhalten mit dem Errors-Objekt umändern. Da dieses Verhalten jedoch nur bei aufgetretenen Fehlern relevant ist, kann dies in den meisten Fällen ignoriert werden.
< Zurück
Patcher-Kategorie: Musik
Weiter >
Kommentare

Aufbau der Skriptsprache


Kommentare

Was sind Kommentare?

Da DestinyScript eine Skriptsprache ist, ist es zur Verständlichkeit des Codes gelegentlich erforderlich diesen zu kommentieren. Hierzu ist es möglich neben dem (effektiven) Skriptcode auch beiläufige Kommentare im DestinyScript anzugeben. Dieses Wissen ist notwendig um die Beispiele in den folgenden Kapiteln zu verstehen, da dort viele Kommentare genutzt werden um die DestinyScript-Beispiele im Code zu beschreiben.

Angeben von Kommentaren

Es gibt zwei Arten von Kommentaren:
  • Einzeilige Kommentare
  • Mehrzeilige Kommentare

Einzeilige Kommentare

Einzeilige Kommentare werden wie in C++ durch zwei hintereinander stehende Spiegelstriche ("Slashes"; [Umschalt] + [7] → /) eingeleitet. Alles, was hinter den zwei Spiegelstrichen steht, ist ein Kommentar und wird nicht als DestinyScript-Code interpretiert. Das Kommentar endet mit der jeweiligen Zeile.

In die Zwischenablage kopieren
1 2 3
$ // Diese Zeile ist ein Kommentar v[1] = 5; // Hier steht ein Kommentar hinter einer Befehlszeile

Mehrzeilige Kommentare

Mehrzeilige Kommentare werden wie in C++ durch einen Spiegelstrich ("Slash"; [Umschalt] + [7] → /) gefolgt von einem (Multiplikations-)Stern ([Umschalt] + [+] → * oder [*] beim Nummernblock) eingeleitet und enden mit einem (Multiplikations-)Stern gefolgt von einem Spiegelstrich. Ein solches Kommentar kann sich über mehrere Zeilen erstrecken (muss es aber nicht). Da ein solches Kommentar mit */ endet, kann es diese Zeichenkombination nicht im Kommentartext enthalten.
Mehrzeilige Kommentare werden häufig zur "Auskommentierung" von Skriptcode verwendet.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$ /* Dies ist ein mehrzeiliges Kommentar! */ /* Dies ist ein mehrzeiliges Kommentar in einer einzelnen Zeile */ v[1] = /* Kommentar mittem im Code */ 5; /* Jetzt kommt ein auskommentierter Skriptcode: v[2] = 23; <-- wird nicht ausgeführt, da es in einem Kommentar steht */
< Zurück
Aufbau der Skriptsprache
Weiter >
Datentypen und Speicherbereiche

Kommentare


Datentypen und Speicherbereiche

Was sind Datentypen?

Als Anwender des RPG-Makers kennt man typischerweise 2 Datentypen:
  1. Variablen
  2. Switches (zu deutsch: Schalter)
Nun kann man aber eine Variable nicht direkt mit einem Switch vergleichen, da diese vollkommen andere Arten von Werten speichern. Eine Variable kann im RPG-Maker 2000 Zahlenwerte von -999999 bis +999999 annehmen (bei der Destiny.dll steht ein größerer Wertebereich zur Verfügung – siehe Tabelle). Hierbei stehen allerdings nur ganze Zahlen zur Verfügung (d. h. Kommazahlen wie 1,5 gehen nicht!).
Ein Switch hingegen kann nur einen von zwei Werten haben: An (1) oder Aus (0).

Die Destiny.dll kennt hingegen noch weitere Datentypen, welche dem Anwender ebenfalls zur Verfügung gestellt werden. Die wichtigsten, zusätzlichen Datentypen sind Floats (Kommazahlen) und Strings (Texte).

Welche Datentypen gibt es?

Beim DestinyPatch gibt es folgende Datentypen:

Datentyp | Größe | Wertebereich | Beschreibung
Dword | 4 Byte | -2147483648 ... +2147483647 | Dies ist der am häufigsten verwendete Datentyp. Er speichert nur ganze Zahlen. Dieser Datentyp wird für Variablen verwendet.
Word | 2 Byte | -32768 ... +32767 | Dieser Datentyp ähnelt dem des Dword, nur dass dieser einen kleineren Wertebereich hat. Dieser Datentyp wird nur von wenigen Methoden verwendet, ist jedoch für Datentransfer praktisch, wenn man Traffic sparen will. Auch dieser Datentyp speichert nur ganze Zahlen. In der Praxis wird dieser Datentyp aber nur sehr selten verwendet.
Byte | 1 Byte | 0 ... +255 | Dieser Datentyp ähnelt dem des Dword, nur dass dieser einen wesentlich kleineren Wertebereich hat. Dieser Datentyp speichert nur sehr kleine Zahlenwerte und ist daher äußerst Ressourcensparsam. Dieser Datentyp wird für die Pixel eines Pictures verwendet. Außerdem speichert er nur ganze Zahlen.
Float | 8 Byte | -1.7E+308 ... +1.7E+308; -5.0E-324 ... +5.0E-324 | Dieser Datentyp kann sehr große und sehr kleine Zahlen speichern, benötigt aber dafür auch dementsprechend viel Speicherplatz. Hierbei werden von der gespeicherten Zahl ca. 15 Ziffern gespeichert. Zusätzlich zur Zahl wird ein Exponent gespeichert (somit ist es z. B. möglich sowohl 1E+100 und 1E-100 zu speichern). Dies ist der einzige Datentyp, der (Gleit-)Kommazahlen speichern kann. Information: Beim DestinyPatch V1.0 wurde dieser Datentyp noch als Double bezeichnet.
Bool | 1 Byte | 0 ... +1 | Dieser Datentyp nimmt nur bool'sche Werte an (Ja oder Nein). Hierfür werden in der Regel die Konstanten true (= 1) und false (= 0) verwendet. Dieser Datentyp wird für Switches (Schalter) verwendet.
String | 4 + n Byte | ca. 0 ... +2147483647 Zeichen | Dieser Datentyp speichert Zeichenketten (z. B. Namen, Wörter oder ganze Sätze). Er wird für alle Texte verwendet (z. B. bei Actor[].Name für den Namen eines Helden).
Handle | n/a | n/a | Dieser Datentyp wird zur Identifizierung von Grafiken verwendet. Er kann nicht gespeichert oder konvertiert werden.

Speicherbereiche

Um das Ergebnis eines Befehls verwenden zu können ist es notwendig dieses irgendwo abzulegen – zu "speichern". Hierzu werden sogenannte Speicherbereiche verwendet.
Die Speicherbereiche für die Variablen und Switches sind bereits bekannt und werden standardmäßig von der RPG_RT zur Verfügung gestellt.
Hierbei werden für Variablen und Switches zwei getrennte Speicherbereichen zur Verfügung gestellt (einer für Variablen und einer für Switches).
Die Destiny.dll erweitert die RPG_RT um drei zusätzliche Speicherbereiche:
  1. Dword: Dieser Speicherbereich speichert nur ganze Zahlen.
  2. Float: Dieser Speicherbereich speichert (Gleit-)Kommazahlen.
  3. String: Dieser Speicherbereich speichert nur Texte (z. B. Wörter, Namen, Sätze, ...).
Durch die zusätzlichen Speicherbereiche der Destiny.dll können nicht nur mehr, sondern auch andere Arten von Daten gespeichert werden.

Um auf die einzelnen Speicherbereiche zugreifen zu können, werden beim DestinyPatch Abkürzungen verwendet:

Abkürzung | Datentyp | Datenquelle | Beschreibung
v[ ] | Dword | RPG_RT.exe | V steht für Variable
s[ ] | Bool | RPG_RT.exe | S steht für Switch (Schalter)
d[ ] | Dword | Destiny.dll | D steht für Dword
f[ ] | Float | Destiny.dll | F steht für Float (Kurzform von "floating point number"; zu deutsch: Gleitkommazahl).
a[ ] | String | Destiny.dll | A steht für ANSI-String

Zugriff aus Speicherbereiche

Wie man mit Hilfe auf den Speicherbereich der Variablen zugreift wurde bereits im vorherigen Kapitel getestet. Man schreibt einfach den abgekürzten Namen des Speicherbereichs und dann zwei eckige Klammern. Innerhalb jener eckigen Klammern schreibt man den Index des jeweiligen Elements, auf das man zugreifen möchte (z. B. v[1] für die erste Variable, v[2] für die Zweite, ...).
Das gleiche Prinzip funktioniert auch mit den anderen Speicherbereichen:

In die Zwischenablage kopieren
1 2 3
$ d[5] = 100; // Dem 5. Dword den Wert 100 zuweisen v[3] = d[5]; // Der 3. Variablen den Wert des 5. Dwords zuweisen

Führt man dieses Beispiel aus und lässt sich anschließend den Inhalt der dritten Variablen ausgeben, dann sieht man, dass diese den Wert 100 hat.
In diesem Beispiel wird zuerst dem 5. Dword der Wert 100 zugewiesen. Anschließend wird der 3. Variablen der Wert des 5. Dwords zugewiesen. Auf diesem Wege wurde der 3. Variablen der Wert eines Elementes aus einem anderen Speicherbereichs zugewiesen.

Indirekte Adressierung

Bisher wurde immer direkt festgelegt auf welches Element des jeweiligen Speicherbereichs zugriffen werden soll (z. B. v[1] für die erste Variable). Eine andere Möglichkeit ist es jedoch indirekt zu adressieren, indem statt einer festen Zahl ein Element eines Speicherbereichs innerhalb der eckigen Klammern angeben wird:

In die Zwischenablage kopieren
1 2 3
$ v[4] = 5; // Der 4. Variablen den Wert 5 zuweisen v[v[4]] = 17; // Der Variablen, auf welche die 4. Variable verweist (= 5), den Wert 17 zuweisen

Wird dieses Script ausgeführt und anschließend der Wert der 5. Variablen ausgegeben, dann sieht man als Ergebnis die Zahl 17.
In diesem Beispiel wurde indirekt auf die 5. Variable zugegriffen. Dazu wurde zuerst der 4. Variablen den Wert 5 zugewiesen (Zeile 2), da später auf das 5. Element zugegriffen werden soll. Anschließend wurde in Zeile 3 in den eckigen Klammern statt einer direkten Zahl einfach eine andere Variable angegeben.
Bei der Ausführung des DestinyScripts wird der in den eckigen Klammern angegebene Wert als Index verwendet. Hierbei ist es egal, ob dieser Wert direkt angegeben wird, aus einem Speicherbereich stammt oder berechnet wird.
Information:
Alle Speicherbereiche können indirekt adressiert werden.
Die zur indirekten Adressierung verwendeten Speicherbereiche können ebenfalls indirekt adressiert werden (z. B. v[v[v[1]]]). Für die Adressierungstiefe gibt es theoretisch keine Obergrenze. In der Regel benötigt man jedoch nie eine tiefere Adressierungsebene als 1.

Konvertierung von Datentypen

Weichen innerhalb einer Berechung die Datentypen voneinander ab (z. B. weil ein Float mit einem Dword multipliziert wird), dann müssen diese angepasst ("konvertiert") werden. Dies geschieht bei unterschiedlichen Datentypen normalerweise automatisch (= implizit).
In einigen Sonderfällen jedoch (z. B. wenn die Konvertierung mehrdeutig ist) gibt es Probleme. So wird bei einer gemischten Rechnung von Strings und Zahlen, bzw. Switches und Zahlen eine Fehlermeldung ausgegeben. Will man diese Datentypen dennoch mischen, dann muss man die Datentypen händisch (= explizit) konvertieren. Hierzu wird das Convert-Objekt verwendet.
< Zurück
Kommentare
Weiter >
Zahlen

Datentypen und Speicherbereiche


Zahlen

Zahlen werden in jeder Programmiersprache benötigt um Dinge zu berechnen (z. B. die Position eines Bildes). Da bei verschiedenen Anwendungszwecken Zahlen nicht immer im gleichen Format benötigt werden, kann man diese in einem DestinyScript auf verschiedene Arten und Weisen angeben.
Hierbei wird im wesentlichen zwischen zwei Dingen unterschieden:
  1. Ist es eine Ganzzahl oder eine Kommazahl?
  2. Wird das Dezimalsystem verwendet (unser normales Zahlensystem) oder anderes (aus der Informatik)?
Information:
Innerhalb dieser Dokumentation wird in den meisten Fällen von Gleitkommazahlen gesprochen. Dies brauch den Standardanwender des Patches nicht zu beunruhigen — dieser kann beides als Gleichgültig betrachten.
Der Unterschied ist im Wesentlichen, dass eine Gleitkommazahl einen separaten Exponenten hat, sodass z. B. die Zahl 1E-100 genau so viel Speicherplatz benötigt wie 1E+100. Eine Einschränkung dieses Vorgehens ist jedoch, dass die Anzahl der signifikanten Stellen beschränkt ist (üblicherweise auf 15; so auch im DestinyPatch).
Eine Gleitkommazahl mit 15 signifikanten Stellen kann also 1234567890123456 nicht speichern (16 unterschiedliche Ziffern), 1234567890123450000000 hingegen schon (letztere Zahl ist zwar größer, dafür aber ungenauer, da nur 15 unterschiedliche Ziffern verwendet werden).

Ganzzahlen und Kommazahlen

Bei den meisten Programmiersprachen ist es üblich zwischen Ganzzahlen und Kommazahlen zu unterscheiden. Dies ist notwendig, da der Computer Ganzzahlen anders berechnet als Kommazahlen.

Angabe von Ganzzahlen

Wie man eine Ganzzahl angibt wurde bereits in vorherigen Beispielen getestet. Hierzu schreibt man die gewünschte Zahl wie gewohnt hin:

In die Zwischenablage kopieren
1 2
$ v[1] = 12345;

Hier wurden zwei Ganzzahlen verwendet: 1 (in den eckigen Klammern) und 12345 (als zuzuweisender Wert). Für eine Ganzahl verwendet man also einfach die gewohnten Ziffern von 0 bis 9.

Angabe von Kommazahlen

Die Angabe von Kommazahlen erfolgt nicht ganz wie gewohnt. Hauptgrund ist, dass es bei Programmiersprachen üblich ist die englische Schreibweise zu verwenden. Als Dezimaltrennzeichen wird also der Punkt verwendet; auf das Tausendertrennzeichen wird gänzlich verzichtet:

In die Zwischenablage kopieren
1 2
$ f[1] = 1234.5;

Hier wurden eine Ganzzahl (die 1 in den eckigen Klammern) und eine Kommazahl (die 1234.5 als zuzuweisender Wert) verwendet.

Eine weitere Möglichkeit eine Kommazahl anzugeben, ist es eine Ganzzahl (also ohne Nachkommateil) zu schreiben, welche zu groß ist um eine Ganzzahl zu sein. Im vorherigen Kapitel Datentypen wurde beschrieben, dass eine Ganzzahl (vom Typ Dword) nur zwischen -2147483648 und +2147483647 liegen darf. Schreibt man eine größere (oder kleinere) Zahl auf, so wird diese automatisch als Kommazahl interpretiert (auch wenn kein Nachkommateil vorhanden ist). Wird anschließend versucht diese Zahl einem Dword-Speicherwert zuzuweisen, dann tritt ein Fehler auf. Weist man diese Zahl hingegen einem Float-Speicherwert zu, dann tritt kein Fehler auf.

In die Zwischenablage kopieren
1 2
$ f[1] = 3000000000; // Diese Zahl ist größer als +2147483647

Als dritte Möglichkeit einer eine Kommazahl anzugeben, kann man diese in der Exponentialschreibweise angeben. Hierzu schreibt man die Zahl (üblicherweise mit einer Vorkommastelle und mindestens einer Nachkommastelle) gefolgt von einem E, sowie einem Exponenten der Zahl 10:

In die Zwischenablage kopieren
1 2
$ f[1] = 3.0E+20; // Entspricht einer 3 mit 20 Nullen

Beschränkungen der Angabe von Kommazahlen

Wie bereits oben in der Informationsbox beschrieben ist die Anzahl der signifikanten Stellen (also die Anzahl der Ziffern, die übrig bleiben, wenn man alle führenden und folgenden Nullen entfernt) auf 15 beschränkt. Dies ist keine spezielle Einschränkung des DestinyPatches, sondern bei den meisten Computerprogrammen so üblich.

Besonderheiten bei Kommazahlen

Da der Computer intern nicht mit dem Dezimalsystem, sondern mit dem Binärsystem rechnet (Nullen und Einsen), sind manche für Menschen gut darstellbare Zahlen (z. B. 0,1) für den Computer ein periodischer Bruch. So rechnet der Computer bei einer Multiplikation mit 0,1 in Wirklichkeit so etwas wie eine Multiplikation mit 0,0999999999999998.
Es können also auf den letzten Ziffern einige Ungenauigkeiten auftreten.

Unterschiede bei der Berechnung von Ganzahlen und Kommazahlen

  • Wenn in einer Berechnung nur Ganzzahlen vorkommen (Datentyp Dword), dann wird das Ergebnis einer Berechnung auch stets eine Ganzzahl bleiben.
  • Kommen in einer Berechnung nur Kommazahlen vor (Datentyp Float), dann wird das Ergebnis einer Berechnung auch stets eine Kommazahl bleiben (ggf. ohne Nachkommateil; der Datentyp bleibt aber Float).
  • Kommen in einer Berechnung Zahlen mehrerer Datentypen vor, so wird stets zum größten Datentypen hin konvertiert. Bei einer Mischung von Ganzzahlen und Kommazahlen werden also vor der Berechnung alle Ganzzahlen in Kommazahlen konvertiert.
Durch diesen Unterschied können bei manchen Berechnungen unterschiedliche Ergebnisse herauskommen:

In die Zwischenablage kopieren
1 2 3
$ f[1] = 3 / 2; // Ergebnis ist 1 (Ganzzahl) f[2] = 3.0 / 2.0; // Ergebnis ist 1.5 (Kommazahl)

Am Ende der Berechnung wäre f[1] 1 und f[2] wäre 1,5. Bei einer Division mit Ganzzahlen wird also der nicht-teilbare Rest der Division (welcher den Nachkommateil bilden würde) verworfen.
Um dieses Verhalten zu Ändern müsste man also die Zahlen entweder direkt als Kommazahlen angeben (wie in Zeile 3) oder aber (z. B. bei Variablen) der Datentyp explizit nach Float konvertiert werden (Convert.Float()).

Zahlensysteme

Neben dem bekannten Dezimalsystem gibt es in der Informatik üblicherweise drei zusätzliche Zahlensysteme:
  • Binärsystem (Basis 2; auch Dualsystem genannt)
  • Oktalsystem (Basis 8)
  • Hexadezimalsystem (Basis 16; auch Sedezimalsystem genannt)
Der Unterschied zwischen all diesen Zahlensystemen ist lediglich die Basis.
Information:
Das bekannte Dezimalsystem hat die Basis 10 (beruht darauf, dass ein Mensch 10 Finger hat). Eine beliebige Zahl (z. B. 123,45) ist also so zu interpretieren, dass jede Ziffer mit der Potenz der Basis und eines Exponenten multipliziert werden muss. Der Exponent wächst (oder schrumpft) dabei je um 1 desto weiter man sich vom Komma entfernt:
  • Die erste Vorkommastelle hat den Exponenten 0, die Zweite 1, usw.
  • Die erste Nachkommastelle hat den Exponenten -1, die Zweite -2, usw.
Auf die Zahl 123,45 angewandt bedeutet dies:
123,45 = 1 * 102 + 2 * 101 + 3 * 100 + 4 * 10-1 + 5 * 10-2
123,45 = 1 * 100 + 2 * 10 + 3 * 1 + 4 * 0,1 + 5 * 0,01
123,45 = 100 + 20 + 3 + 0,4 + 0,05
123,45 = 123,45

Dezimalsystem

Das Dezimalsystem wurde bereits weiter oben ausführlich beschrieben. Die Besonderheit beim Dezimalsystem ist, dass es dazu genutzt werden kann um Kommazahlen anzugeben. Dies ist nur beim Dezimalsystem möglich; die anderen Zahlensysteme unterstützen nur Ganzzahlen.

Binärsystem

Eine Binärzahl wird mit "0b" (ohne die Anführungsstriche) eingeleitet und darf nur die Ziffern 0 und 1 beinhalten.
Die Angabe von Kommazahlen ist hiermit nicht möglich.

In die Zwischenablage kopieren
1 2
$ v[1] = 0b1011011; // Entspricht der Zahl 91

Oktalsystem

Eine Oktalzahl wird mit "0o" (ohne die Anführungsstriche) eingeleitet und darf nur die Ziffern 0, 1, 2, 3, 4, 5, 6 und 7 beinhalten.
Die Angabe von Kommazahlen ist hiermit nicht möglich.

In die Zwischenablage kopieren
1 2
$ v[1] = 0o731; // Entspricht der Zahl 471

Hexadezimalsystem

Eine Hexadezimalzahl wird mit "0x" (ohne die Anführungsstriche) eingeleitet und darf nur die Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E und F beinhalten (A = 10, B = 11, C = 12, D = 13, E = 14, F = 15). Die Groß-/Kleinschreibung der Ziffern, welche aus Buchstaben bestehen, ist egal.
Die Angabe von Kommazahlen ist hiermit nicht möglich.

In die Zwischenablage kopieren
1 2
$ v[1] = 0xF3AB; // Entspricht der Zahl 62379
< Zurück
Datentypen und Speicherbereiche
Weiter >
Strings

Zahlen


Strings

Wie bereits im Kapitel über Datentypen beschrieben sind Strings (zu deutsch "Zeichenketten") im Grunde nichts anderes als Texte.
Da in einem String jedoch theoretisch alle möglichen Zeichen des Computers vorkommen könnten, muss man diese syntaktisch von anderen Sprachelementen (z. B. Zahlen, Kommentaren, ...) unterscheiden.
Information:
Ein String kann auch Kommentarzeichen enthalten. Dies wird dann allerdings nicht als Kommentar gewertet, da es ja Inhalt des Strings ist.

Zur Angabe eines Strings gibt es im DestinyScript im Wesentlichen zwei Varianten:
  1. Einzeilige Syntax
  2. Mehrzeilige Syntax
    1. einfache Syntax
    2. komplexe Syntax (enthält Platzhalter)

Einzeilige Syntax

Dies ist die am häufigsten verwendete Syntax. Hierzu wird der Inhalt des Strings in doppelte Anführungsstriche (= Gänsefüßchen) gepackt. Der String kann auch selbst doppelte Anführungsstiche enthalten – diese müssen jedoch besonders gekennzeichnet sein: Statt eines doppelten Anführungsstriches schreibt man zwei hintereinander (da diese zur Beschreibung eines Teils des Inhalts dienen, müssen die doppelten Anführungsstriche außerhalb des Strings natürlich trotzdem angegeben werden).

In die Zwischenablage kopieren
1 2 3
$ a[1] = "Dies ist ein String"; a[2] = "String mit doppelten Anführungsstrichen ( "" ) im Text";

In Zeile 2 wird dem ersten String-Speicherwert der Text Dies ist ein String zugewiesen.
In Zeile 3 wird dem zweiten String-Speicherwert der Text String mit doppelten Anführungsstrichen ( " ) im Text zugewiesen.

Mehrzeilige Syntax

Um einen mehrzeiligen String direkt anzugeben wird die sogenannte "Heredoc"-Syntax verwendet (dieser Name wurde der Skriptsprache PHP entlehnt). Diese Syntax erlaubt es einen im DestinyScript angenehm lesbaren Text als String anzugeben. Als Zeilenumbruch wird hierbei stets CRLF (wie in Windows üblich) verwendet. Der Text endet zudem immer mit einem solchen Zeilenumbruch.

Einfache Heredoc-Syntax

Ein (einfacher) Heredoc-String wird über drei spitze Klammern, die nach links zeigen, gefolgt von einem Wort und einem Zeilenumbruch eingeleitet.
Das Wort ist frei wählbar, muss aber mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen und den Unterstrich enthalten. Der Heredoc-String endet, sobald das gewählte Wort am Anfang einer Zeile steht. Hinter diesem Wort dürfen noch weitere Befehle stehen, welche dann außerhalb des Strings sind (im Gegensatz zu PHP, wo das Wort (mit Ausnahme von einem Semikolon) der einzige Inhalt der Zeile sein muss).

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$ a[1] = <<<DasWortMitDemDerHeredocStringEndet Das hier ist Teil des Strings das hier auch und das! DasWortMitDemDerHeredocStringEndetUndEtwasMehr <- Teil des Strings, da es ein anderes Wort ist DasWortMitDemDerHeredocStringEndet <- Teil des Strings, da es nicht am Zeilenanfang steht DasWortMitDemDerHeredocStringEndet; // <- Ende des Heredoc-Strings

Komplexe Heredoc-Syntax

Manchmal will man Teile des angegebenen Strings während der Angabe dynamisch halten. Hierzu gibt es die komplexe Heredoc-Syntax, welche die Angabe von Platzhaltern ermöglicht. In diesen Platzhaltern wird weiterer DestinyScript-Code angegeben. Dieser Code wird (zu der Zeit, wo der String interpretiert wird) ausgeführt und das Ergebnis in den String eingefügt.
Um aus einer einfachen Heredoc-Syntax eine komplexe zu machen, muss man hinter den drei spitzen Klammern, gefolgt von dem gewählten Wort, einfach ein $-Zeichen schreiben. Zum Beenden der komplexen Syntax wird das $-Zeichen nicht mit angegeben. Ein Platzhalter beginnt mit einem Dollar-Zeichen gefolgt von einem Klammernpaar. Innerhalb des Klammernpaares steht der auszuführende DestinyScript-Code.

In die Zwischenablage kopieren
1 2 3 4 5 6
$ a[1] = <<<HEREDOC_END$ Name: $(Actor[1].Name) Rang: $(Actor[1].Degree) Level: $(Actor[1].Level) HEREDOC_END;

Am Ende würde der erste String-Speicherwert die Informationen zum ersten Helden enthalten. Diese Informationen würden sich nicht automatisch aktualisieren; hierzu müsste der oben stehende Code jedes Mal auf's Neue (z. B. beim Öffnen eines Menüs) ausgeführt werden.

Verketten von Strings

Um Strings zu verketten (= "konkatenieren") verwendet man den Konkatenationsoperator ( .. ). Zur Abwärtskompatiblität ist es auch möglich den Additionsoperator ( + ) zu verwenden, hiervon wird jedoch abgeraten.

In die Zwischenablage kopieren
1 2 3
$ a[1] = "abc"; // a[1] ist "abc" a[1] = "xyz" .. a[1] .. "xyz"; // a[1] ist "xyzabcxyz"

Wichtige String-Konstanten

Einige Sonderzeichen lassen sich nur schwer (oder gar nicht) mit den oben genannten Syntaxen darstellen. Hierzu wurden einige Konstanten eingeführt, welche per Konkatenationsoperator an den String angehängt werden können:

Name | Beschreibung
QUOTE | Enthält das "doppelte Anführungsstrich"-Zeichen
CRLF | Zeilenumbruch im Windows-Stil
LF | Zeilenumbruch im Linux-Stil
CR | Zeilenumbruch im Macintosh-Stil
< Zurück
Zahlen
Weiter >
Operatoren

Strings


Operatoren

Um mit einem DestinyScript Berechnungen, Zuweisungen, Vergleiche, ... ausführen zu können ist es notwendig Operatoren zu verwenden.
Hier wird zwischen folgenden Arten von Operatoren unterschieden:
  • Zuweisungsoperatoren
  • Arithmetische Operatoren
  • String-Operatoren
  • Binäre Operatoren
  • Logische Operatoren
  • Vergleichsoperatoren
  • Objektoperatoren
  • Vorzeichen
Diese Operatoren weisen zudem unterschiedliche Prioritäten (z. B. Punkt- vor Strichrechnung) auf. Genaueres hierzu im Kapitel über Formelausdrücke.
< Zurück
Strings
Weiter >
Zuweisungsoperatoren

Operatoren


Zuweisungsoperatoren

Zuweisungsoperatoren werden dazu verwendet einem Speicherwert einen anderen Wert zuzuweisen. Der Speicherwert (= Senke) steht hierbei links vom Operator und muss beschreibbar sein. Der zuzuweisende Wert (= Quelle; im Folgenden Quellwert genannt) steht rechts vom Operator und kann auch aus einem berechneten Ausdruck bestehen.
Zuweisungen können auch mitten im Ausdruck oder verschachtelt ausgeführt werden.
Zuweisungsoperatoren können hierbei auch eine Mischung aus dem gewöhnlichen Zuweisungsoperator und einen Berechnungsoperator sein. Hierbei wird dann zuerst der Speicherwert mit dem zuzuweisenden Wert verrechnet und dann zugewiesen. Zum Beispiel ist a *= b + c als a = a * (b + c) zu betrachten.

Operator | Beschreibung
Zuweisung = | Weist den Quellwert dem Speicherwert zu, ohne den Wert zu verändern.
Addition/Zuweisung += | Addiert den Quellwert zu dem Speicherwert hinzu und weist das Ergebnis dem Speicherwert zu. Dieser Operator kann auch zur Verkettung von Strings verwendet werden (dies wird jedoch nicht empfohlen).
Subtraktion/Zuweisung -= | Subtrahiert den Quellwert von dem Speicherwert und weist das Ergebnis dem Speicherwert zu
Multiplikation/Zuweisung *= | Multipliziert den Quellwert mit dem Speicherwert und weist das Ergebnis dem Speicherwert zu
Division/Zuweisung /= | Teilt den Speicherwert durch den Quellwert und weist das Ergebnis dem Speicherwert zu. Bei einer Division durch 0 tritt hier ein Fehler auf.
Modulo/Zuweisung %= | Teilt den Speicherwert durch den Quellwert und weist den nachkommabildenden Teil (bei Ganzzahlen ist dies der nicht teilbare Rest der Division) dem Speicherwert zu. Bei einer Division durch 0 tritt hier ein Fehler auf.
Konkatenation/Zuweisung ..= | Hängt den Quellwert an den Speicherwert (als String) an weist das Ergebnis dem Speicherwert zu
Binäres Exklusiv-Oder/Zuweisung ^= | Führt eine binäre Exklusiv-Oder-Verknüpfung zwischen dem Quellwert und dem Speicherwert aus weist das Ergebnis dem Speicherwert zu
Binäres Oder/Zuweisung |= | Führt eine binäre Oder-Verknüpfung zwischen dem Quellwert und dem Speicherwert aus weist das Ergebnis dem Speicherwert zu
Binäres Und/Zuweisung &= | Führt eine binäre Und-Verknüpfung zwischen dem Quellwert und dem Speicherwert aus weist das Ergebnis dem Speicherwert zu
(Arithmetische) Linksverschiebung/Zuweisung <<= | Verschiebt die Bits im Speicherwert um die im Quellwert angegebene Anzahl an Bits nach links und weist das Ergebnis dem Speicherwert zu. Die neuen Bits werden mit 0 gefüllt. Ein ggf. existierendes Vorzeichen bleibt hierbei erhalten (sofern kein Überlauf auftritt).
Arithmetische Rechtsverschiebung/Zuweisung >>= | Verschiebt die Bits im Speicherwert um die im Quellwert angegebene Anzahl an Bits nach rechts und weist das Ergebnis dem Speicherwert zu. Die neuen Bits werden hierbei mit dem ehemaligen höchsten Bit des Speicherwertes aufgefüllt. Ein ggf. existierendes Vorzeichen bleibt hierbei erhalten.
Logisches Oder/Zuweisung ||= | Führt eine logische Oder-Verknüpfung zwischen dem Quellwert und dem Speicherwert aus weist das Ergebnis dem Speicherwert zu
Logisches Und/Zuweisung &&= | Führt eine logische Und-Verknüpfung zwischen dem Quellwert und dem Speicherwert aus weist das Ergebnis dem Speicherwert zu
< Zurück
Operatoren
Weiter >
Arithmetische Operatoren

Zuweisungsoperatoren


Arithmetische Operatoren

Arithmetische Operatoren werden dazu verwendet um zwei Zahlen miteinander zu verrechnen. Hierbei dürfen als Operanden nur Zahlen verwendet werden (mit Ausnahme von + und Strings). Der erste Operand steht hierbei links vom Operator und der zweite Operand rechts vom Operator. Beide Operanden können wiederum aus berechneten Ausdrücken bestehen.
Alle hier genannten Operatoren gibt es auch als Zuweisungsoperatoren.

Operator | Beschreibung
Addition + | Addiert den ersten Operanden (Summand) mit dem zweiten Operanden (Summand) und gibt das Ergebnis (Summe) zurück. Dieser Operator kann auch zur Verkettung von Strings verwendet werden (dies wird jedoch nicht empfohlen).
Subtraktion - | Subtrahiert den zweiten Operanden (Subtrahend) vom ersten Operanden (Minuend) und gibt das Ergebnis (Differenz) zurück
Multiplikation * | Multipliziert den ersten Operanden (Faktor) mit dem zweiten Operanden (Faktor) und gibt das Ergebnis (Produkt) zurück
Division / | Teilt den ersten Operanden (Dividend) durch den zweiten Operanden (Divisor) und gibt das Ergebnis (Wert des Quotienten) zurück. Bei einer Division durch 0 tritt hier ein Fehler auf.
Modulo % | Teilt den ersten Operanden (Dividend) durch den zweiten Operanden (Divisor) und gibt den nachkommabildenden Teil (bei Ganzzahlen ist dies der nicht teilbare Rest) als Ergebnis (Modulo) zurück. Bei einer Division durch 0 tritt hier ein Fehler auf.
< Zurück
Zuweisungsoperatoren
Weiter >
String-Operatoren

Arithmetische Operatoren


String-Operatoren

String-Operatoren werden dazu verwendet um Strings miteinander zu verknüpfen. Hierbei dürfen als Operanden nur Strings und Zahlen verwendet werden. Der erste Operand steht hierbei links vom Operator und der zweite Operand rechts vom Operator. Beide Operanden können wiederum aus berechneten Ausdrücken bestehen.
Alle hier genannten Operatoren gibt es auch als Zuweisungsoperatoren.

Operator | Beschreibung
Konkatenation .. | Hängt den zweiten Operanden an den ersten Operanden (als String) an und gibt das Ergebnis zurück
< Zurück
Arithmetische Operatoren
Weiter >
Binäre Operatoren

String-Operatoren


Binäre Operatoren

Binäre Operatoren werden dazu verwendet um Ganzzahlen über binäre, logische Verknüpfungen miteinander zu verknüpfen. Hierbei dürfen als Operanden nur Ganzzahlen (Dword, Word, Byte) verwendet werden. Der erste Operand steht hierbei links vom Operator und der zweite Operand rechts vom Operator. Beide Operanden können wiederum aus berechneten Ausdrücken bestehen.
Alle hier genannten Operatoren gibt es auch als Zuweisungsoperatoren.

Operator | Beschreibung
Exklusiv-Oder (XOR) ^ | Führt eine binäre Exklusiv-Oder-Verknüpfung zwischen den beiden Operanden aus und gibt das Ergebnis zurück
Oder (OR) | | Führt eine binäre Oder-Verknüpfung zwischen den beiden Operanden aus und gibt das Ergebnis zurück
Und (AND) & | Führt eine binäre Und-Verknüpfung zwischen den beiden Operanden aus und gibt das Ergebnis zurück
(Arithmetische) Linksverschiebung << | Verschiebt die Bits des ersten Operanden um die im zweiten Operanden angegebene Anzahl nach links und füllt die neuen Bits mit 0. Ein ggf. existierendes Vorzeichen bleibt hierbei erhalten (sofern kein Überlauf auftritt).
Arithmetische Rechtsverschiebung >> | Verschiebt die Bits des ersten Operanden um die im zweiten Operanden angegebene Anzahl nach rechts und füllt die neuen Bits mit dem ehemaligen höchsten Bit des ersten Operanden auf. Ein ggf. existierendes Vorzeichen bleibt hierbei erhalten.
< Zurück
String-Operatoren
Weiter >
Logische Operatoren

Binäre Operatoren


Logische Operatoren

Logische Operatoren werden dazu verwendet um bool'sche Werte (aber auch Zahlen und Strings) über logische Verknüpfungen miteinander zu verknüpfen. Hierbei werden alle Operanden als bool'sche Werte betrachtet:
  • Ist eine Zahl ungleich 0, dann ist der Wert true, andernfalls false
  • Ist ein String nicht leer, dann ist der Wert true, andernfalls false
Der erste Operand steht hierbei links vom Operator und der zweite Operand rechts vom Operator. Beide Operanden können wiederum aus berechneten Ausdrücken bestehen.
Alle hier genannten Operatoren gibt es auch als Zuweisungsoperatoren.

Operator | Beschreibung
Logisches Oder (OR) || | Führt eine logische Oder-Verknüpfung zwischen den beiden Operanden aus und gibt das Ergebnis zurück
Logisches Und (AND) && | Führt eine logische Und-Verknüpfung zwischen den beiden Operanden aus und gibt das Ergebnis zurück

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$
// Oder
s[1] = false || false;   // false
s[2] = false || true;    // true
s[3] = true  || false;   // true
s[4] = true  || true;    // true

// Und
s[5] = false && false;   // false
s[6] = false && true;    // false
s[7] = true  && false;   // false
s[8] = true  && true;    // true
< Zurück
Binäre Operatoren
Weiter >
Vergleichsoperatoren

Logische Operatoren


Vergleichsoperatoren

Vergleichsoperatoren werden dazu verwendet um Werte miteinander zu vergleichen. Hierbei können alle gültigen Datentypen (Dword, Word, Byte, Float, String, Bool) miteinander verglichen werden. Das Ergebnis eines Vergleichs ist immer ein bool'scher Wert. Der erste Operand steht hierbei links vom Operator und der zweite Operand rechts vom Operator. Beide Operanden können wiederum aus berechneten Ausdrücken bestehen.

Operator | Beschreibung
Gleich == | Prüft ob die beiden Operanden gleich sind (true: Gleich, false: Ungleich)
Ungleich != | Prüft ob die beiden Operanden ungleich sind (true: Ungleich, false: Gleich)
Größer/Gleich >= | Prüft ob der erste Operand größer oder gleich dem zweiten Operanden ist (true: der erste Operand ist größer oder gleich, false: der erste Operand ist kleiner)
Kleiner/Gleich <= | Prüft ob der erste Operand kleiner oder gleich dem zweiten Operanden ist (true: der erste Operand ist kleiner oder gleich, false: der erste Operand ist größer)
Größer als > | Prüft ob der erste Operand größer als der zweite Operand ist (true: der erste Operand ist größer, false: der erste Operand ist kleiner oder gleich)
Kleiner als < | Prüft ob der erste Operand kleiner als der zweite Operand ist (true: der erste Operand ist kleiner, false: der erste Operand ist größer oder gleich)

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
s[1] = 3 == 3;  // true
s[2] = 3 != 3;  // false
s[3] = 5 >= 4;  // true
s[4] = 5 <= 4;  // false
s[6] = 1 >  2;  // false
s[7] = 2 <  5;  // true
< Zurück
Logische Operatoren
Weiter >
Objektoperatoren

Vergleichsoperatoren


Objektoperatoren

Objektoperatoren werden dazu verwendet um auf bestimmte Eigenschaften/Methoden von Objekten zuzugreifen und dabei ggf. Parameter anzugeben.
Information:
Genaueres zu Objekten steht im Kapitel über Objekte.

Operator | Beschreibung
Untergeordnete Eigenschaft/Methode . | Greift auf eine untergeordnete Eigenschaft/Methode zu. Der untergeordnete Wert kann hierbei selbst ein Objekt sein.
Aufruf ( <Parameter 1>, ..., <Parameter n> ) | Ruft eine Methode auf. Die Parameter (sofern vorhanden) werden in den Klammern angegeben. Mehrere Parameter werden hierbei durch Kommata getrennt.
Untergeordnetes Element [ <Parameter 1>, ..., <Parameter n> ] | Greift auf ein untergeordnetes Element einer Eigenschaft/eines Objekts zu. Die Parameter (es wird immer mindestens einer benötigt) werden in den eckigen Klammern angegeben.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13
$

// Zugriff auf eine Eigenschaft
v[1] = Time.Tick;                      // Aktueller Zeitstempel des Computers in Millisekunden

// Zugriff auf eine untergeordnete Methode (und Aufruf jener Methode)
v[2] = Keyboard.GetKeyState(VK_LEFT);  // Abfrage des Tastenstatus der linken Pfeiltaste

// Zugriff auf ein untergeordnetes Element einer Eigenschaft/eines Objekts
v[3] = v[2];                           // Zugriff auf die zweite Variable (und Speichern in der Dritten...)

// Zugriff auf ein untergeordnetes Objekt
v[4] = Actor[1].Default.Level;         // Standardlevel des ersten Helden
< Zurück
Vergleichsoperatoren
Weiter >
Vorzeichen

Objektoperatoren


Vorzeichen

Vorzeichen (und "Nachzeichen") werden dazu verwendet um einen Wert vor einer Operation zu verändern. Hierzu gibt es vier "klassische" Vorzeichen, welche den nachfolgenden Wert verändern, den ggf. verwendeten Speicherwert jedoch unverändert lassen. Zudem gibt es zwei Vor-/Nachzeichen, welche ggf. den nachfolgenden Wert verändern, den zwingend(!) verwendeten Speicherwert jedoch immer ändern.
Die "klassischen" Vorzeichen können mit den werteverändernden Vor-/Nachzeichen kombiniert werden, jedoch können die "klassischen" Vorzeichen untereinander nicht kombiniert werden.

Operator | Beschreibung
Plus (Identität) + | Steht vor einer Zahl ein Plus und wird bereits ein Operator verwendet, dann wird dieses Plus als Vorzeichen verwendet. Hierbei wird die Zahl nicht verändert; der Vorteil dieses Vorzeichens ist, dass Zahlen einfach ins DestinyScript kopiert werden können ohne ggf. ein Vorzeichen zu entfernen. Dieses Vorzeichen kann bei allen numerischen Datentypen verwendet werden.
Minus - | Steht vor einer Zahl ein Minus und wird bereits ein Operator verwendet, dann wird dieses Minus als Vorzeichen verwendet. Hierbei wird der Wert der Zahl umgekehrt (also Plus wird zu Minus und Minus wird zu Plus; bei Ganzzahlen ist dies das Zweierkomplement). Dieses Vorzeichen kann bei allen numerischen Datentypen verwendet werden.
Binäres Nicht (NOT) ~ | Dieses Vorzeichen wird dazu benutzt um den Wert einer Ganzzahl zu negieren (Einerkomplement). Hierbei wird jedes 1-Bit zu einem 0-Bit und jedes 0-Bit zu einem 1-Bit. Dieses Vorzeichen kann nur bei ganzzahligen Datentypen verwendet werden.
Logisches Nicht (NOT) ! | Dieses Vorzeichen wird dazu benutzt um den logischen Wert eines Ausdrucks umzukehren. Hierbei wird true zu false und false zu true. Dieses Vorzeichen kann mit allen Datentypen verwendet werden, wobei geprüft wird, ob der Wert ungleich 0 ist und das Ergebnis wird umgekehrt (Ausnahme bei Strings: hier wird geprüft, ob der String nicht leer ist; bei Strings darf dieses Vorzeichen jedoch nicht bei direkt angegebenen Werten verwendet werden).
Inkrement ++ | Das Inkrement kann nur mit Zahlen verwendet werden und kann dabei vor- oder nachgestellt sein. Der Wert muss unbedingt beschreibbar sein. Steht das Inkrement vor dem Wert, so wird der Speicherwert um 1 erhöht und dann als Ergebnis zurückgegeben. Steht das Inkrement hinter dem Wert, so wird der Speicherwert um 1 erhöht und der ursprüngliche Speicherwert dann als Ergebnis zurückgegeben.
Dekrement -- | Das Dekrement kann nur mit Zahlen verwendet werden und kann dabei vor- oder nachgestellt sein. Der Wert muss unbedingt beschreibbar sein. Steht das Dekrement vor dem Wert, so wird der Speicherwert um 1 verringert und dann als Ergebnis zurückgegeben. Steht das Dekrement hinter dem Wert, so wird der Speicherwert um 1 verringert und der ursprüngliche Speicherwert dann als Ergebnis zurückgegeben.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
$

// Plus
v[1] = +3;          // 3

// Minus
v[2] = -3;          // -3
v[3] = -v[2];       // 3

// Binäres Nicht
v[4] = ~5;          // -6

// Logisches Nicht
s[1] = !false;      // true
s[2] = !true;       // false
s[3] = !3;          // false
s[4] = !0;          // true

// Inkrement
v[10] = 100;
v[11] = v[10]++;    // 100 in v[11], 101 in v[10]
v[12] = ++v[10];    // 102 in v[12], 102 in v[10]

// Dekrement
v[10] = 100;
v[13] = v[10]--;    // 100 in v[13], 99 in v[10]
v[14] = --v[10];    // 98 in v[14],  98 in v[10]
< Zurück
Objektoperatoren
Weiter >
Formelausdrücke

Vorzeichen


Formelausdrücke

Nachdem die Datentypen, Angaben von Zahlen und Strings, Operatoren und Kommentare bekannt sind, weiß man schon fast alles, was man benötigt um Formelausdrücke im DestinyScript zu verwenden und somit ein lineares (von oben nach unten ablaufendes) Skript zu schreiben.
Was noch fehlt sind die Prioritäten der Operatoren und die Klammersetzung.

Prioritäten der Operatoren

Wie man weiß gilt laut der mathematischen Algebra: Punkt- vor Strichrechnung.
Manch einer weiß auch die Regel der bool'schen Algebra: UND- vor ODER-Rechnung.
Diese Regeln gelten auch im DestinyScript, müssen jedoch (aufgrund der höheren Anzahl an Operatoren) erweitert werden. Die Operatoren haben deshalb gewisse Prioritäten, welche die Reihenfolge angeben, in denen die Operationen abgearbeitet werden. Stehen Operatoren gleicher Priorität nebeneinander, dann wird die linksstehende Operation zuerst ausgeführt.

Liste der Prioritäten

In folgender Tabelle gilt: je höher die Priorität, desto eher wird die Operation ausgeführt (z. B. hat "Mal" eine höhere Priorität als "Plus"):

Operator(en) | Priorität
Zuweisungsoperator (und Kombinationen) = | 0
Logisches Oder (OR) || | 1
Logisches Und (AND) && | 2
Gleich == | 3
Ungleich != | 3
Größer als > | 3
Größer/Gleich >= | 3
Kleiner als < | 3
Kleiner/Gleich <= | 3
Konkatenation .. | 4
Addition + | 5
Subtraktion - | 5
Multiplikation * | 6
Division / | 6
Modulo % | 6
(Arithmetische) Linksverschiebung << | 7
Arithmetische Rechtsverschiebung >> | 7
Binäres Oder (OR) | | 7
Binäres Exklusiv-Oder (XOR) ^ | 7
Binäres Und (AND) & | 8
Plus-Vorzeichen (Identität) + | 9
Minus-Vorzeichen - | 9
Logisches Nicht-Vorzeichen (NOT) ! | 9
Binäres Nicht-Vorzeichen (NOT) ~ | 9
Inkrement ++ | 10
Dekrement -- | 10
Untergeordnete Eigenschaft/Methode . | 11
Aufruf ( <Parameter 1>, ..., <Parameter n> ) | 11
Untergeordnetes Element [ <Parameter 1>, ..., <Parameter n> ] | 11

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
v[1] = 1 + 2 * 3;    // =  7
v[2] = 4 | 7 & 1;    // =  5
v[3] = ~++v[2];      // = -7

Klammersetzung

Manchmal sollen Operationen in einer anderen Reihenfolge ausgeführt werden, als die Prioritäten es vorschreiben. In diesem Fall muss man den entsprechenden Teil in Klammern ( ) schreiben. Der Teil des Formelausdrucks, der in Klammern steht, wird separat ausgerechnet.
Information:
Ein Vorzeichen vor einer Klammer bezieht sich nur auf das Ergebnis der Klammerrechnung.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ v[1] = 3 * (2 + 5); // = 21 v[2] = 3 * -(2 + 5); // = -21
< Zurück
Vorzeichen
Weiter >
Strukturelemente

Formelausdrücke


Strukturelemente

Bis zu diesem Punkt liefen alle DestinyScripte linear ab. Möchte man nun aber einige Teile des Codes nur bedingt oder wiederholt ausführen, dann ist man auf Strukturelemente angewiesen.
Wer bereits mit anderen Programmiersprachen, wie C++, Visual Basic oder PHP gearbeitet hat, hat hier einige Vorteile, da die grobe Syntax diesen Sprachen entlehnt ist.

Grundsätzlich wird im DestinyScript zwischen folgenden Arten von Strukturelementen unterschieden:
  • Verzweigungen
    Bedingte Ausführung von Code-Abschnitten ohne Wiederholung.
  • Schleifen
    Bedingte Ausführung von Code-Abschnitten mit Wiederholung.
  • Sprungbefehle
    Unterbrechung des Programmflusses
< Zurück
Formelausdrücke
Weiter >
Verzweigungen

Strukturelemente


Verzweigungen

Verzweigungen sind die am häufigsten verwendeten Strukturelemente. Diese dienen dazu, dass nur ein bestimmter Programmcode (von einer definierten Anzahl von Codes) ausgeführt wird. Der lineare Programmfluss wird hier also verzweigt.

Im DestinyScript gibt es folgende Verzweigungen:
  • Einfachverzweigungen (if ... elseif ... else ... endif)
  • Mehrfachverzweigungen (switch ... case ... default ... endswitch)
< Zurück
Strukturelemente
Weiter >
Einfachverzweigungen (If)

Verzweigungen


Einfachverzweigungen (If)

if ... endif

Das If (engl. für "wenn") ist das am häufigsten verwendete Strukturelement. Hier wird hinter dem If in Klammern ein Formelausdruck angegeben, der zu einem Wert aufgelöst werden kann. Ist dieser Ausdruck wahr (also sind Zahlen ungleich 0 und Strings nicht leer), dann wird der darunterstehende Programmcode ausgeführt. Dieser somit eingeleitete Block endet mit einem EndIf (zusammengeschrieben).

In die Zwischenablage kopieren
1 2 3 4 5
$
if(v[1] >= 3)
  // Bedingter Code
  v[2] = 7;
endif;

In Zeile 2 wird ein If-Block eingeleitet, welcher in Zeile 5 endet. Der Programmcode in den Zeilen 3 und 4 wird nur dann ausgeführt, wenn der Formelausdruck (hinter dem If) wahr ist. Der Formelausdruck prüft hier, ob der Wert der ersten Variablen größer/gleich 3 ist:
  • Ist die erste Variable größer/gleich 3 (z. B. 17), dann wird der Wert der zweiten Variablen auf 7 gesetzt.
  • Ist die erste Variable kleiner als 3 (z. B. 1), dann wird der Wert der zweiten Variablen nicht verändert.

if ... else ... endif

Manchmal möchte man genau zwei mögliche Programmcodes angeben:
  • Einen Programmcode der ausgeführt wird, wenn eine Bedingung zutrifft
  • Einen Programmcode der ausgeführt wird, wenn keine Bedingung zutrifft
Hierzu gibt es das zusätzliche Strukturelement "else" (engl. für "ansonsten"). Hinter dem Else steht keine Bedingung; der dort stehende Programmcode wird immer dann ausgeführt, wenn keine der zuvor verwendeten Bedingungen des If-Blocks zutrifft. Das Else muss hierbei stets der letzte Abschnitt des If-Blocks vor dem EndIf sein und ein If-Block kann auch nur einen Else-Abschnitt beinhalten.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
if(v[1] >= 3)
  // Bedingter Code
  v[2] = 7;
else
  // Bedingter Code
  v[2] = 5;
endif;

In Zeile 5 wird der Else-Abschnitt eingeleitet. Der Programmcode des If-Abschnittes (Zeile 3 und 4) wird ausgeführt, wenn die angegebene Bedingung (erste Variable größer/gleich 3) wahr ist. Der Programmcode des Else-Abschnittes (Zeile 6 und 7) wird ausgeführt, wenn die darüber stehenden Bedingungen des If-Blocks (hier also erste Variable größer/gleich 3) nicht wahr sind:
  • Ist die erste Variable größer/gleich 3 (z. B. 17), dann wird der Wert der zweiten Variablen auf 7 gesetzt.
  • Ist die erste Variable kleiner als 3 (z. B. 1), dann wird der Wert der zweiten Variablen auf 5 gesetzt.

if ... elseif ... else ... endif

Wie bereits weiter oben angedeutet ist es mögliche mehrere bedingte Abschnitte in einem If-Block anzugeben. Hierzu gibt es das zusätzliche Strukturelement "elseif" (zusammengeschrieben). Die Syntax des ElseIf ist gleich der Syntax des Ifs, nur mit dem Unterschied, dass innerhalb eines If-Blockes mehrere ElseIf-Abschnitte vorkommen können. Die ElseIf-Abschnitte müssen hierbei hinter dem If-Abschnitt und vor dem Else-Abschnitt (falls vorhanden) stehen. Beinhaltet ein If-Block mehrere Abschnitte (If, ElseIf und/oder Else), dann wird immer nur einer dieser Abschnitte ausgeführt. Fehlt die Angabe eines Else-Abschnittes, dann kann es sogar sein, dass kein Abschnitt ausgeführt wird.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$
if(v[1] >= 3)
  // Bedingter Code
  v[2] = 7;
elseif(v[1] <= -5)
  // Bedingter Code
  v[2] = 1;
elseif(v[1] <= -2)
  // Bedingter Code
  v[2] = 4;
elseif(v[1] <= -8)
  // Bedingter Code (wird niemals ausgeführt)
  v[2] = 3;
else
  // Bedingter Code
  v[2] = 5;
endif;

Dieses Beispiel wurde um drei ElseIf-Abschnitte ergänzt:
  1. In Zeile 5 wird geprüft, ob die erste Variable kleiner als -5 ist. Ist dies der Fall, dann wird der Wert der zweiten Variablen auf 1 gesetzt (Zeile 6 und 7).
  2. In Zeile 8 wird geprüft, ob die erste Variable kleiner als -2 ist. Ist dies der Fall, dann wird der Wert der zweiten Variablen auf 4 gesetzt (Zeile 9 und 10).
  3. In Zeile 11 wird geprüft, ob die erste Variable kleiner als -8 ist. Diese Bedingung kann nie erfüllt werden (selbst wenn die erste Variable kleiner als -8 ist), da bereits in Zeile 5 und Zeile 8 geprüft wurde, ob die erste Variable kleiner als -5, bzw. -2 ist. Ist dies der Fall, dann wird der jeweilige bedingte Programmcode ausgeführt und danach der If-Block verlassen. Die Bedingung, dass die erste Variable kleiner als -8 ist, kann somit an dieser Stelle nicht erfüllt werden.
Der Else-Abschnitt (Zeile 14) wird nur ausgeführt, wenn die oberen Bedingungen des If-Blocks nicht zutreffen. Dies wäre nur dann der Fall, wenn die erste Variable im Bereich von -1 bis +2 liegt.

Verwenden von mehreren Bedingungen für einen Abschnitt

Es ist auch möglich für einen Abschnitt (mit Bedingung; also If und/oder ElseIf) mehrere Bedingungen im Formelausdruck anzugeben. Hierzu werden meist mehrere Vergleiche mit Hilfe der logischen Verknüpfungsoperatoren verknüpft:
  • && (Und) wird benutzt, wenn mehrere Bedingungen zutreffen sollen
  • || (Oder) wird benutzt, wenn eine (oder mehrere) von mehreren Bedinungen zutreffen sollen
  • ! (Nicht; als Vorzeichen) wird benutzt, wenn die nachfolgende Bedingung umgekehrt werden soll (die Bedingung also nicht zutreffen soll)
Die Bedingungen können hierbei, wie im Kapitel über Formelausdrücke beschrieben, auch in Klammern gefasst werden.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$
if(!(v[1] == 3))
  // Wird nur ausgeführt, wenn v[1] NICHT 3 ist
endif;

if(v[1] >= 3 && v[1] <= 5)
  // Wird nur ausgeführt, wenn v[1] größer/gleich 3 UND kleiner/gleich 5 ist (also 3, 4 oder 5)
endif;

if(v[1] == 3 || v[1] == 4)
  // Wird nur ausgeführt, wenn v[1] gleich 3 ODER gleich 4 ist
endif;

if((v[1] == 3 || v[1] == 4) && !(v[2] == 5))
  // Wird nur ausgeführt, wenn v[1] gleich 3 ODER gleich 4 ist UND v[2] NICHT gleich 5 ist
endif;

Verschachtelte If-Blöcke

Grundsätzlich lassen sich alle Strukturelemente "verschachteln". Dies geht auch mit If-Blöcken, sodass manche If-Blöcke nur dann ausgeführt werden, wenn ein übergeordneter If-Block erfüllt ist:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
if(v[1] == 3)
  v[2]++;
  if(v[2] == 10)
    v[3]++;
    v[2] = 0;
  endif;
endif;

Der If-Block in den Zeilen 4 bis 7 wird nur dann ausgeführt, wenn der übergeordnete Abschnitt des If-Blocks (Zeile 2 bis 8) ausgeführt wird.
< Zurück
Verzweigungen
Weiter >
Mehrfachverzweigungen (Switch)

Einfachverzweigungen (If)


Mehrfachverzweigungen (Switch)

switch ... case ... endswitch

Das "switch" (engl. für "schalten") dient dazu abhängig von einem Wert in einen bestimmten Abschnitt des Switch-Blockes zu springen. Der Übergang der Abschnitte ist hierbei fließend (also am Ende des einen Abschnitts wird standardmäßig der Inhalt des folgenden Abschnittes ausgeführt). Hier wird hinter dem Switch in Klammern ein Formelausdruck angegeben, der zu einem Wert aufgelöst werden kann. Dieser Wert muss entweder eine Ganzzahl, eine Kommazahl, ein String oder ein Bool sein. Innerhalb des Switch-Blockes folgen dann ein oder mehrere "case"-Abschnitte (engl. für "Fall"), welche Einsprungpunkte innerhalb des Switch-Blockes angeben. Hinter dem Case steht ein fester Wert (kein Formelausdruck!) gefolgt von einem Doppelpunkt. Entspricht der verglichene Formelausdruck (hinter dem Switch) dem jeweiligen Wert (hinter dem Case), dann wird der Code des jeweiligen Abschnitts ausgeführt. Trifft kein Abschnitt auf den verglichenen Formelausdruck zu, dann wird keiner der Abschnitte des Switch-Blockes ausgeführt und der Code läuft hinter dem Switch-Block weiter. Der Switch-Block endet mit einem EndSwitch (zusammengeschrieben).

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
v[2] = 0;
switch(v[1])
  case 0:
    // Bedingter Code (wenn v[1] gleich 0)
    v[2]++;
  case 1:
    // Bedingter Code (wenn v[1] gleich 1 oder wenn v[1] 0 war)
    v[2]++;
endswitch;

In Zeile 3 wird ein Switch-Block eingeleitet, welcher in Zeile 10 endet.
Der Programmcode in den Zeilen 4 bis 6 wird nur dann ausgeführt, wenn der Formelausdruck (hinter dem Switch) der Zahl 0 entspricht.
Der Programmcode in den Zeilen 7 bis 9 wird nur dann ausgeführt, wenn der Formelausdruck (hinter dem Switch) der Zahl 1 entspricht oder wenn der vorhergegangene Abschnitt (Zeilen 4 bis 7) ausgeführt wurde.
  • Ist die erste Variable gleich 0, dann wird der Wert der zweiten Variablen auf 2 gesetzt (durch zwei Inkrementierungen).
  • Ist die erste Variable gleich 1, dann wird der Wert der zweiten Variablen auf 1 gesetzt (durch eine Inkrementierung).
  • Ist die erste Variable weder 0 noch 1, dann passiert nichts.

Verlassen eines Switch-Blocks

In den meisten Fällen ist es nicht gewünscht, dass nach dem obersten Abschnitt die darunterstehenden Abschnitte ebenfalls ausgeführt werden. Meistens will man, dass es je Wert (oder je einer Gruppe von Werten) genau definierte Abschnitte innerhalb des Switch-Blocks gibt.
Hierzu ist es notwendig den Switch-Block vorzeitig zu verlassen. Hierzu gibt es das Strukturelement "break" (engl. für "Abbrechen"). Steht in einer Zeile innerhalb des Switch-Blockes ein Break, dann wird dieser Switch-Block an jener Stelle verlassen. Stehen unter jenem Break weitere Case-Abschnitte, dann können diese selbstverständlich angesprungen werden, da der Switch-Block mit dem Break nicht endet; lediglich während der Ausführung wird der Switch-Block an der Stelle des Breaks verlassen. Wird jeweils an die letzte Zeile eines Abschnitts ein Break geschrieben, dann wird jeder Abschnitt nur bei den definierten Werten ausgeführt.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$
v[2] = 0;
switch(v[1])
  case 0:
    // Bedingter Code (wenn v[1] gleich 0)
    v[2]++;
    break;
  case 1:
    // Bedingter Code (wenn v[1] gleich 1)
    v[2]++;
    break;
endswitch;

Im Unterschied zum vorherigen Beispiel wird hier am Ende des ersten Abschnitts (Zeile 4 bis 7; bei v[1] gleich 0) der Switch-Block verlassen. Somit wird im Anschluss nicht, wie im vorherigen Beispiel, der darauffolgende Abschnitt (Zeile 9 bis 12; bei v[1] gleich 1) am Ende des ersten Abschnitts ausgeführt.

Mehrere Fälle für einen Abschnitt

Gelegentlich kommt es vor, dass ein bestimmter Abschnitt (welcher mit einem Break endet) für mehrere Werte gelten soll. Hier werden einfach beide Verhaltensweisen kombiniert (Verlassen eines Abschnittes mit Break und Weiterlaufen in den folgenden Abschnitt ohne Break):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
switch(v[1])
  case 0: case 1:
    // Bedingter Code (wenn v[1] gleich 0 oder gleich 1)
    v[2] = 5;
    break;
  case 2: case 3: case 4: case 5:
    // Bedingter Code (wenn v[1] gleich 2, 3, 4 oder gleich 5)
    v[2] = 17;
    break;
endswitch;

switch ... case ... default ... endswitch

Ein weiterer, häufiger Anwendungsfall ist es, wenn ein bestimmter Abschnitt ausgeführt werden soll, falls keiner der definierten Case-Abschnitte zutrifft. Hierzu gibt es den "default"-Abschnitt (engl. für "Standardfall"), welcher der letzte Abschnitt innerhalb des Switch-Blockes sein muss und nur einmal je Switch-Block vorkommen darf.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14
$
switch(v[1])
  case 0:
    // Bedingter Code (wenn v[1] gleich 0)
    v[2] = 11;
    break;
  case 1:
    // Bedingter Code (wenn v[1] gleich 1)
    v[2] = 31;
    break;
  default:
    // Bedingter Code (wenn v[1] weder 0 noch 1 war)
    v[2] = 17;
endswitch;

In diesem Beispiel wird der Default-Abschnitt nur dann ausgeführt, wenn alle anderen Case-Abschnitte des Switch-Blocks nicht zutreffen.
  • Ist die erste Variable gleich 0, dann wird der Wert der zweiten Variablen auf 11 gesetzt.
  • Ist die erste Variable gleich 1, dann wird der Wert der zweiten Variablen auf 31 gesetzt.
  • In allen anderen Fällen (erste Variable kleiner als 0 oder größer als 1) wird der Wert der zweiten Variablen auf 17 gesetzt.

Ähnlichkeiten zu einfachen Verzweigungen (if ... elseif ... else ... endif)

Wird am Ende jedes Case-Abschnittes ein Break verwendet, dann lässt sich ein solcher Switch-Block auch als If-Block angeben (und umgekehrt).

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
$
// Beispiel als Switch
switch(v[1])
  case 0:
    // Bedingter Code (wenn v[1] gleich 0)
    v[2] = 11;
    break;
  case 1: case 2:
    // Bedingter Code (wenn v[1] gleich 1 oder gleich 1)
    v[2] = 31;
    break;
  default:
    // Bedingter Code (wenn v[1] weder 0, 1 oder 2 war)
    v[2] = 17;
endswitch;

// Beispiel als If
if(v[1] == 0)
  // Bedingter Code (wenn v[1] gleich 0)
  v[2] = 11;
elseif(v[1] == 1 || v[1] == 2)
  // Bedingter Code (wenn v[1] gleich 1 oder 2)
  v[2] = 31;
else
  // Bedingter Code (wenn v[1] weder 0, 1 oder 2 war)
  v[2] = 17;
endif;

Der Switch-Block hat folgende Vorteile gegenüber dem If-Block:
  • Der Code ist übersichtlicher
  • Die Ausführung des Codes ist etwas schneller, da der Wert hinter dem Switch nicht jedesmal ausgewertet werden muss
  • Es ist (sofern gewünscht) möglich mehrere Abschnitte ineinander übergehen zu lassen (wenn man das Break weglässt)
Dafür hat der Switch-Block gegenüber dem If-Block folgende Nachteile:
  • Es kann nur ein Wert mit mehreren anderen Werten verglichen werden. Komplexere Vergleiche wie "alle Werte größer als 3" sind nicht möglich.
  • Wenn man ein Break vergisst können Fehler im Programmablauf auftreten, da das Weglassen des Breaks kein Syntaxfehler ist
< Zurück
Einfachverzweigungen (If)
Weiter >
Schleifen

Mehrfachverzweigungen (Switch)


Schleifen

Schleifen sind Strukturelemente, welche dazu genutzt werden einen bestimmten Programmcode wiederholt ("in einer Schleife") auszuführen. Der lineare Programmfluss verfügt hier also über einen Rücksprung.

Im DestinyScript gibt es folgende Schleifen:
  • Kopf- und Fußgesteuerte Schleifen (do while/until ... loop und do ... loop while/until)
  • Zählschleifen (for ... next)
< Zurück
Mehrfachverzweigungen (Switch)
Weiter >
Kopf-/Fußgesteuerte Schleifen

Schleifen


Kopf-/Fußgesteuerte Schleifen

do while/until ... loop

Kopfgesteuerte Schleifen sind Schleifen, dessen Steuerung im Kopf (also am Anfang der Schleife) sitzt. Eine Kopfgesteuerte Schleife wird im DestinyScript mit einem "do" (engl. für "tue (etwas)"), gefolgt von einem "while" (engl. für "solange") oder "until" (engl. für "solange bis") eingeleitet. Hinter dem While oder Until wird ein Formelausdruck in runden Klammern angegeben, welcher zu einem Wert aufgelöst werden kann. Damit die Schleife betreten und/oder wiederholt wird, muss dieser Wert bei While wahr sein. Bei Until muss dieser Wert hingegen falsch sein. Trifft die Bedingung (wahr bei While, bzw. falsch bei Until) zu, dann wird der darunterstehende Code ausgeführt. Dieser somit eingeleitete Block endet mit einem "loop" (engl. für "Schleife").

do while ... loop

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
v[1] = 10000;
v[2] = 1;
do while(v[1] > 1)
  v[2]++;
  v[1] /= 10;
loop;

In diesem Beispiel wird die erste Variable auf 10000 und die zweite Variable auf 1 gesetzt (Zeile 2 und 3). Danach folgt eine Kopfgesteuerte Schleife, welche ausgeführt wird, solange der Wert der ersten Variablen größer als 1 ist (Zeile 4 bis 7). Der Code im Inneren der Schleife (Zeile 5 und 6) wird hierbei mehrmals ausgeführt (hier vier mal).

do until ... loop

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
v[1] = 10000;
v[2] = 1;
do until(v[1] > 1)
  v[2]++;
  v[1] /= 10;
loop;

Dieses Beispiel entspricht dem vorherigen Beispiel nur mit dem Unterschied, dass das While durch ein Until ersetzt wurde. Die Schleife wird hierbei gar nicht ausgeführt, weil die Bedingung (erste Variable darf nicht größer als 1 sein) nicht erfüllt ist. Eine Schleife, die mit Until gesteuert wird, ist also nicht anderes als eine Schleife, die mit While gesteuert wird, dessen Bedingung einfach durch ein logisches Nicht ( ! ) umgekehrt wurde.

do ... loop while/until

Im Gegensatz zu Kopfgesteuerten Schleifen steht bei Fußgesteuerten Schleifen die Bedingung im Fuß (also am Ende der Schleife). Der Unterschied zwischen Kopf- und Fußgesteuerten Schleifen ist lediglich, dass Fußgesteuerte Schleifen immer mindestens einmal durchlaufen werden (da die Bedingung ja erst am Ende der Schleife geprüft wird). Bei Kopfgesteuerten Schleifen hingegen wird sogar beim ersten Durchlauf die Bedingung geprüft, wodurch es passieren kann, dass der Inhalt der Schleife gar nicht ausgeführt wird (siehe vorheriges Beispiel).

do ... loop while

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
v[1] = 0;
v[2] = 1;
do
  v[2] *= 2;
  v[1]++;
loop while(v[1] == 10);

In diesem Beispiel wird am Anfang die erste Variable auf 0 und die zweite Variable auf 1 gesetzt (Zeile 2 und 3). Die Fußgesteuerte Schleife (Zeile 4 bis 7) wird hierbei mindestens einmal durchlaufen, da die Bedingung (erste Variable muss 10 sein) erst am Ende der Schleife geprüft wird. Im Inneren der Schleife (Zeile 5 und 6) wird zuerst der Inhalt der zweiten Variablen verdoppelt und danach der Inhalt der ersten Variablen um 1 erhöht. Da nach dem ersten Durchlauf die erste Variable den Wert 1 hat (und eben nicht 10) wird die Schleife nicht wiederholt, sondern verlassen (und der ggf. darauffolgende Code ausgeführt).

do ... loop until

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
v[1] = 0;
v[2] = 1;
do
  v[2] *= 2;
  v[1]++;
loop until(v[1] == 10);

Dieses Beispiel entspricht dem vorherigen Beispiel nur mit dem Unterschied, dass das While durch ein Until ersetzt wurde.
Im Gegensatz zum vorherigen Beispiel wird diese Schleife jedoch insgesamt zehn Mal durchlaufen, da die Bedingung (erste Variable darf nicht 10 sein) erst nach zehn Durchläufen (sobald die erste Variable zehn ist) nicht mehr erfüllt ist.

Vorzeitiges Verlassen der Schleife (break)

Soll eine Schleife umgehend verlassen werden (ohne die Bedingung erneut zu prüfen), dann kann hierzu das Strukturelement "break" (engl. für "Abbrechen") verwendet werden.
Wird dieses Strukturelement innerhalb der Schleife benutzt, dann wird die Schleife an dieser Stelle verlassen. Code innerhalb der Schleife, welcher ggf. hinter dem Break steht, wird hierbei nicht ausgeführt. Das Break kann hierbei auch durch andere Strukturelemente gekapselt werden (z. B. innerhalb eines Ifs).

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
v[1] = 0;
v[2] = 0;
do while(v[1] < 10)
  v[1]++;
  if(v[1] == 3)
    break;
  endif;
  v[2]++;
loop;

In diesem Beispiel wird eine Schleife ausgeführt, welche augenscheinlich zehn Mal durchlaufen wird. Die erste Variable (welche anfangs auf 0 gesetzt wird) wird mit jedem Durchlauf um 1 erhöht und die Schleifenbedingung gibt an, dass die erste Variable kleiner als 10 sein muss.
Tatsächlich wird die Schleife jedoch nur drei Mal ausgeführt, da innerhalb der Schleife geprüft wird, ob die erste Variable den Wert 3 hat (Zeile 6) und falls dies zutrifft die Schleife verlassen wird (Zeile 7). Da diese Bedingung bereits nach drei Durchläufen erfüllt ist, wird die Schleife an dieser Stelle verlassen.
Am Ende des Codes ist die erste Variable 3 und die zweite Variable 2 (der Code hinter dem Break wurde beim Verlassen der Schleife nicht mehr ausgeführt).

Vorzeitiges Wiederholen der Schleife (continue)

Soll eine Schleife umgehend wiederholt werden (und die Bedingung erneut geprüft werden), dann kann hierzu das Strukturelement "continue" (engl. für "Fortführen") verwendet werden.
Wird dieses Strukturelement innerhalb der Schleife benutzt, dann wird die Bedingung der Schleife erneut geprüft und (sofern die Bedingung zutrifft) die Ausführung an der ersten Zeile der Schleife fortgesetzt. Trifft die Bedingung nicht zu, dann wird die Schleife verlassen. In jedem Fall wird hinter dem Continue stehender Code für den ursprünglichen Durchlauf hierbei nicht mehr ausgeführt.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
v[1] = 0;
v[2] = 0;
do while(v[1] < 10)
  v[1]++;
  if(v[1] == 3)
    continue;
  endif;
  v[2]++;
loop;

Dieses Beispiel ähnelt dem vorherigen Beispiel, nur mit dem Unterschied, dass ein Continue (statt eines Breaks) verwendet wird. In diesem Beispiel wird die Schleife, im Gegensatz zum vorherigen Beispiel, wirklich zehn Mal durchlaufen. Im dritten Durchlauf wird jedoch der Code hinter dem Continue (also die Erhöhung der zweiten Variablen um 1) nicht ausgeführt.
Am Ende des Codes ist die erste Variable 10 und die zweite Variable 9.
< Zurück
Schleifen
Weiter >
Zählschleifen

Kopf-/Fußgesteuerte Schleifen


Zählschleifen

for ... next

Zählschleifen sind Schleifen, welche die Aufgabe haben einen bestimmten Code anhand einer Zählung zu wiederholen. Dies wird z. B. benutzt um eine Schleife über alle Events, ... zu machen (welche anhand einer Zahl identifiziert werden). Eine Zählschleife wird im DestinyScript mit einem "for" (engl. für "Für") gefolgt von einem Klammernpaar eingeleitet.
In diesem Klammernpaar müssen drei Bereiche angegeben werden, welche je durch ein Semikolon voneinander getrennt sind:
  1. Der Initialisierungsbereich
    Dieser Bereich wird vor dem Eintritt in die Schleife ausgeführt. Er wird meistens dazu benutzt um eine (Zähl-)Variable auf einen Startwert für die Schleife zu setzen. Der Inhalt dieses Bereichs kann ausgelassen werden (dann passiert vor dem Eintritt nichts).
  2. Der Bedingungsbereich
    In diesem Bereich wird ein Formelausdruck angegeben, welcher zu einem Wert aufgelöst werden kann. Dieser Wert wird vor jedem Schleifendurchlauf geprüft; ist dieser Wert wahr, dann wird die Schleife betreten/wiederholt – andernfalls wird die Schleife verlassen. Der Inhalt dieses Bereichs kann ausgelassen werden (dann ist die Schleifenbedingung immer erfüllt).
  3. Der Zählbereich
    Dieser Bereich beinhaltet einen Formelausdruck, welcher nach einem Schleifendurchlauf vor der Prüfung der Bedingung ausgeführt wird. Der Bereich wird meistens dazu benutzt um die (Zähl-)Variable zu erhöhen oder zu verringern. Der Inhalt dieses Bereichs kann ausgelassen werden (dann passiert zwischen den Schleifendurchläufen nichts).
Dieser somit eingeleitete Block endet mit einem "next" (engl. für "Nächstes").

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Den ersten String leeren
a[1] = "";

// Eine Schleife mit zehn Ausführungen ausführen
for(v[1] = 0; v[1] < 10; v[1]++)
  a[1] ..= v[1] .. ";";
next;

In diesem Beispiel wird zu Beginn der erste String geleert (Zeile 3). Danach folgt eine Zählschleife, welche über die erste Variable von 0 bis 10 zählt (Zeile 6 bis 8). Der Code im Inneren der Schleife (Zeile 7) wird hierbei zehn Mal ausgeführt.
Am Ende würde der erste String den Text "0;1;2;3;4;5;6;7;8;9;" beinhalten.

Die Schleife läuft hierbei wie folgt ab:
  1. Setze die erste Variable auf 0 (Initialisierungsbereich)
  2. Prüfe, ob die erste Variable kleiner als 10 ist (Bedingungsbereich)
  3. Da die Bedingung zutrifft wird der innere Code ausgeführt
  4. Nachdem der innere Code ausgeführt wurde, wird die erste Variable um 1 erhöht (Zählbereich)
  5. Anschließend wird erneut geprüft, ob die erste Variable kleiner als 10 ist (Bedingungsbereich). Trifft dies zu, dann wird ab Punkt 3 fortgesetzt; andernfalls endet die Zählschleife hier.

Am häufigsten verwendeten Zählschleifen

Es gibt viele verschiedene Formen von Zählschleifen, doch werden die folgende Formen am häufigesten verwendet.

Aufwärtszählende Schleife (Anfang ist 0)

  • Bei dieser Schleife beginnt die Zählung mit 0 (Initialisierungsbereich).
  • Die Zählvariable muss kleiner als die Anzahl der Elemente sein (Bedingungsbereich).
  • Zwischen den Schleifendurchläufen wird die Zählvariable um 1 erhöht (Zählbereich).
In die Zwischenablage kopieren
1 2 3 4
$
for(v[1] = 0; v[1] < Client.Count; v[1]++)
  Client[v[1]].Close();
next;

In diesem Beispiel wird eine Zählschleife über alle Elemente des Client-Objekts ausgeführt.
Information:
Alle Objekte mit Index, welche Objekte der Destiny.dll beschreiben, beginnen mit dem Index 0.

Aufwärtszählende Schleife (Anfang ist 1)

  • Bei dieser Schleife beginnt die Zählung mit 1 (Initialisierungsbereich).
  • Die Zählvariable muss kleiner/gleich der Anzahl der Elemente sein (Bedingungsbereich).
  • Zwischen den Schleifendurchläufen wird die Zählvariable um 1 erhöht (Zählbereich).
In die Zwischenablage kopieren
1 2 3 4 5
$
a[1] = "";
for(v[1] = 1; v[1] < Actor.Count; v[1]++)
  a[1] ..= Actor[v[1]].Name .. ";";
next;

In diesem Beispiel wird eine Zählschleife über alle Elemente des Actor-Objekts ausgeführt.
Information:
Alle Objekte mit Index, welche Objekte der RPG_RT beschreiben, beginnen mit dem Index 1.
(Ausnahme ist hierbei das MapEvent-Objekt, da es eine andere Sicht auf Events ermöglicht.)

Abwärtszählende Schleife (Ende ist 0)

  • Bei dieser Schleife beginnt die Zählung mit der Anzahl der Elemente minus 1 (Initialisierungsbereich).
  • Die Zählvariable muss größer/gleich als 0 sein (Bedingungsbereich).
  • Zwischen den Schleifendurchläufen wird die Zählvariable um 1 verringert (Zählbereich).
In die Zwischenablage kopieren
1 2 3 4
$
for(v[1] = Client.Count - 1; v[1] >= 0; v[1]--)
  Client[v[1]].Close();
next;

In diesem Beispiel wird eine Zählschleife über alle Elemente des Client-Objekts ausgeführt.

Abwärtszählende Schleife (Ende ist 1)

  • Bei dieser Schleife beginnt die Zählung mit der Anzahl der Elemente (Initialisierungsbereich).
  • Die Zählvariable muss größer/gleich 1 sein (Bedingungsbereich).
  • Zwischen den Schleifendurchläufen wird die Zählvariable um 1 verringert (Zählbereich).
In die Zwischenablage kopieren
1 2 3 4 5
$
a[1] = "";
for(v[1] = Actor.Count; v[1] >= 1; v[1]--)
  a[1] ..= Actor[v[1]].Name .. ";";
next;

In diesem Beispiel wird eine Zählschleife über alle Elemente des Actor-Objekts ausgeführt.

Endlosschleife

Gelegentlich kommt es vor, dass man eine Schleife haben möchte, welche "ewig" läuft. Solche Schleifen nennt man Endlosschleifen; meistens haben diese zu komplexe Bedingungen, als dass diese im Bedingungsbereich angegeben werden könnte. Hierzu benutzt man dann die Zählschleife und lässt einfach alle drei Bereiche weg.

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$ for(;;) // Endlosschleife if(Keyboard.GetKeyState(VK_F10) != 0) // Prüfen, ob die Taste F10 gedrückt ist Destiny.Debugger.Open(); // Falls dies zutrifft den Destiny-Debugger öffnen endif; pause; // Andere Skripte weiterlaufen lassen next;

Dieses Beispiel wird "ewig" (d. h. bis das Spiel beendet oder die aktuelle Karte verlassen wird) ausgeführt. Innerhalb der Schleife wird mittels des Keyboard-Objekts geprüft, ob die F10-Taste gedrückt ist (Zeile 3). Trifft dies zu, dann öffnet sich der Destiny-Debugger (Zeile 4). In Zeile 6 steht das noch unbekannte Strukturelement "pause". Dieses wird im nächsten Kapitel beschrieben; es ist an dieser Stelle notwendig, damit das Spiel nicht einfriert (schließlich wird die Endlosschleife im Code nie verlassen).

Vorzeitiges Verlassen der Zählschleife (break)

Soll eine Zählschleife umgehend verlassen werden (ohne die Bedingung erneut zu prüfen und ohne den Zählbereich durchzuführen), dann kann hierzu das Strukturelement "break" (engl. für "Abbrechen") verwendet werden.
Wird dieses Strukturelement innerhalb der Zählschleife benutzt, dann wird die Zählschleife an dieser Stelle verlassen. Code innerhalb der Zählschleife, welcher ggf. hinter dem Break steht, wird hierbei nicht ausgeführt. Das Break kann hierbei auch durch andere Strukturelemente gekapselt werden (z. B. innerhalb eines Ifs).

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
v[2] = 0;
for(v[1] = 0; v[1] < 10; v[1]++)
  if(v[1] == 3)
    break;
  endif;
  v[2]++;
next;

In diesem Beispiel wird eine Zählschleife ausgeführt, welche augenscheinlich zehn Mal durchlaufen wird. Die erste Variable wird im Initialisierungsbereich auf 0 gesetzt und nach jedem Durchlauf um 1 erhöht. Die Schleifenbedingung gibt an, dass die erste Variable kleiner als 10 sein muss.
Tatsächlich wird die Zählschleife jedoch nur vier Mal ausgeführt, da innerhalb der Zählschleife geprüft wird, ob die erste Variable den Wert 3 hat (Zeile 4) und falls dies zutrifft die Zählschleife verlassen wird (Zeile 5). Da diese Bedingung bereits nach vier Durchläufen erfüllt ist, wird die Zählschleife an dieser Stelle verlassen.
Am Ende des Codes ist die erste Variable 3 (nach dem Verlassen der Zählschleife per Break wurde der Wert der ersten Variablen nicht mehr erhöht) und die zweite Variable 2 (der Code hinter dem Break wurde nicht mehr ausgeführt).

Vorzeitiges Wiederholen der Zählschleife (continue)

Soll eine Zählschleife umgehend wiederholt werden (und der Zählbereich ausgeführt und die Bedingung erneut geprüft werden), dann kann hierzu das Strukturelement "continue" (engl. für "Fortführen") verwendet werden.
Wird dieses Strukturelement innerhalb der Zählschleife benutzt, dann wird zunächst der Zählbereich ausgeführt. Anschließend wird die Bedingung der Zählschleife erneut geprüft und (sofern die Bedingung zutrifft) die Ausführung an der ersten Zeile der Zählschleife fortgesetzt. Trifft die Bedingung nicht zu, dann wird die Zählschleife verlassen. In jedem Fall wird hinter dem Continue stehender Code für den ursprünglichen Durchlauf hierbei nicht mehr ausgeführt.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
v[2] = 0;
for(v[1] = 0; v[1] < 10; v[1]++)
  if(v[1] == 3)
    break;
  endif;
  v[2]++;
next;

Dieses Beispiel ähnelt dem vorherigen Beispiel, nur mit dem Unterschied, dass ein Continue (statt eines Breaks) verwendet wird. In diesem Beispiel wird die Zählschleife, im Gegensatz zum vorherigen Beispiel, wirklich zehn Mal durchlaufen. Im dritten Durchlauf wird jedoch der Code hinter dem Continue (also die Erhöhung der zweiten Variablen um 1) nicht ausgeführt.
Am Ende des Codes ist die erste Variable 10 und die zweite Variable 9.
< Zurück
Kopf-/Fußgesteuerte Schleifen
Weiter >
Sprungbefehle

Zählschleifen


Sprungbefehle

Sprungbefehle sind Strukturelemente, welche dazu genutzt werden einen bestimmten Programmcode zu überspringen. Grundsätzlich wird der sonst lineare Programmfluss verändert, sodass der Code an einer anderen Stelle fortgeführt wird.

Im DestinyScript gibt es folgende Arten von Sprungbefehlen:
  • Sprungbefehle für Schleifen/Verzweigungen (break und continue)
  • Sonstige Sprungbefehle (exit und pause)
< Zurück
Zählschleifen
Weiter >
Sprungbefehle für Schleifen/Verzweigungen

Sprungbefehle


Sprungbefehle für Schleifen/Verzweigungen

Grundsätzliche Funktionen

Die Sprungbefehle für Schleifen/Verzweigungen (break und continue) wurden bereits in den vorherigen Kapiteln beschrieben, sind jedoch mächtiger als in den bisherigen Beispielen genannt.

Grob zusammengefasst ist die grundsätzliche Funktionalität dieser Strukturelemente folgende:
  • In Schleifen dienen die Sprungbefehle entweder dafür die Schleife zu verlassen (break) oder zu wiederholen (continue).
  • In Verzweigungen (nur switch) dient break dazu die Verzweigung zu verlassen. Continue bezieht sich hierbei auf die übergeordnete Schleife (nicht auf das switch).

Verwendung bei verschachtelten Schleifen

Problematisch wird die Verwendung dieser Strukturelemente nur dann, wenn diese innerhalb von "verschacheltem" Code (z. B. einer Schleife innerhalb einer Schleife) verwendet wird. Will man beispielsweise die äußere Schleife über ein break in der inneren Schleife verlassen, dann geht dies mit der normalen Syntax nicht.
Um break und continue für übergeordnete Schleifen zu verwenden schreibt man hinter das Strukturelement in runden Klammern eine Ganzzahl, die größer/gleich 1 ist:
  • 1 bezieht sich auf die aktuelle Schleife/das aktuelle Switch.
  • 2 bezieht sich auf die Schleife/das Switch um die aktuelle Schleife/das aktuelle Switch.
  • ...
Hierbei ist anzumerken, dass Schleifen und Switch gleichermaßen gezählt werden. Soll innerhalb eines Switch also eine übergeordnete Schleife verlassen/wiederholt werden, dann muss break(2) bzw. continue(2) benutzt werden.
Information:
Wird hinter break oder continue keine Zahl in Klammern angegeben, so ist dies als break(1), bzw. continue(1) zu betrachten.
Information:
Verweist ein Continue auf ein Switch, so wird ein Fehler ausgelöst.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
for(v[1] = 0; v[1] < 10; v[1]++)
  for(v[2] = 0; v[2] < 10; v[2]++)
    if(v[2] == 5)
      break(2);
    endif;
  next;
next;

Am Ende wären die erste Variable 0 und die zweite Variable 5.
< Zurück
Sprungbefehle
Weiter >
Sonstige Sprungbefehle

Sprungbefehle für Schleifen/Verzweigungen


Sonstige Sprungbefehle

In DestinyScript gibt es neben den Sprungbefehlen für Schleifen noch zwei weitere Sprungbefehle:
  • exit
    Beendet das aktuelle Skript
  • pause
    Pausiert das aktuelle Skript

Beenden des aktuellen Skriptes (exit)

Mit dem Strukturelement "exit" (engl. für "Beenden/Verlassen") wird das aktuell laufende Skript beendet. Sämtliche ggf. dahinter stehenden Befehle werden dann nicht mehr ausgeführt. Dies ist z. B. sinnvoll um eine Reihe von K.O.-Kriterien zu überprüfen und dann bei Bedarf das Skript nicht durchlaufen zu lassen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$
// Den aktuellen Zeitstempel in Millisekunden merken
v[1] = Time.Tick;

// Eine Schleife 5 Sekunden lang ausführen
do
  v[2] = Time.Tick;
  if(Keyboard.GetKeyState(VK_ESCAPE) != 0)
    // Das aktuelle Skript beenden, falls Escape gedrückt wurde
    a[1] = "Abgebrochen";
    exit;
  endif;
loop while(v[2] - v[1] < 5000);

// In a[1] die verwendete Wartezeit eintragen
a[1] = "Gewartete Zeit: " .. (v[2] - v[1]) / 1000.0 .. " s";

In diesem Skript wird eine Schleife ausgeführt, welche mindestens 5 Sekunden (= 5000 Millisekunden) laufen soll (Zeile 6 bis 13). Wird jedoch Escape gedrückt (Zeile 8), dann wird das aktuelle Skript verlassen (Zeile 11). Der darunterstehende Code (im Wesentlichen Zeile 16) wird in diesem Fall nicht ausgeführt.

Pausieren des aktuellen Skriptes (pause)

Mit dem Strukturelement "pause" (engl. für... Pause halt) wird das aktuell laufende Skript kurz pausiert. Der technische Nutzen liegt darin, dass das während eines Wartezyklus (wie beispielsweise im oberen Beispiel) das Spiel nicht einfriert. Normalerweise läuft ein Skript durch, ohne dass die RPG_RT wieder arbeiten kann (z. B. Events abarbeiten, Grafiken anzeigen, ...). Mit der Verwendung des pause-Strukturelements ist dies jedoch möglich.
Information:
Die Verwendung des pause-Strukturelements ist im Besonderen in der Kombination mit dem Command-Objekt sinnvoll, da dieses Objekt ggf. Wartezeiten des EventScripts ausführt. Mit der Verwendung von "pause" im Skript wird diese Wartezeit dann tatsächlich abgearbeitet.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$
// Den aktuellen Zeitstempel in Millisekunden merken
v[1] = Time.Tick;

// Eine Schleife 5 Sekunden lang ausführen
do
  v[2] = Time.Tick;
  if(Keyboard.GetKeyState(VK_ESCAPE) != 0)
    // Das aktuelle Skript beenden, falls Escape gedrückt wurde
    a[1] = "Abgebrochen";
    exit;
  endif;
  pause;
loop while(v[2] - v[1] < 5000);

// In a[1] die verwendete Wartezeit eintragen
a[1] = "Gewartete Zeit: " .. (v[2] - v[1]) / 1000.0 .. " s";

Dieses Beispiel entspricht dem vorherigen, nur mit dem Unterschied, dass in Zeile 13 das Pause eingefügt wurde. Durch das Pause scheint das Spiel nicht mehr zu hängen und andere laufende Events (z. B. Parallele Prozesse, ...) werden weiter ausgeführt.
< Zurück
Sprungbefehle für Schleifen/Verzweigungen
Weiter >
Objekte

Sonstige Sprungbefehle


Liste der Objekte

Beschreibung

Objekte beinhalten die Funktionalität von DestinyScript. Diese Objekte werden dazu genutzt um zusammengehörende Eigenschaften und Methoden zu bündeln. So wird beispielsweise das Keyboard-Objekt benutzt um Zugriff auf die Tastatur zu erhalten.

Syntax

Die Syntax eines Objekt-Aufrufs ist immer gleich (diese wurde bereits bei den Objektoperatoren angerissen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// ACHTUNG: Dies ist kein ausführbares Skript, da nur Beispielnamen verwendet werden!

// Aufruf einer Methode mit zwei Parametern
// Der Rückgabewert wird in v[1] gespeichert
v[1] = Objekt.Methode(Parameter1, Parameter2);

// Aufruf einer Methode mit einem Parameter
// Der Rückgabewert wird nicht gespeichert (z. B. falls keiner existiert)
Objekt.Methode2(Parameter1);

// Abfrage der Eigenschaft eines Objektes
// (Wert wird in v[2] gespeichert)
v[2] = Objekt.Eigenschaft;

// Abfrage einer Eigenschaft eines indizierten Objektes
// (Wert wird in v[3] gespeichert)
v[3] = Objekt[Index].Eigenschaft;
Information:
Die Groß-/Kleinschreibung eines Objektes ist unwichtig:
OBJEKTNAME.EIGENSCHAFT, objektname.eigenschaft oder sogar oBjEkTnAmE.EiGeNsChAfT bewirken alle das Gleiche.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
a | Objekt | Die Strings der Destiny.dll
Actor | Objekt | Beinhaltet eine Liste aller Helden
Attribute | Objekt | Die Attribute der Rüstungsgegenstände und Techniken
Client | Objekt | Die ausgehenden/angenommenen Verbindungen über's Internet/Netzwerk
Command | Objekt | Die Befehle der RPG_RT
CommonEvent | Objekt | Die CommonEvents des Spiels
Condition | Objekt | Die Konditionen der Helden und Gegner
Convert | Objekt | Verschiedene Konvertierungsroutinen
d | Objekt | Die Dwords der Destiny.dll
Destiny | Objekt | Die Einstellungen der Destiny.dll
Directory | Objekt | Verzeichnisbearbeitung
Error | Objekt | Verwaltung einzelner Fehler
Errors | Objekt | Fehlerbehandlung
Event | Objekt | Die Events auf der aktuellen Karte
f | Objekt | Die Floats der Destiny.dll
Faceset | Objekt | Das aktuell geladene Faceset für die Nachrichtenausgabe
File | Objekt | Lese-/Schreibzugriff auf Dateien
Game | Objekt | Das aktuell laufende Spiel
Item | Objekt | Beinhaltet eine Liste aller Items
Keyboard | Objekt | Die Tasteneingabe des Computers
Logic | Objekt | Logische Verknüpfungen und Vergleiche
Map | Objekt | Die aktuelle Karte des Spiels
MapEvent | Objekt | Die Events auf der aktuellen Karte (durchnummeriert)
Math | Objekt | Diverse mathematische Funktionen
Mouse | Objekt | Beinhaltet alle Eigenschaften der Maus
Panorama | Objekt | Das Hintergrundbild der Karte
Picture | Objekt | Die Pictures des Spiels
s | Objekt | Die Schalter der RPG_RT
Screen | Objekt | Der aktuelle Bildschirm des Spiels
Server | Objekt | Die eingehenden Verbindungen über's Internet/Netzwerk
Skill | Objekt | Beinhaltet eine Liste aller Techniken
String | Objekt | Beinhaltet alle Methoden zur Bearbeitung von Strings
Time | Objekt | Die aktuelle Uhrzeit/das aktuelle Datum des Computers
v | Objekt | Die Variablen der RPG_RT

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$

// Abfrage der aktuell gedrückten Taste
v[1] = Keyboard.GetKey();
// Drücken der rechten Pfeiltaste
Keyboard.SetKeyState(VK_RIGHT, KEYEVENTF_KEYDOWN);
// Abfragen des aktuellen Tages
v[2] = Time.Day;
// Abfragen der Breite des ersten Pictures
v[3] = Picture[1].Width;
// Abfrage des LowerChips an einer bestimmten Stelle der Karte
v[4] = Map.Lower[2, 3];
// Berechnen eines Wertes, wobei mit dem Absolutwert von v[6] verwendet wird
v[5] = 5 - Math.Abs(v[6]);
// Setzen der X-Koordinate des Mauszeigers
Mouse.X = 10;
< Zurück
Sonstige Sprungbefehle
Weiter >
Objekt: a

Objekte


a

Objekt: a

Syntax

a

Beschreibung

Das a-Objekt dient dazu die Strings (Zeichenketten ("Ansi-Strings")) der Destiny.dll zugänglich zu machen. Die Strings des a-Objekts werden von der Destiny.dll verwaltet.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Strings
ReAlloc() | Methode | Verändert die Anzahl der Strings im a-Objekt
[] | Eigenschaft | Ein bestimmter String des a-Objekts

Siehe auch

d, f, v, s
< Zurück
Objekte
Weiter >
Eigenschaft: a.Count

Objekt: a


a.Count

Eigenschaft: a.Count

Syntax

a.Count

Beschreibung

Gibt die Anzahl der Strings im a-Objekt zurück. Diese kann verwendet werden um eine Schleife über alle Strings zu machen.
Information:
Die Anzahl der Strings, die zum Spielstart zur Verfügung stehen, wird über den DestinyPatcher eingestellt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Strings auf "Kuchen" setzen
for(v[1] = 1; v[1] <= a.Count; v[1]++)
  a[v[1]] = "Kuchen";  // Wirklich wahr!
next;

Siehe auch

a, a[], a.ReAlloc()
< Zurück
Objekt: a
Weiter >
Methode: a.ReAlloc()

Eigenschaft: a.Count


a.ReAlloc()

Methode: a.ReAlloc()

Syntax

a.ReAlloc(Anzahl)

Beschreibung

Mit der ReAlloc-Methode kann die Anzahl der Strings im a-Objekt vergrößert/verkleinert werden.
Information:
Ist die angegebene Anzahl der Strings zu groß, dann wird der Fehler DESTINYERROR_MEMORY geworfen. Der ursprüngliche Inhalt des a-Objekts bleibt dabei erhalten.
Information:
Bei einer Vergrößerung der Strings-Anzahl werden neue Strings auf "" gesetzt.

Liste der Parameter

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die neue Anzahl der Strings im a-Objekt. Dieser Wert muss größer/gleich 1 sein. Bei einer zu großen Zahl schlägt der Aufruf dieser Methode fehl.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die maximale Anzahl der Strings um 1 erhöhen
a.ReAlloc(a.Count + 1);
// Dem neuen String den Wert "Pizza" zuweisen (nach dem Aufruf von ReAlloc() ist a.Count natürlich um 1 größer)
a[a.Count] = "Pizza";

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_MEMORY

Siehe auch

a, a[], a.Count
< Zurück
Eigenschaft: a.Count
Weiter >
Eigenschaft: a[]

Methode: a.ReAlloc()


a[]

Eigenschaft: a[]

Syntax

a[Index]

Beschreibung

Ermöglicht den Zugriff auf einen bestimmten String des a-Objekts.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | nein

Liste der Parameter

Parameter: Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... a.Count
Beschreibung: | Der Index des Strings. Dieser muss im Bereich von 1 ... a.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Wert des ersten Strings auf "Saft" setzen a[1] = "Saft";

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

a, a.Count, a.ReAlloc()
< Zurück
Methode: a.ReAlloc()
Weiter >
Objekt: Actor

Eigenschaft: a[]


Actor

Objekt: Actor

Syntax

Actor

Beschreibung

Das Actor-Objekt dient dazu alle Eigenschaften der Helden zusammenzufassen. Diese können über den Array-Operator aufgelöst werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Gibt die Anzahl der Helden an
[] | Objekt | Beinhaltet alle Eigenschaften eines Helden
Ausrüstung | Kategorie | Fasst alle Eigenschaften der Ausrüstung eines Helden zusammen
Accessory | Eigenschaft | Das aktuell ausgerüstete Accessoir eines Helden
Armor | Eigenschaft | Die aktuell ausgerüstete Rüstung eines Helden
Helmet | Eigenschaft | Der aktuell ausgerüstete Helm eines Helden
Shield | Eigenschaft | Der aktuell ausgerüstete Schild eines Helden
Weapon | Eigenschaft | Die aktuell ausgerüstete Waffe eines Helden
Aussehen | Kategorie | Fasst alle Eigenschaften zum Aussehen eines Helden zusammen
Charframe | Eigenschaft | Der Frame des Charsets eines Helden
Charset | Eigenschaft | Das Charset eines Helden
Faceframe | Eigenschaft | Der Frame des Facesets eines Helden
Faceset | Eigenschaft | Das Faceset eines Helden
Transparency | Eigenschaft | Die Transparenz eines Helden
Default | Objekt | Beinhaltet sämtliche Standardwerte eines Helden
Accessory | Eigenschaft | Das Standardaccessoir eines Helden
Armor | Eigenschaft | Die Standardrüstung eines Helden
Charframe | Eigenschaft | Der Standardframe des Charsets eines Helden
Charset | Eigenschaft | Das Standard-Charset eines Helden
Degree | Eigenschaft | Der Standardrang eines Helden
Faceframe | Eigenschaft | Der Standardframe des Facesets eines Helden
Faceset | Eigenschaft | Das Standard-Faceset eines Helden
Helmet | Eigenschaft | Der Standardhelm eines Helden
Level | Eigenschaft | Das Standardlevel eines Helden
Name | Eigenschaft | Der Standardname eines Helden
Shield | Eigenschaft | Der Standardschild eines Helden
Transparency | Eigenschaft | Die Standardtransparenz eines Helden
Weapon | Eigenschaft | Die Standardwaffe eines Helden
LevelAttribute | Objekt | Bündelt eine Liste der Statuswerte aller Level eines Helden
Count | Eigenschaft | Das maximale Level eines Helden
[] | Objekt | Beinhaltet die Statuswerte zu einem bestimmten Level eines Helden
Agility | Eigenschaft | Die Beweglichkeitspunkte eines Helden zu einem bestimmten Level
Attack | Eigenschaft | Die Angriffspunkte eines Helden zu einem bestimmten Level
Defense | Eigenschaft | Die Verteidigungspunkte eines Helden zu einem bestimmten Level
LearnableSkill | Objekt | Beinhaltet die Liste der Techniken, die der Held im jeweiligen Level erlernen kann
Count | Eigenschaft | Die Anzahl der erlernbaren Techniken eins Helden zu einem bestimmten Level
[] | Eigenschaft | Die erlernbaren Techniken eines Helden zu einem bestimmten Level
MaxHP | Eigenschaft | Die maximalen Lebenspunkte eines Helden zu einem bestimmten Level
MaxMP | Eigenschaft | Die maximalen Magiepunkte eines Helden zu einem bestimmten Level
Mind | Eigenschaft | Die Intelligenzpunkte eines Helden zu einem bestimmten Level
Namen | Kategorie | Fasst Rang und Namen eines Helden zusammen
Degree | Eigenschaft | Der Rang eines Helden
Name | Eigenschaft | Der Name eines Helden
Sonstige Eigenschaften | Kategorie | Beinhaltet alle sonstigen Eigenschaften eines Helden
AttributeEffect | Objekt | Enthält eine Liste aller Effektivitäten der einzelnen Attribute zu einem Helden
Count | Eigenschaft | Gibt die Anzahl der Attribute zurück
[] | Eigenschaft | Die Attributeffekte eines Helden
Condition | Objekt | Bündelt die Liste aller Konditionen eines Helden
Count | Eigenschaft | Die Anzahl der Konditionen eines Helden
[] | Eigenschaft | Die Konditionen eines Helden
ConditionEffect | Objekt | Enthält eine Liste aller Effektivitäten der einzelnen Konditionen zu einem Helden
Count | Eigenschaft | Gibt die Anzahl der Konditionen zurück
[] | Eigenschaft | Die Konditionseffekte eines Helden
ControlledByAI | Eigenschaft | Die "Gesteuert durch KI"-Eigenschaft eines Helden
CriticalHitChance | Eigenschaft | Die CriticalHitChance eines Helden
FixedEquipment | Eigenschaft | Die "Feste Ausrüstung"-Eigenschaft eines Helden
HasCondition() | Methode | Prüft ob ein Held eine bestimmte Kondition hat
HasSkill() | Methode | Prüft ob ein Held über eine bestimmte Technik verfügt
MaxLevel | Eigenschaft | Das maximale Level eines Helden
Skill | Objekt | Bündelt die Liste aller Techniken eines Helden
Count | Eigenschaft | Die Anzahl gelernter Techniken eines Helden
[] | Eigenschaft | Die Techniken eines Helden
StrongDefense | Eigenschaft | Die "besonders hohe Verteidigung"-Eigenschaft eines Helden
TwoSwordStyle | Eigenschaft | Die "Zwei Schwert Stil"-Eigenschaft eines Helden
UnarmedBattleAnimation | Eigenschaft | Die BattleAnimation-Id des unbewaffneten Angriffs eines Helden
UseSkillName | Eigenschaft | Der "Technik benutzen"-Text eines Helden
Statuswerte | Kategorie | Fasst alle Eigenschaften der Statuswerte eines Helden zusammen
AgilityDiff | Eigenschaft | Die Differenz der Beweglichkeitspunkte des Helden
AttackDiff | Eigenschaft | Die Differenz der Angriffspunkte des Helden
DefenseDiff | Eigenschaft | Die Differenz der Verteidigungspunkte des Helden
EXP | Eigenschaft | Die aktuellen Erfahrungspunkte des Helden
HP | Eigenschaft | Die aktuellen Lebenspunkte des Helden
Level | Eigenschaft | Das aktuelle Level des Helden
MaxHPDiff | Eigenschaft | Die Differenz der maximalen Lebenspunkte des Helden
MaxMPDiff | Eigenschaft | Die Differenz der maximalen Magiepunkte des Helden
MindDiff | Eigenschaft | Die Differenz der Intelligenzpunkte des Helden
MP | Eigenschaft | Die aktuellen Magiepunkte des Helden
< Zurück
Eigenschaft: a[]
Weiter >
Eigenschaft: Actor.Count

Objekt: Actor


Actor.Count

Eigenschaft: Actor.Count

Syntax

Actor.Count

Beschreibung

Mit der Count-Eigenschaft kann die Anzahl der Helden in diesem Array ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

Im folgenden Beispiel gehen wir davon aus, dass das Spiel gerade frisch gestartet wurde und die Standard-Spieldatenbank verwendet wird.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Anzahl der Helden ermitteln und in v[1] speichern
v[1] = Actor.Count;                      // 8
// Eine Schleife über alle Helden ausführen und die Namen in a[1] aneinander hängen
a[1] = "";
for(v[2] = 1; v[2] < Actor.Count; v[2]++)
  a[1] ..= Actor[v[2]].Name;
next;

Siehe auch

Actor, Actor[], Actor[].Name
< Zurück
Objekt: Actor
Weiter >
Objekt: Actor[]

Eigenschaft: Actor.Count


Actor[]

Objekt: Actor[]

Syntax

Actor[Actor-Id]

Beschreibung

Das Actor[]-Objekt dient dazu alle Eigenschaften eines Helden zusammenzufassen. Dieser wird über die Helden-Id identifiziert.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor.Count
Beschreibung: | Die Id des Helden

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Ausrüstung | Kategorie | Fasst alle Eigenschaften der Ausrüstung eines Helden zusammen
Accessory | Eigenschaft | Das aktuell ausgerüstete Accessoir eines Helden
Armor | Eigenschaft | Die aktuell ausgerüstete Rüstung eines Helden
Helmet | Eigenschaft | Der aktuell ausgerüstete Helm eines Helden
Shield | Eigenschaft | Der aktuell ausgerüstete Schild eines Helden
Weapon | Eigenschaft | Die aktuell ausgerüstete Waffe eines Helden
Aussehen | Kategorie | Fasst alle Eigenschaften zum Aussehen eines Helden zusammen
Charframe | Eigenschaft | Der Frame des Charsets eines Helden
Charset | Eigenschaft | Das Charset eines Helden
Faceframe | Eigenschaft | Der Frame des Facesets eines Helden
Faceset | Eigenschaft | Das Faceset eines Helden
Transparency | Eigenschaft | Die Transparenz eines Helden
Default | Objekt | Beinhaltet sämtliche Standardwerte eines Helden
Accessory | Eigenschaft | Das Standardaccessoir eines Helden
Armor | Eigenschaft | Die Standardrüstung eines Helden
Charframe | Eigenschaft | Der Standardframe des Charsets eines Helden
Charset | Eigenschaft | Das Standard-Charset eines Helden
Degree | Eigenschaft | Der Standardrang eines Helden
Faceframe | Eigenschaft | Der Standardframe des Facesets eines Helden
Faceset | Eigenschaft | Das Standard-Faceset eines Helden
Helmet | Eigenschaft | Der Standardhelm eines Helden
Level | Eigenschaft | Das Standardlevel eines Helden
Name | Eigenschaft | Der Standardname eines Helden
Shield | Eigenschaft | Der Standardschild eines Helden
Transparency | Eigenschaft | Die Standardtransparenz eines Helden
Weapon | Eigenschaft | Die Standardwaffe eines Helden
LevelAttribute | Objekt | Bündelt eine Liste der Statuswerte aller Level eines Helden
Count | Eigenschaft | Das maximale Level eines Helden
[] | Objekt | Beinhaltet die Statuswerte zu einem bestimmten Level eines Helden
Agility | Eigenschaft | Die Beweglichkeitspunkte eines Helden zu einem bestimmten Level
Attack | Eigenschaft | Die Angriffspunkte eines Helden zu einem bestimmten Level
Defense | Eigenschaft | Die Verteidigungspunkte eines Helden zu einem bestimmten Level
LearnableSkill | Objekt | Beinhaltet die Liste der Techniken, die der Held im jeweiligen Level erlernen kann
Count | Eigenschaft | Die Anzahl der erlernbaren Techniken eins Helden zu einem bestimmten Level
[] | Eigenschaft | Die erlernbaren Techniken eines Helden zu einem bestimmten Level
MaxHP | Eigenschaft | Die maximalen Lebenspunkte eines Helden zu einem bestimmten Level
MaxMP | Eigenschaft | Die maximalen Magiepunkte eines Helden zu einem bestimmten Level
Mind | Eigenschaft | Die Intelligenzpunkte eines Helden zu einem bestimmten Level
Namen | Kategorie | Fasst Rang und Namen eines Helden zusammen
Degree | Eigenschaft | Der Rang eines Helden
Name | Eigenschaft | Der Name eines Helden
Sonstige Eigenschaften | Kategorie | Beinhaltet alle sonstigen Eigenschaften eines Helden
AttributeEffect | Objekt | Enthält eine Liste aller Effektivitäten der einzelnen Attribute zu einem Helden
Count | Eigenschaft | Gibt die Anzahl der Attribute zurück
[] | Eigenschaft | Die Attributeffekte eines Helden
Condition | Objekt | Bündelt die Liste aller Konditionen eines Helden
Count | Eigenschaft | Die Anzahl der Konditionen eines Helden
[] | Eigenschaft | Die Konditionen eines Helden
ConditionEffect | Objekt | Enthält eine Liste aller Effektivitäten der einzelnen Konditionen zu einem Helden
Count | Eigenschaft | Gibt die Anzahl der Konditionen zurück
[] | Eigenschaft | Die Konditionseffekte eines Helden
ControlledByAI | Eigenschaft | Die "Gesteuert durch KI"-Eigenschaft eines Helden
CriticalHitChance | Eigenschaft | Die CriticalHitChance eines Helden
FixedEquipment | Eigenschaft | Die "Feste Ausrüstung"-Eigenschaft eines Helden
HasCondition() | Methode | Prüft ob ein Held eine bestimmte Kondition hat
HasSkill() | Methode | Prüft ob ein Held über eine bestimmte Technik verfügt
MaxLevel | Eigenschaft | Das maximale Level eines Helden
Skill | Objekt | Bündelt die Liste aller Techniken eines Helden
Count | Eigenschaft | Die Anzahl gelernter Techniken eines Helden
[] | Eigenschaft | Die Techniken eines Helden
StrongDefense | Eigenschaft | Die "besonders hohe Verteidigung"-Eigenschaft eines Helden
TwoSwordStyle | Eigenschaft | Die "Zwei Schwert Stil"-Eigenschaft eines Helden
UnarmedBattleAnimation | Eigenschaft | Die BattleAnimation-Id des unbewaffneten Angriffs eines Helden
UseSkillName | Eigenschaft | Der "Technik benutzen"-Text eines Helden
Statuswerte | Kategorie | Fasst alle Eigenschaften der Statuswerte eines Helden zusammen
AgilityDiff | Eigenschaft | Die Differenz der Beweglichkeitspunkte des Helden
AttackDiff | Eigenschaft | Die Differenz der Angriffspunkte des Helden
DefenseDiff | Eigenschaft | Die Differenz der Verteidigungspunkte des Helden
EXP | Eigenschaft | Die aktuellen Erfahrungspunkte des Helden
HP | Eigenschaft | Die aktuellen Lebenspunkte des Helden
Level | Eigenschaft | Das aktuelle Level des Helden
MaxHPDiff | Eigenschaft | Die Differenz der maximalen Lebenspunkte des Helden
MaxMPDiff | Eigenschaft | Die Differenz der maximalen Magiepunkte des Helden
MindDiff | Eigenschaft | Die Differenz der Intelligenzpunkte des Helden
MP | Eigenschaft | Die aktuellen Magiepunkte des Helden

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Actor.Count
Weiter >
Kategorie: Ausrüstung

Objekt: Actor[]


Actor[]--cat_Equipment

Kategorie: Ausrüstung

Mit den Eigenschaften dieser Kategorie kann die aktuelle Ausrüstung eines Helden gelesen/geschrieben werden. Die Werte dieser Eigenschaften entspricht jeweils der Item-Id der Spieldatenbank. Ist eine Eigenschaft auf 0 gesetzt, dann bedeutet dies, dass an dem entsprechenden Bereich kein Ausrüstungsgegenstand ausgerüstet ist.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Accessory | Eigenschaft | Das aktuell ausgerüstete Accessoir eines Helden
Armor | Eigenschaft | Die aktuell ausgerüstete Rüstung eines Helden
Helmet | Eigenschaft | Der aktuell ausgerüstete Helm eines Helden
Shield | Eigenschaft | Der aktuell ausgerüstete Schild eines Helden
Weapon | Eigenschaft | Die aktuell ausgerüstete Waffe eines Helden
< Zurück
Objekt: Actor[]
Weiter >
Eigenschaft: Actor[].Accessory

Kategorie: Ausrüstung


Actor[].Accessory

Eigenschaft: Actor[].Accessory

Syntax

Actor[Actor-Id].Accessory

Beschreibung

Mit der Accessory-Eigenschaft kann die Item-Id des momentan ausgerüsteten Accessoirs gelesen/geschrieben werden. Ist diese Eigenschaft gleich 0, dann bedeutet dies, dass kein Accessoir ausgerüstet ist. Dieser Wert muss eine gültige Item-Id sein, da sonst ein Destiny-Fehler ausgelöst wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die aktuelle Item-Id des Accessoirs des ersten Helden in v[1] speichern
v[1] = Actor[1].Accessory;
// Falls diese Eigenschaft nicht 0 ist, die Beweglichkeitspunkte des Accessoirs in v[2] speichern
if(v[1] != 0)
  v[2] = Item[v[1]].Agility;
endif;
// Das Accessoir des ersten Helden entfernen (Item geht dabei verloren)
Actor[1].Accessory = 0;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Actor[], Item[].Protection, Item[].Agility
< Zurück
Kategorie: Ausrüstung
Weiter >
Eigenschaft: Actor[].Armor

Eigenschaft: Actor[].Accessory


Actor[].Armor

Eigenschaft: Actor[].Armor

Syntax

Actor[Actor-Id].Armor

Beschreibung

Mit der Armor-Eigenschaft kann die Item-Id der momentan ausgerüsteten Rüstung gelesen/geschrieben werden. Ist diese Eigenschaft gleich 0, dann bedeutet dies, dass keine Rüstung ausgerüstet ist. Dieser Wert muss eine gültige Item-Id sein, da sonst ein Destiny-Fehler ausgelöst wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die aktuelle Item-Id der Rüstung des ersten Helden in v[1] speichern
v[1] = Actor[1].Armor;
// Falls diese Eigenschaft nicht 0 ist, die Verteidigungspunkte der Rüstung in v[2] speichern
if(v[1] != 0)
  v[2] = Item[v[1]].Defense;
endif;
// Die Rüstung des ersten Helden entfernen (Item geht dabei verloren)
Actor[1].Armor = 0;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Actor[], Item[].Protection, Item[].Defense
< Zurück
Eigenschaft: Actor[].Accessory
Weiter >
Eigenschaft: Actor[].Helmet

Eigenschaft: Actor[].Armor


Actor[].Helmet

Eigenschaft: Actor[].Helmet

Syntax

Actor[Actor-Id].Helmet

Beschreibung

Mit der Helmet-Eigenschaft kann die Item-Id des momentan ausgerüsteten Helms gelesen/geschrieben werden. Ist diese Eigenschaft gleich 0, dann bedeutet dies, dass kein Helm ausgerüstet ist. Dieser Wert muss eine gültige Item-Id sein, da sonst ein Destiny-Fehler ausgelöst wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die aktuelle Item-Id des Helms des ersten Helden in v[1] speichern
v[1] = Actor[1].Helmet;
// Falls diese Eigenschaft nicht 0 ist, die Intelligenzpunkte des Helms in v[2] speichern
if(v[1] != 0)
  v[2] = Item[v[1]].Mind;
endif;
// Den Helm des ersten Helden entfernen (Item geht dabei verloren)
Actor[1].Helmet = 0;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Actor[], Item[].Protection, Item[].Mind
< Zurück
Eigenschaft: Actor[].Armor
Weiter >
Eigenschaft: Actor[].Shield

Eigenschaft: Actor[].Helmet


Actor[].Shield

Eigenschaft: Actor[].Shield

Syntax

Actor[Actor-Id].Shield

Beschreibung

Mit der Shield-Eigenschaft kann die Item-Id des momentan ausgerüsteten Schilds gelesen/geschrieben werden. Ist diese Eigenschaft gleich 0, dann bedeutet dies, dass kein Schild ausgerüstet ist. Dieser Wert muss eine gültige Item-Id sein, da sonst ein Destiny-Fehler ausgelöst wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die aktuelle Item-Id des Schilds des ersten Helden in v[1] speichern
v[1] = Actor[1].Shield;
// Falls diese Eigenschaft nicht 0 ist, die Verteidigungspunkte des Schilds in v[2] speichern
if(v[1] != 0)
  v[2] = Item[v[1]].Defense;
endif;
// Das Schild des ersten Helden entfernen (Item geht dabei verloren)
Actor[1].Shield = 0;

Sonstiges

Handelt es sich bei dem Helden um einen Kämpfer mit zwei Waffen, so wird hier eine weitere Waffe ausgerüstet.

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Actor[], Item[].Protection, Item[].Defense
< Zurück
Eigenschaft: Actor[].Helmet
Weiter >
Eigenschaft: Actor[].Weapon

Eigenschaft: Actor[].Shield


Actor[].Weapon

Eigenschaft: Actor[].Weapon

Syntax

Actor[Actor-Id].Weapon

Beschreibung

Mit der Weapon-Eigenschaft kann die Item-Id der momentan ausgerüsteten Waffe gelesen/geschrieben werden. Ist diese Eigenschaft gleich 0, dann bedeutet dies, dass keine Waffe ausgerüstet ist. Dieser Wert muss eine gültige Item-Id sein, da sonst ein Destiny-Fehler ausgelöst wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die aktuelle Item-Id der Waffe des ersten Helden in v[1] speichern
v[1] = Actor[1].Weapon;
// Falls diese Eigenschaft nicht 0 ist, die Angriffspunkte der Waffe in v[2] speichern
if(v[1] != 0)
  v[2] = Item[v[1]].Attack;
endif;
// Den ersten Helden entwaffnen (Item geht dabei verloren)
Actor[1].Weapon = 0;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Actor[], Item[].Weapon, Item[].Attack
< Zurück
Eigenschaft: Actor[].Shield
Weiter >
Kategorie: Aussehen

Eigenschaft: Actor[].Weapon


Actor[]--cat_View

Kategorie: Aussehen

Die Eigenschaften dieser Kategorie beeinflussen das Aussehen eines Helden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Charframe | Eigenschaft | Der Frame des Charsets eines Helden
Charset | Eigenschaft | Das Charset eines Helden
Faceframe | Eigenschaft | Der Frame des Facesets eines Helden
Faceset | Eigenschaft | Das Faceset eines Helden
Transparency | Eigenschaft | Die Transparenz eines Helden
< Zurück
Eigenschaft: Actor[].Weapon
Weiter >
Eigenschaft: Actor[].Charframe

Kategorie: Aussehen


Actor[].Charframe

Eigenschaft: Actor[].Charframe

Syntax

Actor[Actor-Id].Charframe

Beschreibung

Mit der Charframe-Eigenschaft kann der Index des verwendeten Frames gelesen/geschrieben werden. Zusammen mit der Charset-Eigenschaft gibt dies den aktuell verwendeten Char an. Dieser Wert sollte im Bereich von 0 ... 7 liegen (siehe Abbildung).

Mögliche Charframe-Werte

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 7

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den aktuellen Charframe des ersten Helden in v[1] speichern
v[1] = Actor[1].Charframe;
// Den aktuellen Charframe des ersten Helden auf 0 (= erste Figur) setzen
Actor[1].Charframe = 0;
// Den aktuellen Charframe des ersten Helden auf den Standardwert setzen
Actor[1].Charframe = Actor[1].Default.Charframe;

Mögliche Fehler

DESTINYERROR_CONVERT

Siehe auch

Actor[].Charset, Actor[].Default.Charframe
< Zurück
Kategorie: Aussehen
Weiter >
Eigenschaft: Actor[].Charset

Eigenschaft: Actor[].Charframe


Actor[].Charset

Eigenschaft: Actor[].Charset

Syntax

Actor[Actor-Id].Charset

Beschreibung

Mit der Charset-Eigenschaft kann der Dateiname (ohne Pfad/Endung und relativ zum Charset-Verzeichnis) gelesen/geschrieben werden. Zusammen mit der Charframe-Eigenschaft gibt dies den aktuell verwendeten Char an.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den aktuellen Charset-Dateinamen des ersten Helden in a[1] speichern
a[1] = Actor[1].Charset;
// Den aktuellen Charset-Dateinamen des ersten Helden auf "CHARA1" setzen
Actor[1].Charaset = "CHARA1";
// Den aktuellen Charset-Dateinamen des ersten Helden auf den Standardwert setzen
Actor[1].Charset = Actor[1].Default.Charset;

Mögliche Fehler

DESTINYERROR_CONVERT

Siehe auch

Actor[].Charframe, Actor[].Default.Charset
< Zurück
Eigenschaft: Actor[].Charframe
Weiter >
Eigenschaft: Actor[].Faceframe

Eigenschaft: Actor[].Charset


Actor[].Faceframe

Eigenschaft: Actor[].Faceframe

Syntax

Actor[Actor-Id].Faceframe

Beschreibung

Mit der Faceframe-Eigenschaft kann der Index des verwendeten Frames gelesen/geschrieben werden. Zusammen mit der Faceset-Eigenschaft gibt dies das aktuell verwendete Face an. Dieser Wert sollte im Bereich von 0 ... 15 liegen (siehe Abbildung).

Mögliche Faceframe-Werte

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 15

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
// Den aktuellen Faceframe des ersten Helden in v[1] speichern
v[1] = Actor[1].Faceframe;
// Den aktuellen Faceframe des ersten Helden auf 0 (= erstes Gesicht) setzen
Actor[1].Faceframe = 0;
// Den aktuellen Faceframe des ersten Helden auf den Standardwert setzen
Actor[1].Faceframe = Actor[1].Default.Faceframe;
// Das Gesicht des ersten Helden bei der nächsten Textnachricht anzeigen
Faceset.Filename = Actor[1].Faceset;
Faceset.Frame = Actor[1].Faceframe;

Mögliche Fehler

DESTINYERROR_CONVERT

Siehe auch

Actor[].Faceset, Actor[].Default.Faceframe, Faceset.Filename, Faceset.Frame
< Zurück
Eigenschaft: Actor[].Charset
Weiter >
Eigenschaft: Actor[].Faceset

Eigenschaft: Actor[].Faceframe


Actor[].Faceset

Eigenschaft: Actor[].Faceset

Syntax

Actor[Actor-Id].Faceset

Beschreibung

Mit der Faceset-Eigenschaft kann der Dateiname (ohne Pfad/Endung und relativ zum Faceset-Verzeichnis) gelesen/geschrieben werden. Zusammen mit der Faceframe-Eigenschaft gibt dies das aktuell verwendete Face an.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
// Den aktuellen Faceset-Dateinamen des ersten Helden in a[1] speichern
a[1] = Actor[1].Faceset;
// Den aktuellen Faceset-Dateinamen des ersten Helden auf "CHARA1" setzen
Actor[1].Faceset = "CHARA1";
// Den aktuellen Faceset-Dateinamen des ersten Helden auf den Standardwert setzen
Actor[1].Faceset = Actor[1].Default.Faceset;
// Das Gesicht des ersten Helden bei der nächsten Textnachricht anzeigen
Faceset.Filename = Actor[1].Faceset;
Faceset.Frame = Actor[1].Faceframe;

Mögliche Fehler

DESTINYERROR_CONVERT

Siehe auch

Actor[].Faceframe, Actor[].Default.Faceset, Faceset.Filename, Faceset.Frame
< Zurück
Eigenschaft: Actor[].Faceframe
Weiter >
Eigenschaft: Actor[].Transparency

Eigenschaft: Actor[].Faceset


Actor[].Transparency

Eigenschaft: Actor[].Transparency

Syntax

Actor[Actor-Id].Transparency

Beschreibung

Mit der Transparency-Eigenschaft kann der Transparenzwert des Chars gelesen/geschrieben werden. Dieser Wert sollte im Bereich von 0 ... 8 liegen, wobei 0 nicht transparent und 4 halb-transparent bedeutet. Wurde bei den Eigenschaften des Helden das Häkchen bei Transparent gesetzt, so ist dieser Wert 3. Bei Werten größer als 8 treten lustige Rechenfehler auf (d. h. der Held sieht sehr seltsam aus; siehe Abbildung).

Auszug einiger möglicher Transparency-Werte

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 8

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die aktuelle Transparenz des ersten Helden in v[1] speichern
v[1] = Actor[1].Transparency;
// Die Transparenz des ersten Helden um 1 erhöhen (sofern dies 8 nicht überschreitet)
if(Actor[1].Transparency < 8)
  Actor[1].Transparency++;
// Die Transparenz des ersten Helden auf den Standardwert setzen
Actor[1].Transparency = Actor[1].Default.Transparency;

Mögliche Fehler

DESTINYERROR_CONVERT

Siehe auch

Actor[].Default.Transparency
< Zurück
Eigenschaft: Actor[].Faceset
Weiter >
Objekt: Actor[].Default

Eigenschaft: Actor[].Transparency


Actor[].Default

Objekt: Actor[].Default

Syntax

Actor[Actor-Id].Default

Beschreibung

Dieses Unterobjekt beinhaltet sämtliche Standardwerte zu den Werten eines Helden, welche innerhalb des Spielverlaufs geändert werden können.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Accessory | Eigenschaft | Das Standardaccessoir eines Helden
Armor | Eigenschaft | Die Standardrüstung eines Helden
Charframe | Eigenschaft | Der Standardframe des Charsets eines Helden
Charset | Eigenschaft | Das Standard-Charset eines Helden
Degree | Eigenschaft | Der Standardrang eines Helden
Faceframe | Eigenschaft | Der Standardframe des Facesets eines Helden
Faceset | Eigenschaft | Das Standard-Faceset eines Helden
Helmet | Eigenschaft | Der Standardhelm eines Helden
Level | Eigenschaft | Das Standardlevel eines Helden
Name | Eigenschaft | Der Standardname eines Helden
Shield | Eigenschaft | Der Standardschild eines Helden
Transparency | Eigenschaft | Die Standardtransparenz eines Helden
Weapon | Eigenschaft | Die Standardwaffe eines Helden
< Zurück
Eigenschaft: Actor[].Transparency
Weiter >
Eigenschaft: Actor[].Default.Accessory

Objekt: Actor[].Default


Actor[].Default.Accessory

Eigenschaft: Actor[].Default.Accessory

Syntax

Actor[Actor-Id].Default.Accessory

Beschreibung

Mit der Accessory-Eigenschaft kann die Item-Id des Standardaccessoirs eines Helden gelesen werden. Hat ein Held standardmäßig kein Accessoir, so ist dieser Wert gleich 0. Das Accessoir eines Helden kann sich während des Spielverlaufs ändern. Um auf die Item-Id des aktuellen Accessoirs eines Helden zuzugreifen muss die Armor-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Objekt: Actor[].Default
Weiter >
Eigenschaft: Actor[].Default.Armor

Eigenschaft: Actor[].Default.Accessory


Actor[].Default.Armor

Eigenschaft: Actor[].Default.Armor

Syntax

Actor[Actor-Id].Default.Armor

Beschreibung

Mit der Armor-Eigenschaft kann die Item-Id der Standardrüstung eines Helden gelesen werden. Hat ein Held standardmäßig keine Rüstung, so ist dieser Wert gleich 0. Die Rüstung eines Helden kann sich während des Spielverlaufs ändern. Um auf die Item-Id der aktuellen Rüstung eines Helden zuzugreifen muss die Armor-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Accessory
Weiter >
Eigenschaft: Actor[].Default.Charframe

Eigenschaft: Actor[].Default.Armor


Actor[].Default.Charframe

Eigenschaft: Actor[].Default.Charframe

Syntax

Actor[Actor-Id].Default.Charframe

Beschreibung

Mit der Charframe-Eigenschaft kann der Standardindex des verwendeten Frames des Chars eines Helden gelesen werden. Zusammen mit der Charset-Eigenschaft bildet dies den Standardchar eines Helden. Der Char eines Helden kann sich während des Spielverlaufs ändern. Um auf den aktuellen Charframe zuzugreifen muss die Charframe-Eigenschaft des Actor[]-Objekts verwendet werden. Der Wert dieser Eigenschaft liegt im Bereich von 0 ... 7 (siehe Abbildung).

Mögliche Charframe-Werte

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Armor
Weiter >
Eigenschaft: Actor[].Default.Charset

Eigenschaft: Actor[].Default.Charframe


Actor[].Default.Charset

Eigenschaft: Actor[].Default.Charset

Syntax

Actor[Actor-Id].Default.Charset

Beschreibung

Mit der Charset-Eigenschaft kann der Standarddateiname (ohne Pfad/Endung und relativ zum Charset-Verzeichnis) des Charsets eines Helden gelesen werden. Zusammen mit der Charframe-Eigenschaft bildet dies den Standardchar eines Helden. Der Char eines Helden kann sich während des Spielverlaufs ändern. Um auf das aktuelle Charset zuzugreifen muss die Charset-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Charframe
Weiter >
Eigenschaft: Actor[].Default.Degree

Eigenschaft: Actor[].Default.Charset


Actor[].Default.Degree

Eigenschaft: Actor[].Default.Degree

Syntax

Actor[Actor-Id].Default.Degree

Beschreibung

Mit der Degree-Eigenschaft kann der Standardrang eines Helden gelesen werden. Der Rang eines Helden kann sich während des Spielverlaufs ändern. Um auf den aktuellen Rang zuzugreifen muss die Degree-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Charset
Weiter >
Eigenschaft: Actor[].Default.Faceframe

Eigenschaft: Actor[].Default.Degree


Actor[].Default.Faceframe

Eigenschaft: Actor[].Default.Faceframe

Syntax

Actor[Actor-Id].Default.Faceframe

Beschreibung

Mit der Faceframe-Eigenschaft kann der Standardindex des verwendeten Frames des Faces eines Helden gelesen werden. Zusammen mit der Faceset-Eigenschaft bildet dies das Standardface eines Helden. Das Face eines Helden kann sich während des Spielverlaufs ändern. Um auf den aktuellen Faceframe zuzugreifen muss die Faceframe-Eigenschaft des Actor[]-Objekts verwendet werden. Der Wert dieser Eigenschaft liegt im Bereich von 0 ... 15 (siehe Abbildung).

Mögliche Faceframe-Werte

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Degree
Weiter >
Eigenschaft: Actor[].Default.Faceset

Eigenschaft: Actor[].Default.Faceframe


Actor[].Default.Faceset

Eigenschaft: Actor[].Default.Faceset

Syntax

Actor[Actor-Id].Default.Faceset

Beschreibung

Mit der Faceset-Eigenschaft kann der Standarddateiname (ohne Pfad/Endung und relativ zum Faceset-Verzeichnis) des Facesets eines Helden gelesen werden. Zusammen mit der Faceframe-Eigenschaft bildet dies das Standardface eines Helden. Das Face eines Helden kann sich während des Spielverlaufs ändern. Um auf das aktuelle Faceset zuzugreifen muss die Faceset-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Faceframe
Weiter >
Eigenschaft: Actor[].Default.Helmet

Eigenschaft: Actor[].Default.Faceset


Actor[].Default.Helmet

Eigenschaft: Actor[].Default.Helmet

Syntax

Actor[Actor-Id].Default.Helmet

Beschreibung

Mit der Helmet-Eigenschaft kann die Item-Id des Standardhelms eines Helden gelesen werden. Hat ein Held standardmäßig keinen Helm, so ist dieser Wert gleich 0. Der Helm eines Helden kann sich während des Spielverlaufs ändern. Um auf die Item-Id des aktuellen Helmes eines Helden zuzugreifen muss die Armor-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Faceset
Weiter >
Eigenschaft: Actor[].Default.Level

Eigenschaft: Actor[].Default.Helmet


Actor[].Default.Level

Eigenschaft: Actor[].Default.Level

Syntax

Actor[Actor-Id].Default.Level

Beschreibung

Mit der Level-Eigenschaft kann der Standardlevel eines Helden gelesen werden. Dies entspricht dem Level, den der Held hat, wenn er das erste Mal der Party beitritt. Das Level eines Helden kann sich während des Spielverlaufs ändern. Um auf das aktuelle Level eines Helden zuzugreifen muss die Level-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Helmet
Weiter >
Eigenschaft: Actor[].Default.Name

Eigenschaft: Actor[].Default.Level


Actor[].Default.Name

Eigenschaft: Actor[].Default.Name

Syntax

Actor[Actor-Id].Default.Name

Beschreibung

Mit der Name-Eigenschaft kann der Standardname eines Helden gelesen werden. Der Name eines Helden kann sich während des Spielverlaufs verändern. Um auf den aktuellen Namen zuzugreifen muss die Name-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Level
Weiter >
Eigenschaft: Actor[].Default.Shield

Eigenschaft: Actor[].Default.Name


Actor[].Default.Shield

Eigenschaft: Actor[].Default.Shield

Syntax

Actor[Actor-Id].Default.Shield

Beschreibung

Mit der Shield-Eigenschaft kann die Item-Id des Standardschilds eines Helden gelesen werden. Hat ein Held standardmäßig kein Schild, so ist dieser Wert gleich 0. Der Schild eines Helden kann sich während des Spielverlaufs ändern. Um auf die Item-Id des aktuellen Schilds eines Helden zuzugreifen muss die Shield-Eigenschaft des Actor[]-Objekts verwendet werden.

Sonstiges

Handelt es sich bei dem Helden um einen Kämpfer mit zwei Waffen, so wird hier eine weitere Waffe ausgerüstet.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Name
Weiter >
Eigenschaft: Actor[].Default.Transparency

Eigenschaft: Actor[].Default.Shield


Actor[].Default.Transparency

Eigenschaft: Actor[].Default.Transparency

Syntax

Actor[Actor-Id].Default.Transparency

Beschreibung

Mit der Transparency-Eigenschaft kann die Standardtransparenz eines Helden gelesen werden. Die Transparenz eines Helden kann sich während des Spielverlaufs ändern. Um auf die aktuelle Transparenz zuzugreifen muss die Transparency-Eigenschaft des Actor[]-Objekts verwendet werden.

Sonstiges

Bei den Standardeinstellungen der Spieldatenbank kann man für die Transparenz nur ein Häkchen setzen. Ist das Häkchen gesetzt, so ist der Wert dieser Eigenschaft 3; andernfalls 0.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Shield
Weiter >
Eigenschaft: Actor[].Default.Weapon

Eigenschaft: Actor[].Default.Transparency


Actor[].Default.Weapon

Eigenschaft: Actor[].Default.Weapon

Syntax

Actor[Actor-Id].Default.Weapon

Beschreibung

Mit der Weapon-Eigenschaft kann die Item-Id der Standardwaffe eines Helden gelesen werden. Hat ein Held standardmäßig keine Waffe, so ist dieser Wert gleich 0. Die Waffe eines Helden kann sich während des Spielverlaufs ändern. Um auf die Item-Id der aktuellen Waffe eines Helden zuzugreifen muss die Weapon-Eigenschaft des Actor[]-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].Default.Transparency
Weiter >
Objekt: Actor[].LevelAttribute

Eigenschaft: Actor[].Default.Weapon


Actor[].LevelAttribute

Objekt: Actor[].LevelAttribute

Syntax

Actor[Actor-Id].LevelAttribute

Beschreibung

Beinhaltet eine Liste der Statuswerte aller Level eines Helden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Das maximale Level eines Helden
[] | Objekt | Beinhaltet die Statuswerte zu einem bestimmten Level eines Helden
Agility | Eigenschaft | Die Beweglichkeitspunkte eines Helden zu einem bestimmten Level
Attack | Eigenschaft | Die Angriffspunkte eines Helden zu einem bestimmten Level
Defense | Eigenschaft | Die Verteidigungspunkte eines Helden zu einem bestimmten Level
LearnableSkill | Objekt | Beinhaltet die Liste der Techniken, die der Held im jeweiligen Level erlernen kann
Count | Eigenschaft | Die Anzahl der erlernbaren Techniken eins Helden zu einem bestimmten Level
[] | Eigenschaft | Die erlernbaren Techniken eines Helden zu einem bestimmten Level
MaxHP | Eigenschaft | Die maximalen Lebenspunkte eines Helden zu einem bestimmten Level
MaxMP | Eigenschaft | Die maximalen Magiepunkte eines Helden zu einem bestimmten Level
Mind | Eigenschaft | Die Intelligenzpunkte eines Helden zu einem bestimmten Level
< Zurück
Eigenschaft: Actor[].Default.Weapon
Weiter >
Eigenschaft: Actor[].LevelAttribute.Count

Objekt: Actor[].LevelAttribute


Actor[].LevelAttribute.Count

Eigenschaft: Actor[].LevelAttribute.Count

Syntax

Actor[Actor-Id].LevelAttribute.Count

Beschreibung

Gibt das maximale Level eines Helden zurück.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Objekt: Actor[].LevelAttribute
Weiter >
Objekt: Actor[].LevelAttribute[]

Eigenschaft: Actor[].LevelAttribute.Count


Actor[].LevelAttribute[]

Objekt: Actor[].LevelAttribute[]

Syntax

Actor[Actor-Id].LevelAttribute[Level]

Beschreibung

Das LevelAttribute-Objekt beinhaltet die Standard-Statuswerte eines Helden zu einem bestimmten Level.

Liste der Parameter

Parameter: Level

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor[].LevelAttribute.Count
Beschreibung: | Gibt das Level des Helden an. Dieser muss im Bereich von 1 ... Actor[].LevelAttribute.Count liegen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Agility | Eigenschaft | Die Beweglichkeitspunkte eines Helden zu einem bestimmten Level
Attack | Eigenschaft | Die Angriffspunkte eines Helden zu einem bestimmten Level
Defense | Eigenschaft | Die Verteidigungspunkte eines Helden zu einem bestimmten Level
LearnableSkill | Objekt | Beinhaltet die Liste der Techniken, die der Held im jeweiligen Level erlernen kann
Count | Eigenschaft | Die Anzahl der erlernbaren Techniken eins Helden zu einem bestimmten Level
[] | Eigenschaft | Die erlernbaren Techniken eines Helden zu einem bestimmten Level
MaxHP | Eigenschaft | Die maximalen Lebenspunkte eines Helden zu einem bestimmten Level
MaxMP | Eigenschaft | Die maximalen Magiepunkte eines Helden zu einem bestimmten Level
Mind | Eigenschaft | Die Intelligenzpunkte eines Helden zu einem bestimmten Level

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Actor[].LevelAttribute.Count
Weiter >
Eigenschaft: Actor[].LevelAttribute[].Agility

Objekt: Actor[].LevelAttribute[]


Actor[].LevelAttribute[].Agility

Eigenschaft: Actor[].LevelAttribute[].Agility

Syntax

Actor[Actor-Id].LevelAttribute[Level].Agility

Beschreibung

Die Agility-Eigenschaft gibt die Beweglichkeitspunkte eines Helden zu einem bestimmten Level an. Die tatsächlichen Beweglichkeitspunkte können von diesem Wert jedoch variieren, da die Statuswerte noch durch andere Faktoren (wie z. B. Konditionen, Ausrüstung, ...) verändert werden können. Um die tatsächlichen aktuellen Beweglichkeitspunkte zu ermitteln muss daher die ChangeVariable-Methode des Command-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Objekt: Actor[].LevelAttribute[]
Weiter >
Eigenschaft: Actor[].LevelAttribute[].Attack

Eigenschaft: Actor[].LevelAttribute[].Agility


Actor[].LevelAttribute[].Attack

Eigenschaft: Actor[].LevelAttribute[].Attack

Syntax

Actor[Actor-Id].LevelAttribute[Level].Attack

Beschreibung

Die Attack-Eigenschaft gibt die Angriffspunkte eines Helden zu einem bestimmten Level an. Die tatsächlichen Angriffspunkte können von diesem Wert jedoch variieren, da die Statuswerte noch durch andere Faktoren (wie z. B. Konditionen, Ausrüstung, ...) verändert werden können. Um die tatsächlichen aktuellen Angriffspunkte zu ermitteln muss daher die ChangeVariable-Methode des Command-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].LevelAttribute[].Agility
Weiter >
Eigenschaft: Actor[].LevelAttribute[].Defense

Eigenschaft: Actor[].LevelAttribute[].Attack


Actor[].LevelAttribute[].Defense

Eigenschaft: Actor[].LevelAttribute[].Defense

Syntax

Actor[Actor-Id].LevelAttribute[Level].Defense

Beschreibung

Die Defense-Eigenschaft gibt die Verteidigungspunkte eines Helden zu einem bestimmten Level an. Die tatsächlichen Verteidigungspunkte können von diesem Wert jedoch variieren, da die Statuswerte noch durch andere Faktoren (wie z. B. Konditionen, Ausrüstung, ...) verändert werden können. Um die tatsächlichen aktuellen Verteidigungspunkte zu ermitteln muss daher die ChangeVariable-Methode des Command-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].LevelAttribute[].Attack
Weiter >
Objekt: Actor[].LevelAttribute[].LearnableSkill

Eigenschaft: Actor[].LevelAttribute[].Defense


Actor[].LevelAttribute[].LearnableSkill

Objekt: Actor[].LevelAttribute[].LearnableSkill

Syntax

Actor[Actor-Id].LevelAttribute[Level].LearnableSkill

Beschreibung

Beinhaltet die Liste der Techniken, die der Held im jeweiligen Level erlernen kann.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der erlernbaren Techniken eins Helden zu einem bestimmten Level
[] | Eigenschaft | Die erlernbaren Techniken eines Helden zu einem bestimmten Level
< Zurück
Eigenschaft: Actor[].LevelAttribute[].Defense
Weiter >
Eigenschaft: Actor[].LevelAttribute[].LearnableSkill.Count

Objekt: Actor[].LevelAttribute[].LearnableSkill


Actor[].LevelAttribute[].LearnableSkill.Count

Eigenschaft: Actor[].LevelAttribute[].LearnableSkill.Count

Syntax

Actor[Actor-Id].LevelAttribute[Level].LearnableSkill.Count

Beschreibung

Die Count-Eigenschaft gibt die Anzahl der Techniken an, die ein Held zu einem bestimmten Level erlernen kann. Diese Eigenschaft wird zusammen mit der LearnableSkill[]-Eigenschaft verwendet um die Techniken zu ermitteln, die ein Held ab einem bestimmten Level lernt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Einen String zusammenstellen, der angibt wie viele Techniken der erste Held
// beim Erreichen des aktuellen Levels gelernt hat.
a[1] = Actor[1].Name .. " hat im aktuellen Level satte " .. Actor[1].LevelAttribute[Actor[1].Level].LearnableSkill.Count .. " Techniken gelernt!";
< Zurück
Objekt: Actor[].LevelAttribute[].LearnableSkill
Weiter >
Eigenschaft: Actor[].LevelAttribute[].LearnableSkill[]

Eigenschaft: Actor[].LevelAttribute[].LearnableSkill.Count


Actor[].LevelAttribute[].LearnableSkill[]

Eigenschaft: Actor[].LevelAttribute[].LearnableSkill[]

Syntax

Actor[Actor-Id].LevelAttribute[Level].LearnableSkill[LearnableSkill-Index]

Beschreibung

Die LearnableSkill-Eigenschaft gibt die Skill-Ids der Techniken an, die ein Held zu einem bestimmten Level erlernen kann.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Liste der Parameter

Parameter: LearnableSkill-Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 bis (Actor[].LevelAttribute[].LearnableSkill.Count - 1)
Beschreibung: | Gibt den Index der zu erlernenden Technik an. Dieser muss im Bereich von 0 bis (Actor[].LevelAttribute[].LearnableSkill.Count - 1) liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14
$
// Eine Liste aller Techniken zusammenstellen, die der erste Held im nächsten Level lernen kann
if(Actor[1].Level < Actor[1].MaxLevel)
  a[1] = Actor[1].Name .. " kann im nächsten Level folgende Techniken lernen:" .. CRLF;
  if(Actor[1].LevelAttribute[Actor[1].Level].LearnableSkill.Count == 0)
    a[1] ..= "- keine -" .. CRLF;
  else
    for(v[1] = 0; v[1] < Actor[1].LevelAttribute[Actor[1].Level].LearnableSkill.Count; v[1]++)
      a[1] ..= Skill[Actor[1].LevelAttribute[Actor[1].Level].LearnableSkill[v[1]]].Name .. CRLF;
    next;
  endif;
else
  a[1] = Actor[1].Name .. " kann schon Alles!";
endif;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Actor[].LevelAttribute[].LearnableSkill.Count
Weiter >
Eigenschaft: Actor[].LevelAttribute[].MaxHP

Eigenschaft: Actor[].LevelAttribute[].LearnableSkill[]


Actor[].LevelAttribute[].MaxHP

Eigenschaft: Actor[].LevelAttribute[].MaxHP

Syntax

Actor[Actor-Id].LevelAttribute[Level].MaxHP

Beschreibung

Die MaxHP-Eigenschaft gibt die maximalen Lebenspunkte (HP = Health Points) eines Helden zu einem bestimmten Level an. Die tatsächlichen maximalen Lebenspunkte können von diesem Wert jedoch variieren, da die Statuswerte noch durch andere Faktoren (wie z. B. Konditionen, Ausrüstung, ...) verändert werden können. Um die tatsächlichen aktuellen maximalen Lebenspunkte zu ermitteln muss daher die ChangeVariable-Methode des Command-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].LevelAttribute[].LearnableSkill[]
Weiter >
Eigenschaft: Actor[].LevelAttribute[].MaxMP

Eigenschaft: Actor[].LevelAttribute[].MaxHP


Actor[].LevelAttribute[].MaxMP

Eigenschaft: Actor[].LevelAttribute[].MaxMP

Syntax

Actor[Actor-Id].LevelAttribute[Level].MaxMP

Beschreibung

Die MaxMP-Eigenschaft gibt die maximalen Magiepunkte (MP = Magic Points) eines Helden zu einem bestimmten Level an. Die tatsächlichen maximalen Magiepunkte können von diesem Wert jedoch variieren, da die Statuswerte noch durch andere Faktoren (wie z. B. Konditionen, Ausrüstung, ...) verändert werden können. Um die tatsächlichen aktuellen maximalen Magiepunkte zu ermitteln muss daher die ChangeVariable-Methode des Command-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].LevelAttribute[].MaxHP
Weiter >
Eigenschaft: Actor[].LevelAttribute[].Mind

Eigenschaft: Actor[].LevelAttribute[].MaxMP


Actor[].LevelAttribute[].Mind

Eigenschaft: Actor[].LevelAttribute[].Mind

Syntax

Actor[Actor-Id].LevelAttribute[Level].Mind

Beschreibung

Die Mind-Eigenschaft gibt die Intelligenzpunkte eines Helden zu einem bestimmten Level an. Die tatsächlichen Intelligenzpunkte können von diesem Wert jedoch variieren, da die Statuswerte noch durch andere Faktoren (wie z. B. Konditionen, Ausrüstung, ...) verändert werden können. Um die tatsächlichen aktuellen Intelligenzpunkte zu ermitteln muss daher die ChangeVariable-Methode des Command-Objekts verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Actor[].LevelAttribute[].MaxMP
Weiter >
Kategorie: Namen

Eigenschaft: Actor[].LevelAttribute[].Mind


Actor[]--cat_Names

Kategorie: Namen

Mit den Eigenschaften dieser Kategorie können der Name und der Rang eines Helden bearbeitet werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Degree | Eigenschaft | Der Rang eines Helden
Name | Eigenschaft | Der Name eines Helden
< Zurück
Eigenschaft: Actor[].LevelAttribute[].Mind
Weiter >
Eigenschaft: Actor[].Degree

Kategorie: Namen


Actor[].Degree

Eigenschaft: Actor[].Degree

Syntax

Actor[Actor-Id].Degree

Beschreibung

Mit der Degree-Eigenschaft kann der Rang eines Helden gelesen/geschrieben werden. Wird diese Eigenschaft auf String.Chr(1) gesetzt, dann wird der Standardrang durch einen Verweis verwendet. Um den Standardrang ohne Verweis zu verwenden kann die Default.Degree-Eigenschaft verwendet werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | nein

Beispiel

Im folgenden Beispiel gehen wir davon aus, dass das Spiel gerade frisch gestartet wurde und die Standard-Spieldatenbank verwendet wird.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$
// Den Rang des ersten Helden auslesen und in a[1] speichern
a[1] = Actor[1].Degree;	                    // "Soldier"
// Den Rang des ersten Helden auf "Anfänger" setzen
Actor[1].Name = "Anfänger";
// Den Rang des ersten Helden auf den Standardrang stellen (mit Verweis)
Actor[1].Degree = String.Chr(1);
// Den Standardrang des ersten Helden auf "Experte" setzen
Actor[1].Default.Degree = "Experte";
// Den Rang des ersten Helden auslesen und in a[2] speichern
a[2] = Actor[1].Degree;                      // "Experte" (wegen dem Verweis)
// Den Rang des ersten Helden auf den aktuellen Standardrang setzen
Actor[1].Degree = Actor[1].Default.Degree;   // "Experte" (diesmal nicht als Verweis)
// Den Standardrang auf seinen vorherigen Wert zurücksetzen
Actor[1].Default.Degree = a[1];              // "Soldier"
// Den Rang des ersten Helden auslesen und in a[3] speichern
a[3] = Actor[1].Degree;                      // "Experte"

Mögliche Fehler

DESTINYERROR_CONVERT

Siehe auch

Actor[], Actor[].Default.Degree, Actor[].Name, String.Chr()
< Zurück
Kategorie: Namen
Weiter >
Eigenschaft: Actor[].Name

Eigenschaft: Actor[].Degree


Actor[].Name

Eigenschaft: Actor[].Name

Syntax

Actor[Actor-Id].Name

Beschreibung

Mit der Name-Eigenschaft kann der Name eines Helden gelesen/geschrieben werden. Um dem Helden seinen Standardnamen zuzuweisen kann der Inhalt der Default.Name-Eigenschaft verwendet werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | nein

Beispiel

Im folgenden Beispiel gehen wir davon aus, dass das Spiel gerade frisch gestartet wurde und die Standard-Spieldatenbank verwendet wird.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Den Namen des ersten Helden auslesen und in a[1] speichern
a[1] = Actor[1].Name;                    // "Alex"
// Den Namen des ersten Helden auf "Bernd" setzen
Actor[1].Name = "Bernd";                 // "Bernd"
// Den Namen des ersten Helden auf den Standardnamen stellen
Actor[1].Name = Actor[1].Default.Name;   // "Alex"
// Den Namen des ersten Helden auslesen und in a[2] speichern
a[2] = Actor[1].Name;                    // "Alex"

Sonstiges

Setzt man diese Eigenschaft auf String.Chr(1), dann wird ebenfalls der Standardname verwendet. Dies ist allerdings eine Eigenart des RPG-Makers.

Mögliche Fehler

DESTINYERROR_CONVERT

Siehe auch

Actor[], Actor[].Default.Name, Actor[].Degree, String.Chr()
< Zurück
Eigenschaft: Actor[].Degree
Weiter >
Kategorie: Sonstige Eigenschaften

Eigenschaft: Actor[].Name


Actor[]--cat_Misc

Kategorie: Sonstige Eigenschaften

Diese Kategorie enthält alle sonstigen Eigenschaften des Helden, welche über die Spieldatenbank eingestellt werden können.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AttributeEffect | Objekt | Enthält eine Liste aller Effektivitäten der einzelnen Attribute zu einem Helden
Count | Eigenschaft | Gibt die Anzahl der Attribute zurück
[] | Eigenschaft | Die Attributeffekte eines Helden
Condition | Objekt | Bündelt die Liste aller Konditionen eines Helden
Count | Eigenschaft | Die Anzahl der Konditionen eines Helden
[] | Eigenschaft | Die Konditionen eines Helden
ConditionEffect | Objekt | Enthält eine Liste aller Effektivitäten der einzelnen Konditionen zu einem Helden
Count | Eigenschaft | Gibt die Anzahl der Konditionen zurück
[] | Eigenschaft | Die Konditionseffekte eines Helden
ControlledByAI | Eigenschaft | Die "Gesteuert durch KI"-Eigenschaft eines Helden
CriticalHitChance | Eigenschaft | Die CriticalHitChance eines Helden
FixedEquipment | Eigenschaft | Die "Feste Ausrüstung"-Eigenschaft eines Helden
HasCondition() | Methode | Prüft ob ein Held eine bestimmte Kondition hat
HasSkill() | Methode | Prüft ob ein Held über eine bestimmte Technik verfügt
MaxLevel | Eigenschaft | Das maximale Level eines Helden
Skill | Objekt | Bündelt die Liste aller Techniken eines Helden
Count | Eigenschaft | Die Anzahl gelernter Techniken eines Helden
[] | Eigenschaft | Die Techniken eines Helden
StrongDefense | Eigenschaft | Die "besonders hohe Verteidigung"-Eigenschaft eines Helden
TwoSwordStyle | Eigenschaft | Die "Zwei Schwert Stil"-Eigenschaft eines Helden
UnarmedBattleAnimation | Eigenschaft | Die BattleAnimation-Id des unbewaffneten Angriffs eines Helden
UseSkillName | Eigenschaft | Der "Technik benutzen"-Text eines Helden
< Zurück
Eigenschaft: Actor[].Name
Weiter >
Objekt: Actor[].AttributeEffect

Kategorie: Sonstige Eigenschaften


Actor[].AttributeEffect

Objekt: Actor[].AttributeEffect

Syntax

Actor[Actor-Id].AttributeEffect

Beschreibung

Beinhaltet sämtliche Effektivitäten der Attribute zu einem Helden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Gibt die Anzahl der Attribute zurück
[] | Eigenschaft | Die Attributeffekte eines Helden
< Zurück
Kategorie: Sonstige Eigenschaften
Weiter >
Eigenschaft: Actor[].AttributeEffect.Count

Objekt: Actor[].AttributeEffect


Actor[].AttributeEffect.Count

Eigenschaft: Actor[].AttributeEffect.Count

Syntax

Actor[Actor-Id].AttributeEffect.Count

Beschreibung

Gibt die Anzahl der Attribute (des Spiels) zurück. Dies sollte nur in Verbindung mit Actor[].AttributeEffect[] genutzt werden. Um die normale Anzahl der Attribute des Spiels zu erhalten, empfiehlt sich die Verwendung der Count-Eigenschaft des Attribute-Objekts.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Siehe auch

Actor[].AttributeEffect[], Attribute, Attribute.Count
< Zurück
Objekt: Actor[].AttributeEffect
Weiter >
Eigenschaft: Actor[].AttributeEffect[]

Eigenschaft: Actor[].AttributeEffect.Count


Actor[].AttributeEffect[]

Eigenschaft: Actor[].AttributeEffect[]

Syntax

Actor[Actor-Id].AttributeEffect[Attribute-Id]

Beschreibung

Mit der AttributeEffect-Eigenschaft kann gelesen werden, wie stark sich ein Waffen-/Zauberattribut auf den Helden auswirkt. Dies wird in der Spieldatenbank durch die Buchstaben A bis E dargestellt, wobei A der Zahl 0 entspricht (Attribut zeigt überdurchschnittliche Auswirkung) und E der Zahl 4 entspricht (Attribut zeigt sehr schwache bis keine Auswirkung). Zur Identifizierung können die Effect-Konstanten verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Liste der Parameter

Parameter: Attribute-Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Gibt die Attribute-Id des Waffen-/Zauberattributs an, dessen Wert ermittelt werden soll. Wenn dieser Wert keine gültige Attribute-Id ist, wird ein Destiny-Fehler ausgelöst.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Prüfen, ob das erste Angriffsattribut (i. d. R. Sword) beim ersten Helden wirkt
if(Math.Rand(1, 100) <= Attribute[1].Rate[Actor[1].AttributeEffect[1]])
  // Das Attribut hat gewirkt; dem ersten Helden 10 Schaden zufügen
  Actor[1].HP -= 10;
  // Prüfen, ob der erste Held keine Lebenspunkte mehr hat
  if(Actor[1].HP <= 0)
    // Falls der erste Held tot ist, das Spiel beenden
    Command.GameOver();
  endif;
endif;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

Math.Rand(), Attribute[].Rate[], Actor[].HP, Command.GameOver()
< Zurück
Eigenschaft: Actor[].AttributeEffect.Count
Weiter >
Objekt: Actor[].Condition

Eigenschaft: Actor[].AttributeEffect[]


Actor[].Condition

Objekt: Actor[].Condition

Syntax

Actor[Actor-Id].Condition

Beschreibung

Beinhaltet eine Liste aller Konditionen eines Helden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Konditionen eines Helden
[] | Eigenschaft | Die Konditionen eines Helden
< Zurück
Eigenschaft: Actor[].AttributeEffect[]
Weiter >
Eigenschaft: Actor[].Condition.Count

Objekt: Actor[].Condition


Actor[].Condition.Count

Eigenschaft: Actor[].Condition.Count

Syntax

Actor[Actor-Id].Condition.Count

Beschreibung

Mit der Count-Eigenschaft kann die Anzahl der Konditionen eines Helden gelesen werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Konditionen des ersten Helden erzeugen und in a[1] speichern
a[1] = "";
for(v[1] = 0; v[1] < Actor[1].Condition.Count; v[1]++)
  a[1] ..= Condition[Actor[1].Condition[v[1]]].Name .. CRLF;
next;

Siehe auch

Actor[].Condition[], Condition[].Name, Actor[].HasCondition()
< Zurück
Objekt: Actor[].Condition
Weiter >
Eigenschaft: Actor[].Condition[]

Eigenschaft: Actor[].Condition.Count


Actor[].Condition[]

Eigenschaft: Actor[].Condition[]

Syntax

Actor[Actor-Id].Condition[Condition-Index]

Beschreibung

Mit der Condition-Eigenschaft kann die Condition-Id einer einzelnen Kondition eines Helden gelesen werden. Um zu prüfen, ob der Held über eine bestimmte Kondition verfügt, empfiehlt sich die Verwendung der HasCondition-Methode. Um eine Kondition hinzuzufügen empfiehlt sich die Verwendung der AddCondition-Methode des Command-Objekts.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Liste der Parameter

Parameter: Condition-Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Actor[].Condition.Count - 1)
Beschreibung: | Gibt den Index der Kondition an. Dieser muss im Bereich von 0 bis (Actor[].Condition.Count - 1) liegen. Dieser Wert entspricht nicht der Condition-Id.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Konditionen des ersten Helden erzeugen und in a[1] speichern
a[1] = "";
for(v[1] = 0; v[1] < Actor[1].Condition.Count; v[1]++)
  a[1] ..= Condition[Actor[1].Condition[v[1]]].Name .. CRLF;
next;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

Actor[].Condition.Count, Condition[].Name, Actor[].HasCondition()
< Zurück
Eigenschaft: Actor[].Condition.Count
Weiter >
Objekt: Actor[].ConditionEffect

Eigenschaft: Actor[].Condition[]


Actor[].ConditionEffect

Objekt: Actor[].ConditionEffect

Syntax

Actor[Actor-Id].ConditionEffect

Beschreibung

Beinhaltet sämtliche Effektivitäten der Konditionen zu einem Helden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Gibt die Anzahl der Konditionen zurück
[] | Eigenschaft | Die Konditionseffekte eines Helden
< Zurück
Eigenschaft: Actor[].Condition[]
Weiter >
Eigenschaft: Actor[].ConditionEffect.Count

Objekt: Actor[].ConditionEffect


Actor[].ConditionEffect.Count

Eigenschaft: Actor[].ConditionEffect.Count

Syntax

Actor[Actor-Id].ConditionEffect.Count

Beschreibung

Gibt die Anzahl der Konditionen (des Spiels) zurück. Dies sollte nur in Verbindung mit Actor[].ConditionEffect[] genutzt werden. Um die normale Anzahl der Konditionen des Spiels zu erhalten, empfiehlt sich die Verwendung der Count-Eigenschaft des Condition-Objekts.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Siehe auch

Actor[].ConditionEffect[], Condition, Condition.Count
< Zurück
Objekt: Actor[].ConditionEffect
Weiter >
Eigenschaft: Actor[].ConditionEffect[]

Eigenschaft: Actor[].ConditionEffect.Count


Actor[].ConditionEffect[]

Eigenschaft: Actor[].ConditionEffect[]

Syntax

Actor[Actor-Id].ConditionEffect[Condition-Id]

Beschreibung

Mit der ConditionEffect-Eigenschaft kann gelesen werden, wie stark sich eine Kondition auf den Helden auswirkt. Dies wird in der Spieldatenbank durch die Buchstaben A bis E dargestellt, wobei A der Zahl 0 entspricht (Kondition zeigt überdurchschnittliche Auswirkung) und E der Zahl 4 entspricht (Kondition zeigt sehr schwache bis keine Auswirkung). Zur Identifizierung können die Effect-Konstanten verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Liste der Parameter

Parameter: Condition-Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Gibt die Condition-Id der Kondition an, dessen Wert ermittelt werden soll. Wenn dieser Wert keine gültige Condition-Id ist, wird ein Destiny-Fehler ausgelöst.

Beispiel

Im folgenden Beispiel werden getragene Ausrüstungsteile, welche den Erwerb bestimmter Konditionen verhindern könnten, ignoriert.
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Prüfen, ob der erste Held die Kondition 2 (i. d. R. "Poison") NICHT hat
if(!Actor[1].HasCondition(2))
  // Den ersten Helden ggf. mit der Kondition 2 (i. d. R. "Poison") verseuchen
  if(Math.Rand(1, 100) <= Condition[2].Chance[Actor[1].ConditionEffect[2]])
    Command.AddCondition(1, 2);  // Held mit Actor-Id 1 und Kondition mit Condition-Id 2
  endif;
endif;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

Actor[].HasCondition(), Math.Rand(), Condition[].Chance[], Command.AddCondition(), Actor[].Condition.Count, Actor[].Condition[]
< Zurück
Eigenschaft: Actor[].ConditionEffect.Count
Weiter >
Eigenschaft: Actor[].ControlledByAI

Eigenschaft: Actor[].ConditionEffect[]


Actor[].ControlledByAI

Eigenschaft: Actor[].ControlledByAI

Syntax

Actor[Actor-Id].ControlledByAI

Beschreibung

Mit der ControlledByAI-Eigenschaft kann gelesen werden, ob der Held im Standardkampfsystem vom Computer gesteuert wird (AI = Artificial Intelligence für Künstliche Intelligenz). (True = Steuerung per KI, False = Steuerung durch Spieler).

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Prüfen, ob der erste Held während des Kampfes über eine Künstliche Intelligenz gesteuert wird und das Ergebnis als Text in a[1] speichern
if(Actor[1].ControlledByAI)
  a[1] = Actor[1].Name .. " ist ein willenloser Sklave.";
else
  a[1] = Actor[1].Name .. " ist Mitglied der liberalen Vereinigung!";
endif;

Siehe auch

Actor[].Name
< Zurück
Eigenschaft: Actor[].ConditionEffect[]
Weiter >
Eigenschaft: Actor[].CriticalHitChance

Eigenschaft: Actor[].ControlledByAI


Actor[].CriticalHitChance

Eigenschaft: Actor[].CriticalHitChance

Syntax

Actor[Actor-Id].CriticalHitChance

Beschreibung

Mit der CriticalHitChance-Eigenschaft kann die Chance auf einen kritischen Treffer gelesen werden. Dieser Wert kann zwischen 0 und 100 liegen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Die CriticalHitChange des ersten Helden ermitteln und in v[1] speichern
v[1] = Actor[1].CriticalHitChance;
// Eine Zufallszahl zwischen 1 und 100 erzeugen und in v[2] speichern
v[2] = Math.Rand(1, 100);
// In a[1] entweder eine CriticalHit-Nachricht speichern oder eine normale Angriffs-Nachricht
if(v[2] <= v[1])
  a[1] = "Dir gelingt ein besonders kritischer Treffer.";
else
  a[1] = "Dir gelingt ein gewöhnlicher Treffer.";
endif;

Siehe auch

Actor[], Math.Rand()
< Zurück
Eigenschaft: Actor[].ControlledByAI
Weiter >
Eigenschaft: Actor[].FixedEquipment

Eigenschaft: Actor[].CriticalHitChance


Actor[].FixedEquipment

Eigenschaft: Actor[].FixedEquipment

Syntax

Actor[Actor-Id].FixedEquipment

Beschreibung

Mit der FixedEquipment-Eigenschaft kann gelesen werden, ob die Ausrüstung des Helden über das Standardmenü nicht geändert werden kann (True = Ausrüstung kann nicht geändert werden, False = Ausrüstung kann geändert werden).

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Prüfen, ob der erste Held seine Ausrüstung ablegen darf oder nicht und das Ergebnis als Text in a[1] speichern
if(Actor[1].FixedEquipment)
  a[1] = Actor[1].Name .. " trägt einen ganzkörper Keuschheitsgürtel!";
else
  a[1] = Actor[1].Name .. " besitzt die besten Konditionen für den Exhibitionismus!";
endif;

Siehe auch

Actor[].Name
< Zurück
Eigenschaft: Actor[].CriticalHitChance
Weiter >
Methode: Actor[].HasCondition()

Eigenschaft: Actor[].FixedEquipment


Actor[].HasCondition()

Methode: Actor[].HasCondition()

Syntax

Actor[Actor-Id].HasCondition(Condition-Id)

Beschreibung

Mit der HasCondition-Methode kann geprüft werden, ob ein Held gegenwärtig über eine bestimmte Kondition verfügt.

Liste der Parameter

Parameter: Condition-Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Gibt die Condition-ID der zu überprüfenden Kondition an. Wenn dieser Wert keine gültige Condition-Id ist, wird ein Destiny-Fehler ausgelöst.

Rückgabewert

Datentyp: | bool
Beschreibung: | Entweder True (wenn der Held über die Kondition verfügt) oder False (wenn er nicht über die Kondition verfügt).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Prüfen, ob der erste Held über die zweite Kondition (i. d. R. Poison) verfügt und das Ergebnis als Text in a[1] speichern
if(Actor[1].HasCondition(2))
  a[1] = Actor[1].Name .. " ist verseucht mit """ .. Condition[2].Name .. """!";
else
  a[1] = Actor[1].Name .. " hat zum Glück kein """ .. Condition[2].Name .. """!";
endif;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Actor[].Name, Condition[].Name, Actor[].Condition.Count, Actor[].Condition[]
< Zurück
Eigenschaft: Actor[].FixedEquipment
Weiter >
Methode: Actor[].HasSkill()

Methode: Actor[].HasCondition()


Actor[].HasSkill()

Methode: Actor[].HasSkill()

Syntax

Actor[Actor-Id].HasSkill(Skill-Id)

Beschreibung

Mit der HasSkill-Methode kann geprüft werden, ob ein Held über eine bestimmte Technik verfügt.

Liste der Parameter

Parameter: Skill-Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Gibt die Skill-ID des zu überprüfenden Technik an. Wenn dieser Wert keine gültige Skill-Id ist, dann wird ein Destiny-Fehler ausgelöst.

Rückgabewert

Datentyp: | bool
Beschreibung: | Entweder True (wenn der Held über die Technik verfügt) oder False (wenn er nicht über die Technik verfügt).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Prüfen, ob der erste Held über die erste Technik (i. d. R. Paralysis) verfügt und das Ergebnis als Text in a[1] speichern
if(Actor[1].HasSkill(1))
  a[1] = Actor[1].Name .. " verfügt über die """ .. Skill[1].Name .. """-Technik!";
else
  a[1] = Actor[1].Name .. " verfügt nicht über die """ .. Skill[1].Name .. """-Technik!";
endif;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Actor[].Name, Skill[].Name, Actor[].Skill.Count, Actor[].Skill[]
< Zurück
Methode: Actor[].HasCondition()
Weiter >
Eigenschaft: Actor[].MaxLevel

Methode: Actor[].HasSkill()


Actor[].MaxLevel

Eigenschaft: Actor[].MaxLevel

Syntax

Actor[Actor-Id].MaxLevel

Beschreibung

Mit der MaxLevel-Eigenschaft kann das maximale Level des Helden gelesen werden. Dieser Wert kann je nach Maker-Version im Bereich 1...50 (RPG-Maker 2000) oder 1...100 (RPG-Maker 2003) liegen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 1 ... 50 (RPG-Maker 2000) oder 1 ... 100 (RPG-Maker 2003)

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die noch zu erreichenden Level des ersten Helden ermitteln und in v[1] speichern
v[1] = Actor[1].MaxLevel - Actor[1].Level;
// Die Anzahl der bereits erhaltenen Level des ersten Helden ermitteln und in v[2] speichern
v[2] = Actor[1].Level - Actor[1].Default.Level;
// Die noch zu erreichenden Level und die bisher erreichten Level als Text in a[1] speichern
a[1] = "Du bist bereits " .. v[2] .. " Level gestiegen und kannst noch " .. v[1] .. " Level steigen";

Siehe auch

Actor[].Level, Actor[].Default.Level
< Zurück
Methode: Actor[].HasSkill()
Weiter >
Objekt: Actor[].Skill

Eigenschaft: Actor[].MaxLevel


Actor[].Skill

Objekt: Actor[].Skill

Syntax

Actor[Actor-Id].Skill

Beschreibung

Beinhaltet eine Liste aller Techniken eines Helden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl gelernter Techniken eines Helden
[] | Eigenschaft | Die Techniken eines Helden
< Zurück
Eigenschaft: Actor[].MaxLevel
Weiter >
Eigenschaft: Actor[].Skill.Count

Objekt: Actor[].Skill


Actor[].Skill.Count

Eigenschaft: Actor[].Skill.Count

Syntax

Actor[Actor-Id].Skill.Count

Beschreibung

Mit der Count-Eigenschaft kann die Anzahl der Techniken eines Helden gelesen werden. Dies wird zusammen mit der Skill[]-Eigenschaft verwendet.. Um eine Technik hinzuzufügen empfiehlt sich die Verwendung der AddSkill-Methode des Command-Objekts.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Techniken des ersten Helden erzeugen und in a[1] speichern
a[1] = "";
for(v[1] = 0; v[1] < Actor[1].Skill.Count; v[1]++)
  a[1] ..= Skill[Actor[1].Skill[v[1]]].Name .. CRLF;
next;

Siehe auch

Actor[].Skill[], Skill[].Name, Actor[].HasSkill()
< Zurück
Objekt: Actor[].Skill
Weiter >
Eigenschaft: Actor[].Skill[]

Eigenschaft: Actor[].Skill.Count


Actor[].Skill[]

Eigenschaft: Actor[].Skill[]

Syntax

Actor[Actor-Id].Skill[Skill-Index]

Beschreibung

Mit der Skill-Eigenschaft kann die Skill-Id einer einzelnen Technik eines Helden gelesen werden. Um zu prüfen, ob der Held über eine bestimmte Technik verfügt, empfiehlt sich die Verwendung der HasSkill-Methode. Um eine Technik hinzuzufügen empfiehlt sich die Verwendung der AddSkill-Methode des Command-Objekts.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Liste der Parameter

Parameter: Skill-Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Actor[].Skill.Count - 1)
Beschreibung: | Gibt den Index der Technik an. Dieser Wert entspricht nicht der Skill-Id und muss im Bereich von 0 bis (Actor[].Skill.Count - 1) liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Techniken des ersten Helden erzeugen und in a[1] speichern
a[1] = "";
for(v[1] = 0; v[1] < Actor[1].Skill.Count; v[1]++)
  a[1] ..= Skill[Actor[1].Skill[v[1]]].Name .. CRLF;
next;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

Actor[].Skill.Count, Skill[].Name, Actor[].HasSkill()
< Zurück
Eigenschaft: Actor[].Skill.Count
Weiter >
Eigenschaft: Actor[].StrongDefense

Eigenschaft: Actor[].Skill[]


Actor[].StrongDefense

Eigenschaft: Actor[].StrongDefense

Syntax

Actor[Actor-Id].StrongDefense

Beschreibung

Mit der StrongDefense-Eigenschaft kann gelesen werden, ob der Held eine besonders starke Verteidigung besitzt. Dies bedeutet, dass die Verteidigungspunkte des Helden verdoppelt sind (True = Verteidigungspunkte sind verdoppelt, False = Verteidigungspunkte sind normal).

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Prüfen, ob der erste Held über eine besonders starke Verteidigung verfügt und das Ergebnis als Text in a[1] speichern
if(Actor[1].StrongDefense)
  a[1] = Actor[1].Name .. " hat sowohl 'ne harte Schale, als auch 'nen harten Kern.";
else
  a[1] = Actor[1].Name .. " ist die reinste Mimose.";
endif;

Siehe auch

Actor[].Name
< Zurück
Eigenschaft: Actor[].Skill[]
Weiter >
Eigenschaft: Actor[].TwoSwordStyle

Eigenschaft: Actor[].StrongDefense


Actor[].TwoSwordStyle

Eigenschaft: Actor[].TwoSwordStyle

Syntax

Actor[Actor-Id].TwoSwordStyle

Beschreibung

Mit der TwoSwordStyle-Eigenschaft kann gelesen werden, ob der Held mit zwei Waffen ausgerüstet wird (True) oder mit einer Waffe und einem Schild (False).

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Prüfen, ob der erste Held mit zwei Waffen kämpft und das Ergebnis als Text in a[1] speichern
if(Actor[1].TwoSwordStyle)
  a[1] = Actor[1].Name .. " kämpft mit zwei Waffen, weil ihm/ihr Schilder zu schwer sind.";
else
  a[1] = Actor[1].Name .. " kämpft ganz klassisch mit Waffe und Schild.";
endif;

Siehe auch

Actor[].Name
< Zurück
Eigenschaft: Actor[].StrongDefense
Weiter >
Eigenschaft: Actor[].UnarmedBattleAnimation

Eigenschaft: Actor[].TwoSwordStyle


Actor[].UnarmedBattleAnimation

Eigenschaft: Actor[].UnarmedBattleAnimation

Syntax

Actor[Actor-Id].UnarmedBattleAnimation

Beschreibung

Mit der UnarmedBattleAnimation-Eigenschaft kann die BattleAnimation-Id gelesen werden, welche im Standardkampfsystem angezeigt wird, falls der Held angreift und dabei keine Waffe trägt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

Das folgende Beispiel zeigt die BattleAnimation des Angriffs des ersten Helden gegen das aktuelle Event an.
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Prüfen, ob der erste Held mit einer Waffe ausgerüstet ist
if(Actor[1].Weapon != 0)
  // Der erste Held ist mit einer Waffe ausgerüstet
  // -> die Animation des Angriffs mit der jeweiligen Waffe anzeigen
  Command.ShowBattleAnimation(Item[Actor[1].Weapon].Weapon.BattleAnimation, THIS, true, true);
else
  // Der erste Held ist NICHT mit einer Waffe ausgerüstet
  // -> die Animation des unbewaffneten Angriffs anzeigen
  Command.ShowBattleAnimation(Actor[1].UnarmedBattleAnimation, THIS, true, true);
endif;

Siehe auch

Command.ShowBattleAnimation(), Actor[].Weapon, Item[].Weapon.BattleAnimation, THIS
< Zurück
Eigenschaft: Actor[].TwoSwordStyle
Weiter >
Eigenschaft: Actor[].UseSkillName

Eigenschaft: Actor[].UnarmedBattleAnimation


Actor[].UseSkillName

Eigenschaft: Actor[].UseSkillName

Syntax

Actor[Actor-Id].UseSkillName

Beschreibung

Mit der UseSkillName-Eigenschaft kann der "Technik benutzen"-Text des Helden gelesen werden. Wird für den Helden kein außergewöhnlicher Text angegeben, so wird der Standardtext des Spielvokabulars zurückgegeben.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den "Technik benutzen"-Text des ersten Helden ermitteln und in a[1] speichern a[1] = Actor[1].UseSkillName;
< Zurück
Eigenschaft: Actor[].UnarmedBattleAnimation
Weiter >
Kategorie: Statuswerte

Eigenschaft: Actor[].UseSkillName


Actor[]--cat_Status

Kategorie: Statuswerte

Mit den Eigenschaften dieser Kategorie können die aktuellen Statuswerte eines Helden bearbeitet werden. Um die verschiedenen aktuellen Statuswerte zu ermitteln (z. B. Angriffspunkte, ...) empfiehlt sich die Verwendung der ChangeVariable-Methode des Command-Objekts.
Der Grund dafür ist, dass die aktuellen Statuswerte abhängig sind von:
  • Den Statuswerten des aktuellen Level des Helden (siehe Actor[].LevelAttribute)
  • Den Differenzen der Statuswerte zum aktuellen Level (siehe die Eigenschaften der dieser Kategorie)
  • Der aktuellen Ausrüstung (siehe Ausrüstungs-Kategorie, sowie das Item-Objekt)
  • Den aktuellen Konditionen des Helden (siehe Actor[].Condition, sowie das Condition-Objekt)
  • Bei den Verteidigungspunkten: Die StrongDefense-Eigenschaft dieses Objekts
Durch die Verwendung der ChangeVariable-Methode wird sichergestellt, dass der Algorithmus des RPG-Makers verwendet wird (und somit alle statuswert-verändernden Eigenschaften in die Berechnung mit eingeflossen sind).

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AgilityDiff | Eigenschaft | Die Differenz der Beweglichkeitspunkte des Helden
AttackDiff | Eigenschaft | Die Differenz der Angriffspunkte des Helden
DefenseDiff | Eigenschaft | Die Differenz der Verteidigungspunkte des Helden
EXP | Eigenschaft | Die aktuellen Erfahrungspunkte des Helden
HP | Eigenschaft | Die aktuellen Lebenspunkte des Helden
Level | Eigenschaft | Das aktuelle Level des Helden
MaxHPDiff | Eigenschaft | Die Differenz der maximalen Lebenspunkte des Helden
MaxMPDiff | Eigenschaft | Die Differenz der maximalen Magiepunkte des Helden
MindDiff | Eigenschaft | Die Differenz der Intelligenzpunkte des Helden
MP | Eigenschaft | Die aktuellen Magiepunkte des Helden
< Zurück
Eigenschaft: Actor[].UseSkillName
Weiter >
Eigenschaft: Actor[].AgilityDiff

Kategorie: Statuswerte


Actor[].AgilityDiff

Eigenschaft: Actor[].AgilityDiff

Syntax

Actor[Actor-Id].AgilityDiff

Beschreibung

Mit der AgilityDiff-Eigenschaft kann die Differenz der Beweglichkeitspunkte eines Helden (zu den normalen Beweglichkeitspunkten seines aktuellen Levels) geschrieben/gelesen werden. Dieser Wert entspricht nicht den aktuellen Beweglichkeitspunkten. Um die aktuellen Beweglichkeitspunkte zu ermitteln kann die ChangeVariable-Methode des Command-Objekts verwendet werden (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Differenz der Beweglichkeitspunkte des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].AgilityDiff;
// Die Beweglichkeitspunkte des ersten Helden um 1 erhöhen
Actor[1].AgilityDiff++;
// Die Beweglichkeitspunkte des ersten Helden ermitteln (in v[2] - siehe Command.ChangeVariable)
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_ACTOR, 1, ACTOR_AGILITY);
// Die "normalen" Beweglichkeitspunkte des ersten Helden berechnen und in v[3] speichern
v[3] = Actor[1].LevelAttribute[Actor[1].Level].Agility + Actor[1].AgilityDiff;
Der Unterschied zwischen den Beweglichkeitspunkten (in v[2]) und den "normalen" Beweglichkeitspunkten (in v[3]) ist, dass bei den "normalen" Beweglichkeitspunkten Veränderungen durch die Ausrüstung oder Konditionen nicht berücksichtigt wurden.

Siehe auch

Actor[], Command.ChangeVariable(), Actor[].LevelAttribute[].Agility, Actor[].Level
< Zurück
Kategorie: Statuswerte
Weiter >
Eigenschaft: Actor[].AttackDiff

Eigenschaft: Actor[].AgilityDiff


Actor[].AttackDiff

Eigenschaft: Actor[].AttackDiff

Syntax

Actor[Actor-Id].AttackDiff

Beschreibung

Mit der AttackDiff-Eigenschaft kann die Differenz der Angriffspunkte eines Helden (zu den normalen Angriffspunkten seines aktuellen Levels) geschrieben/gelesen werden. Dieser Wert entspricht nicht den aktuellen Angriffspunken. Um die aktuellen Angriffspunkte zu ermitteln kann die ChangeVariable-Methode des Command-Objekts verwendet werden (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Differenz der Angriffspunkte des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].AttackDiff;
// Die Angriffspunkte des ersten Helden um 1 erhöhen
Actor[1].AttackDiff++;
// Die Angriffspunkte des ersten Helden ermitteln (in v[2] - siehe Command.ChangeVariable)
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_ACTOR, 1, ACTOR_ATTACK);
// Die "normalen" Angriffspunkte des ersten Helden berechnen und in v[3] speichern
v[3] = Actor[1].LevelAttribute[Actor[1].Level].Attack + Actor[1].AttackDiff;
Der Unterschied zwischen den Angriffspunkten (in v[2]) und den "normalen" Angriffspunkten (in v[3]) ist, dass bei den "normalen" Angriffspunkten Veränderungen durch die Ausrüstung oder Konditionen nicht berücksichtigt wurden.

Siehe auch

Actor[], Command.ChangeVariable(), Actor[].LevelAttribute[].Attack, Actor[].Level
< Zurück
Eigenschaft: Actor[].AgilityDiff
Weiter >
Eigenschaft: Actor[].DefenseDiff

Eigenschaft: Actor[].AttackDiff


Actor[].DefenseDiff

Eigenschaft: Actor[].DefenseDiff

Syntax

Actor[Actor-Id].DefenseDiff

Beschreibung

Mit der DefenseDiff-Eigenschaft kann die Differenz der Verteidigungspunkte eines Helden (zu den normalen Verteidigungspunkten seines aktuellen Levels) geschrieben/gelesen werden. Dieser Wert entspricht nicht den aktuellen Verteidigungspunkten. Um die aktuellen Verteidigungspunkte zu ermitteln kann die ChangeVariable-Methode des Command-Objekts verwendet werden (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Differenz der Verteidigungspunkte des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].DefenseDiff;
// Die Verteidigungspunkte des ersten Helden um 1 erhöhen
Actor[1].DefenseDiff++;
// Die Verteidigungspunkte des ersten Helden ermitteln (in v[2] - siehe Command.ChangeVariable)
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_ACTOR, 1, ACTOR_DEFENSE);
// Die "normalen" Verteidigungspunkte des ersten Helden berechnen und in v[3] speichern
v[3] = Actor[1].LevelAttribute[Actor[1].Level].Defense + Actor[1].DefenseDiff;
Der Unterschied zwischen den Verteidigungspunkten (in v[2]) und den "normalen" Verteidigungspunkten (in v[3]) ist, dass bei den "normalen" Verteidigungspunkten Veränderungen durch die Ausrüstung, Konditionen oder die StrongDefense-Eigenschaft nicht berücksichtigt wurden.

Siehe auch

Actor[], Command.ChangeVariable(), Actor[].LevelAttribute[].Defense, Actor[].Level
< Zurück
Eigenschaft: Actor[].AttackDiff
Weiter >
Eigenschaft: Actor[].EXP

Eigenschaft: Actor[].DefenseDiff


Actor[].EXP

Eigenschaft: Actor[].EXP

Syntax

Actor[Actor-Id].EXP

Beschreibung

Mit der EXP-Eigenschaft können die aktuellen Erfahrungspunkte (EXP = Expansion) eines Helden gelesen/geschrieben werden. Durch eine Änderung dieses Wertes wird das Level nicht automatisch mit angepasst. Dies passiert erst dann, wenn beim nächsten Mal die Erfahrungspunkte durch eine RPG_RT-Funktion angepasst werden (z. B. nach einem gewonnenen Kampf). Um direkt beim Ändern der Erfahrungspunkte das Level mitanzupassen empfiehlt sich die Verwendung der AddExp-Methode des Command-Objekts.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die aktuellen Erfahrungspunkte des ersten Helden auslesen
v[1] = Actor[1].EXP;
// Die aktuellen Erfahrungspunkte des ersten Helden um 100 erhöhen
Actor[1].EXP += 100;
// Die Erfahrungspunkte des ersten Helden um 100 erhöhen und dabei ggf. das Level anpassen
Command.AddExp(1, 100, true);

Siehe auch

Actor[], Command.AddExp(), Command.SubtractExp()
< Zurück
Eigenschaft: Actor[].DefenseDiff
Weiter >
Eigenschaft: Actor[].HP

Eigenschaft: Actor[].EXP


Actor[].HP

Eigenschaft: Actor[].HP

Syntax

Actor[Actor-Id].HP

Beschreibung

Mit der HP-Eigenschaft (HP = Health Points) können die Lebenspunkte eines Helden gelesen/geschrieben werden. Wird dieser Wert auf 0 gesetzt, dann wird der Spieler nicht automatisch sterben. Stattdessen wird sich das Spiel beim nächsten Kampf, wenn der Spieler den Angriffsbefehl für diesen Helden festlegt, aufhängen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die Lebenspunkte des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].HP;
// Die maximalen Lebenspunkte des ersten Helden ermitteln (in v[2] - siehe Command.ChangeVariable)
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_ACTOR, 1, ACTOR_MAXHP);
// Die Lebenspunkte des ersten Helden auf das ermittelte Maximum setzen (= volle Heilung)
Actor[1].HP = v[2]

Siehe auch

Actor[], Command.ChangeVariable(), Actor[].LevelAttribute[].MaxHP, Actor[].MaxHPDiff
< Zurück
Eigenschaft: Actor[].EXP
Weiter >
Eigenschaft: Actor[].Level

Eigenschaft: Actor[].HP


Actor[].Level

Eigenschaft: Actor[].Level

Syntax

Actor[Actor-Id].Level

Beschreibung

Mit der Level-Eigenschaft kann das Level eines Helden gelesen/geschrieben werden. Doch Vorsicht: Durch das Ändern des Levels wird die Anzahl der Erfahrungspunkte nicht angepasst. Außerdem kann ein zu großer (bzw. zu kleiner) Wert zum Absturz der RPG_RT führen. Kurzum: Der Minimalwert ist 1 und der Maximalwert ist die Anzahl der Level, die in der Spieldatenbank festgelegt wurden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 1 ... Actor[].MaxLevel

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Das Level des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].Level;
// Das Level des ersten Helden um 1 erhöhen (sofern nicht das maximale Level überschritten wird)
if(Actor[1].Level < Actor[1].MaxLevel)
  Actor[1].Level++;
endif;

Siehe auch

Actor[], Actor[].MaxLevel, Actor[].EXP
< Zurück
Eigenschaft: Actor[].HP
Weiter >
Eigenschaft: Actor[].MaxHPDiff

Eigenschaft: Actor[].Level


Actor[].MaxHPDiff

Eigenschaft: Actor[].MaxHPDiff

Syntax

Actor[Actor-Id].MaxHPDiff

Beschreibung

Mit der MaxHPDiff-Eigenschaft kann die Differenz der maximalen Lebenspunkte (HP = Health Points) eines Helden (zu den normalen maximalen Lebenspunkten seines aktuellen Levels) geschrieben/gelesen werden. Dieser Wert entspricht nicht den aktuellen maximalen Lebenspunkten. Um die aktuellen maximalen Lebenspunkte zu ermitteln kann die ChangeVariable-Methode des Command-Objekts verwendet werden (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Differenz der maximalen Lebenspunkte des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].MaxHPDiff;
// Die maximalen Lebenspunkte des ersten Helden um 1 erhöhen
Actor[1].MaxHPDiff++;
// Die maximalen Lebenspunkte des ersten Helden ermitteln (in v[2] - siehe Command.ChangeVariable)
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_ACTOR, 1, ACTOR_MAPHP);
// Die "normalen" maximalen Lebenspunkte des ersten Helden berechnen und in v[3] speichern
v[3] = Actor[1].LevelAttribute[Actor[1].Level].MaxHP + Actor[1].MaxHPDiff;
Der Unterschied zwischen den maximalen Lebenspunkten (in v[2]) und den "normalen" maximalen Lebenspunkten (in v[3]) ist, dass bei den "normalen" maximalen Lebenspunkten Veränderungen durch die Ausrüstung oder Konditionen nicht berücksichtigt wurden.

Siehe auch

Actor[], Command.ChangeVariable(), Actor[].LevelAttribute[].MaxHP, Actor[].Level
< Zurück
Eigenschaft: Actor[].Level
Weiter >
Eigenschaft: Actor[].MaxMPDiff

Eigenschaft: Actor[].MaxHPDiff


Actor[].MaxMPDiff

Eigenschaft: Actor[].MaxMPDiff

Syntax

Actor[Actor-Id].MaxMPDiff

Beschreibung

Mit der MaxMPDiff-Eigenschaft kann die Differenz der maximalen Magiepunkte (MP = Magic Points) eines Helden (zu den normalen maximalen Magiepunkten seines aktuellen Levels) geschrieben/gelesen werden. Dieser Wert entspricht nicht den aktuellen maximalen Magiepunkten. Um die aktuellen maximalen Magiepunkte zu ermitteln kann die ChangeVariable-Methode des Command-Objekts verwendet werden (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Differenz der maximalen Magiepunkte des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].MaxMPDiff;
// Die maximalen Magiepunkte des ersten Helden um 1 erhöhen
Actor[1].MaxMPDiff++;
// Die maximalen Magiepunkte des ersten Helden ermitteln (in v[2] - siehe Command.ChangeVariable)
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_ACTOR, 1, ACTOR_MAXMP);
// Die "normalen" maximalen Magiepunkte des ersten Helden berechnen und in v[3] speichern
v[3] = Actor[1].MaxMP[Actor[1].Level] + Actor[1].MaxMPDiff;
Der Unterschied zwischen den maximalen Lebenspunkten (in v[2]) und den "normalen" maximalen Lebenspunkten (in v[3]) ist, dass bei den "normalen" maximalen Lebenspunkten Veränderungen durch die Ausrüstung oder Konditionen nicht berücksichtigt wurden.

Siehe auch

Actor[], Command.ChangeVariable(), Actor[].LevelAttribute[].MaxMP, Actor[].Level
< Zurück
Eigenschaft: Actor[].MaxHPDiff
Weiter >
Eigenschaft: Actor[].MindDiff

Eigenschaft: Actor[].MaxMPDiff


Actor[].MindDiff

Eigenschaft: Actor[].MindDiff

Syntax

Actor[Actor-Id].MindDiff

Beschreibung

Mit der MindDiff-Eigenschaft kann die Differenz der Intelligenzpunkte eines Helden (zu den normalen Intelligenzpunkten seines aktuellen Levels) geschrieben/gelesen werden. Dieser Wert entspricht nicht den aktuellen Intelligenzpunkten. Um die aktuellen Intelligenzpunkte zu ermitteln kann die ChangeVariable-Methode des Command-Objekts verwendet werden (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Differenz der Intelligenzpunkte des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].MindDiff;
// Die Intelligenzpunkte des ersten Helden um 1 erhöhen
Actor[1].MindDiff++;
// Die Intelligenzpunkte des ersten Helden ermitteln (in v[2] - siehe Command.ChangeVariable)
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_ACTOR, 1, ACTOR_MIND);
// Die "normalen" Intelligenzpunkte des ersten Helden berechnen und in v[3] speichern
v[3] = Actor[1].LevelAttribute[Actor[1].Level].Mind + Actor[1].MindDiff;
Der Unterschied zwischen den Intelligenzpunkten (in v[2]) und den "normalen" Intelligenzpunkten (in v[3]) ist, dass bei den "normalen" Intelligenzpunkten Veränderungen durch die Ausrüstung oder Konditionen nicht berücksichtigt wurden.

Siehe auch

Actor[], Command.ChangeVariable(), Actor[].LevelAttribute[].Mind, Actor[].Level
< Zurück
Eigenschaft: Actor[].MaxMPDiff
Weiter >
Eigenschaft: Actor[].MP

Eigenschaft: Actor[].MindDiff


Actor[].MP

Eigenschaft: Actor[].MP

Syntax

Actor[Actor-Id].MP

Beschreibung

Mit der MP-Eigenschaft (MP = Magic Points) können die Magiepunkte eines Helden gelesen/geschrieben werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die Magiepunkte des ersten Helden auslesen und in v[1] speichern
v[1] = Actor[1].MP;
// Die maximalen Lebenspunkte des ersten Helden ermitteln (in v[2] - siehe Command.ChangeVariable)
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_ACTOR, 1, ACTOR_MAXMP);
// Die Magiepunkte des ersten Helden auf das ermittelte Maximum setzen
Actor[1].MP = v[2]

Siehe auch

Actor[], Command.ChangeVariable(), Actor[].LevelAttribute[].MaxMP, Actor[].MaxMPDiff
< Zurück
Eigenschaft: Actor[].MindDiff
Weiter >
Objekt: Attribute

Eigenschaft: Actor[].MP


Attribute

Objekt: Attribute

Syntax

Attribute

Beschreibung

Das Attribute-Objekt dient dazu alle Attribute von Rüstungsgegenständen und Techniken der Spieldatenbank zugänglich zu machen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Attribute
[] | Objekt | Ein einzelnes Element des Attribute-Objekts
Name | Eigenschaft | Der Name eines Attributs
Rate | Objekt | Die Wirksamkeitsraten eines Attributs
Count | Eigenschaft | Die Anzahl der Wirksamkeitsraten eines Attributs
[] | Eigenschaft | Die Wirksamkeitsrate eines Attributs
Type | Eigenschaft | Der Typ eines Attributs
< Zurück
Eigenschaft: Actor[].MP
Weiter >
Eigenschaft: Attribute.Count

Objekt: Attribute


Attribute.Count

Eigenschaft: Attribute.Count

Syntax

Attribute.Count

Beschreibung

Gibt die Anzahl der Attribute zurück. Dies kann verwendet werden um eine Schleife über alle Attribute zu machen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Attribute zusammenstellen und in a[1] speichern
a[1] = "";
for(v[1] = 1; v[1] <= Attribute.Count; v[1]++)
  a[1] ..= Attribute[v[1]].Name .. CRLF;
next;
< Zurück
Objekt: Attribute
Weiter >
Objekt: Attribute[]

Eigenschaft: Attribute.Count


Attribute[]

Objekt: Attribute[]

Syntax

Attribute[Attribute-Id]

Beschreibung

Ermöglicht den Zugriff auf ein bestimmtes Element des Attribute-Objekts.

Liste der Parameter

Parameter: Attribute-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Attribute.Count
Beschreibung: | Die Attribute-Id des entsprechenden Attributs. Dieser Wert muss im Bereich von 1 ... Attribute.Count liegen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Name | Eigenschaft | Der Name eines Attributs
Rate | Objekt | Die Wirksamkeitsraten eines Attributs
Count | Eigenschaft | Die Anzahl der Wirksamkeitsraten eines Attributs
[] | Eigenschaft | Die Wirksamkeitsrate eines Attributs
Type | Eigenschaft | Der Typ eines Attributs

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Attribute.Count
Weiter >
Eigenschaft: Attribute[].Name

Objekt: Attribute[]


Attribute[].Name

Eigenschaft: Attribute[].Name

Syntax

Attribute[Attribute-Id].Name

Beschreibung

Mit der Name-Eigenschaft kann der Name eines Attributs ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

Im folgenden Beispiel gehen wir davon aus, dass das Spiel gerade frisch gestartet wurde und die Standard-Spieldatenbank verwendet wird.
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Den Namen des ersten Attributs auslesen und in a[1] speichern
a[1] = Attribute[1].Name;                // "Sword"
// Alle Attribute der ersten Waffe auflisten und in a[2] speichern
// Dies würde am Ende "Shock" .. CRLF ergeben
a[2] = "Attribute der Waffe """ .. Item[17].Name .. """:" .. CRLF;
for(v[1] = 1; v[1] <= Attribute.Count; v[1]++)
  if(Item[17].HasAttribute(v[1]))
    a[2] ..= Attribute[v[1]].Name .. CRLF;
  endif;
next;

Siehe auch

Attribute, Attribute.Count, Item[].Name, Item[].HasAttribute()
< Zurück
Objekt: Attribute[]
Weiter >
Objekt: Attribute[].Rate

Eigenschaft: Attribute[].Name


Attribute[].Rate

Objekt: Attribute[].Rate

Syntax

Attribute[Attribute-Id].Rate

Beschreibung

Mit dem Rate-Objekt können die Wirksamkeitsraten eines Attributs ermittelt werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Wirksamkeitsraten eines Attributs
[] | Eigenschaft | Die Wirksamkeitsrate eines Attributs
< Zurück
Eigenschaft: Attribute[].Name
Weiter >
Eigenschaft: Attribute[].Rate.Count

Objekt: Attribute[].Rate


Attribute[].Rate.Count

Eigenschaft: Attribute[].Rate.Count

Syntax

Attribute[Attribute-Id].Rate.Count

Beschreibung

Gibt immer 5 zurück, da vom RPG-Maker fest 5 Wirksamkeitsraten vorgesehen sind.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Objekt: Attribute[].Rate
Weiter >
Eigenschaft: Attribute[].Rate[]

Eigenschaft: Attribute[].Rate.Count


Attribute[].Rate[]

Eigenschaft: Attribute[].Rate[]

Syntax

Attribute[Attribute-Id].Rate[Stufe]

Beschreibung

Mit der Rate-Eigenschaft kann die Wirksamkeit in Prozent (0 ... 100) bei einer der fünf Stufen (A ... E) ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100

Liste der Parameter

Parameter: Stufe

Datentyp: | dword
Optional: | nein
Beschreibung: | Gibt die entsprechende Stufe an (A = 0, B = 1, C = 2, D = 3, E = 4). Hierzu können die Effect-Konstanten verwendet werden.

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

Actor[].AttributeEffect[]
< Zurück
Eigenschaft: Attribute[].Rate.Count
Weiter >
Eigenschaft: Attribute[].Type

Eigenschaft: Attribute[].Rate[]


Attribute[].Type

Eigenschaft: Attribute[].Type

Syntax

Attribute[Attribute-Id].Type

Beschreibung

Mit der Type-Eigenschaft kann der Typ eines Attributs gelesen werden. Zur Identifizierung können die Attributettypen-Konstanten verwendet werden.
  • ATTRIBUTETYPE_WEAPON: Das Attribut ist ein Waffenattribut (physisch)
  • ATTRIBUTETYPE_MAGIC: Das Attribut ist ein Zauberattribut (magisch)

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Attribute[].Rate[]
Weiter >
Objekt: Client

Eigenschaft: Attribute[].Type


Client

Objekt: Client

Syntax

Client

Beschreibung

Das Client-Objekt dient dazu Verbindungen zu anderen Computern über das Internet oder das Netzwerk herzustellen. Dies kann entweder geschehen, indem explizit eine Verbindung mittels Client[].Connect() zu einem anderen Computer hergestellt wird oder indem eine eingehende Verbindung mittels Server.Accept() angenommen wurde.
Daten werden hierbei stets über TCP/IP übertragen, was folgendes bewirkt:
  • Es wird verbindungsorientiert gearbeitet
    Das heißt man muss eine Verbindung über das Netzwerk/Internet aufbauen. Wird die Verbindung getrennt dann können keine Daten mehr versendet werden. Konnte die Zieladresse nicht erreicht werden, dann wird ein Fehler gemeldet.
  • Daten werden in derselben Reihenfolge empfangen, wie diese versandt werden
    Da die Reihenfolge der empfangenen Daten mit denen der versendeten Daten übereinstimmt, muss man sich keine Gedanken darüber machen, dass zusammenhängende Daten nicht korrekt ankommen.
  • Daten werden auf Gültigkeit geprüft und bei Bedarf neu angefordert
    Da TCP/IP eine Gültigkeitsprüfung hat, kommen die Daten in der Regel fehlerfrei und ohne Datenverlust beim Empfänger an.
Nachteil von TCP/IP ist, dass es für große, flüchtige Datenmengen (z. B. Bildschirmpositionen) recht langsam ist.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
CloseAll() | Methode | Schließt alle Client-Sockets im Client-Objekt
Count | Eigenschaft | Die Anzahl der Client-Sockets
NextFree() | Methode | Gibt den Index des nächsten freien Client-Sockets zurück (existiert keines wird eines angehangen)
ReAlloc() | Methode | Verändert die Anzahl der Client-Sockets im Client-Objekt
[] | Objekt | Beinhaltet alle Eigenschaften und Methoden eines Client-Sockets
Allgemeine Eigenschaften | Kategorie | Beinhaltet allgemeine Eigenschaften zum Client-Socket
Close() | Methode | Schließt ein offenes Socket
Connect() | Methode | Stellt eine Verbindung zu einem anderen Computer her
GetRecvLength() | Methode | Ermittelt die Länge der empfangenen Daten
State | Eigenschaft | Der Status des Client-Sockets
Type | Eigenschaft | Der Typ des Client-Sockets
Destiny | Objekt | Enthält alle Methoden für Destiny-Client-Sockets
GetRecvType() | Methode | Ermittelt ob Daten empfangen wurden und welchen Typ diese haben
RecvBool() | Methode | Empfängt den Wert eines versendeten Switches
RecvByte() | Methode | Empfängt den Wert eines versendeten Bytes
RecvDword() | Methode | Empfängt den Wert eines versendeten Dwords
RecvFloat() | Methode | Empfängt den Wert eines versendeten Floats
RecvId() | Methode | Fragt die Id eines empfangenen Wertes ab
RecvString() | Methode | Empfängt den Wert eines versendeten Strings
RecvSwitch() | Methode | Empfängt den Wert eines versendeten Switches
RecvVariable() | Methode | Empfängt den Wert einer versendeten Variablen
RecvWord() | Methode | Empfängt den Wert eines versendeten Words
SendBool() | Methode | Versendet den Wert eines Switches samt Id
SendByte() | Methode | Versendet den Wert eines Bytes samt Id
SendDouble() | Methode | Versendet den Wert eines Floats samt Id
SendDword() | Methode | Versendet den Wert eines Dwords samt Id
SendFloat() | Methode | Versendet den Wert eines Floats samt Id
SendString() | Methode | Versendet den Wert eines Strings samt Id
SendSwitch() | Methode | Versendet den Wert eines Switches samt Id
SendVariable() | Methode | Versendet den Wert einer Variablen samt Id
SendWord() | Methode | Versendet den Wert eines Words samt Id
Raw | Objekt | Enthält alle Methoden für Raw-Client-Sockets
Recv() | Methode | Empfängt einen Wert
Send() | Methode | Versendet einen Wert
Veraltete Methoden | Kategorie | Beinhaltet veraltete Methoden des Client-Sockets
GetRecvType() | Methode | Prüft den Typ der empfangenen Daten bei einem Destiny-Client-Socket
RecvByte() | Methode | Fragt die Daten des zuletzt empfangenen Bytes eines Destiny-Client-Sockets ab
RecvDouble() | Methode | Fragt die Daten des zuletzt empfangenen Floats eines Destiny-Client-Sockets ab
RecvDword() | Methode | Fragt die Daten des zuletzt empfangenen Dwords eines Destiny-Client-Sockets ab
RecvId() | Methode | Fragt die Id der zuletzt empfangenen Daten eines Destiny-Client-Sockets ab
RecvRawData() | Methode | Fragt die empfangenen Daten eines Raw-Client-Sockets ab
RecvString() | Methode | Fragt die Daten des zuletzt empfangenen Strings eines Destiny-Client-Sockets ab
RecvSwitch() | Methode | Fragt die Daten des zuletzt empfangenen Switches eines Destiny-Client-Sockets ab
RecvVariable() | Methode | Fragt die Daten der zuletzt empfangenen Variablen eines Destiny-Client-Sockets ab
RecvWord() | Methode | Fragt die Daten des zuletzt empfangenen Words eines Destiny-Client-Sockets ab
SendByte() | Methode | Versendet ein Word bei einem Destiny-Client-Socket
SendDouble() | Methode | Versendet ein Float bei einem Destiny-Client-Socket
SendDword() | Methode | Versendet ein Dword bei einem Destiny-Client-Socket
SendRawData() | Methode | Versendet beliebige Daten bei einem Raw-Client-Socket
SendString() | Methode | Versendet einen String bei einem Destiny-Client-Socket
SendSwitch() | Methode | Versendet einen Switch bei einem Destiny-Client-Socket
SendVariable() | Methode | Versendet eine Variable bei einem Destiny-Client-Socket
SendWord() | Methode | Versendet ein Byte bei einem Destiny-Client-Socket
Verbindungsdaten | Kategorie | Beinhaltet die Verbindungsdaten
LocalIP | Eigenschaft | Die verwendete Quell-IP des Client-Sockets
LocalPort | Eigenschaft | Der verwendete Quell-Port des Client-Sockets
RemoteIP | Eigenschaft | Die verwendete Ziel-IP des Client-Sockets
RemotePort | Eigenschaft | Der verwendete Ziel-Port des Client-Sockets

Siehe auch

Server
< Zurück
Eigenschaft: Attribute[].Type
Weiter >
Methode: Client.CloseAll()

Objekt: Client


Client.CloseAll()

Methode: Client.CloseAll()

Syntax

Client.CloseAll()

Beschreibung

Mit der CloseAll-Methode können alle offenen Client-Sockets im Client-Objekt geschlossen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Drei Sockets mit Google verbinden
Client[0].Connect("www.google.de", 80, SOCK_RAW);
Client[1].Connect("www.google.de", 80, SOCK_RAW);
Client[2].Connect("www.google.de", 80, SOCK_RAW);

// Alle offenen Sockets schließen
Client.CloseAll();

// Den Status der ersten drei Sockets abfragen und in a[1] speichern
a[1] = Client[0].State .. ", " .. Client[1].State .. ", " .. Client[2].State;  // "0, 0, 0"

Siehe auch

Client, Client[], Client.Count, Client.ReAlloc(), Client.NextFree(), Client[].Connect(), Client[].State, Client[].Close()
< Zurück
Objekt: Client
Weiter >
Eigenschaft: Client.Count

Methode: Client.CloseAll()


Client.Count

Eigenschaft: Client.Count

Syntax

Client.Count

Beschreibung

Gibt die Anzahl der Client-Sockets im Client-Objekt zurück. Diese kann verwendet werden um eine Schleife über alle Clients zu machen.
Information:
Die Anzahl der Clients, die zum Spielstart zur Verfügung steht, ist stets 32. Diese Anzahl kann mittels Client.ReAlloc() verändert werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Sockets schließen
for(v[1] = 0; v[1] < Client.Count; v[1]++)
  Client[v[1]].Close();
next;

Siehe auch

Client, Client[], Client.ReAlloc(), Client.CloseAll(), Client.NextFree(), Client[].Close()
< Zurück
Methode: Client.CloseAll()
Weiter >
Methode: Client.NextFree()

Eigenschaft: Client.Count


Client.NextFree()

Methode: Client.NextFree()

Syntax

Client.NextFree()

Beschreibung

Mit der NextFree-Methode kann der Index des ersten freien Client-Sockets im Client-Objekt ermittelt werden. Existiert kein freies Client-Socket so wird automatisch die Anzahl der Client-Sockets um 1 erhöht, sodass ein neues Client-Socket zur Verfügung steht.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
$
// Alle Sockets entfernen
Client.ReAlloc(0);

// Den Index des nächsten freien Sockets ermitteln und in v[1] speichern
v[1] = Client.NextFree();  // 0 (es wurde die Anzahl der Client-Sockets um 1 erhöht)
// Das Socket mit Google verbinden
Client[v[1]].Connect("www.google.de", 80, SOCK_RAW);
// Den Index des nächsten freien Sockets ermitteln und in v[2] speichern
v[2] = Client.NextFree();  // 1 (es wurde die Anzahl der Client-Sockets um 1 erhöht)
// Das Socket mit Google verbinden
Client[v[2]].Connect("www.google.de", 80, SOCK_RAW);

// Das erste Socket wieder schließen
Client[v[1]].Close();
// Den Index des nächsten freien Sockets ermitteln und in v[3] speichern
v[3] = Client.NextFree();  // 0 (die Anzahl der Client-Sockets wurde NICHT erhöht,
                           //    da ein freies Socket existiert)

// Alle noch offenen Sockets schließen
Client.CloseAll();

Sonstiges

Die Funktion der NextFree-Methode kann man sich als folgenden DestinyScript-Code vorstellen:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13
$
// Das nächste freie Socket ermitteln und in v[1] speichern
for(v[1] = 0; v[1] < Client.Count; v[1]++)
  if(Client[v[1]].State == STATE_CLOSED)
    break;
  endif;
next;
if(v[1] == Client.Count)
  Client.ReAlloc(v[1] + 1);
endif;

// v[1] ist der Index des nächsten freien Client-Sockets
// ...

Mögliche Fehler

DESTINYERROR_MEMORY

Siehe auch

Client, Client[], Client.Count, Client.ReAlloc(), Client.CloseAll(), Client[].Connect(), Client[].Close()
< Zurück
Eigenschaft: Client.Count
Weiter >
Methode: Client.ReAlloc()

Methode: Client.NextFree()


Client.ReAlloc()

Methode: Client.ReAlloc()

Syntax

Client.ReAlloc(Anzahl)

Beschreibung

Mit der ReAlloc-Methode kann die Anzahl der Client-Sockets im Client-Objekt vergrößert/verkleinert werden.
Information:
Ist die angegebene Anzahl der Dwords zu groß, dann wird der Fehler DESTINYERROR_MEMORY geworfen. Der ursprüngliche Inhalt des Client-Objekts bleibt dabei erhalten.
Information:
Bei einer Vergrößerung der Client-Socket-Anzahl sind neue Client-Sockets geschlossen.
Information:
Bei einer Verkleinerung der Client-Socket-Anzahl werden Client-Sockets, die durch die Verkleinerung wegfallen, automatisch geschlossen.

Liste der Parameter

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die neue Anzahl der Client-Sockets im Client-Objekt. Dieser Wert muss größer/gleich 0 sein. Bei einer zu großen Zahl schlägt der Aufruf dieser Methode fehl.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die maximale Anzahl der Client-Sockets um 1 erhöhen
Client.ReAlloc(Client.Count + 1);
// Mit dem neuen Client-Socket eine Verbindung zu Google herstellen
Client[Client.Count].Connect("www.google.de", 80, SOCK_RAW);
// "Hallo, du olle Datenschleuder!" an Google schicken (just4fun)
Client[Client.Count].SendRawData("Hallo, du olle Datenschleuder!");
// Die Verbindung wieder schließen
Client[Client.Count].Close();

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_MEMORY

Siehe auch

Client, Client[], Client.Count, Client.CloseAll(), Client.NextFree(), Client[].Connect(), Client[].SendRawData(), Client[].Close()
< Zurück
Methode: Client.NextFree()
Weiter >
Objekt: Client[]

Methode: Client.ReAlloc()


Client[]

Objekt: Client[]

Syntax

Client[Client-Index]

Beschreibung

Das Client[]-Objekt dient dazu alle Eigenschaften und Methoden eines Client-Sockets zusammenzufassen. Dieses wird über den Client-Index identifiziert. Dieser Client-Index wird zur Identifizierung eines Sockets meist in Variablen gespeichert und kann von anderen Methoden (wie z. B. Server.Accept() oder Client.NextFree()) zurückgeliefert werden.

Ein Client-Socket hat stets einen bestimmten Typ, welcher Client[].Type abgefragt werden kann. Dieser Typ entscheidet welche Methoden für das Client-Socket zur Verfügung stehen. Folgende Typen werden hierbei verwendet:
Typ | Beschreibung
Destiny-Socket | Das Socket verwendet das Destiny-Protokoll.
Raw-Socket | Das Socket verwendet kein spezielles Protokoll (das Protokoll muss vom Ersteller des DestinyScripts selbst implementiert werden).

Liste der Parameter

Parameter: Client-Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Client.Count - 1)
Beschreibung: | Der Index des Client-Sockets. Dieser muss im Bereich von 0 bis (Client.Count - 1) liegen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Allgemeine Eigenschaften | Kategorie | Beinhaltet allgemeine Eigenschaften zum Client-Socket
Close() | Methode | Schließt ein offenes Socket
Connect() | Methode | Stellt eine Verbindung zu einem anderen Computer her
GetRecvLength() | Methode | Ermittelt die Länge der empfangenen Daten
State | Eigenschaft | Der Status des Client-Sockets
Type | Eigenschaft | Der Typ des Client-Sockets
Destiny | Objekt | Enthält alle Methoden für Destiny-Client-Sockets
GetRecvType() | Methode | Ermittelt ob Daten empfangen wurden und welchen Typ diese haben
RecvBool() | Methode | Empfängt den Wert eines versendeten Switches
RecvByte() | Methode | Empfängt den Wert eines versendeten Bytes
RecvDword() | Methode | Empfängt den Wert eines versendeten Dwords
RecvFloat() | Methode | Empfängt den Wert eines versendeten Floats
RecvId() | Methode | Fragt die Id eines empfangenen Wertes ab
RecvString() | Methode | Empfängt den Wert eines versendeten Strings
RecvSwitch() | Methode | Empfängt den Wert eines versendeten Switches
RecvVariable() | Methode | Empfängt den Wert einer versendeten Variablen
RecvWord() | Methode | Empfängt den Wert eines versendeten Words
SendBool() | Methode | Versendet den Wert eines Switches samt Id
SendByte() | Methode | Versendet den Wert eines Bytes samt Id
SendDouble() | Methode | Versendet den Wert eines Floats samt Id
SendDword() | Methode | Versendet den Wert eines Dwords samt Id
SendFloat() | Methode | Versendet den Wert eines Floats samt Id
SendString() | Methode | Versendet den Wert eines Strings samt Id
SendSwitch() | Methode | Versendet den Wert eines Switches samt Id
SendVariable() | Methode | Versendet den Wert einer Variablen samt Id
SendWord() | Methode | Versendet den Wert eines Words samt Id
Raw | Objekt | Enthält alle Methoden für Raw-Client-Sockets
Recv() | Methode | Empfängt einen Wert
Send() | Methode | Versendet einen Wert
Veraltete Methoden | Kategorie | Beinhaltet veraltete Methoden des Client-Sockets
GetRecvType() | Methode | Prüft den Typ der empfangenen Daten bei einem Destiny-Client-Socket
RecvByte() | Methode | Fragt die Daten des zuletzt empfangenen Bytes eines Destiny-Client-Sockets ab
RecvDouble() | Methode | Fragt die Daten des zuletzt empfangenen Floats eines Destiny-Client-Sockets ab
RecvDword() | Methode | Fragt die Daten des zuletzt empfangenen Dwords eines Destiny-Client-Sockets ab
RecvId() | Methode | Fragt die Id der zuletzt empfangenen Daten eines Destiny-Client-Sockets ab
RecvRawData() | Methode | Fragt die empfangenen Daten eines Raw-Client-Sockets ab
RecvString() | Methode | Fragt die Daten des zuletzt empfangenen Strings eines Destiny-Client-Sockets ab
RecvSwitch() | Methode | Fragt die Daten des zuletzt empfangenen Switches eines Destiny-Client-Sockets ab
RecvVariable() | Methode | Fragt die Daten der zuletzt empfangenen Variablen eines Destiny-Client-Sockets ab
RecvWord() | Methode | Fragt die Daten des zuletzt empfangenen Words eines Destiny-Client-Sockets ab
SendByte() | Methode | Versendet ein Word bei einem Destiny-Client-Socket
SendDouble() | Methode | Versendet ein Float bei einem Destiny-Client-Socket
SendDword() | Methode | Versendet ein Dword bei einem Destiny-Client-Socket
SendRawData() | Methode | Versendet beliebige Daten bei einem Raw-Client-Socket
SendString() | Methode | Versendet einen String bei einem Destiny-Client-Socket
SendSwitch() | Methode | Versendet einen Switch bei einem Destiny-Client-Socket
SendVariable() | Methode | Versendet eine Variable bei einem Destiny-Client-Socket
SendWord() | Methode | Versendet ein Byte bei einem Destiny-Client-Socket
Verbindungsdaten | Kategorie | Beinhaltet die Verbindungsdaten
LocalIP | Eigenschaft | Die verwendete Quell-IP des Client-Sockets
LocalPort | Eigenschaft | Der verwendete Quell-Port des Client-Sockets
RemoteIP | Eigenschaft | Die verwendete Ziel-IP des Client-Sockets
RemotePort | Eigenschaft | Der verwendete Ziel-Port des Client-Sockets

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Methode: Client.ReAlloc()
Weiter >
Kategorie: Allgemeine Eigenschaften

Objekt: Client[]


Client[]--cat_Common

Kategorie: Allgemeine Eigenschaften

Beschreibung

In dieser Kategorie sind allgemeine Eigenschaften eines Client-Sockets zusammengefasst.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Close() | Methode | Schließt ein offenes Socket
Connect() | Methode | Stellt eine Verbindung zu einem anderen Computer her
GetRecvLength() | Methode | Ermittelt die Länge der empfangenen Daten
State | Eigenschaft | Der Status des Client-Sockets
Type | Eigenschaft | Der Typ des Client-Sockets
< Zurück
Objekt: Client[]
Weiter >
Methode: Client[].Close()

Kategorie: Allgemeine Eigenschaften


Client[].Close()

Methode: Client[].Close()

Syntax

Client[Client-Index].Close()

Beschreibung

Mit der Close-Methode kann ein offenes Client-Socket geschlossen werden. Ist das Client-Socket bereits geschlossen, so passiert nichts.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
$
// Verbindung zu Google aufbauen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

if(Client[0].State != STATE_CONNECTED)
  // Es konnte KEINE Verbindung zu Google aufgebaut werden
else
  // Es konnte eine Verbindung zu Google aufgebaut werden
  // -> Das Socket ist somit bereit zum Senden/Empfangen.

  // Eine simple Anfrage an Google senden
  Client[0].Raw.Send(<<<HEREDOC_END
GET / HTTP/1.1
Host: www.google.de
Connection: close

HEREDOC_END);

  // Auf die Antwort warten und diese in a[1] speichern
  a[1] = "";
  do until(Client[0].State != STATE_CONNECTED)
    if(Client[0].GetRecvLength() > 0)
      a[1] ..= Client[0].Raw.Recv();
      if(String.Pos(a[1], CRLF .. CRLF) >= 0)
        // HTTP-Response-Header enden mit einer leeren Zeile
        Client[0].Close();
      endif;
    endif;
  loop;
endif;

// Das Socket wieder schließen
Client[0].Close();

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_SOCKETSTARTUP, DESTINYERROR_SOCKETSTILLOPEN, DESTINYERROR_CANTCREATESOCKET, DESTINYERROR_CANTCONNECT

Siehe auch

Client, Client[], Client[].Destiny, Client[].Raw, Client[].Raw.Recv(), Client[].Type, Client[].State, Client[].Connect(), Client[].GetRecvLength()
< Zurück
Kategorie: Allgemeine Eigenschaften
Weiter >
Methode: Client[].Connect()

Methode: Client[].Close()


Client[].Connect()

Methode: Client[].Connect()

Syntax

Client[Client-Index].Connect(Zielhost, Zielport, [Protokoll, [Flags]])

Beschreibung

Mit der Connect-Methode kann eine Verbindung zu einem anderen Computer hergestellt werden. Der andere Computer muss dafür eingehende Verbindungen akzeptieren. Der Aufruf dieser Methode ist erst dann abgearbeitet, wenn die Verbindung hergestellt wurde oder ein Timeout eingetreten ist. Konnte keine Verbindung hergestellt werden, so wird ein Fehler geworfen.

Liste der Parameter

Parameter: Zielhost

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt die Zieladresse des Servers an. Dies kann entweder ein Hostname (z. B. "www.google.de") oder eine IP-Adresse (IPv4; z. B. "127.0.0.1") sein.

Parameter: Zielport

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... 65535
Beschreibung: | Gibt den Zielport (TCP) des Servers an. Der Server muss auf der angegebenen Adresse einen eingehenden Port geöffnet haben.

Parameter: Protokoll

Datentyp: dword
Optional: ja
Standardwert: SOCK_DESTINY
Wertebereich: 0 ... 1
Beschreibung: Gibt das zu verwendende Protokoll an. Hierzu werden die Sockettyp-Konstanten verwendet:
Konstante | Beschreibung
SOCK_DESTINY | Das Socket verwendet das Destiny-Protokoll. Siehe hierzu das untergeordnete Destiny-Objekt.
SOCK_RAW | Das Socket verwendet kein spezielles Protokoll (das Protokoll muss vom Ersteller des DestinyScripts selbst implementiert werden). Siehe hierzu das untergeordnete Raw-Objekt.

Parameter: Flags

Datentyp: dword
Optional: ja
Standardwert: 0
Beschreibung: Gibt zusätzliche Flags für das Socket an. Mehrere Angaben werden durch den binären Oder-Operator ( | ) verknüpft. Hierzu werden die Socketflag-Konstanten verwendet:
Konstante Beschreibung
SOCKETFLAG_NOTBLOCKING Gibt an, dass das DestinyScript (und somit die RPG_RT) nicht warten soll, bis der Verbindungsversuch beendet ist. Dies ist z. B. sinnvoll, wenn ein Verbindungsversuch zu einer nicht existierenden Adresse vorgenommen wird, da die RPG_RT sonst ein paar Sekunden (bis zum Timeout des Verbindungsaufbaus) hängen würde.

Um zu überprüfen, ob die Verbindung aufgebaut wurde oder ein Timeout eingetreten ist, muss die State-Eigenschaft geprüft werden:
  • Während eines Verbindungsversuchs hat diese den Wert STATE_CONNECTING.
  • War der Verbindungsversuch erfolgreich, so hat diese den Wert STATE_CONNECTED.
  • Ist der Verbindungsversuch fehlgeschlagen (z. B. nach einem Timeout) hat diese den Wert STATE_ERROR.
Durch die Verwendung dieses Flags wird außerdem verhindert, dass der DESTINYERROR_CANTCONNECT-Fehler auftritt, weil der Ziel-Computer die Verbindung nicht annimmt. Der Fehler kann immernoch auftreten, wenn die Ziel-Adresse nicht existiert.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
$
// Verbindung zu Google aufbauen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

if(Client[0].State != STATE_CONNECTED)
  // Es konnte KEINE Verbindung zu Google aufgebaut werden
else
  // Es konnte eine Verbindung zu Google aufgebaut werden
  // -> Das Socket ist somit bereit zum Senden/Empfangen.

  // Eine simple Anfrage an Google senden
  Client[0].Raw.Send(<<<HEREDOC_END
GET / HTTP/1.1
Host: www.google.de
Connection: close

HEREDOC_END);

  // Auf die Antwort warten und diese in a[1] speichern
  a[1] = "";
  do until(Client[0].State != STATE_CONNECTED)
    if(Client[0].GetRecvLength() > 0)
      a[1] ..= Client[0].Raw.Recv();
      if(String.Pos(a[1], CRLF .. CRLF) >= 0)
        // HTTP-Response-Header enden mit einer leeren Zeile
        Client[0].Close();
      endif;
    endif;
  loop;
endif;

// Das Socket wieder schließen
Client[0].Close();

Beispiel zur Benutzung eines nicht-blockierenden Sockets:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
$

// Verbindung zu einer nicht verwendeten IP aufbauen
// (127.0.0.2 ist reserviert und wird nicht verwendet)
Client[0].Connect("127.0.0.2", 1, SOCK_DESTINY, SOCKETFLAG_NOTBLOCKING);

do while(Client[0].State == STATE_CONNECTING)
  pause;  // Damit die RPG_RT nicht hängt
loop;

if(Client[0].State == STATE_CONNECTED)
  // Verbindungsversuch war erfolgreich
  // -> Daten senden/empfangen

  // ...
else
  // Verbindungsversuch ist fehlgeschlagen!
endif;

Client[0].Close();

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_SOCKETSTARTUP, DESTINYERROR_SOCKETSTILLOPEN, DESTINYERROR_CANTCREATESOCKET, DESTINYERROR_CANTCONNECT, DESTINYERROR_SOCKETERROR

Siehe auch

Client, Client[], Client[].Destiny, Client[].Raw, Client[].Raw.Recv(), Client[].Type, Client[].State, Client[].Close(), Client[].GetRecvLength()
< Zurück
Methode: Client[].Close()
Weiter >
Methode: Client[].GetRecvLength()

Methode: Client[].Connect()


Client[].GetRecvLength()

Methode: Client[].GetRecvLength()

Syntax

Client[Client-Index].GetRecvLength()

Beschreibung

Mit der GetRecvLength-Methode kann die Länge der empfangenen Daten (in Byte) eines Client-Socket ermittelt werden.
  • Bei einem Raw-Socket muss diese Methode vor dem Aufruf der Recv-Methode aufgerufen werden, um zu prüfen, ob eingehende Daten anstehen (und um diese ggf. zu empfangen).
  • Bei einem Destiny-Socket muss entweder diese Methode oder die GetRecvType-Methode aufgerufen werden, um zu prüfen, ob eingehende Daten anstehen (und um diese ggf. zu empfangen).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
$
// Verbindung zu Google aufbauen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

if(Client[0].State != STATE_CONNECTED)
  // Es konnte KEINE Verbindung zu Google aufgebaut werden
else
  // Es konnte eine Verbindung zu Google aufgebaut werden
  // -> Das Socket ist somit bereit zum Senden/Empfangen.

  // Eine simple Anfrage an Google senden
  Client[0].Raw.Send(<<<HEREDOC_END
GET / HTTP/1.1
Host: www.google.de
Connection: close

HEREDOC_END);

  // Auf die Antwort warten und diese in a[1] speichern
  a[1] = "";
  do until(Client[0].State != STATE_CONNECTED)
    if(Client[0].GetRecvLength() > 0)
      a[1] ..= Client[0].Raw.Recv();
      if(String.Pos(a[1], CRLF .. CRLF) >= 0)
        // HTTP-Response-Header enden mit einer leeren Zeile
        Client[0].Close();
      endif;
    endif;
  loop;
endif;

// Das Socket wieder schließen
Client[0].Close();

Sonstiges

Beim Aufruf dieser Methode wird intern geprüft, ob neue Daten anstehen.

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_SOCKETSTARTUP, DESTINYERROR_SOCKETSTILLOPEN, DESTINYERROR_CANTCREATESOCKET, DESTINYERROR_CANTCONNECT

Siehe auch

Client, Client[], Client[].Destiny, Client[].Raw, Client[].Raw.Recv(), Client[].Type, Client[].State, Client[].Connect(), Client[].Close()
< Zurück
Methode: Client[].Connect()
Weiter >
Eigenschaft: Client[].State

Methode: Client[].GetRecvLength()


Client[].State

Eigenschaft: Client[].State

Syntax

Client[Client-Index].State

Beschreibung

Mit der State-Eigenschaft kann der Verbindungsstatus Client-Sockets abgefragt werden. Hierzu werden die Socketstatus-Konstanten verwendet:
Konstante | Beschreibung
STATE_ERROR | Es ist ein Fehler aufgetreten. Das einzige, was man hier tun kann, ist es das Socket über die Close-Methode zu schließen und anschließend eine neue Verbindung aufzubauen. Schlägt ein nicht-blockierender Verbindungsversuch fehl, dann weist das Socket hinterher diesen Status auf.
STATE_CLOSED | Das Socket ist derzeit geschlossen. Dieser Status ist der Standardstatus eines Client-Sockets. Ein Socket kann explizit in diesen Status versetzt werden, indem die Close-Methode aufgerufen wird.
STATE_CONNECTED | Das Socket ist derzeit verbunden. Es können also Daten gesendet und empfangen werden. Dieser Status kann dadurch erreicht werden, dass das Socket sich zu einem Server verbunden hat (via Client[].Connect()) oder das Server-Socket dazu genutzt wurde um eine eingehende Verbindung anzunehmen (via Server.Listen() gefolgt von Server.Accept()).
STATE_CLOSING | Das Socket ist von der Gegenseite geschlossen worden. Anstehende Daten können noch empfangen werden, jedoch keine Daten mehr versendet werden. Falls das Socket nicht mehr benötigt wird (z. B. wenn die Daten nicht mehr benötigt werden), muss dieses noch über die Close-Methode geschlossen werden. Sowie alle noch anstehenden Daten empfangen wurden, wird das Socket automatisch geschlossen.
STATE_CONNECTING | Das Socket versucht momentan noch eine Verbindung aufzubauen. Dieser Status ist nur bei einem nicht-blockierenden Verbindungsversuch verfügbar. Mit Hilfe des Flags-Parameters wird in der Connect-Methode angegeben, dass der Verbindungsversuch nicht-blockierend sein soll.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | -1; 0; 1; 3; 4
Flüchtig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13
$
// Verbindung zu Google aufbauen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

if(Client[0].State != STATE_CONNECTED)
  // Es konnte KEINE Verbindung zu Google aufgebaut werden
else
  // Es konnte eine Verbindung zu Google aufgebaut werden
  // -> Das Socket ist somit bereit zum Senden/Empfangen.
endif;

// Das Socket wieder schließen
Client[0].Close();

Sonstiges

Beim Aufruf dieser Methode wird intern geprüft, ob neue Daten anstehen.

Siehe auch

Client, Client[], Client[].Destiny, Client[].Raw, Client[].Type, Client[].Connect(), Client[].Close()
< Zurück
Methode: Client[].GetRecvLength()
Weiter >
Eigenschaft: Client[].Type

Eigenschaft: Client[].State


Client[].Type

Eigenschaft: Client[].Type

Syntax

Client[Client-Index].Type

Beschreibung

Mit der Type-Eigenschaft kann der Typ eines Client-Sockets abgefragt werden. Hierzu werden die Sockettyp-Konstanten verwendet:
Konstante | Beschreibung
SOCK_DESTINY | Das Socket verwendet das Destiny-Protokoll. Siehe hierzu das untergeordnete Destiny-Objekt.
SOCK_RAW | Das Socket verwendet kein spezielles Protokoll (das Protokoll muss vom Ersteller des DestinyScripts selbst implementiert werden). Siehe hierzu das untergeordnete Raw-Objekt.
Information:
Der Typ eines Sockets wird beim Aufruf der Connect-Methode des Client[]-Objekts oder bei der Listen-Methode des Server-Objekts festgelegt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 1

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
// Annahme: Client[0] ist ein verbundenes Socket

if(Client[0].Type == SOCK_DESTINY)
  // Zugriff auf Client[0].Destiny kann erfolgen
  Client[0].Destiny.SendString(0, "Hallo");
elseif(Client[0].Type == SOCK_RAW)
  // Zugriff auf Client[0].Raw kann erfolgen
  Client[0].Raw.Send("Hallo");
endif;

Siehe auch

Client, Client[], Client[].Destiny, Client[].Raw, Client[].Destiny.SendString(), Client[].Raw.Send(), Client[].State, Client[].Connect(), Client[].Close()
< Zurück
Eigenschaft: Client[].State
Weiter >
Objekt: Client[].Destiny

Eigenschaft: Client[].Type


Client[].Destiny

Objekt: Client[].Destiny

Syntax

Client[Client-Index].Destiny

Beschreibung

Das Destiny-Objekt innerhalb des Client[]-Objekts dient dazu alle Methoden zusammenzufassen, welche nur für Client-Sockets vom Typ Destiny zur Verfügung stehen.
Der Typ eines Sockets kann über Client[].Type ermittelt werden und wird in der Connect-Methode des Client[]-Objekts oder in der Listen-Methode des Server-Objekts festgelegt.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
GetRecvType() | Methode | Ermittelt ob Daten empfangen wurden und welchen Typ diese haben
RecvBool() | Methode | Empfängt den Wert eines versendeten Switches
RecvByte() | Methode | Empfängt den Wert eines versendeten Bytes
RecvDword() | Methode | Empfängt den Wert eines versendeten Dwords
RecvFloat() | Methode | Empfängt den Wert eines versendeten Floats
RecvId() | Methode | Fragt die Id eines empfangenen Wertes ab
RecvString() | Methode | Empfängt den Wert eines versendeten Strings
RecvSwitch() | Methode | Empfängt den Wert eines versendeten Switches
RecvVariable() | Methode | Empfängt den Wert einer versendeten Variablen
RecvWord() | Methode | Empfängt den Wert eines versendeten Words
SendBool() | Methode | Versendet den Wert eines Switches samt Id
SendByte() | Methode | Versendet den Wert eines Bytes samt Id
SendDouble() | Methode | Versendet den Wert eines Floats samt Id
SendDword() | Methode | Versendet den Wert eines Dwords samt Id
SendFloat() | Methode | Versendet den Wert eines Floats samt Id
SendString() | Methode | Versendet den Wert eines Strings samt Id
SendSwitch() | Methode | Versendet den Wert eines Switches samt Id
SendVariable() | Methode | Versendet den Wert einer Variablen samt Id
SendWord() | Methode | Versendet den Wert eines Words samt Id

Siehe auch

Client, Client[], Client[].Raw
< Zurück
Eigenschaft: Client[].Type
Weiter >
Methode: Client[].Destiny.GetRecvType()

Objekt: Client[].Destiny


Client[].Destiny.GetRecvType()

Methode: Client[].Destiny.GetRecvType()

Syntax

Client[Client-Index].Destiny.GetRecvType()

Beschreibung

Mit der GetRecvType-Methode kann der Datentyp der empfangenen Daten ermittelt werden. Steht der zu verwendende Datentyp fest, dann kann die jeweilige Empfangsmethode verwendet werden (z. B. RecvVariable(), wenn der Rückgabewert dieser Methode TYPE_VARIABLE ist). Um die Id der empfangenen Daten zu ermitteln, muss die RecvId-Methode vor der jeweiligen Empfangsmethode des Datentyps aufgerufen werden.

Liste der Parameter

Rückgabewert

Datentyp: dword
Beschreibung: Gibt den Typ der empfangenen Daten an.
  • Ist der Rückgabewert dieser Methode = 0, dann stehen derzeit keine zu empfangenden Daten an.
  • Ist der Rückgabewert dieser Methode > 0, dann wurden Daten vollständig empfangen. Zur Identifizierung des Datentyps können die unten genannten Konstanten verwendet werden.
  • Ist der Rückgabewert dieser Methode < 0, dann wurden Daten empfangen, welche aber noch nicht vollständig verfügbar sind. Auf diese Daten kann noch nicht zugegriffen werden. Kehrt man das Vorzeichen des Rückgabewertes um, dann erhält man den Datentypen, der mit den unten stehenden Konstanten identifiziert werden kann.
Zur Identifizierung des Datentyps werden die Datentyp-Konstanten verwendet:
Konstante | Beschreibung
TYPE_VARIABLE | Es wurde eine Variable empfangen. Zum Empfangen muss die RecvVariable-Methode aufgerufen werden.
TYPE_SWITCH | Es wurde ein Switch empfangen. Zum Empfangen muss die RecvSwitch-Methode aufgerufen werden.
TYPE_DWORD | Es wurde ein Dword empfangen. Zum Empfangen muss die RecvDword-Methode aufgerufen werden.
TYPE_FLOAT | Es wurde ein Float empfangen. Zum Empfangen muss die RecvFloat-Methode aufgerufen werden.
TYPE_STRING | Es wurde ein String empfangen. Zum Empfangen muss die RecvString-Methode aufgerufen werden.
TYPE_BYTE | Es wurde ein Byte empfangen. Zum Empfangen muss die RecvByte-Methode aufgerufen werden.
TYPE_WORD | Es wurde ein Word empfangen. Zum Empfangen muss die RecvWord-Methode aufgerufen werden.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Sonstiges

Beim Aufruf dieser Methode wird intern geprüft, ob neue Daten anstehen.

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Objekt: Client[].Destiny
Weiter >
Methode: Client[].Destiny.RecvByte()

Methode: Client[].Destiny.GetRecvType()


Client[].Destiny.RecvByte()

Methode: Client[].Destiny.RecvByte()

Syntax

Client[Client-Index].Destiny.RecvByte()

Beschreibung

Mit der RecvByte-Methode kann der Wert eines empfangenen Bytes ermittelt werden. Durch den Aufruf dieser Methode wird das empfangene Byte automatisch aus den empfangenen Daten des Client-Sockets entfernt, wodurch der Wert dieses Bytes, sowie die assoziierte Id, danach nicht mehr abgefragt werden können. Deshalb muss die Id vor dem Wert des Bytes abgefragt werden. Der Aufruf dieser Methode ist nur dann erfolgreich, wenn GetRecvType() den Rückgabewert TYPE_BYTE hat. Nachdem das Byte empfangen wurde, können die ggf. danach versendeten Werte empfangen werden.

Liste der Parameter

Rückgabewert

Datentyp: | byte
Beschreibung: | Der Wert des empfangenen Bytes. Dies ist der Wert, welcher bei SendByte() angegeben wurde.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.GetRecvType()
Weiter >
Methode: Client[].Destiny.RecvDword()

Methode: Client[].Destiny.RecvByte()


Client[].Destiny.RecvDword()

Methode: Client[].Destiny.RecvDword()

Syntax

Client[Client-Index].Destiny.RecvDword()

Beschreibung

Mit der RecvDword-Methode kann der Wert eines empfangenen Dwords ermittelt werden. Durch den Aufruf dieser Methode wird das empfangene Dword automatisch aus den empfangenen Daten des Client-Sockets entfernt, wodurch der Wert dieses Dwords, sowie die assoziierte Id, danach nicht mehr abgefragt werden können. Deshalb muss die Id vor dem Wert des Dwords abgefragt werden. Der Aufruf dieser Methode ist nur dann erfolgreich, wenn GetRecvType() den Rückgabewert TYPE_DWORD hat. Nachdem das Dword empfangen wurde, können die ggf. danach versendeten Werte empfangen werden.

Liste der Parameter

Rückgabewert

Datentyp: | dword
Beschreibung: | Der Wert des empfangenen Dwords. Dies ist der Wert, welcher bei SendDword() angegeben wurde.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.RecvByte()
Weiter >
Methode: Client[].Destiny.RecvFloat()

Methode: Client[].Destiny.RecvDword()


Client[].Destiny.RecvFloat()

Methode: Client[].Destiny.RecvFloat()

Syntax

Client[Client-Index].Destiny.RecvFloat()

Beschreibung

Mit der RecvFloat-Methode kann der Wert eines empfangenen Floats ermittelt werden. Durch den Aufruf dieser Methode wird das empfangene Float automatisch aus den empfangenen Daten des Client-Sockets entfernt, wodurch der Wert dieses Floats, sowie die assoziierte Id, danach nicht mehr abgefragt werden können. Deshalb muss die Id vor dem Wert des Floats abgefragt werden. Der Aufruf dieser Methode ist nur dann erfolgreich, wenn GetRecvType() den Rückgabewert TYPE_FLOAT hat. Nachdem das Float empfangen wurde, können die ggf. danach versendeten Werte empfangen werden.

Liste der Parameter

Rückgabewert

Datentyp: | float
Beschreibung: | Der Wert des empfangenen Floats. Dies ist der Wert, welcher bei SendFloat() angegeben wurde.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.RecvDword()
Weiter >
Methode: Client[].Destiny.RecvId()

Methode: Client[].Destiny.RecvFloat()


Client[].Destiny.RecvId()

Methode: Client[].Destiny.RecvId()

Syntax

Client[Client-Index].Destiny.RecvId()

Beschreibung

Mit der RecvId-Methode kann die Id eines empfangenen Wertes ermittelt werden. Diese Methode wird für alle Datentypen gleichermaßen verwendet und muss vor der Empfangsmethode der Daten aufgerufen werden (z. B. RecvId() vor RecvVariable()). Der Aufruf dieser Methode ist nur dann erfolgreich, wenn die Daten bereits komplett empfangen wurden (GetRecvType() muss also einen positiven Wert zurückliefern).

Liste der Parameter

Rückgabewert

Datentyp: | dword
Beschreibung: | Die Id des empfangenen Wertes. Dies ist die Id, welche bei den Versendungsmethoden (z. B. SendVariable()) angegeben wurde. Die Bedeutung dieses Wertes wird vom Ersteller des DestinyScripts festgelegt.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.RecvFloat()
Weiter >
Methode: Client[].Destiny.RecvString()

Methode: Client[].Destiny.RecvId()


Client[].Destiny.RecvString()

Methode: Client[].Destiny.RecvString()

Syntax

Client[Client-Index].Destiny.RecvString()

Beschreibung

Mit der RecvString-Methode kann der Wert eines empfangenen Strings ermittelt werden. Durch den Aufruf dieser Methode wird der empfangene String automatisch aus den empfangenen Daten des Client-Sockets entfernt, wodurch der Wert dieses Strings, sowie die assoziierte Id, danach nicht mehr abgefragt werden können. Deshalb muss die Id vor dem Wert des Strings abgefragt werden. Der Aufruf dieser Methode ist nur dann erfolgreich, wenn GetRecvType() den Rückgabewert TYPE_STRING hat. Nachdem der String empfangen wurde, können die ggf. danach versendeten Werte empfangen werden.

Liste der Parameter

Rückgabewert

Datentyp: | string
Beschreibung: | Der Wert des empfangenen Strings. Dies ist der Wert, welcher bei SendString() angegeben wurde.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB, DESTINYERROR_MEMORY

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.RecvId()
Weiter >
Methode: Client[].Destiny.RecvSwitch()

Methode: Client[].Destiny.RecvString()


Client[].Destiny.RecvSwitch()

Methode: Client[].Destiny.RecvSwitch()

Syntax

Client[Client-Index].Destiny.RecvSwitch()

Beschreibung

Mit der RecvSwitch-Methode kann der Wert eines empfangenen Switches ermittelt werden. Durch den Aufruf dieser Methode wird der empfangene Switch automatisch aus den empfangenen Daten des Client-Sockets entfernt, wodurch der Wert dieses Switches, sowie die assoziierte Id, danach nicht mehr abgefragt werden können. Deshalb muss die Id vor dem Wert des Switches abgefragt werden. Der Aufruf dieser Methode ist nur dann erfolgreich, wenn GetRecvType() den Rückgabewert TYPE_SWITCH hat. Nachdem der Switch empfangen wurde, können die ggf. danach versendeten Werte empfangen werden.

Synonyme

  • RecvBool()

Liste der Parameter

Rückgabewert

Datentyp: | bool
Beschreibung: | Der Wert des empfangenen Switches. Dies ist der Wert, welcher bei SendSwitch() angegeben wurde.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString()
< Zurück
Methode: Client[].Destiny.RecvString()
Weiter >
Methode: Client[].Destiny.RecvVariable()

Methode: Client[].Destiny.RecvSwitch()


Client[].Destiny.RecvVariable()

Methode: Client[].Destiny.RecvVariable()

Syntax

Client[Client-Index].Destiny.RecvVariable()

Beschreibung

Mit der RecvVariable-Methode kann der Wert einer empfangenen Variablen ermittelt werden. Durch den Aufruf dieser Methode wird die empfangene Variable automatisch aus den empfangenen Daten des Client-Sockets entfernt, wodurch der Wert dieser Variablen, sowie die assoziierte Id, danach nicht mehr abgefragt werden können. Deshalb muss die Id vor dem Wert der Variablen abgefragt werden. Der Aufruf dieser Methode ist nur dann erfolgreich, wenn GetRecvType() den Rückgabewert TYPE_VARIABLE hat. Nachdem die Variable empfangen wurde, können die ggf. danach versendeten Werte empfangen werden.

Liste der Parameter

Rückgabewert

Datentyp: | dword
Beschreibung: | Der Wert des empfangenen Variablen. Dies ist der Wert, welcher bei SendVariable() angegeben wurde.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.RecvSwitch()
Weiter >
Methode: Client[].Destiny.RecvWord()

Methode: Client[].Destiny.RecvVariable()


Client[].Destiny.RecvWord()

Methode: Client[].Destiny.RecvWord()

Syntax

Client[Client-Index].Destiny.RecvWord()

Beschreibung

Mit der RecvWord-Methode kann der Wert eines empfangenen Words ermittelt werden. Durch den Aufruf dieser Methode wird das empfangene Word automatisch aus den empfangenen Daten des Client-Sockets entfernt, wodurch der Wert dieses Words, sowie die assoziierte Id, danach nicht mehr abgefragt werden können. Deshalb muss die Id vor dem Wert des Words abgefragt werden. Der Aufruf dieser Methode ist nur dann erfolgreich, wenn GetRecvType() den Rückgabewert TYPE_WORD hat. Nachdem das Word empfangen wurde, können die ggf. danach versendeten Werte empfangen werden.

Liste der Parameter

Rückgabewert

Datentyp: | word
Beschreibung: | Der Wert des empfangenen Words. Dies ist der Wert, welcher bei SendWord() angegeben wurde.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_SOCKETERROR, DESTINYERROR_OOB

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.RecvVariable()
Weiter >
Methode: Client[].Destiny.SendByte()

Methode: Client[].Destiny.RecvWord()


Client[].Destiny.SendByte()

Methode: Client[].Destiny.SendByte()

Syntax

Client[Client-Index].Destiny.SendByte(Id, Wert)

Beschreibung

Mit der SendByte-Methode kann ein Byte über ein verbundenes Destiny-Client-Socket verschickt werden. Der zu versendende Wert wird hierbei mit einer Id verknüpft, damit der Wert später beim Empfangen identifiziert werden kann.
Die Id und der Wert werden später beim anderen Computer mit der RecvId-Methode und der RecvByte-Methode empfangen, sofern der Rückgabewert von GetRecvType gleich TYPE_BYTE ist.

Liste der Parameter

Parameter: Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id, welche zusammen mit dem Byte übertragen werden soll. Die Bedeutung dieses Parameters wird vom Anwender festgelegt und dient zur Identifizierung des Bytes beim Empfänger.

Parameter: Wert

Datentyp: | byte
Optional: | nein
Beschreibung: | Der zu verwendende Wert. Dieser Wert muss nicht direkt angegeben werden (z. B. 123), sondern kann aus anderen Quellen kommen (z. B. d[] oder der Rückgabewert einer Methode).

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.RecvWord()
Weiter >
Methode: Client[].Destiny.SendDword()

Methode: Client[].Destiny.SendByte()


Client[].Destiny.SendDword()

Methode: Client[].Destiny.SendDword()

Syntax

Client[Client-Index].Destiny.SendDword(Id, Wert)

Beschreibung

Mit der SendDword-Methode kann ein Dword über ein verbundenes Destiny-Client-Socket verschickt werden. Der zu versendende Wert wird hierbei mit einer Id verknüpft, damit der Wert später beim Empfangen identifiziert werden kann.
Die Id und der Wert werden später beim anderen Computer mit der RecvId-Methode und der RecvDword-Methode empfangen, sofern der Rückgabewert von GetRecvType gleich TYPE_DWORD ist.
Information:
Da die hier verwendete Id nicht mit der tatsächlichen Id des Dwords übereinstimmen muss, kann diese Information bespielsweise dazu genutzt werden die Id des Ziel-Dwords vorzugeben.

Liste der Parameter

Parameter: Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id, welche zusammen mit dem Dword übertragen werden soll. Diese Id muss nicht mit der tatsächlichen Id des Dwords übereinstimmen. Die Bedeutung dieses Parameters wird daher vom Anwender festgelegt.

Parameter: Wert

Datentyp: | dword
Optional: | nein
Beschreibung: | Der zu verwendende Wert. Dieser Wert muss nicht aus einem Dword (d[]) stammen, sondern kann aus anderen Quellen kommen (z. B. v[] oder der Rückgabewert einer Methode).

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.SendByte()
Weiter >
Methode: Client[].Destiny.SendFloat()

Methode: Client[].Destiny.SendDword()


Client[].Destiny.SendFloat()

Methode: Client[].Destiny.SendFloat()

Syntax

Client[Client-Index].Destiny.SendFloat(Id, Wert)

Beschreibung

Mit der SendFloat-Methode kann ein Float über ein verbundenes Destiny-Client-Socket verschickt werden. Der zu versendende Wert wird hierbei mit einer Id verknüpft, damit der Wert später beim Empfangen identifiziert werden kann.
Die Id und der Wert werden später beim anderen Computer mit der RecvId-Methode und der RecvFloat-Methode empfangen, sofern der Rückgabewert von GetRecvType gleich TYPE_FLOAT ist.
Information:
Da die hier verwendete Id nicht mit der tatsächlichen Id des Floats übereinstimmen muss, kann diese Information bespielsweise dazu genutzt werden die Id des Ziel-Floats vorzugeben.

Synonyme

  • SendDouble()

Liste der Parameter

Parameter: Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id, welche zusammen mit dem Float übertragen werden soll. Diese Id muss nicht mit der tatsächlichen Id des Floats übereinstimmen. Die Bedeutung dieses Parameters wird daher vom Anwender festgelegt.

Parameter: Wert

Datentyp: | float
Optional: | nein
Beschreibung: | Der zu verwendende Wert. Dieser Wert muss nicht aus einem Float (f[]) stammen, sondern kann aus anderen Quellen kommen (z. B. v[] oder der Rückgabewert einer Methode).

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.SendDword()
Weiter >
Methode: Client[].Destiny.SendString()

Methode: Client[].Destiny.SendFloat()


Client[].Destiny.SendString()

Methode: Client[].Destiny.SendString()

Syntax

Client[Client-Index].Destiny.SendString(Id, Wert)

Beschreibung

Mit der SendString-Methode kann ein String über ein verbundenes Destiny-Client-Socket verschickt werden. Der zu versendende Wert wird hierbei mit einer Id verknüpft, damit der Wert später beim Empfangen identifiziert werden kann.
Die Id und der Wert werden später beim anderen Computer mit der RecvId-Methode und der RecvString-Methode empfangen, sofern der Rückgabewert von GetRecvType gleich TYPE_STRING ist.
Information:
Da die hier verwendete Id nicht mit der tatsächlichen Id des Strings übereinstimmen muss, kann diese Information bespielsweise dazu genutzt werden die Id des Ziel-Strings vorzugeben.
Information:
Aufgrund technischer Beschränkungen darf der zu versendende String nicht länger als 255 Zeichen sein.
Um längere Strings zu versenden, kann man diesen beispielsweise in kleinere Strings zerteilen und diese Teile separat versenden.
Zum Beispiel kann man je den ersten Teil eines Strings mit einer Id ungleich 0 versenden. Werden nachfolgende Teile versendet, dann erhalten diese einfach die Id 0. Der Empfänger könnte dann den neu empfangenen Teil-String an den vorher empfangenen Teilstring anhängen.

Liste der Parameter

Parameter: Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id, welche zusammen mit dem String übertragen werden soll. Diese Id muss nicht mit der tatsächlichen Id des Strings übereinstimmen. Die Bedeutung dieses Parameters wird daher vom Anwender festgelegt.

Parameter: Wert

Datentyp: | string
Optional: | nein
Beschreibung: | Der zu verwendende Wert. Dieser Wert muss nicht aus einem String (a[]) stammen, sondern kann aus anderen Quellen kommen (z. B. v[] oder der Rückgabewert einer Methode). Achtung: Der String darf aufgrund technischer Beschränkungen nicht länger als 255 Zeichen sein.

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE, DESTINYERROR_STRINGTOOLONG

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.SendFloat()
Weiter >
Methode: Client[].Destiny.SendSwitch()

Methode: Client[].Destiny.SendString()


Client[].Destiny.SendSwitch()

Methode: Client[].Destiny.SendSwitch()

Syntax

Client[Client-Index].Destiny.SendSwitch(Id, Wert)

Beschreibung

Mit der SendSwitch-Methode kann ein Switch über ein verbundenes Destiny-Client-Socket verschickt werden. Der zu versendende Wert wird hierbei mit einer Id verknüpft, damit der Wert später beim Empfangen identifiziert werden kann.
Die Id und der Wert werden später beim anderen Computer mit der RecvId-Methode und der RecvSwitch-Methode empfangen, sofern der Rückgabewert von GetRecvType gleich TYPE_SWITCH ist.
Information:
Da die hier verwendete Id nicht mit der tatsächlichen Id des Switches übereinstimmen muss, kann diese Information bespielsweise dazu genutzt werden die Id des Ziel-Switches vorzugeben.

Synonyme

  • SendBool()

Liste der Parameter

Parameter: Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id, welche zusammen mit dem Switch übertragen werden soll. Diese Id muss nicht mit der tatsächlichen Id des Switches übereinstimmen. Die Bedeutung dieses Parameters wird daher vom Anwender festgelegt.

Parameter: Wert

Datentyp: | bool
Optional: | nein
Beschreibung: | Der zu verwendende Wert. Dieser Wert muss nicht aus einem Switch (s[]) stammen, sondern kann aus anderen Quellen kommen (z. B. v[] oder der Rückgabewert einer Methode).

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.SendString()
Weiter >
Methode: Client[].Destiny.SendVariable()

Methode: Client[].Destiny.SendSwitch()


Client[].Destiny.SendVariable()

Methode: Client[].Destiny.SendVariable()

Syntax

Client[Client-Index].Destiny.SendVariable(Id, Wert)

Beschreibung

Mit der SendVariable-Methode kann eine Variable über ein verbundenes Destiny-Client-Socket verschickt werden. Der zu versendende Wert wird hierbei mit einer Id verknüpft, damit der Wert später beim Empfangen identifiziert werden kann.
Die Id und der Wert werden später beim anderen Computer mit der RecvId-Methode und der RecvVariable-Methode empfangen, sofern der Rückgabewert von GetRecvType gleich TYPE_VARIABLE ist.
Information:
Da die hier verwendete Id nicht mit der tatsächlichen Id der Variablen übereinstimmen muss, kann diese Information bespielsweise dazu genutzt werden die Id der Ziel-Variablen vorzugeben.

Liste der Parameter

Parameter: Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id, welche zusammen mit der Variablen übertragen werden soll. Diese Id muss nicht mit der tatsächlichen Id der Variablen übereinstimmen. Die Bedeutung dieses Parameters wird daher vom Anwender festgelegt.

Parameter: Wert

Datentyp: | dword
Optional: | nein
Beschreibung: | Der zu verwendende Wert. Dieser Wert muss nicht aus einer Variablen (v[]) stammen, sondern kann aus anderen Quellen kommen (z. B. d[] oder der Rückgabewert einer Methode).

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendDword(), Client[].Destiny.SendWord(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.SendSwitch()
Weiter >
Methode: Client[].Destiny.SendWord()

Methode: Client[].Destiny.SendVariable()


Client[].Destiny.SendWord()

Methode: Client[].Destiny.SendWord()

Syntax

Client[Client-Index].Destiny.SendWord(Id, Wert)

Beschreibung

Mit der SendWord-Methode kann ein Word über ein verbundenes Destiny-Client-Socket verschickt werden. Der zu versendende Wert wird hierbei mit einer Id verknüpft, damit der Wert später beim Empfangen identifiziert werden kann.
Die Id und der Wert werden später beim anderen Computer mit der RecvId-Methode und der RecvWord-Methode empfangen, sofern der Rückgabewert von GetRecvType gleich TYPE_WORD ist.

Liste der Parameter

Parameter: Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id, welche zusammen mit dem Word übertragen werden soll. Die Bedeutung dieses Parameters wird vom Anwender festgelegt und dient zur Identifizierung des Words beim Empfänger.

Parameter: Wert

Datentyp: | word
Optional: | nein
Beschreibung: | Der zu verwendende Wert. Dieser Wert muss nicht direkt angegeben werden (z. B. 123), sondern kann aus anderen Quellen kommen (z. B. d[] oder der Rückgabewert einer Methode).

Beispiel

Information:
Um die folgenden Beispiele lokal zu testen, empfiehlt es sich das Spiel zwei Mal zu starten: Einmal als Server und einmal als Client. Der Server muss hierbei unbedingt zuerst gestartet werden, da sich der Client sonst nicht verbinden kann.
Da das Beispiel sich zum eigenen Computer verbindet (die IP 127.0.0.1 repräsentiert stets den eigenen Computer), sollte dieses Beispiel auch hinter Routern/Firewalls funktionieren.
Durch die Verwendung des Pause-Befehls wird das DestinyScript innerhalb der Schleife kurzzeitig unterbrochen, damit die RPG_RT weiterarbeiten kann und das Spiel nicht hängt.
DestinyScript des Servers (empfängt hier die Daten; muss zuerst gestartet werden):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
$

// -----------------------------------------------------------------------------
// TEIL 1: Server kurzzeitig starten und Verbindung annehmen
// -----------------------------------------------------------------------------

// Auf eingehende Verbindungen auf Port 12000 warten
Server.Listen(12000, SOCK_DESTINY);

do
  v[1] = Server.Accept(Client.NextFree());
  pause;
loop until(v[1] != -1);

// Verbindung wurde angenommen
// -> Server schließen (die bereits angenommene Verbindung bleibt bestehen)
Server.Close();

// -----------------------------------------------------------------------------
// TEIL 2: Daten empfangen (sobald vorhanden)
// -----------------------------------------------------------------------------

// Auf ankommende Daten warten
Destiny.Debugger.Output.Clear();
do
  v[2] = Client[v[1]].Destiny.GetRecvType();
  if(v[2] > 0)
    // Daten sind da und bereit zum Empfangen
    // -> Zuerst die Id abfragen
    v[3] = Client[v[1]].Destiny.RecvId();
    // -> Danach den Wert (abhängig vom Typ) abfragen
    switch(v[2])
      case TYPE_VARIABLE:
        Destiny.Debugger.Output.Print("Variable empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvVariable() .. ")");
        break;
      case TYPE_DWORD:
        Destiny.Debugger.Output.Print("Dword empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvDword() .. ")");
        break;
      case TYPE_WORD:
        Destiny.Debugger.Output.Print("Word empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvWord() .. ")");
        break;
      case TYPE_BYTE:
        Destiny.Debugger.Output.Print("Byte empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvByte() .. ")");
        break;
      case TYPE_SWITCH:
        Destiny.Debugger.Output.Print("Switch empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvSwitch() .. ")");
        break;
      case TYPE_FLOAT:
        Destiny.Debugger.Output.Print("Float empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvFloat() .. ")");
        break;
      case TYPE_STRING:
        Destiny.Debugger.Output.Print("String empfangen (Id: " .. v[3] .. ", Wert: " .. Client[v[1]].Destiny.RecvString() .. ")");
        break;
    endswitch;
  endif;
  pause;
loop while(v[2] > 0 || Client[v[1]].State == STATE_CONNECTED);

// Zum Abschluss des Skripts die Verbindung noch schließen
Client[v[1]].Close();

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

DestinyScript des Clients (verschickt hier die Daten; Server muss bereits laufen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$ // ----------------------------------------------------------------------------- // TEIL 1: Verbindung zu Server herstellen (hier lokaler Rechner und Port 12000) // ----------------------------------------------------------------------------- v[1] = Client.NextFree(); Client[v[1]].Connect("127.0.0.1", 12000, SOCK_DESTINY); // ----------------------------------------------------------------------------- // TEIL 2: Daten versenden // ----------------------------------------------------------------------------- Client[v[1]].Destiny.SendVariable(1, 1234); // Variable mit Id 1 und Wert 1234 d[1] = 4321; Client[v[1]].Destiny.SendDword(2, d[1]); // Dword mit Id 2 und Wert aus d[1] (hier 4321) Client[v[1]].Destiny.SendWord(13, -11); // Word mit Id 13 und Wert -11 Client[v[1]].Destiny.SendByte(0, 255); // Byte mit Id 0 und Wert 255 Client[v[1]].Destiny.SendFloat(-1, 3.1415); // Float mit Id -1 und Wert 3.1415 Client[v[1]].Destiny.SendSwitch(1, true); // Switch mit Id 1 und Wert true Client[v[1]].Destiny.SendString(2, "Hallo"); // String mit Id 2 und Wert "Hallo" // Verbindung schließen (veranlässt das Beispiel-Server-Skript dazu sich zu beenden) Client[v[1]].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE

Siehe auch

Client, Client[], Client[].Destiny, Server, Server.Listen(), Server.Accept(), Server.Close(), Client[].Connect(), Client[].Close(), Client[].Destiny.SendVariable(), Client[].Destiny.SendDword(), Client[].Destiny.SendByte(), Client[].Destiny.SendFloat(), Client[].Destiny.SendString(), Client[].Destiny.SendSwitch(), Client[].Destiny.GetRecvType(), Client[].Destiny.RecvId(), Client[].Destiny.RecvVariable(), Client[].Destiny.RecvDword(), Client[].Destiny.RecvWord(), Client[].Destiny.RecvByte(), Client[].Destiny.RecvFloat(), Client[].Destiny.RecvString(), Client[].Destiny.RecvSwitch()
< Zurück
Methode: Client[].Destiny.SendVariable()
Weiter >
Objekt: Client[].Raw

Methode: Client[].Destiny.SendWord()


Client[].Raw

Objekt: Client[].Raw

Syntax

Client[Client-Index].Raw

Beschreibung

Das Raw-Objekt innerhalb des Client[]-Objekts dient dazu alle Methoden zusammenzufassen, welche nur für Client-Sockets vom Typ Raw zur Verfügung stehen.
Der Typ eines Sockets kann über Client[].Type ermittelt werden und wird in der Connect-Methode des Client[]-Objekts oder in der Listen-Methode des Server-Objekts festgelegt.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Recv() | Methode | Empfängt einen Wert
Send() | Methode | Versendet einen Wert

Siehe auch

Client, Client[], Client[].Destiny
< Zurück
Methode: Client[].Destiny.SendWord()
Weiter >
Methode: Client[].Raw.Recv()

Objekt: Client[].Raw


Client[].Raw.Recv()

Methode: Client[].Raw.Recv()

Syntax

Client[Client-Index].Raw.Recv([Datentyp, [Länge]])

Beschreibung

Mit der Recv-Methode können Daten über ein verbundenes Raw-Client-Socket empfangen werden. Die Anzahl der zu empfangenden Bytes kann hierbei angegeben werden; fehlt diese Angabe, so wird der gesamte Wert empfangen.
Information:
Um die Länge der bereits empfangenden Daten zu ermitteln und Daten überhaupt zu empfangen, ist es erforderlich vorher die GetRecvLength-Methode des Client[]-Objekts aufzurufen. Ist der Rückgabewert jener Methode größer als 0, dann stehen Daten an, die empfangen werden können. Wird die GetRecvLength-Methode vorher nicht aufgerufen, dann werden mit dieser Methode hier keine Daten empfangen, da der eigentliche Empfang der Daten in GetRecvLength geschieht.

Liste der Parameter

Parameter: Datentyp

Datentyp: dword
Optional: ja
Standardwert: 5 (TYPE_STRING)
Wertebereich: 1 ... 7
Beschreibung: Der Datentyp der zu empfangenden Daten. Hierzu werden die Datentypskonstanten verwendet:
Konstante | Beschreibung
TYPE_VARIABLE | Siehe bei TYPE_DWORD
TYPE_DWORD | Der Wert wird als Dword zurückgegeben.
TYPE_WORD | Der Wert wird als Word zurückgegeben.
TYPE_BYTE | Der Wert wird als Byte zurückgegeben.
TYPE_FLOAT | Der Wert wird als Float zurückgegeben.
TYPE_STRING | Der Wert wird als String zurückgegeben.
TYPE_SWITCH | Der Wert wird als Bool zurückgegeben.

Parameter: Länge

Datentyp: dword
Optional: ja
Standardwert: -1
Wertebereich: -1; 0 ... Maximale Länge der Daten
Beschreibung: Die Länge der zu empfangenden Daten. Dieser Wert muss im Bereich von 0 bis zur maximalen Länge der Daten des jeweiligen Datentyps liegen. Bei Strings kann dieser Wert nicht länger als der Empfangspuffer sein (mindestens 255 Bytes). Wird hier -1 angegeben, dann wird automatisch die maximale Länge der Daten ermittelt und empfangen. Folgende Maximallängen sind definiert:
Datentyp | Maximallänge
Dword | 4
Word | 2
Byte | 1
Float | 8
String | individuell (hier werden alle bereits empfangenen Daten zurückgegeben)
Bool | 1

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
$
// Verbindung zu Google aufbauen
Client[0].Connect("www.google.de", 80, SOCK_RAW, SOCKETFLAG_NOTBLOCKING);

do while(Client[0].State == STATE_CONNECTING)
  pause;
loop;

if(Client[0].State == STATE_CONNECTED)
  // Es konnte eine Verbindung zu Google aufgebaut werden
  // -> Das Socket ist somit bereit zum Senden/Empfangen.

  // Eine simple Anfrage an Google senden
  Client[0].Raw.Send(<<<HEREDOC_END
GET / HTTP/1.1
Host: www.google.de
Connection: close

HEREDOC_END);

  // Auf die Antwort warten und diese in a[1] speichern
  a[1] = "";
  do until(Client[0].State != STATE_CONNECTED)
    v[1] = Client[0].GetRecvLength();
    if(v[1] > 0)
      a[1] ..= Client[0].Raw.Recv();
      if(String.Pos(a[1], CRLF .. CRLF) >= 0)
        // HTTP-Response-Header enden mit einer leeren Zeile
        break;
      endif;
    endif;
    pause;
  loop while(v[1] > 0 || Client[0].State == STATE_CONNECTED);
endif;

// Das Socket wieder schließen
Client[0].Close();

// Die empfangenen Daten im DebugOutput anzeigen
Destiny.Debugger.Output.Clear();
Destiny.Debugger.Output.Print(a[1]);
Destiny.Debugger.Output.Show();

Mögliche Fehler

DESTINYERROR_SOCKETTYPE, DESTINYERROR_OOB, DESTINYERROR_VALUE, DESTINYERROR_MEMORY

Siehe auch

Client, Client[], Client[].Raw, Client[].Connect(), Client[].Close(), Client[].GetRecvLength(), Client[].Raw.Send()
< Zurück
Objekt: Client[].Raw
Weiter >
Methode: Client[].Raw.Send()

Methode: Client[].Raw.Recv()


Client[].Raw.Send()

Methode: Client[].Raw.Send()

Syntax

Client[Client-Index].Raw.Send(Daten, [Länge])

Beschreibung

Mit der Send-Methode können Daten über ein verbundenes Raw-Client-Socket verschickt werden. Die Anzahl der zu versendenden Bytes kann hierbei angegeben werden; fehlt diese Angabe, so wird der gesamte Wert verschickt.
Änderung zum DestinyPatch 1.0:
Beim Destiny-Patch 1.0 bedeutete der Parameterwert 0 bei Länge, dass die Maximallänge versendet wird. Dies war allerdings nicht dokumentiert, weshalb diese Eigenschaft nun dem Parameterwert -1 zugeordnet wurde.

Liste der Parameter

Parameter: Daten

Datentyp: | any
Optional: | nein
Beschreibung: | Die zu versendenden Daten.

Parameter: Länge

Datentyp: dword
Optional: ja
Standardwert: -1
Wertebereich: -1; 0 ... Maximale Länge der Daten
Beschreibung: Die Länge der zu versendenden Daten. Dieser Wert muss im Bereich von 0 bis zur maximalen Länge der Daten des jeweiligen Datentyps liegen. Wird hier -1 angegeben, dann wird automatisch die maximale Länge der Daten ermittelt und versandt. Folgende Maximallängen sind definiert:
Datentyp | Maximallänge
Dword | 4
Word | 2
Byte | 1
Float | 8
String | individuell (der Rückgabewert von String.Length())
Bool | 1

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
$
// Verbindung zu Google aufbauen
Client[0].Connect("www.google.de", 80, SOCK_RAW, SOCKETFLAG_NOTBLOCKING);

do while(Client[0].State == STATE_CONNECTING)
  pause;
loop;

if(Client[0].State == STATE_CONNECTED)
  // Es konnte eine Verbindung zu Google aufgebaut werden
  // -> Das Socket ist somit bereit zum Senden/Empfangen.

  // Eine simple Anfrage an Google senden
  Client[0].Raw.Send(<<<HEREDOC_END
GET / HTTP/1.1
Host: www.google.de
Connection: close

HEREDOC_END);

  // Auf die Antwort warten und diese in a[1] speichern
  a[1] = "";
  do until(Client[0].State != STATE_CONNECTED)
    v[1] = Client[0].GetRecvLength();
    if(v[1] > 0)
      a[1] ..= Client[0].Raw.Recv();
      if(String.Pos(a[1], CRLF .. CRLF) >= 0)
        // HTTP-Response-Header enden mit einer leeren Zeile
        break;
      endif;
    endif;
    pause;
  loop while(v[1] > 0 || Client[0].State == STATE_CONNECTED);
endif;

// Das Socket wieder schließen
Client[0].Close();

// Die empfangenen Daten im DebugOutput anzeigen
Destiny.Debugger.Output.Clear();
Destiny.Debugger.Output.Print(a[1]);
Destiny.Debugger.Output.Show();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_SOCKETTYPE, DESTINYERROR_CONVERT, DESTINYERROR_VALUE

Siehe auch

Client, Client[], Client[].Raw, Client[].Connect(), Client[].Close(), Client[].GetRecvLength(), Client[].Raw.Recv()
< Zurück
Methode: Client[].Raw.Recv()
Weiter >
Kategorie: Veraltete Methoden

Methode: Client[].Raw.Send()


Client[]--cat_Obsolete

Kategorie: Veraltete Methoden

Beschreibung

In dieser Kategorie sind veraltete Methoden eines Client-Sockets zusammengefasst. Diese Methoden stehen noch alle zur Verfügung, werden nun aber anders angesprochen. Abhängig vom Sockettyp wird so entweder das Client[].Destiny-Objekt oder das Client[].Raw-Objekt.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
GetRecvType() | Methode | Prüft den Typ der empfangenen Daten bei einem Destiny-Client-Socket
RecvByte() | Methode | Fragt die Daten des zuletzt empfangenen Bytes eines Destiny-Client-Sockets ab
RecvDouble() | Methode | Fragt die Daten des zuletzt empfangenen Floats eines Destiny-Client-Sockets ab
RecvDword() | Methode | Fragt die Daten des zuletzt empfangenen Dwords eines Destiny-Client-Sockets ab
RecvId() | Methode | Fragt die Id der zuletzt empfangenen Daten eines Destiny-Client-Sockets ab
RecvRawData() | Methode | Fragt die empfangenen Daten eines Raw-Client-Sockets ab
RecvString() | Methode | Fragt die Daten des zuletzt empfangenen Strings eines Destiny-Client-Sockets ab
RecvSwitch() | Methode | Fragt die Daten des zuletzt empfangenen Switches eines Destiny-Client-Sockets ab
RecvVariable() | Methode | Fragt die Daten der zuletzt empfangenen Variablen eines Destiny-Client-Sockets ab
RecvWord() | Methode | Fragt die Daten des zuletzt empfangenen Words eines Destiny-Client-Sockets ab
SendByte() | Methode | Versendet ein Word bei einem Destiny-Client-Socket
SendDouble() | Methode | Versendet ein Float bei einem Destiny-Client-Socket
SendDword() | Methode | Versendet ein Dword bei einem Destiny-Client-Socket
SendRawData() | Methode | Versendet beliebige Daten bei einem Raw-Client-Socket
SendString() | Methode | Versendet einen String bei einem Destiny-Client-Socket
SendSwitch() | Methode | Versendet einen Switch bei einem Destiny-Client-Socket
SendVariable() | Methode | Versendet eine Variable bei einem Destiny-Client-Socket
SendWord() | Methode | Versendet ein Byte bei einem Destiny-Client-Socket
< Zurück
Methode: Client[].Raw.Send()
Weiter >
Methode: Client[].GetRecvType()

Kategorie: Veraltete Methoden


Client[].GetRecvType()

Methode: Client[].GetRecvType()

Syntax

Client[Client-Index].GetRecvType()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].GetRecvType() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.GetRecvType() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Kategorie: Veraltete Methoden
Weiter >
Methode: Client[].RecvByte()

Methode: Client[].GetRecvType()


Client[].RecvByte()

Methode: Client[].RecvByte()

Syntax

Client[Client-Index].RecvByte()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvByte() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.RecvByte() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].GetRecvType()
Weiter >
Methode: Client[].RecvDouble()

Methode: Client[].RecvByte()


Client[].RecvDouble()

Methode: Client[].RecvDouble()

Syntax

Client[Client-Index].RecvDouble()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvDouble() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.RecvFloat() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].RecvByte()
Weiter >
Methode: Client[].RecvDword()

Methode: Client[].RecvDouble()


Client[].RecvDword()

Methode: Client[].RecvDword()

Syntax

Client[Client-Index].RecvDword()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvDword() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.RecvDword() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].RecvDouble()
Weiter >
Methode: Client[].RecvId()

Methode: Client[].RecvDword()


Client[].RecvId()

Methode: Client[].RecvId()

Syntax

Client[Client-Index].RecvId()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvId() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.RecvId() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].RecvDword()
Weiter >
Methode: Client[].RecvRawData()

Methode: Client[].RecvId()


Client[].RecvRawData()

Methode: Client[].RecvRawData()

Syntax

Client[Client-Index].RecvRawData([Typ, [Länge]])

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvRawData() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Raw.Recv() zu verwenden.

Siehe auch

Client[].Raw
< Zurück
Methode: Client[].RecvId()
Weiter >
Methode: Client[].RecvString()

Methode: Client[].RecvRawData()


Client[].RecvString()

Methode: Client[].RecvString()

Syntax

Client[Client-Index].RecvString()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvString() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.RecvString() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].RecvRawData()
Weiter >
Methode: Client[].RecvSwitch()

Methode: Client[].RecvString()


Client[].RecvSwitch()

Methode: Client[].RecvSwitch()

Syntax

Client[Client-Index].RecvSwitch()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvSwitch() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.RecvSwitch() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].RecvString()
Weiter >
Methode: Client[].RecvVariable()

Methode: Client[].RecvSwitch()


Client[].RecvVariable()

Methode: Client[].RecvVariable()

Syntax

Client[Client-Index].RecvVariable()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvVariable() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.RecvVariable() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].RecvSwitch()
Weiter >
Methode: Client[].RecvWord()

Methode: Client[].RecvVariable()


Client[].RecvWord()

Methode: Client[].RecvWord()

Syntax

Client[Client-Index].RecvWord()

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].RecvWord() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.RecvWord() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].RecvVariable()
Weiter >
Methode: Client[].SendByte()

Methode: Client[].RecvWord()


Client[].SendByte()

Methode: Client[].SendByte()

Syntax

Client[Client-Index].SendByte(Id, Daten)

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].SendByte() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.SendByte() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].RecvWord()
Weiter >
Methode: Client[].SendDouble()

Methode: Client[].SendByte()


Client[].SendDouble()

Methode: Client[].SendDouble()

Syntax

Client[Client-Index].SendDouble(Id, Daten)

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].SendDouble() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.SendFloat() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].SendByte()
Weiter >
Methode: Client[].SendDword()

Methode: Client[].SendDouble()


Client[].SendDword()

Methode: Client[].SendDword()

Syntax

Client[Client-Index].SendDword(Id, Daten)

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].SendDword() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.SendDword() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].SendDouble()
Weiter >
Methode: Client[].SendRawData()

Methode: Client[].SendDword()


Client[].SendRawData()

Methode: Client[].SendRawData()

Syntax

Client[Client-Index].SendRawData(Daten, [Länge])

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].SendRawData() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Raw.Send() zu verwenden.

Siehe auch

Client[].Raw
< Zurück
Methode: Client[].SendDword()
Weiter >
Methode: Client[].SendString()

Methode: Client[].SendRawData()


Client[].SendString()

Methode: Client[].SendString()

Syntax

Client[Client-Index].SendString(Id, Daten)

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].SendString() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.SendString() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].SendRawData()
Weiter >
Methode: Client[].SendSwitch()

Methode: Client[].SendString()


Client[].SendSwitch()

Methode: Client[].SendSwitch()

Syntax

Client[Client-Index].SendSwitch(Id, Daten)

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].SendSwitch() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.SendSwitch() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].SendString()
Weiter >
Methode: Client[].SendVariable()

Methode: Client[].SendSwitch()


Client[].SendVariable()

Methode: Client[].SendVariable()

Syntax

Client[Client-Index].SendVariable(Id, Daten)

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].SendVariable() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.SendVariable() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].SendSwitch()
Weiter >
Methode: Client[].SendWord()

Methode: Client[].SendVariable()


Client[].SendWord()

Methode: Client[].SendWord()

Syntax

Client[Client-Index].SendWord(Id, Daten)

Beschreibung

Durch die Umstrukturierung des Client[]-Objekts ist diese Methode verschoben worden. Der Befehl Client[].SendWord() ist zwar noch gültig, gilt aber als veraltet. Stattdessen ist der Befehl Client[].Destiny.SendWord() zu verwenden.

Siehe auch

Client[].Destiny
< Zurück
Methode: Client[].SendVariable()
Weiter >
Kategorie: Verbindungsdaten

Methode: Client[].SendWord()


Client[]--cat_ConnectionData

Kategorie: Verbindungsdaten

Beschreibung

In dieser Kategorie befinden sich die Eigenschaften zur Verbindung.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
LocalIP | Eigenschaft | Die verwendete Quell-IP des Client-Sockets
LocalPort | Eigenschaft | Der verwendete Quell-Port des Client-Sockets
RemoteIP | Eigenschaft | Die verwendete Ziel-IP des Client-Sockets
RemotePort | Eigenschaft | Der verwendete Ziel-Port des Client-Sockets
< Zurück
Methode: Client[].SendWord()
Weiter >
Eigenschaft: Client[].LocalIP

Kategorie: Verbindungsdaten


Client[].LocalIP

Eigenschaft: Client[].LocalIP

Syntax

Client[Client-Index].LocalIP

Beschreibung

Mit der LocalIP-Eigenschaft kann die lokal (= am eigenen Rechner) verwendete (Quell-)IP des Client-Sockets ermittelt werden.
Information:
Der Wert dieser Eigenschaft kann nur abgefragt werden, wenn das Client-Socket verbunden ist.
Information:
Die lokal verwendete IP muss nicht mit der Internet-IP übereinstimmen. Ist man über einen Router mit dem Internet verbunden, so wird hier meist die IP innerhalb des lokalen Netzwerkes zurückgegeben.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Eine Verbindung zu Google über das erste Client-Socket herstellen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

// Die lokalen Verbindungsdaten in a[1] speichern (Format: <IP>:<Port>)
a[1] = Client[0].LocalIP .. ":" .. Client[0].LocalPort;       // z. B. 127.0.0.1:4321
// Die fernen Verbindungsdaten in a[2] speichern (Format: <IP>:<Port>)
a[2] = Client[0].RemoteIP .. ":" .. Client[0] .. RemotePort;  // z. B. 127.0.0.1:80

// Das Socket wieder schließen
Client[0].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_MEMORY

Siehe auch

Client, Client[], Client[].Connect(), Client[].Close(), Client[].LocalPort, Client[].RemotePort, Client[].RemoteIP
< Zurück
Kategorie: Verbindungsdaten
Weiter >
Eigenschaft: Client[].LocalPort

Eigenschaft: Client[].LocalIP


Client[].LocalPort

Eigenschaft: Client[].LocalPort

Syntax

Client[Client-Index].LocalPort

Beschreibung

Mit der LocalPort-Eigenschaft kann der lokal (= am eigenen Rechner) verwendete (Quell-)Port des Client-Sockets ermittelt werden.
Information:
Der Wert dieser Eigenschaft kann nur abgefragt werden, wenn das Client-Socket verbunden ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 1 .. 65535

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Eine Verbindung zu Google über das erste Client-Socket herstellen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

// Die lokalen Verbindungsdaten in a[1] speichern (Format: <IP>:<Port>)
a[1] = Client[0].LocalIP .. ":" .. Client[0].LocalPort;       // z. B. 127.0.0.1:4321
// Die fernen Verbindungsdaten in a[2] speichern (Format: <IP>:<Port>)
a[2] = Client[0].RemoteIP .. ":" .. Client[0] .. RemotePort;  // z. B. 127.0.0.1:80

// Das Socket wieder schließen
Client[0].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN

Siehe auch

Client, Client[], Client[].Connect(), Client[].Close(), Client[].LocalIP, Client[].RemotePort, Client[].RemoteIP
< Zurück
Eigenschaft: Client[].LocalIP
Weiter >
Eigenschaft: Client[].RemoteIP

Eigenschaft: Client[].LocalPort


Client[].RemoteIP

Eigenschaft: Client[].RemoteIP

Syntax

Client[Client-Index].RemoteIP

Beschreibung

Mit der RemoteIP-Eigenschaft kann die fern (= am anderen Rechner) verwendete (Ziel-)IP des Client-Sockets ermittelt werden.
Information:
Der Wert dieser Eigenschaft kann nur abgefragt werden, wenn das Client-Socket verbunden ist.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Eine Verbindung zu Google über das erste Client-Socket herstellen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

// Die lokalen Verbindungsdaten in a[1] speichern (Format: <IP>:<Port>)
a[1] = Client[0].LocalIP .. ":" .. Client[0].LocalPort;       // z. B. 127.0.0.1:4321
// Die fernen Verbindungsdaten in a[2] speichern (Format: <IP>:<Port>)
a[2] = Client[0].RemoteIP .. ":" .. Client[0] .. RemotePort;  // z. B. 127.0.0.1:80

// Das Socket wieder schließen
Client[0].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_MEMORY

Siehe auch

Client, Client[], Client[].Connect(), Client[].Close(), Client[].LocalPort, Client[].LocalIP, Client[].RemotePort
< Zurück
Eigenschaft: Client[].LocalPort
Weiter >
Eigenschaft: Client[].RemotePort

Eigenschaft: Client[].RemoteIP


Client[].RemotePort

Eigenschaft: Client[].RemotePort

Syntax

Client[Client-Index].RemotePort

Beschreibung

Mit der RemotePort-Eigenschaft kann der fern (= am anderen Rechner) verwendete (Ziel-)Port des Client-Sockets ermittelt werden.
Information:
Der Wert dieser Eigenschaft kann nur abgefragt werden, wenn das Client-Socket verbunden ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 1 .. 65535

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Eine Verbindung zu Google über das erste Client-Socket herstellen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

// Die lokalen Verbindungsdaten in a[1] speichern (Format: <IP>:<Port>)
a[1] = Client[0].LocalIP .. ":" .. Client[0].LocalPort;       // z. B. 127.0.0.1:4321
// Die fernen Verbindungsdaten in a[2] speichern (Format: <IP>:<Port>)
a[2] = Client[0].RemoteIP .. ":" .. Client[0] .. RemotePort;  // z. B. 127.0.0.1:80

// Das Socket wieder schließen
Client[0].Close();

Mögliche Fehler

DESTINYERROR_SOCKETNOTOPEN

Siehe auch

Client, Client[], Client[].Connect(), Client[].Close(), Client[].LocalPort, Client[].LocalIP, Client[].RemoteIP
< Zurück
Eigenschaft: Client[].RemoteIP
Weiter >
Objekt: Command

Eigenschaft: Client[].RemotePort


Command

Objekt: Command

Syntax

Command

Beschreibung

Das Command-Objekt dient dazu die Event-Befehle der RPG_RT zugänglich zu machen. Die meisten Event-Befehle stehen hier zur Verfügung. Lediglich solche Event-Befehle, welche bedingte Blöcke beinhalten (z. B. Bedingungen, Kämpfe, ...) oder auf andere Event-Befehle schauen (z. B. Nachrichtenausgabe) können hiermit nicht verwendet werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AddAbility() | Methode | Fügt einem Helden einige Fähigkeitspunkte zu
AddActor() | Methode | Fügt der Partie einen Helden zu
AddCondition() | Methode | Fügt einem Helden eine Kondition hinzu
AddExp() | Methode | Fügt einem Helden Erfahrungspunkte hinzu
AddGold() | Methode | Fügt der Partie Gold hinzu
AddHp() | Methode | Fügt einem Helden Lebenspunkte hinzu
AddItem() | Methode | Fügt der Partie ein Item hinzu
AddLevel() | Methode | Fügt einem Helden einige Level hinzu
AddMp() | Methode | Fügt einem Helden Magiepunkte hinzu
AddSkill() | Methode | Fügt einem Helden eine Technik hinzu
AddTeleportPlace() | Methode | Fügt einen Teleportationspunkt hinzu
CallCommonEvent() | Methode | Ruft das EventScript eines Common Events auf
CallEvent() | Methode | Ruft das EventScript eines Events auf
CallMenu() | Methode | Ruft das Menü auf
CallSaveMenu() | Methode | Ruft das Speichermenü auf
CallWeatherEffect() | Methode | Setzt ein bestimmtes Wetter
ChangeSwitch() | Methode | Ändert den Wert eines einzelnen Schalters
ChangeSwitchRange() | Methode | Ändert die Werte mehrerer Schalter
ChangeVariable() | Methode | Ändert den Wert einer einzelnen Variablen
ChangeVariableRange() | Methode | Ändert den Wert mehrerer Variablen
ClearTimer() | Methode | Markiert das aktuelle Event als gelöscht
DealDamage() | Methode | Fügt einem Helden Schaden zu
DropEquipment() | Methode | Entrüstet einen Helden um eine bestimmte Ausrüstungsart
EnableEscape() | Methode | De-/aktiviert die Flucht im Standardkampfsystem
EnableMenu() | Methode | De-/aktiviert das Standardmenü
EnableSaveMenu() | Methode | De-/aktiviert das Standard-Speichermenü
EnableTeleport() | Methode | De-/aktiviert die Verwendung von Teleportationspunkten
EnterHeroName() | Methode | Fordert den Spieler dazu auf einen neuen Namen für einen Helden einzugeben
EnterKey() | Methode | Ermittelt eine aktuell gedrückte Taste
EnterLeaveVehicle() | Methode | Lässt den Helden ein Fahrzeug betreten/verlassen
EquipItem() | Methode | Rüstet einen Helden mit einer bestimmten Ausrüstung aus
ErasePicture() | Methode | Löscht ein Picture
EraseScreen() | Methode | Blendet den Bildschirm aus
FadeOutMusic() | Methode | Blendet die aktuelle Hintergrundmusik allmälich aus
FixScreen() | Methode | Fixiert den Bildschirm an die aktuelle Position
FlashEvent() | Methode | Lässt ein Event aufblitzen
FlashScreen() | Methode | Lässt den Bildschrim aufblitzen
FullRecovery() | Methode | Heilt einen Helden von seinen gesamten Schäden und Konditionen
GameOver() | Methode | Beendet den aktuellen Spiellauf über den GameOver-Bildschirm
GetEventId() | Methode | Ermittelt die Event-Id eines Events an einer bestimmten Position auf der Karte
GetTerrainId() | Methode | Ermittelt die Terrain-Id eines Feldes an einer bestimmten Position auf der Karte
GoToLabel() | Methode | Springt zu einer bestimmten Sprungmarke im EventScript
GoToMemorizedPlace() | Methode | Teleportiert den Helden an eine bestimmte Position über die Werte von Variablen
MemorizeMusic() | Methode | Speichert die aktuellen Hintergrundmusikeinstellungen zur späteren Wiederverwendung ab
MemorizePlace() | Methode | Speichert die aktuellen Koordinaten des Helden in Variablen ab
MoveAll() | Methode | Wartet bis zur Abarbeitung aller auszuführenden Bewegungsschritte
MoveEvent() | Methode | Bewegt ein Event um einen Schritt
MovePicture() | Methode | Bewegt ein Picture
PlayMemorizedMusic() | Methode | Spielt eine Hintergrundmusik gemäß den zuvor gespeicherten Einstellungen ab
PlayMovie() | Methode | Spielt einen Film ab
PlayMusic() | Methode | Spielt eine Hintergrundmusik ab
PlaySound() | Methode | Spielt einen Sound ab
ReleaseScreen() | Methode | Bindet den Bildschirm an eine bestimmte Position
RemoveActor() | Methode | Nimmt der Partie einen Helden weg
RemoveCondition() | Methode | Entfernt eine Kondition von einem Helden
RemoveItem() | Methode | Nimmt der Partie ein Item weg
RemoveSkill() | Methode | Entfernt von einem Helden eine Technik
RemoveTeleportPlace() | Methode | Entfernt einen Teleportationspunkt
ReplaceLowerChip() | Methode | Ersetzt ein bestimmtes Lower-Chip der Karte durch ein anderes Lower-Chip
ReplaceUpperChip() | Methode | Ersetzt ein bestimmtes Upper-Chip der Karte durch ein anderes Upper-Chip
ReturnScreen() | Methode | Verschiebt den Bildschirm zurück zum Helden
SetChipset() | Methode | Setzt das aktuelle Chipset der Karte
SetEnemyEncounter() | Methode | Setzt den Schrittzähler für das Auftreten von Gegnern
SetEscapePlace() | Methode | Setzt den Fluchtpunkt für das Standard-Kampfsystem
SetEventPlace() | Methode | Setzt die Position eines Events
SetHeroChar() | Methode | Setzt den Char eines Helden
SetHeroDegree() | Methode | Setzt den Rang eines Helden
SetHeroFace() | Methode | Setzt das Face eines Helden
SetHeroName() | Methode | Setzt den Namen eines Helden
SetHeroTransparency() | Methode | Setzt die Transparenz des Helden-Events
SetMessageStyle() | Methode | Verändert den Stil der Nachrichtenfenster
SetPanorama() | Methode | Setzt das aktuelle Panorama der Karte
SetScreenTone() | Methode | Färbt den Bildschirm ein
SetScreenTransition() | Methode | Setzt eine Transition eines bestimmten Transition-Ereignisses
SetSystemGraphic() | Methode | Setzt die System-Grafik
SetSystemMusic() | Methode | Setzt eine Systemmusik
SetSystemSound() | Methode | Setzt einen System-Sound
SetTimer() | Methode | Setzt die aktuelle Zeit des Timers
SetVehicleChar() | Methode | Setzt den Char eines Fahrzeugs
SetVehiclePlace() | Methode | Setzt die Position eines Fahrzeugs
SetWeather() | Methode | Setzt ein bestimmtes Wetter
ShakeScreen() | Methode | Schüttelt den Bildschirm
ShiftScreen() | Methode | Verschiebt den Bildschirm in eine bestimmte Richtung
ShowBattleAnimation() | Methode | Zeigt eine Kampfanimation an
ShowFace() | Methode | Zeigt ein Face in den Nachrichtenfenstern an
ShowPicture() | Methode | Lädt ein Picture und zeigt es an
ShowScreen() | Methode | Blendet den Bildschirm ein
StartTimer() | Methode | Startet den Timer
StopAll() | Methode | Bricht auszuführende Bewegungsschritte ab
StopMusic() | Methode | Stoppt die aktuelle Hintergrundmusik
StopParallelProcesses() | Methode | Unterbricht parallele Prozesse
StopTimer() | Methode | Stoppt den Timer
SubtractAbility() | Methode | Zieht einem Helden einige Fähigkeitspunkte ab
SubtractExp() | Methode | Zieht einem Helden Erfahrungspunkte ab
SubtractGold() | Methode | Zieht der Partie Gold ab
SubtractHp() | Methode | Zieht einem Helden Lebenspunkte ab
SubtractLevel() | Methode | Zieht einem Helden einige Level ab
SubtractMp() | Methode | Zieht einem Helden Magiepunkte ab
SwapTwoEvents() | Methode | Vertauscht die Positionen zweier Events auf der Karte
Teleport() | Methode | Teleportiert den Helden an eine bestimmte Position
TitleScreen() | Methode | Beendet den aktuellen Spiellauf über den Titelbildschirm
Wait() | Methode | Wartet eine bestimmte Zeit
< Zurück
Eigenschaft: Client[].RemotePort
Weiter >
Methode: Command.AddAbility()

Objekt: Command


Command.AddAbility()

Methode: Command.AddAbility()

Syntax

Command.AddAbility(Actor-Id, Art, Anzahl)

Beschreibung

Mit der AddAbility-Methode können einem Helden Fähigkeitspunkte hinzugefügt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welchem die Fähigkeitspunkte zugefügt werden sollen. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party die Fähigkeitspunkte erhält.

Parameter: Art

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 5
Beschreibung: Die Art der Fähigkeitspunkte. Hierzu werden die Fähigkeitspunkt-Konstanten verwendet:
  • ABILITY_MAXHP: Der Held erhält Punkte zu den maximalen Lebenspunkten hinzu (entspricht Actor[].MaxHpDiff += Wert).
  • ABILITY_MAXMP: Der Held erhält Punkte zu den maximalen Magiepunkten hinzu (entspricht Actor[].MaxMpDiff += Wert).
  • ABILITY_ATTACK: Der Held erhält Punkte zu den Angriffspunkten hinzu (entspricht Actor[].AttackDiff += Wert).
  • ABILITY_DEFENSE: Der Held erhält Punkte zu den Verteidigungspunkten hinzu (entspricht Actor[].DefenseDiff += Wert).
  • ABILITY_MIND: Der Held erhält Punkte zu den Intelligenzpunkten hinzu (entspricht Actor[].MindDiff += Wert).
  • ABILITY_AGILITY: Der Held erhält Punkte zu den Beweglichkeitspunkten hinzu (entspricht Actor[].AgilityDiff += Wert).

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Fähigkeitspunkte, die der Held erhalten soll.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Die Angriffspunkte des ersten Helden 50 steigern
Command.AddAbility(1, ABILITY_ATTACK, 50);

// Der gesamten Partie (= je Held) zehn Verteidigungspunkte abziehen
Command.SubtractLevel(STATE_WHOLEPARTY, ABILITY_DEFENSE, 10);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SubtractAbility()
< Zurück
Objekt: Command
Weiter >
Methode: Command.AddActor()

Methode: Command.AddAbility()


Command.AddActor()

Methode: Command.AddActor()

Syntax

Command.AddActor(Actor-Id)

Beschreibung

Mit der AddActor-Methode kann der Partie ein Held hinzugefügt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher der Partie hinzugefügt werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Der Partie den zweiten Helden (meist Brian) hinzufügen
Command.AddActor(2);

// Der Partie den ersten Helden (meist Alex) nehmen
Command.RemoveActor(1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.RemoveActor()
< Zurück
Methode: Command.AddAbility()
Weiter >
Methode: Command.AddCondition()

Methode: Command.AddActor()


Command.AddCondition()

Methode: Command.AddCondition()

Syntax

Command.AddCondition(Actor-Id, Condition-Id)

Beschreibung

Mit der AddCondition-Methode kann ein Held eine Kondition erhalten.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher die Kondition erhalten soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party die Kondition erhält.

Parameter: Condition-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Condition.Count
Beschreibung: | Die Condition-Id der Kondition, die der Held erhalten soll. Diese muss im Bereich von 1 bis Condition.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Dem ersten Helden die zweite Kondition (meist "Poison") zufügen
Command.AddCondition(1, 2);

// Die gesamte Partie von der dritten Kondition (meist "Blind") heilen
Command.RemoveCondition(STATE_WHOLEPARTY, 3);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.RemoveCondition()
< Zurück
Methode: Command.AddActor()
Weiter >
Methode: Command.AddExp()

Methode: Command.AddCondition()


Command.AddExp()

Methode: Command.AddExp()

Syntax

Command.AddExp(Actor-Id, Anzahl, [Levelsteigerungsnachricht anzeigen])

Beschreibung

Mit der AddExp-Methode können einem Helden Erfahrungspunkte hinzugefügt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welchem die Erfahrungspunkte hinzugefügt werden sollen. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Erfahrungspunkte erhält.

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Erfahrungspunkte, die der Held erhalten soll.

Parameter: Levelsteigerungsnachricht anzeigen

Datentyp: bool
Optional: ja
Standardwert: false
Beschreibung: Gibt an, ob bei einer Levelsteigerung eine entsprechende Nachricht angezeigt werden soll.
  • False: Es wird keine Levelsteigerungsnachricht angezeigt (dies ist der Standardwert).
  • True: Es wird bei Bedarf eine Levelsteigerungsnachricht angezeigt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Dem ersten Helden 100 Erfahrungspunkte hinzufügen
// (hierbei wird ggf. eine Steigerungsnachricht des Levels angezeigt)
Command.AddExp(1, 100, true);

// Der gesamten Partie (= je Held) 50 Erfahrungspunkte abziehen
Command.SubtractExp(STATE_WHOLEPARTY, 50);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SubtractExp()
< Zurück
Methode: Command.AddCondition()
Weiter >
Methode: Command.AddGold()

Methode: Command.AddExp()


Command.AddGold()

Methode: Command.AddGold()

Syntax

Command.AddGold(Anzahl)

Beschreibung

Mit der AddGold-Methode kann der Partie Gold hinzugefügt werden.

Liste der Parameter

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl des Goldes, welches der Partie hinzugefügt werden soll.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Der Partie 100 Gold geben
Command.AddGold(100);

// Der Partie 100 Gold nehmen (wie gewonnen, so zerronnen)
Command.SubtractGold(100);

Siehe auch

Command, Command.SubtractGold()
< Zurück
Methode: Command.AddExp()
Weiter >
Methode: Command.AddHp()

Methode: Command.AddGold()


Command.AddHp()

Methode: Command.AddHp()

Syntax

Command.AddHp(Actor-Id, Anzahl)

Beschreibung

Mit der AddHp-Methode kann ein Held Lebenspunkte dazuerhalten.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher Lebenspunkte erhalten soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Lebenspunkte erhält.

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Lebenspunkte, die der Held erhalten soll. Diese Lebenspunkte des Helden übersteigen nicht die maximalen Lebenspunkte des jeweiligen Helden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Dem ersten Helden 100 Lebenspunkte geben
Command.AddHp(1, 100);

// Der gesamten Partie (= je Held) 50 Lebenspunkte abziehen (ohne möglichen Tod)
Command.SubtractHp(STATE_WHOLEPARTY, 50, false);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SubtractHp()
< Zurück
Methode: Command.AddGold()
Weiter >
Methode: Command.AddItem()

Methode: Command.AddHp()


Command.AddItem()

Methode: Command.AddItem()

Syntax

Command.AddItem(Item-Id, [Anzahl])

Beschreibung

Mit der AddItem-Methode kann der Partie ein Item hinzugefügt werden.

Liste der Parameter

Parameter: Item-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Item.Count
Beschreibung: | Die Item-Id des Items, das der Partie hinzugefügt werden soll. Diese muss im Bereich von 1 bis Item.Count liegen.

Parameter: Anzahl

Datentyp: | dword
Optional: | ja
Standardwert: | 1
Beschreibung: | Die Anzahl der Items, welche der Partie hinzugefügt werden sollen. Ist dieser Parameter nicht gesetzt, so wird ein Item hinzugefügt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Der Partie das erste Item (meist Potion) einmal geben
Command.AddItem(1);

// Der Partie das zweite Item (meist Tear Drop) zehn Mal geben
Command.AddItem(2, 10);

// Der Partie das zweite Item (meist Tear Drop) fünf Mal nehmen
Command.RemoveItem(2, 5);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.RemoveItem()
< Zurück
Methode: Command.AddHp()
Weiter >
Methode: Command.AddLevel()

Methode: Command.AddItem()


Command.AddLevel()

Methode: Command.AddLevel()

Syntax

Command.AddLevel(Actor-Id, Anzahl, [Levelsteigerungsnachricht anzeigen])

Beschreibung

Mit der AddLevel-Methode können einem Helden Level hinzugefügt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welchem die Level hinzugefügt werden sollen. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Level erhält.

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Level, die der Held erhalten soll.

Parameter: Levelsteigerungsnachricht anzeigen

Datentyp: bool
Optional: ja
Standardwert: false
Beschreibung: Gibt an, ob bei einer Levelsteigerung eine entsprechende Nachricht angezeigt werden soll.
  • False: Es wird keine Levelsteigerungsnachricht angezeigt (dies ist der Standardwert).
  • True: Es wird bei Bedarf eine Levelsteigerungsnachricht angezeigt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den ersten Helden um zwei Stufen steigen lassen
// (hierbei wird ggf. eine Steigerungsnachricht des Levels angezeigt)
Command.AddLevel(1, 2, true);

// Der gesamten Partie (= je Held) eine Stufe abziehen
Command.SubtractLevel(STATE_WHOLEPARTY, 1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SubtractLevel()
< Zurück
Methode: Command.AddItem()
Weiter >
Methode: Command.AddMp()

Methode: Command.AddLevel()


Command.AddMp()

Methode: Command.AddMp()

Syntax

Command.AddMp(Actor-Id, Anzahl)

Beschreibung

Mit der AddMp-Methode kann ein Held Magiepunkte dazuerhalten.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher Magiepunkte erhalten soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Magiepunkte erhält.

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Magiepunkte, die der Held erhalten soll. Die Magiepunkte des Helden übersteigen nicht die maximalen Magiepunkte des jeweiligen Helden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Dem ersten Helden 100 Magiepunkte geben
Command.AddMp(1, 100);

// Der gesamten Partie (= je Held) 50 Magiepunkte abziehen
Command.SubtractMp(STATE_WHOLEPARTY, 50);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SubtractMp()
< Zurück
Methode: Command.AddLevel()
Weiter >
Methode: Command.AddSkill()

Methode: Command.AddMp()


Command.AddSkill()

Methode: Command.AddSkill()

Syntax

Command.AddSkill(Actor-Id, Skill-Id)

Beschreibung

Mit der AddSkill-Methode kann einem Helden eine Technik beigebracht werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher die Technik lernen soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party die Technik erlernt.

Parameter: Skill-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Skill.Count
Beschreibung: | Die Skill-Id der Technik, welche dem Helden beigebracht werden soll. Diese muss im Bereich von 1 bis Skill.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Dem ersten Helden die zweite Technik (meist "Dark Strike") beibringen
Command.AddSkill(1, 2);

// Die gesamte Partie (= je Held) die erste Technik (meist "Poison") vergessen lassen
Command.RemoveSkill(STATE_WHOLEPARTY, 1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.RemoveSkill()
< Zurück
Methode: Command.AddMp()
Weiter >
Methode: Command.AddTeleportPlace()

Methode: Command.AddSkill()


Command.AddTeleportPlace()

Methode: Command.AddTeleportPlace()

Syntax

Command.AddTeleportPlace(Map-Id, X, Y, [Switch-Id])

Beschreibung

Mit der AddTeleportPlace-Methode kann ein Teleporationspunkt hinzugefügt werden. Die Teleportationspunkte können mit Techniken vom Typ "Teleport" genutzt werden.

Liste der Parameter

Parameter: Map-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Map-Id des neuen Teleportationspunktes. Dieser Wert muss größer/gleich 1 sein.

Parameter: X

Datentyp: | dword
Optional: | nein
Beschreibung: | Die X-Koordinate des neuen Teleportationspunktes.

Parameter: Y

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Y-Koordinate des neuen Teleportationspunktes.

Parameter: Switch-Id

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Wertebereich: | >= 0
Beschreibung: | Die Switch-Id eines zu aktivierenden Schalters (wenn der Teleportationspunkt genutzt wird) oder 0, falls kein Schalter aktiviert werden soll.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die aktuelle Heldenposition als Teleportationspunkt hinzufügen (kein Schalter wird aktiviert) Command.AddTeleportPlace(Map.Id, Map.HeroX, Map.HeroY);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.RemoveTeleportPlace(), Command.EnableTeleport(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.AddSkill()
Weiter >
Methode: Command.CallCommonEvent()

Methode: Command.AddTeleportPlace()


Command.CallCommonEvent()

Methode: Command.CallCommonEvent()

Syntax

Command.CallCommonEvent(Common-Event-Id)

Beschreibung

Mit der CallCommonEvent-Methode kann das EventScript eines Common Events aufgerufen werden. Das EventScript des Common Events wird erst nach dem DestinyScript (und ggf. der Wartezeit des aktuellen Events) ausgeführt.

Liste der Parameter

Parameter: Common-Event-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... CommonEvent.Count
Beschreibung: | Die Common-Event-Id des Common Events, das aufgerufen werden soll. Diese muss im Bereich von 1 bis CommonEvent.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Ruft das erste Common Event auf Command.CallCommonEvent(1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.CallEvent(), CommonEvent[]
< Zurück
Methode: Command.AddTeleportPlace()
Weiter >
Methode: Command.CallEvent()

Methode: Command.CallCommonEvent()


Command.CallEvent()

Methode: Command.CallEvent()

Syntax

Command.CallEvent(Event-Id, [Event-Page-Id])

Beschreibung

Mit der CallEvent-Methode kann das EventScript einer bestimmten Seite eines Events aufgerufen werden. Das EventScript des Events wird erst nach dem DestinyScript (und ggf. der Wartezeit des aktuellen Events) ausgeführt.

Liste der Parameter

Parameter: Event-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | Gültige Event-Id
Beschreibung: | Die Event-Id des auszuführenden Events. Dieser Wert muss eine gültige Event-Id sein. Zusätzlich kann auch die Konstante THIS verwendet werden, um das aktuelle Event auszuführen.

Parameter: Event-Page-Id

Datentyp: | dword
Optional: | ja
Standardwert: | 1
Wertebereich: | Gültige Seitennummer des jeweiligen Events
Beschreibung: | Die Event-Page-Id der auszuführenden Event-Seite. Dieser Wert muss eine gültige Event-Page-Id sein und liegt daher im Bereich von 1 bis Anzahl der Event-Seiten des jeweiligen Events (der Wert kann derzeit nicht per DestinyScript abgefragt werden).

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Ruft die erste Seite des aktuellen Event auf Command.CallEvent(THIS, 1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.CallCommonEvent(), Event[]
< Zurück
Methode: Command.CallCommonEvent()
Weiter >
Methode: Command.CallMenu()

Methode: Command.CallEvent()


Command.CallMenu()

Methode: Command.CallMenu()

Syntax

Command.CallMenu()

Beschreibung

Mit der CallMenu-Methode kann das Standardmenü aufgerufen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das Standardmenü aufrufen Command.CallMenu();

Siehe auch

Command, Command.EnableMenu()
< Zurück
Methode: Command.CallEvent()
Weiter >
Methode: Command.CallSaveMenu()

Methode: Command.CallMenu()


Command.CallSaveMenu()

Methode: Command.CallSaveMenu()

Syntax

Command.CallSaveMenu()

Beschreibung

Mit der CallSaveMenu-Methode kann das Standard-Speichermenü aufgerufen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das Speichermenü aufrufen Command.CallSaveMenu();

Siehe auch

Command, Command.EnableSaveMenu()
< Zurück
Methode: Command.CallMenu()
Weiter >
Methode: Command.ChangeSwitch()

Methode: Command.CallSaveMenu()


Command.ChangeSwitch()

Methode: Command.ChangeSwitch()

Syntax

Command.ChangeSwitch(Switch-Id, Operation)

Beschreibung

Mit der ChangeSwitch-Methode kann der Wert eines einzelnen Schalters geändert werden.

Liste der Parameter

Parameter: Switch-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Switch-Id des zu verändernden Schalters.

Parameter: Operation

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 2
Beschreibung: Der durchzuführende Operation. Hierzu werden die Operationskonstanten für Schalter verwendet.
  • OPERATION_ON: Der Schalter wird auf AN gesetzt (Wert in s[...] ist also nachher true).
  • OPERATION_OFF: Der Schalter wird auf AUS gesetzt (Wert in s[...] ist also nachher false).
  • OPERATION_TOGGLE: Der Wert des Schalter wird umgekippt (Wert in s[...] ist also nachher !s[...]).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Den Wert des ersten Switches auf true setzen
Command.ChangeSwitch(1, OPERATION_ON);

// Vollkommen gleichwertiger Zugriff per s[]-Objekt
s[1] = true;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.ChangeSwitchRange(), s[]
< Zurück
Methode: Command.CallSaveMenu()
Weiter >
Methode: Command.ChangeSwitchRange()

Methode: Command.ChangeSwitch()


Command.ChangeSwitchRange()

Methode: Command.ChangeSwitchRange()

Syntax

Command.ChangeSwitchRange(Anfangs-Switch-Id, End-Switch-Id, Operation)

Beschreibung

Mit der ChangeSwitchRange-Methode können die Werte mehrerer Schalter geändert werden. Die Angabe der Schalter erfolgt in Form eines Bereichs. Es werden daher die Werte aller Schalter von Anfangs-Switch-Id bis End-Switch-Id verändert.

Liste der Parameter

Parameter: Anfangs-Switch-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Switch-Id des ersten zu verändernden Schalters.

Parameter: End-Switch-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Switch-Id des letzten zu verändernden Schalters.

Parameter: Operation

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 2
Beschreibung: Der durchzuführende Operation. Hierzu werden die Operationskonstanten für Schalter verwendet.
  • OPERATION_ON: Der Schalter wird auf AN gesetzt (Wert in s[...] ist also nachher true).
  • OPERATION_OFF: Der Schalter wird auf AUS gesetzt (Wert in s[...] ist also nachher false).
  • OPERATION_TOGGLE: Der Wert des Schalter wird umgekippt (Wert in s[...] ist also nachher !s[...]).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Werte der ersten 100 Schalter umkippen
Command.ChangeSwitchRange(1, 100, OPERATION_TOGGLE);

// Vollkommen gleichwertiger Zugriff per s[]-Objekt
for(v[1] = 1; v[1] <= 100; v[1]++)
  s[v[1]] = !s[v[1]];
next;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.ChangeSwitch(), s[]
< Zurück
Methode: Command.ChangeSwitch()
Weiter >
Methode: Command.ChangeVariable()

Methode: Command.ChangeSwitchRange()


Command.ChangeVariable()

Methode: Command.ChangeVariable()

Syntax

Command.ChangeVariable(Variable-Id, Operation, Wertetyp, Wert1, Wert2)

Beschreibung

Mit der ChangeVariable-Methode kann der Wert einer einzelnen Variablen geändert werden.

Liste der Parameter

Parameter: Variable-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der zu verändernden Variablen.

Parameter: Operation

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 5
Beschreibung: Der durchzuführende Operation. Hierzu werden die Operationskonstanten für Variablen verwendet.
  • OPERATION_SET: Die Variable wird auf den angegebenen Wert gesetzt (entspricht v[...] = Wert).
  • OPERATION_ADD: Die Variable wird mit dem angegebenen Wert addiert (entspricht v[...] += Wert).
  • OPERATION_SUBTRACT: Von der Variablen wird der angegebene Wert subtrahiert (entspricht v[...] -= Wert).
  • OPERATION_MULTIPLY: Die Variable wird mit dem angegebenen Wert multipliziert (entspricht v[...] *= Wert).
  • OPERATION_DIVIDE: Die Variable wird durch den angegebenen Wert ganzzahlig geteilt (entspricht v[...] /= Wert).
  • OPERATION_MODULO: Die Variable wird durch den angegebenen Wert ganzzahlig geteilt, wobei der nicht teilbare Rest zurückgegeben wird (entspricht v[...] %= Wert).

Parameter: Wertetyp

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 7
Beschreibung: Der Typ des Wertes, der für diese Variablenoperation genutzt wird. Hierzu werden die Wertetypskonstanten verwendet.
  • VALUETYPE_NUMBER: Der Wert ist eine direkt angegebene Zahl.
  • VALUETYPE_VARIABLE: Der Wert wird von einer anderen Variablen übernommen.
  • VALUETYPE_VARIABLEINDIRECT: Der Wert wird von einer anderen Variablen übernommen, auf die von einer weiteren Variablen verwiesen wird.
  • VALUETYPE_RANDOM: Der Wert ist zufällig und liegt in einem Bereich von einem angegebenen Minimum bis Maximum.
  • VALUETYPE_ITEM: Der Wert stammt von einem Item.
  • VALUETYPE_ACTOR: Der Wert stammt von einem Helden.
  • VALUETYPE_EVENT: Der Wert stammt von einem Event.
  • VALUETYPE_MISC: Der Wert stammt aus einer sonstigen Wertequelle.

Parameter: Wert1

Datentyp: dword
Optional: nein
Beschreibung: Die Bedeutung des angebenen Wertes dieses Parameters hängt von dem Parameter "Wertetyp" ab.
  • Bei VALUETYPE_NUMBER ist dies der Wert der Operation.
  • Bei VALUETYPE_VARIABLE ist dies die Variable-Id der Variablen, dessen Wert verwendet werden soll.
  • Bei VALUETYPE_VARIABLEINDIRECT ist dies die Variable-Id der Variablen, dessen Wert auf jene Variable verweist, deren Wert verwendet werden soll.
  • Bei VALUETYPE_RANDOM ist dies das Minimum der Zufallszahl.
  • Bei VALUETYPE_ITEM ist dies die Item-Id des Items, von welchem ein Wert verwendet werden soll.
  • Bei VALUETYPE_ACTOR ist dies die Actor-Id des Helden, von dem ein Wert verwendet werden soll.
  • Bei VALUETYPE_EVENT ist dies die Event-Id des Events, von dem ein Wert verwendet werden soll.
  • Bei VALUETYPE_MISC ist dies ein Wert, welcher die Art des zu erfragenden Wertes bestimmt. Hierzu werden die Konstanten für sonstige Werte verwendet:
    • MISC_MONEY: Die Menge des Geldes der Partie.
    • MISC_TIMERSECONDSLEFT: Die Anzahl der Sekunden des Timers, die noch verbleiben.
    • MISC_PARTYSIZE: Die Größe der Partie.
    • MISC_NUMBEROFSAVES: Die bisherige Anzahl der Speicherungen.
    • MISC_NUMBEROFBATTLES: Die bisherige Anzahl der Kämpfe.
    • MISC_NUMBEROFVICTORIES: Die bisherige Anzahl der Siege.
    • MISC_NUMBEROFDEFEATS: Die bisherige Anzahl der Niederlagen.
    • MISC_NUMBEROFESCAPES: Die bisherige Anzahl der Fluchten.
    • MISC_MIDITICK: Der aktuelle Midi-Tick.

Parameter: Wert2

Datentyp: dword
Optional: nein
Beschreibung: Die Bedeutung des angegebenen Wertes dieses Parameters hängt von dem Parameter "Wertetyp" ab.
  • Bei VALUETYPE_NUMBER wird dieser Parameter nicht benutzt und sollte daher 0 sein.
  • Bei VALUETYPE_VARIABLE wird dieser Parameter nicht benutzt und sollte daher 0 sein.
  • Bei VALUETYPE_VARIABLEINDIRECT wird dieser Parameter nicht benutzt und sollte daher 0 sein.
  • Bei VALUETYPE_RANDOM ist dies das Maximum der Zufallszahl.
  • Bei VALUETYPE_ITEM ist dies ein Wert, welche die Art des zu erfragenden Wertes bestimmt. Hierzu werden die Konstanten für Items verwendet:
    • ITEM_OWNED: Die Anzahl der Items dieses Typs, welche die Partie derzeit besitzt.
    • ITEM_EQUIPPED: Die Anzahl der Items dieses Typs, welche derzeit in der Partie zur Ausrüstung verwendet werden.
  • Bei VALUETYPE_ACTOR ist dies ein Wert, welche die Art des zu erfragenden Wertes bestimmt. Hierzu werden die Konstanten für Helden verwendet:
    • ACTOR_LEVEL: Das aktuelle Level des Helden (entspricht Actor[].Level).
    • ACTOR_EXP: Die aktuelle Erfahrung des Helden (entspricht Actor[].Exp).
    • ACTOR_HP: Die aktuellen Lebenspunkte des Helden (entspricht Actor[].Hp).
    • ACTOR_MP: Die aktuellen Magiepunkte des Helden (entspricht Actor[].Mp).
    • ACTOR_MAXHP: Die aktuellen maximalen Lebenspunkte des Helden (entspricht nicht Actor[].MaxHpDiff).
    • ACTOR_MAXMP: Die aktuellen maximalen Magiepunkte des Helden (entspricht nicht Actor[].MaxMpDiff).
    • ACTOR_ATTACK: Die aktuellen Angriffspunkte des Helden (entspricht nicht Actor[].AttackDiff).
    • ACTOR_DEFENSE: Die aktuellen Verteidigungspunkte des Helden (entspricht nicht Actor[].DefenseDiff).
    • ACTOR_MIND: Die aktuellen Intelligenzpunkte des Helden (entspricht nicht Actor[].MindDiff).
    • ACTOR_AGILITY: Die aktuellen Bewegungspunkte des Helden (entspricht nicht Actor[].AgilityDiff).
    • ACTOR_WEAPON: Die aktuelle Waffe des Helden (entspricht Actor[].Weapon).
    • ACTOR_SHIELD: Der aktuelle Schild des Helden (entspricht Actor[].Shield).
    • ACTOR_ARMOR: Die aktuelle Rüstung des Helden (entspricht Actor[].Armor).
    • ACTOR_HELMET: Der aktuelle Helm des Helden (entspricht Actor[].Helmet).
    • ACTOR_ACCESSORY: Das aktuelle Accessoir des Helden (entspricht Actor[].Accessory).
  • Bei VALUETYPE_EVENT ist dies ein Wert, welche die Art des zu erfragenden Wertes bestimmt. Hierzu werden die Konstanten für Events verwendet:
    • EVENT_MAPID: Die Map-Id des Events (entspricht Map.Id).
    • EVENT_X: Die X-Koordinate des Events (entspricht Event[].X).
    • EVENT_Y: Die Y-Koordinate des Events (entspricht Event[].Y).
    • EVENT_DIRECTION: Die Blickrichtung des Events (8 = oben, 6 = rechts, 4 = links, 2 = unten; entspricht nicht Event[].DirLook, obwohl es gleichartig verwendet werden kann).
    • EVENT_SCREENX: Die X-Koordinate des Events auf dem Bildschirm (entspricht Event[].ScreenX).
    • EVENT_SCREENY: Die Y-Koordinate des Events auf dem Bildschirm (entspricht Event[].ScreenY).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13
$
// Den Wert der ersten Variablen auf 3 setzen
Command.ChangeVariable(1, OPERATION_SET, VALUETYPE_NUMBER, 3, 0);
// Vollkommen gleichwertiger Zugriff per v[]-Objekt
v[1] = 3;

// Den Wert der zweiten Variablen auf den Wert der ersten Variablen setzen
Command.ChangeVariable(2, OPERATION_SET, VALUETYPE_VARIABLE, 1, 0);
// Vollkommen gleichwertiger Zugriff per v[]-Objekt
v[2] = v[1];

// Die Anzahl der Items mit der Item-Id 25 in der Partie ermitteln und in der dritten Variablen speichern
Command.ChangeVariable(3, OPERATION_SET, VALUETYPE_ITEM, 25, ITEM_OWNED);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.ChangeVariableRange(), v[]
< Zurück
Methode: Command.ChangeSwitchRange()
Weiter >
Methode: Command.ChangeVariableRange()

Methode: Command.ChangeVariable()


Command.ChangeVariableRange()

Methode: Command.ChangeVariableRange()

Syntax

Command.ChangeVariableRange(Anfangs-Variable-Id, End-Variable-Id, Operation, Wertetyp, Wert1, Wert2)

Beschreibung

Mit der ChangeVariableRange-Methode können die Werte mehrerer Variablen geändert werden. Die Angabe der Variablen erfolgt in Form eines Bereichs. Es werden daher die Werte aller Variablen von Anfangs-Variable-Id bis End-Variable-Id verändert.

Liste der Parameter

Parameter: Anfangs-Variable-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der ersten zu verändernden Variablen.

Parameter: End-Variable-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der letzten zu verändernden Variablen.

Parameter: Operation

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 5
Beschreibung: Der durchzuführende Operation. Hierzu werden die Operationskonstanten für Variablen verwendet.
  • OPERATION_SET: Die Variable wird auf den angegebenen Wert gesetzt (entspricht v[...] = Wert).
  • OPERATION_ADD: Die Variable wird mit dem angegebenen Wert addiert (entspricht v[...] += Wert).
  • OPERATION_SUBTRACT: Von der Variablen wird der angegebene Wert subtrahiert (entspricht v[...] -= Wert).
  • OPERATION_MULTIPLY: Die Variable wird mit dem angegebenen Wert multipliziert (entspricht v[...] *= Wert).
  • OPERATION_DIVIDE: Die Variable wird durch den angegebenen Wert ganzzahlig geteilt (entspricht v[...] /= Wert).
  • OPERATION_MODULO: Die Variable wird durch den angegebenen Wert ganzzahlig geteilt, wobei der nicht teilbare Rest zurückgegeben wird (entspricht v[...] %= Wert).

Parameter: Wertetyp

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 7
Beschreibung: Der Typ des Wertes, der für diese Variablenoperation genutzt wird. Hierzu werden die Wertetypskonstanten verwendet.
  • VALUETYPE_NUMBER: Der Wert ist eine direkt angegebene Zahl.
  • VALUETYPE_VARIABLE: Der Wert wird von einer anderen Variablen übernommen.
  • VALUETYPE_VARIABLEINDIRECT: Der Wert wird von einer anderen Variablen übernommen, auf die von einer weiteren Variablen verwiesen wird.
  • VALUETYPE_RANDOM: Der Wert ist zufällig und liegt in einem Bereich von einem angegebenen Minimum bis Maximum.
  • VALUETYPE_ITEM: Der Wert stammt von einem Item.
  • VALUETYPE_ACTOR: Der Wert stammt von einem Helden.
  • VALUETYPE_EVENT: Der Wert stammt von einem Event.
  • VALUETYPE_MISC: Der Wert stammt aus einer sonstigen Wertequelle.

Parameter: Wert1

Datentyp: dword
Optional: nein
Beschreibung: Die Bedeutung des angebenen Wertes dieses Parameters hängt von dem Parameter "Wertetyp" ab.
  • Bei VALUETYPE_NUMBER ist dies der Wert der Operation.
  • Bei VALUETYPE_VARIABLE ist dies die Variable-Id der Variablen, dessen Wert verwendet werden soll.
  • Bei VALUETYPE_VARIABLEINDIRECT ist dies die Variable-Id der Variablen, dessen Wert auf jene Variable verweist, deren Wert verwendet werden soll.
  • Bei VALUETYPE_RANDOM ist dies das Minimum der Zufallszahl.
  • Bei VALUETYPE_ITEM ist dies die Item-Id des Items, von welchem ein Wert verwendet werden soll.
  • Bei VALUETYPE_ACTOR ist dies die Actor-Id des Helden, von dem ein Wert verwendet werden soll.
  • Bei VALUETYPE_EVENT ist dies die Event-Id des Events, von dem ein Wert verwendet werden soll.
  • Bei VALUETYPE_MISC ist dies ein Wert, welcher die Art des zu erfragenden Wertes bestimmt. Hierzu werden die Konstanten für sonstige Werte verwendet:
    • MISC_MONEY: Die Menge des Geldes der Partie.
    • MISC_TIMERSECONDSLEFT: Die Anzahl der Sekunden des Timers, die noch verbleiben.
    • MISC_PARTYSIZE: Die Größe der Partie.
    • MISC_NUMBEROFSAVES: Die bisherige Anzahl der Speicherungen.
    • MISC_NUMBEROFBATTLES: Die bisherige Anzahl der Kämpfe.
    • MISC_NUMBEROFVICTORIES: Die bisherige Anzahl der Siege.
    • MISC_NUMBEROFDEFEATS: Die bisherige Anzahl der Niederlagen.
    • MISC_NUMBEROFESCAPES: Die bisherige Anzahl der Fluchten.
    • MISC_MIDITICK: Der aktuelle Midi-Tick.

Parameter: Wert2

Datentyp: dword
Optional: nein
Beschreibung: Die Bedeutung des angegebenen Wertes dieses Parameters hängt von dem Parameter "Wertetyp" ab.
  • Bei VALUETYPE_NUMBER wird dieser Parameter nicht benutzt und sollte daher 0 sein.
  • Bei VALUETYPE_VARIABLE wird dieser Parameter nicht benutzt und sollte daher 0 sein.
  • Bei VALUETYPE_VARIABLEINDIRECT wird dieser Parameter nicht benutzt und sollte daher 0 sein.
  • Bei VALUETYPE_RANDOM ist dies das Maximum der Zufallszahl.
  • Bei VALUETYPE_ITEM ist dies ein Wert, welche die Art des zu erfragenden Wertes bestimmt. Hierzu werden die Konstanten für Items verwendet:
    • ITEM_OWNED: Die Anzahl der Items dieses Typs, welche die Partie derzeit besitzt.
    • ITEM_EQUIPPED: Die Anzahl der Items dieses Typs, welche derzeit in der Partie zur Ausrüstung verwendet werden.
  • Bei VALUETYPE_ACTOR ist dies ein Wert, welche die Art des zu erfragenden Wertes bestimmt. Hierzu werden die Konstanten für Helden verwendet:
    • ACTOR_LEVEL: Das aktuelle Level des Helden (entspricht Actor[].Level).
    • ACTOR_EXP: Die aktuelle Erfahrung des Helden (entspricht Actor[].Exp).
    • ACTOR_HP: Die aktuellen Lebenspunkte des Helden (entspricht Actor[].Hp).
    • ACTOR_MP: Die aktuellen Magiepunkte des Helden (entspricht Actor[].Mp).
    • ACTOR_MAXHP: Die aktuellen maximalen Lebenspunkte des Helden (entspricht nicht Actor[].MaxHpDiff).
    • ACTOR_MAXMP: Die aktuellen maximalen Magiepunkte des Helden (entspricht nicht Actor[].MaxMpDiff).
    • ACTOR_ATTACK: Die aktuellen Angriffspunkte des Helden (entspricht nicht Actor[].AttackDiff).
    • ACTOR_DEFENSE: Die aktuellen Verteidigungspunkte des Helden (entspricht nicht Actor[].DefenseDiff).
    • ACTOR_MIND: Die aktuellen Intelligenzpunkte des Helden (entspricht nicht Actor[].MindDiff).
    • ACTOR_AGILITY: Die aktuellen Bewegungspunkte des Helden (entspricht nicht Actor[].AgilityDiff).
    • ACTOR_WEAPON: Die aktuelle Waffe des Helden (entspricht Actor[].Weapon).
    • ACTOR_SHIELD: Der aktuelle Schild des Helden (entspricht Actor[].Shield).
    • ACTOR_ARMOR: Die aktuelle Rüstung des Helden (entspricht Actor[].Armor).
    • ACTOR_HELMET: Der aktuelle Helm des Helden (entspricht Actor[].Helmet).
    • ACTOR_ACCESSORY: Das aktuelle Accessoir des Helden (entspricht Actor[].Accessory).
  • Bei VALUETYPE_EVENT ist dies ein Wert, welche die Art des zu erfragenden Wertes bestimmt. Hierzu werden die Konstanten für Events verwendet:
    • EVENT_MAPID: Die Map-Id des Events (entspricht Map.Id).
    • EVENT_X: Die X-Koordinate des Events (entspricht Event[].X).
    • EVENT_Y: Die Y-Koordinate des Events (entspricht Event[].Y).
    • EVENT_DIRECTION: Die Blickrichtung des Events (8 = oben, 6 = rechts, 4 = links, 2 = unten; entspricht nicht Event[].DirLook, obwohl es gleichartig verwendet werden kann).
    • EVENT_SCREENX: Die X-Koordinate des Events auf dem Bildschirm (entspricht Event[].ScreenX).
    • EVENT_SCREENY: Die Y-Koordinate des Events auf dem Bildschirm (entspricht Event[].ScreenY).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die Werte der ersten zehn Variablen auf 123 setzen
Command.ChangeVariableRange(1, 10, OPERATION_SET, VALUETYPE_NUMBER, 123, 0);
// Vollkommen gleichwertiger Zugriff per v[]-Objekt und Zählschleife
for(d[1] = 1; d[1] <= 10; d[1]++)
  v[d[1]] = 123;
next;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.ChangeVariable(), v[]
< Zurück
Methode: Command.ChangeVariable()
Weiter >
Methode: Command.ClearTimer()

Methode: Command.ChangeVariableRange()


Command.ClearTimer()

Methode: Command.ClearTimer()

Syntax

Command.ClearTimer()

Beschreibung

Mit der ClearTimer-Methode kann das aktuelle Event als gelöscht markiert werden. Das Event erscheint dann erst wieder, wenn die Karte neu geladen wird.
Information:
Hierzu kann auch die Exists-Eigenschaft des Event[]-Objekts genutzt werden. Bei der Exists-Eigenschaft ist es außerdem möglich die Gelöscht-Markierung bei einem Event wieder zu entfernen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // "Löscht" das aktuelle Event, solange die Karte nicht neu geladen wird Command.ClearTimer();

Siehe auch

Command, Event[].Exists
< Zurück
Methode: Command.ChangeVariableRange()
Weiter >
Methode: Command.DealDamage()

Methode: Command.ClearTimer()


Command.DealDamage()

Methode: Command.DealDamage()

Syntax

Command.DealDamage(Actor-Id, Angriff, Verteidigung, Magie, Varianz, [Ziel-Variable-Id])

Beschreibung

Mit der DealDamage-Methode kann einem Helden Schaden zugefügt werden. Hierbei wird die gleiche Berechnung zu Grunde gelegt, wie bei der Schadensberechnung im Kampfsystem des RPG-Makers.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher Schaden erhalten soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Schaden erhält.

Parameter: Angriff

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Angriffspunkte für die Schadensberechnung. Diese sollten im Bereich von 0 bis 999 liegen.

Parameter: Verteidigung

Datentyp: | dword
Optional: | nein
Beschreibung: | Die prozentuale Wirkung der Verteidigungspunkte des Helden. Dieser Wert sollte im Bereich von 0 bis 100 liegen.

Parameter: Magie

Datentyp: | dword
Optional: | nein
Beschreibung: | Der prozentuale Magieschaden des Angriffs. Dieser Wert sollte im Bereich von 0 bis 100 liegen.

Parameter: Varianz

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Varianz (= Toleranz) für die Schadensberechnung. Dieser Wert sollte im Bereich von 0 bis 10 liegen.

Parameter: Ziel-Variable-Id

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Wertebereich: | >= 0
Beschreibung: | Die Variable-Id einer Variablen, in welcher der zugefügte Schadenswert abgelegt werden soll. Ist dieser Wert 0 oder nicht gesetzt, so wird der Schadenswert nicht gespeichert.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
// Dem ersten Helden ca. 50 Schadenspunkte zufügen
// (Verteidigung wirkt zu 25%, Angriff ist rein physisch, Varianz ist 5,
//  der Schadenswert wird nicht gespeichert)
Command.DealDamage(1, 50, 25, 0, 5);

// Der gesamten Party ca. 100 Schadenspunkte zufügen
// (Verteidigung wirkt zu 0%, Angriff ist zur Hälfte magisch, Varianz ist 3,
//  der Schadenswert wird in Variable 10 gespeichert)
Command.DealDamage(STATE_WHOLEPARTY, 100, 0, 50, 3, 10);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.FullRecovery()
< Zurück
Methode: Command.ClearTimer()
Weiter >
Methode: Command.DropEquipment()

Methode: Command.DealDamage()


Command.DropEquipment()

Methode: Command.DropEquipment()

Syntax

Command.DropEquipment(Actor-Id, Ausrüstungsart)

Beschreibung

Mit der DropEquipment-Methode kann ein Held entrüstet werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher entrüstet werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party entrüstet wird.

Parameter: Ausrüstungsart

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 5
Beschreibung: Die Art der Ausrüstung, die entrüstet werden soll. Hierzu werden die Ausrüstungskonstanten verwendet:
  • EQUIPMENT_ALL: Die gesamte Ausrüstung wird abgelegt.
  • EQUIPMENT_WEAPON: Die Waffe wird abgelegt.
  • EQUIPMENT_SHIELD: Der Schild wird abgelegt.
  • EQUIPMENT_ARMOR: Die Rüstung wird abgelegt.
  • EQUIPMENT_HELMET: Der Helm wird abgelegt.
  • EQUIPMENT_ACCESSORY: Das Accessoir wird abgelegt.
Nachdem der Held entrüstet wurde, bleibt das Item der Partie erhalten.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Den ersten Helden mit dem Item 18 (meist "Iron Sword") ausrüsten
Command.EquipItem(1, 18);

// Die gesamte Partie (= je Held) entwaffnen
Command.DropEquipment(STATE_WHOLEPARTY, EQUIPMENT_ARMOR);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.EquipItem()
< Zurück
Methode: Command.DealDamage()
Weiter >
Methode: Command.EnableEscape()

Methode: Command.DropEquipment()


Command.EnableEscape()

Methode: Command.EnableEscape()

Syntax

Command.EnableEscape(Aktiviert)

Beschreibung

Mit der EnableEscape-Methode kann die Flucht im Standardkampfsystem de-/aktiviert werden.

Liste der Parameter

Parameter: Aktiviert

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Gibt an, ob die Flucht im Standardkampfsystem aktiviert oder deaktiviert wird. Hierzu können die Aktivierungskonstanten verwendet werden:
  • DISABLE: Deaktiviert die Flucht im Standardkampfsystem
  • ENABLE: Aktiviert die Flucht im Standardkampfsystem
Statt einer dieser Konstanten kann auch einfach ein boole'scher Wert verwendet werden (false = deaktivieren, true = aktivieren).

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Verwendung der Flucht im Standardkampfsystem aktivieren Command.EnableEscape(ENABLE);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetEscapePlace()
< Zurück
Methode: Command.DropEquipment()
Weiter >
Methode: Command.EnableMenu()

Methode: Command.EnableEscape()


Command.EnableMenu()

Methode: Command.EnableMenu()

Syntax

Command.EnableMenu(Aktiviert)

Beschreibung

Mit der EnableMenu-Methode kann das Standardmenü de-/aktiviert werden.

Liste der Parameter

Parameter: Aktiviert

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Gibt an, ob das Standardmenü aktiviert oder deaktiviert wird. Hierzu können die Aktivierungskonstanten verwendet werden:
  • DISABLE: Deaktiviert das Standardmenü
  • ENABLE: Aktiviert das Standardmenü
Statt einer dieser Konstanten kann auch einfach ein boole'scher Wert verwendet werden (false = deaktivieren, true = aktivieren).

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das Standardmenü aktivieren Command.EnableMenu(ENABLE);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.CallMenu()
< Zurück
Methode: Command.EnableEscape()
Weiter >
Methode: Command.EnableSaveMenu()

Methode: Command.EnableMenu()


Command.EnableSaveMenu()

Methode: Command.EnableSaveMenu()

Syntax

Command.EnableSaveMenu(Aktiviert)

Beschreibung

Mit der EnableSaveMenu-Methode kann das Standard-Speichermenü de-/aktiviert werden.

Liste der Parameter

Parameter: Aktiviert

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Gibt an, ob das Standard-Speichermenü aktiviert oder deaktiviert wird. Hierzu können die Aktivierungskonstanten verwendet werden:
  • DISABLE: Deaktiviert das Standard-Speichermenü
  • ENABLE: Aktiviert das Standard-Speichermenü
Statt einer dieser Konstanten kann auch einfach ein boole'scher Wert verwendet werden (false = deaktivieren, true = aktivieren).

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das Standard-Speichermenü deaktivieren Command.EnableSaveMenu(DISABLE);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.CallSaveMenu()
< Zurück
Methode: Command.EnableMenu()
Weiter >
Methode: Command.EnableTeleport()

Methode: Command.EnableSaveMenu()


Command.EnableTeleport()

Methode: Command.EnableTeleport()

Syntax

Command.EnableTeleport(Aktiviert)

Beschreibung

Mit der EnableTeleport-Methode kann die Verwendung von Teleportationspunkten de-/aktiviert werden. Die Teleportationspunkte können mit Techniken vom Typ "Teleport" genutzt werden.

Liste der Parameter

Parameter: Aktiviert

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Gibt an, ob die Verwendung von Teleportationspunkten aktiviert oder deaktiviert wird. Hierzu können die Aktivierungskonstanten verwendet werden:
  • DISABLE: Deaktiviert die Verwendung von Teleportationspunkten
  • ENABLE: Aktiviert die Verwendung von Teleportationspunkten
Statt einer dieser Konstanten kann auch einfach ein boole'scher Wert verwendet werden (false = deaktivieren, true = aktivieren).

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Verwendung von Teleportationspunkten deaktivieren Command.EnableTeleport(DISABLE);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddTeleportPlace(), Command.RemoveTeleportPlace()
< Zurück
Methode: Command.EnableSaveMenu()
Weiter >
Methode: Command.EnterHeroName()

Methode: Command.EnableTeleport()


Command.EnterHeroName()

Methode: Command.EnterHeroName()

Syntax

Command.EnterHeroName(Actor-Id, Eintragsseite, Aktuellen Namen anzeigen?)

Beschreibung

Mit der EnterHeroName-Methode kann der Spieler dazu aufgefordert werden einem Helden einen neuen Namen zu geben.
Information:
Um diese Funktion sinnvoll zu nutzen, muss die EnterHeroName-Funktion der RPG_RT erst repariert werden. Dies kann über den DestinyPatcher gemacht werden.
Information:
Die zur-Auswahl-stehenden Zeichen der "Hiragana"- und "Katakana"-Seite können per DestinyPatcher verändert werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor.Count
Beschreibung: | Die Id des umzubenennenden Helden. Dieser Wert muss eine gültige Actor-Id sein und sollte im Bereich von 1 bis Actor.Count liegen.

Parameter: Eintragsseite

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Die standardmäßig angezeigte Eingabeseite.
Hierzu werden die Eintragsseiten-Konstanten verwendet:
  • ENTRYPAGE_HIRAGANA: Die "Hiragana"-Seite wird standardmäßig angeboten.
  • ENTRYPAGE_KATAKANA: Die "Katakana"-Seite wird standardmäßig angeboten.

Parameter: Aktuellen Namen anzeigen?

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob der aktuelle Name angezeigt wird.
  • False: Die Eingabe ist standardmäßig leer.
  • True: Die Eingabe ist standardmäßig mit dem aktuellen Namen des Helden befüllt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Den Namen des ersten Helden vom Spieler eingeben lassen
// (Standardseite ist Hiragana und der Standardname wird nicht vorgeschlagen)
Command.EnterHeroName(1, ENTRYPAGE_HIRAGANA, false);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.EnableTeleport()
Weiter >
Methode: Command.EnterKey()

Methode: Command.EnterHeroName()


Command.EnterKey()

Methode: Command.EnterKey()

Syntax

Command.EnterKey(Variable-Id, Warten bis Taste gedrückt wurde, Richtungstasten, Auswahl, Abbrechen / Menü)

Beschreibung

Mit der EnterKey-Methode kann die aktuell gedrückte Taste aus einer Vorauswahl ermittelt werden.
Information:
Die Tasten werden mit dieser Methode gemäß der RPG_RT abgefragt. Daher können mehrere Tasten beispielsweise die Bedeutung "nach Rechts" haben. Die Tastenbelegung dieser Tasten kann mit dem DestinyPatcher in der RPG_RT geändert werden.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.
Information:
Die Tastenabfrage über die EnterKey-Methode ist ziemlich ungenau, da beispielsweise die Pfeiltasten nicht getrennt behandelt werden können. Um den Status einer einzelnen Taste genau zu bestimmten, sollte daher die GetKeyState-Methode des Keyboard-Objekts genutzt werden.

Liste der Parameter

Parameter: Variable-Id

Datentyp: dword
Optional: nein
Wertebereich: >= 1
Beschreibung: Die Variable-Id einer Variablen, in welcher die Tastennummer der gedrückten Taste abgelegt werden soll. Der Wert der Variable-Id muss größer/gleich 1 sein.
In dieser Variablen können am Ende folgende Werte stehen:
  • 0: Es ist keine Taste gedrückt (kommt nur vor, wenn "Warten bis Taste gedrückt wurde" false ist).
  • 1: Unten
  • 2: Links
  • 3: Rechts
  • 4: Oben
  • 5: Auswahl
  • 6: Abbrechen/Menü

Parameter: Warten bis Taste gedrückt wurde

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis eine Taste gedrückt wurde.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Parameter: Richtungstasten

Datentyp: | bool
Optional: | nein
Beschreibung: | Gibt an, ob Richtungstasten geprüft werden.

Parameter: Auswahl

Datentyp: | bool
Optional: | nein
Beschreibung: | Gibt an, ob die Auswahltaste geprüft wird.

Parameter: Abbrechen / Menü

Datentyp: | bool
Optional: | nein
Beschreibung: | Gibt an, ob die Abbrechen-/Menütaste geprüft wird.

Beispiel

Folgendes Beispiel muss alleine in einem RPG-Maker Kommentar stehen, damit keine anderen Command-Methoden die Wartezeit überschreiben (und somit die Wartezeit abgearbeitet wird):

In die Zwischenablage kopieren
1 2 3
$ // Die zuletzt gedrückte Taste ermitteln und in v[1] speichern (Auswahl: Pfeiltasten, Auswahl; es wird gewartet bis eine Taste gedrückt wurde) Command.EnterKey(1, true, true, true, false);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Keyboard, Keyboard.GetKeyState()
< Zurück
Methode: Command.EnterHeroName()
Weiter >
Methode: Command.EnterLeaveVehicle()

Methode: Command.EnterKey()


Command.EnterLeaveVehicle()

Methode: Command.EnterLeaveVehicle()

Syntax

Command.EnterLeaveVehicle()

Beschreibung

Mit der EnterLeaveVehicle-Methode kann der Held das nächstgelegene Fahrzeug betreten, bzw. das aktuell befahrene Fahrzeug verlassen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Das Luftschiff an die selbe Position wie den Helden platzieren
Command.SetVehiclePlace(AIRSHIP, Map.Id, Map.HeroX, Map.HeroY);

// Den Helden das nächstgelegene Fahrzeug (also das Luftschiff) betreten lassen
Command.EnterLeaveVehicle();

Siehe auch

Command, Command.SetVehiclePlace(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.EnterKey()
Weiter >
Methode: Command.EquipItem()

Methode: Command.EnterLeaveVehicle()


Command.EquipItem()

Methode: Command.EquipItem()

Syntax

Command.EquipItem(Actor-Id, Item-Id)

Beschreibung

Mit der EquipItem-Methode kann ein Held mit einem Ausrüstungsgegenstand ausgerüstet werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher mit der Ausrüstung ausgerüstet werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party mit dieser Ausrüstung ausgerüstet wird.

Parameter: Item-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Item.Count
Beschreibung: | Die Item-Id des Ausrüstungsgegenstandes, mit welchem der Held ausgerüstet werden soll. Besitzt die Partie dieses Item nicht, so wird es zur Partie hinzugefügt. Ist der Held bereits mit einem Item der gleichen Art ausgerüstet, so wird jenes Item abgerüstet, ohne es dabei zu verwerfen. Die Item-Id muss im Bereich von 1 bis Item.Count liegen und ein gültiger Rüstungsgegenstand sein.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Den ersten Helden mit dem Item 18 (meist "Iron Sword") ausrüsten
Command.EquipItem(1, 18);

// Die gesamte Partie (= je Held) entwaffnen
Command.DropEquipment(STATE_WHOLEPARTY, EQUIPMENT_ARMOR);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.DropEquipment()
< Zurück
Methode: Command.EnterLeaveVehicle()
Weiter >
Methode: Command.ErasePicture()

Methode: Command.EquipItem()


Command.ErasePicture()

Methode: Command.ErasePicture()

Syntax

Command.ErasePicture(Picture-Id)

Beschreibung

Mit der ErasePicture-Methode kann ein Picture gelöscht werden.
Information:
Beim Löschen eines Pictures wird das AuroraSheet gelöscht.

Liste der Parameter

Parameter: Picture-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Picture.Count
Beschreibung: | Die Picture-Id des zu löschenden Pictures. Dieser Wert muss eine gültige Picture-Id sein und liegt daher im Bereich von 1 bis Picture.Count.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die RTP-Wolkengrafik als Picture 1 laden und in der Mitte des Bildschirms anzeigen
Command.ShowPicture(1, "CLOUD", 160, 120);
// Das Picture direkt wieder löschen
Command.ErasePicture(1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.ShowPicture(), Command.MovePicture(), Picture
< Zurück
Methode: Command.EquipItem()
Weiter >
Methode: Command.EraseScreen()

Methode: Command.ErasePicture()


Command.EraseScreen()

Methode: Command.EraseScreen()

Syntax

Command.EraseScreen(Transition)

Beschreibung

Mit der EraseScreen-Methode kann der Bildschirm über Schwarz ausgeblendet ("gelöscht") werden.

Liste der Parameter

Parameter: Transition

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 19
Beschreibung: Die zu verwendende Transition (vom Typ Erase).
Hierzu werden die Erase-Konstanten verwendet:
  • ERASE_FADEOUT: Der Bildschirm wird ausgeblendet
  • ERASE_RANDOMBLOCKS: Der Bildschirm füllt sich zufällig mit Blöcken
  • ERASE_RANDOMBLOCKSUP: Der Bildschirm füllt sich zufällig mit Blöcken von unten nach oben
  • ERASE_RANDOMBLOCKSDOWN: Der Bildschirm füllt sich zufällig mit Blöcken von oben nach unten
  • ERASE_BLINDCLOSE: Der Bildschirm füllt sich mit horizontalen Strichen
  • ERASE_STRIPEUPDOWN: Der Bildschirm wird von oben und unten gleichzeitig mit je einem schwarzen Balken gefüllt
  • ERASE_STRIPELEFTRIGHT: Der Bildschirm wird von links und rechts gleichzeitig mit je einem schwarzen Balken gefüllt
  • ERASE_OUTSIDEINSIDE: Der Bildschirm füllt sich in Form eines Rechtecks von außen nach innen
  • ERASE_INSIDEOUTSIDE: Der Bildschirm füllt sich in Form eines Rechtecks von innen nach außen
  • ERASE_SCROLLUP: Der Bildschirm wird nach oben herausgeschoben
  • ERASE_SCROLLDOWN: Der Bildschirm wird nach unten herausgeschoben
  • ERASE_SCROLLLEFT: Der Bildschirm wird nach links herausgeschoben
  • ERASE_SCROLLRIGHT: Der Bildschirm wird nach rechts herausgeschoben
  • ERASE_DIVISIONUPDOWN: Der Bildschirm teilt sich horizontal in der Mitte und die obere und untere Hälfte bewegen sich gleichzeitig auseinander
  • ERASE_DIVISIONLEFTRIGHT: Der Bildschirm teilt sich vertikal in der Mitte und die linke und rechte Hälfte bewegen sich gleichzeitig auseinander
  • ERASE_DIVISION: Der Bildschirm teilt sich horizontal und vertikal in der Mitte und die vier Rechtecke bewegen sich gleichzeitig in Richtung ihrer Bildschirmecke
  • ERASE_ZOOMIN: Der Bildschirm wird in Richtung des Helden stark vergrößert
  • ERASE_MOSAIC: Der Bildschirm wird über ein immer gröber werdendes Mosaik ausgeblendet
  • ERASE_ROSTERSCROLL: Der Bildschirm verschwimmt wellenförmig
  • ERASE_INSTANT: Der Bildschirm ist sofort ohne Übergang schwarz

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den Bildschirm von Außen nach Innen löschen
Command.EraseScreen(ERASE_OUTSIDEINSIDE);
// Den Helden in die untere rechte Ecke teleportieren
Command.Teleport(Map.Id, Map.Width - 1, Map.Height - 1);
// Den Bildschirm von Innen nach Außen anzeigen
Command.ShowScreen(SHOW_INSIDEOUTSIDE);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.Teleport(), Command.ShowScreen(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.ErasePicture()
Weiter >
Methode: Command.FadeOutMusic()

Methode: Command.EraseScreen()


Command.FadeOutMusic()

Methode: Command.FadeOutMusic()

Syntax

Command.FadeOutMusic(Fade-Out-Zeit)

Beschreibung

Mit der FadeOutMusic-Methode kann die Hintergrundmusik ausgeblendet werden.

Liste der Parameter

Parameter: Fade-Out-Zeit

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Fade-Out-Zeit der Musik in Millisekunden. (Bei dem Wert 1000 ist das Lied erst nach einer Sekunde stumm, bei 2000 erst nach zwei Sekunden, usw.)

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Hintergrundmusik "ANGER" abspielen
Command.PlayMusic("ANGER");
// Die Hintergrundmusik in einer Sekunde ausblenden
Command.FadeOutMusic(1000);

Siehe auch

Command, Command.PlayMusic(), Command.StopMusic()
< Zurück
Methode: Command.EraseScreen()
Weiter >
Methode: Command.FixScreen()

Methode: Command.FadeOutMusic()


Command.FixScreen()

Methode: Command.FixScreen()

Syntax

Command.FixScreen()

Beschreibung

Mit der FixScreen-Methode wird der Bildschirm an der aktuellen Position fixiert und folgt somit nicht mehr dem Helden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Den Bildschirm an der aktuellen Position fixieren
Command.FixScreen();

// ...

// Die Fixierung des Bildschirms aufheben
Command.ReleaseScreen();

Siehe auch

Command, Command.ReleaseScreen()
< Zurück
Methode: Command.FadeOutMusic()
Weiter >
Methode: Command.FlashEvent()

Methode: Command.FixScreen()


Command.FlashEvent()

Methode: Command.FlashEvent()

Syntax

Command.FlashEvent(Event-Id, Rot, Grün, Blau, Stärke, Dauer, Warten)

Beschreibung

Mit der FlashEvent-Methode kann ein Event in einer bestimmten Farbe aufblitzen.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.
Information:
Der Wert der hier jeweils mit 0 ... 31 angegeben ist, lässt sich durch eine Multiplikation mit dem Faktor 8 annähernd in den Bereich des verwendeten RGB-Farbanteils umrechnen (bzw. umgekehrt mit einer Division). Um z. B. grau darzustellen (#C0C0C0, bzw. 192 rot - 192 grün - 192 blau), muss man hier jeweils den Wert (192 / 8) = 24 für Rot, Grün und Blau einstellen.

Liste der Parameter

Parameter: Event-Id

Datentyp: dword
Optional: nein
Wertebereich: >= 1
Beschreibung: Die Event-Id des entsprechenden Events, das aufgeblitzen soll. Dieser Wert muss eine gültige Event-Id oder ein Spezial-Event sein.
Hier können auch die Konstanten der Spezial-Events genutzt werden:
  • HERO: Das Helden-Event
  • BOAT: Das Boot-Event
  • SHIP: Das Schiff-Event
  • AIRSHIP: Das Luftschiff-Event
  • THIS: Das aktuelle Event

Parameter: Rot

Datentyp: dword
Optional: nein
Beschreibung: Der Rotanteil der Farbe während der Aufblitzung. Dieser Wert sollte im Bereich von 0 bis 31 liegen. Bei größeren/kleineren Werten treten lustige Grafikfehler auf.
  • Der Wert 0 bedeutet, dass der Rotanteil der Farbe nicht verwendet wird (entspricht 0 im RGB-System).
  • Der Wert 31 bedeutet, dass der Rotanteil der Farbe voll verwendet wird (entspricht annähernd 255 im RGB-System).

Parameter: Grün

Datentyp: dword
Optional: nein
Beschreibung: Der Grünanteil der Farbe während der Aufblitzung. Dieser Wert sollte im Bereich von 0 bis 31 liegen. Bei größeren/kleineren Werten treten lustige Grafikfehler auf.
  • Der Wert 0 bedeutet, dass der Grünanteil der Farbe nicht verwendet wird (entspricht 0 im RGB-System).
  • Der Wert 31 bedeutet, dass der Grünanteil der Farbe voll verwendet wird (entspricht annähernd 255 im RGB-System).

Parameter: Blau

Datentyp: dword
Optional: nein
Beschreibung: Der Blauanteil der Farbe während der Aufblitzung. Dieser Wert sollte im Bereich von 0 bis 31 liegen. Bei größeren/kleineren Werten treten lustige Grafikfehler auf.
  • Der Wert 0 bedeutet, dass der Blauanteil der Farbe nicht verwendet wird (entspricht 0 im RGB-System).
  • Der Wert 31 bedeutet, dass der Blauanteil der Farbe voll verwendet wird (entspricht annähernd 255 im RGB-System).

Parameter: Stärke

Datentyp: dword
Optional: nein
Beschreibung: Die Stärke der Aufblitzung. Dies entspricht der höchsten Opazität (entspricht hier der Farbundurchlässigkeit) während des Aufblitzens. Dieser Wert sollte im Bereich von 0 bis 31 liegen. Bei größeren/kleineren Werten treten lustige Grafikfehler auf.
  • Der Wert 0 bedeutet, dass die Farbe während des Aufblitzens nicht dargestellt wird.
  • Der Wert 16 bedeutet, dass die Farbe während des Aufblitzens am Stärksten annähernd halbtransparent dargestellt wird.
  • Der Wert 31 bedeutet, dass die Farbe während des Aufblitzens am Stärksten nicht transparent dargestellt wird.

Parameter: Dauer

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Dauer in Dezisekunden (zehntel Sekunden) bis die Farbänderung vollzogen ist.

Parameter: Warten

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis die angegebene Dauer abgelaufen ist.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Beispiel

Folgendes Beispiel muss alleine in einem RPG-Maker Kommentar stehen, damit keine anderen Command-Methoden die Wartezeit überschreiben (und somit die Wartezeit abgearbeitet wird):

In die Zwischenablage kopieren
1 2 3
$ // Den Helden grün aufblitzen lassen (keine Transparenz im Maximum; Dauer 1 Sekunde, Warten) Command.FlashEvent(HERO, 0, 31, 0, 31, 10, true);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.FixScreen()
Weiter >
Methode: Command.FlashScreen()

Methode: Command.FlashEvent()


Command.FlashScreen()

Methode: Command.FlashScreen()

Syntax

Command.FlashScreen(Rot, Grün, Blau, Stärke, Dauer, Warten)

Beschreibung

Mit der FlashScreen-Methode kann der Bildschirm in einer bestimmten Farbe aufblitzen.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.
Information:
Der Wert der hier jeweils mit 0 ... 31 angegeben ist, lässt sich durch eine Multiplikation mit dem Faktor 8 annähernd in den Bereich des verwendeten RGB-Farbanteils umrechnen (bzw. umgekehrt mit einer Division). Um z. B. grau darzustellen (#C0C0C0, bzw. 192 rot - 192 grün - 192 blau), muss man hier jeweils den Wert (192 / 8) = 24 für Rot, Grün und Blau einstellen.

Liste der Parameter

Parameter: Rot

Datentyp: dword
Optional: nein
Beschreibung: Der Rotanteil der Farbe während der Aufblitzung. Dieser Wert sollte im Bereich von 0 bis 31 liegen. Bei größeren/kleineren Werten treten lustige Grafikfehler auf.
  • Der Wert 0 bedeutet, dass der Rotanteil der Farbe nicht verwendet wird (entspricht 0 im RGB-System).
  • Der Wert 31 bedeutet, dass der Rotanteil der Farbe voll verwendet wird (entspricht annähernd 255 im RGB-System).

Parameter: Grün

Datentyp: dword
Optional: nein
Beschreibung: Der Grünanteil der Farbe während der Aufblitzung. Dieser Wert sollte im Bereich von 0 bis 31 liegen. Bei größeren/kleineren Werten treten lustige Grafikfehler auf.
  • Der Wert 0 bedeutet, dass der Grünanteil der Farbe nicht verwendet wird (entspricht 0 im RGB-System).
  • Der Wert 31 bedeutet, dass der Grünanteil der Farbe voll verwendet wird (entspricht annähernd 255 im RGB-System).

Parameter: Blau

Datentyp: dword
Optional: nein
Beschreibung: Der Blauanteil der Farbe während der Aufblitzung. Dieser Wert sollte im Bereich von 0 bis 31 liegen. Bei größeren/kleineren Werten treten lustige Grafikfehler auf.
  • Der Wert 0 bedeutet, dass der Blauanteil der Farbe nicht verwendet wird (entspricht 0 im RGB-System).
  • Der Wert 31 bedeutet, dass der Blauanteil der Farbe voll verwendet wird (entspricht annähernd 255 im RGB-System).

Parameter: Stärke

Datentyp: dword
Optional: nein
Beschreibung: Die Stärke der Aufblitzung. Dies entspricht der höchsten Opazität (entspricht hier der Farbundurchlässigkeit) während des Aufblitzens. Dieser Wert sollte im Bereich von 0 bis 31 liegen. Bei größeren/kleineren Werten treten lustige Grafikfehler auf.
  • Der Wert 0 bedeutet, dass die Farbe während des Aufblitzens nicht dargestellt wird.
  • Der Wert 16 bedeutet, dass die Farbe während des Aufblitzens am Stärksten annähernd halbtransparent dargestellt wird.
  • Der Wert 31 bedeutet, dass die Farbe während des Aufblitzens am Stärksten nicht transparent dargestellt wird.

Parameter: Dauer

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Dauer in Dezisekunden (zehntel Sekunden) bis die Farbänderung vollzogen ist.

Parameter: Warten

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis die angegebene Dauer abgelaufen ist.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Beispiel

Folgendes Beispiel muss alleine in einem RPG-Maker Kommentar stehen, damit keine anderen Command-Methoden die Wartezeit überschreiben (und somit die Wartezeit abgearbeitet wird):

In die Zwischenablage kopieren
1 2 3
$ // Den Bildschirm rot aufblitzen lassen (keine Transparenz im Maximum; Dauer 1 Sekunde, Warten) Command.FlashScreen(31, 0, 0, 31, 10, true);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.FlashEvent()
Weiter >
Methode: Command.FullRecovery()

Methode: Command.FlashScreen()


Command.FullRecovery()

Methode: Command.FullRecovery()

Syntax

Command.FullRecovery(Actor-Id)

Beschreibung

Mit der FullRecovery-Methode kann ein Held komplett geheilt werden. Hierbei werden die Lebenspunkte und Magiepunkte auf das jeweilige Maximum gesetzt. Außerdem werden alle Konditionen geheilt.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher komplett geheilt geheilt werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party geheilt wird.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die gesamte Partie heilen Command.FullRecovery(STATE_WHOLEPARTY);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.DealDamage()
< Zurück
Methode: Command.FlashScreen()
Weiter >
Methode: Command.GameOver()

Methode: Command.FullRecovery()


Command.GameOver()

Methode: Command.GameOver()

Syntax

Command.GameOver()

Beschreibung

Mit der GameOver-Methode kann der aktuelle Spiellauf über den GameOver-Bildschirm beendet werden. Der Spiellauf umgehend beendet und das Spiel in den GameOver-Modus versetzt; das DestinyScript läuft aber noch weiter. Nach dem GameOver-Bildschirm kommt normalerweise der Titelbildschirm, von wo an der Spieler ein neues Spiel starten kann.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den aktuellen Spiellauf über den GameOver-Bildschirm beenden Command.GameOver();

Siehe auch

Command, Command.TitleScreen()
< Zurück
Methode: Command.FullRecovery()
Weiter >
Methode: Command.GetEventId()

Methode: Command.GameOver()


Command.GetEventId()

Methode: Command.GetEventId()

Syntax

Command.GetEventId(Variablen-Id, X, Y)

Beschreibung

Mit der GetEventId-Methode kann die Event-Id eines Events an einer bestimmten Position auf der Karte ermittelt werden.

Liste der Parameter

Parameter: Variablen-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variablen-Id der Variable, in der die Event-Id gespeichert werden soll. Dieser Wert muss größer/gleich 1 sein.

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Map.Width - 1
Beschreibung: | Die X-Koordinate an der sich das Event befinden muss. Dieser Wert sollte im Bereich von 0 ... Map.Width - 1 liegen.

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Map.Height - 1
Beschreibung: | Die Y-Koordinate an der sich das Event befinden muss. Dieser Wert sollte im Bereich von 0 ... Map.Height - 1 liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Event-Id des Events in der oberen linken Ecke ermitteln und das Ergebnis in der ersten Variablen speichern Command.GetEventId(1, 0, 0);

Sonstiges

Der folgende Code ist mit dem oberen Code gleichgültig, verwendet aber das MapEvent[]-Objekt zur Suche.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Event-Id des Events in der oberen linken Ecke ermitteln und das Ergebnis in der ersten Variablen speichern
v[1] = 0;
for(d[1] = 0; d[1] < MapEvent.Count; d[1]++)
  if(MapEvent[d[1]].X == 0 && MapEvent[d[1]].Y == 0)
    v[1] = d[1];
    break;
  endif;
next;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, MapEvent, Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.GameOver()
Weiter >
Methode: Command.GetTerrainId()

Methode: Command.GetEventId()


Command.GetTerrainId()

Methode: Command.GetTerrainId()

Syntax

Command.GetTerrainId(Variablen-Id, X, Y)

Beschreibung

Mit der GetTerrainId-Methode kann die Terrain-Id eines Feldes auf der Karte ermittelt werden.

Liste der Parameter

Parameter: Variablen-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variablen-Id der Variable, in der die Terrain-Id gespeichert werden soll. Dieser Wert muss größer/gleich 1 sein.

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Map.Width - 1
Beschreibung: | Die X-Koordinate des abzufragenden Feldes. Dieser Wert sollte im Bereich von 0 ... Map.Width - 1 liegen.

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Map.Height - 1
Beschreibung: | Die Y-Koordinate des abzufragenden Feldes. Dieser Wert sollte im Bereich von 0 ... Map.Height - 1 liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Terrain-Id des Feldes in der oberen linken Ecke ermitteln und das Ergebnis in der ersten Variablen speichern Command.GetTerrainId(1, 0, 0);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Map.Id, Map.HeroX, Map.HeroY, Map.Lower[], Map.Upper[]
< Zurück
Methode: Command.GetEventId()
Weiter >
Methode: Command.GoToLabel()

Methode: Command.GetTerrainId()


Command.GoToLabel()

Methode: Command.GoToLabel()

Syntax

Command.GoToLabel(Sprungmarken-Nr)

Beschreibung

Mit der GoToLabel-Methode kann der Befehlszeiger des aktuellen Events zu bestimmten Sprungmarke springen. Der Effekt macht sich erst am Ende des DestinyScripts bemerkbar.
Information:
Die verwendete Sprungmarke muss im EventScript (per RPG-Maker) definiert sein.
Existiert die angegebene Sprungmarke nicht, so tritt seitens der RPG_RT.exe (1.0.7) kein Fehler auf. Allerdings muss dies kein definiertes Verhalten sein.

Liste der Parameter

Parameter: Sprungmarken-Nr

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Nummer der Sprungmarke. Diese sollte im aktuellen EventScript existieren.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Springt zur ersten Sprungmarke im aktuellen EventScript Command.GoToLabel(1);

Siehe auch

Command
< Zurück
Methode: Command.GetTerrainId()
Weiter >
Methode: Command.GoToMemorizedPlace()

Methode: Command.GoToLabel()


Command.GoToMemorizedPlace()

Methode: Command.GoToMemorizedPlace()

Syntax

Command.GoToMemorizedPlace(Variable für Map-Id, Variable für X, Variable für Y)

Beschreibung

Mit der GoToMemorizedPlace-Methode kann der Held über Variablen an eine bestimmte Position teleportiert werden.
Information:
Die Variablenwerte müssen unbedingt gültig sein, da die RPG_RT sonst abstürzt.

Liste der Parameter

Parameter: Variable für Map-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der Variablen, aus welcher die Map-Id geladen werden soll. Dieser Wert muss eine gültige Variable-Id sein und muss größer/gleich 1 sein. Der Wert innerhalb der Variablen muss eine gültige Map-Id sein, da sonst das Spiel abstürzt.

Parameter: Variable für X

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der Variablen, aus welcher die X-Koordinate geladen werden soll. Dieser Wert muss eine gültige Variable-Id sein und muss größer/gleich 1 sein.

Parameter: Variable für Y

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der Variablen, aus welcher die Y-Koordinate geladen werden soll. Dieser Wert muss eine gültige Variable-Id sein und muss größer/gleich 1 sein.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Koordinaten für dieses Beispiel setzen
v[1] = Map.Id;
v[2] = 0;
v[3] = 0;

// Den Helden in die obere linke Ecke der aktuellen Karte teleportieren
Command.GoToMemorizedPlace(1, 2, 3);

Sonstiges

Man kann hierzu auch die Teleport()-Methode nutzen.

In die Zwischenablage kopieren
1 2 3
$ // Den Helden in die obere linke Ecke der aktuellen Karte teleportieren Command.GoToMemorizedPlace(Map.Id, 0, 0);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.Teleport(), Command.MemorizePlace(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.GoToLabel()
Weiter >
Methode: Command.MemorizeMusic()

Methode: Command.GoToMemorizedPlace()


Command.MemorizeMusic()

Methode: Command.MemorizeMusic()

Syntax

Command.MemorizeMusic()

Beschreibung

Mit der MemorizeMusic-Methode kann die aktuelle Hintergrundmusik zwischengespeichert werden. Später kann die zwischengespeicherte Hintergrundmusik über die PlayMemorizedMusic-Methode wieder abgespielt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Hintergrundmusik "ANGER" abspielen
Command.PlayMusic("ANGER");
// Die aktuellen Hintergrundmusikeinstellungen zwischenspeichern
Command.MemorizeMusic();
// Die aktuelle Hintergrundmusik stoppen
Command.StopMusic();
// Die zuvor zwischengespeicherte Hintergrundmusik wieder abspielen
Command.PlayMemorizedMusic();

Siehe auch

Command, Command.PlayMusic(), Command.StopMusic(), Command.PlayMemorizedMusic()
< Zurück
Methode: Command.GoToMemorizedPlace()
Weiter >
Methode: Command.MemorizePlace()

Methode: Command.MemorizeMusic()


Command.MemorizePlace()

Methode: Command.MemorizePlace()

Syntax

Command.MemorizePlace(Variable für Map-Id, Variable für X, Variable für Y)

Beschreibung

Mit der MemorizePlace-Methode können die aktuellen Koordinaten des Helden in Variablen gespeichert werden.

Liste der Parameter

Parameter: Variable für Map-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der Variablen, in welcher die Map-Id gespeichert werden soll. Dieser Wert muss eine gültige Variable-Id sein und muss größer/gleich 1 sein.

Parameter: Variable für X

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der Variablen, in welcher die X-Koordinate gespeichert werden soll. Dieser Wert muss eine gültige Variable-Id sein und muss größer/gleich 1 sein.

Parameter: Variable für Y

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Variable-Id der Variablen, in welcher die Y-Koordinate gespeichert werden soll. Dieser Wert muss eine gültige Variable-Id sein und muss größer/gleich 1 sein.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die aktuellen Koordinaten des Helden in den Variablen 1 bis 3 speichern Command.MemorizePlace(1, 2, 3);

Sonstiges

Man kann hierzu auch das Map-Objekt nutzen.

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die aktuellen Koordinaten des Helden in den Variablen 1 bis 3 speichern
v[1] = Map.Id;
v[2] = Map.HeroX;
v[3] = Map.HeroY;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.Teleport(), Command.GoToMemorizedPlace(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.MemorizeMusic()
Weiter >
Methode: Command.MoveAll()

Methode: Command.MemorizePlace()


Command.MoveAll()

Methode: Command.MoveAll()

Syntax

Command.MoveAll()

Beschreibung

Mit der MoveAll-Methode wird gewartet, bis alle auszuführenden Bewegungsschritte abgearbeitet sind. Die Bewegungsschritte müssen in einem MoveEvent-Befehl (EventScript) vorher ausgeführt werden.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.

Beispiel

Folgendes Beispiel muss alleine in einem RPG-Maker Kommentar stehen, damit keine anderen Command-Methoden die Wartezeit überschreiben (und somit die Wartezeit abgearbeitet wird); außerdem muss vorher ein MoveEvent-Befehl (EventScript) ausgeführt worden sein, damit man etwas bemerkt:

In die Zwischenablage kopieren
1 2 3
$ // Wartet darauf, dass zuvor angegebene MoveEvent-Befehle (EventScript) abgearbeitet sind Command.MoveAll();

Siehe auch

Command, Command.MoveEvent(), Command.StopAll()
< Zurück
Methode: Command.MemorizePlace()
Weiter >
Methode: Command.MoveEvent()

Methode: Command.MoveAll()


Command.MoveEvent()

Methode: Command.MoveEvent()

Syntax

Command.MoveEvent(Event-Id, Schritt, [Frequenz, [Bewegungen wiederholen, [Ignorieren falls Bewegung unmöglich]]])

Beschreibung

Mit der MoveEvent-Methode kann ein Event um genau einen Schritt bewegt werden. Dieser Schritt ersetzt die zuvor festgelegte Liste eines MoveEvent-Befehls (EventScript).
Information:
Die Bewegung wird erst nach dem DestinyScript ausgeführt und kann durch weitere Aufrufe von Command.MoveEvent() ersetzt werden.
Information:
Da es derzeit nicht möglich ist mehr als einen Schritt bei dem MoveEvent-Befehl anzugeben, empfiehlt es sich für mehrere Schritte den MoveEvent-Befehl des EventScripts zu nutzen.

Liste der Parameter

Parameter: Event-Id

Datentyp: dword
Optional: nein
Wertebereich: gültige Event-Id
Beschreibung: Die Event-Id des zu bewegenden Events. Dieser Wert muss eine gültige Event-Id oder ein Spezial-Event sein.
Hier können auch die Konstanten der Spezial-Events genutzt werden:
  • HERO: Das Helden-Event
  • BOAT: Das Boot-Event
  • SHIP: Das Schiff-Event
  • AIRSHIP: Das Luftschiff-Event
  • THIS: Das aktuelle Event

Parameter: Schritt

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 31; 36 ... 41
Beschreibung: Der auszuführende Schritt. Hier werden die MoveCommand-Konstanten genutzt:
  • MC_STEPUP: Ein Schritt nach oben
  • MC_STEPRIGHT: Ein Schritt nach rechts
  • MC_STEPDOWN: Ein Schritt nach unten
  • MC_STEPLEFT: Ein Schritt nach links
  • MC_STEPRIGHTUP: Ein Schritt nach rechts-oben
  • MC_STEPRIGHTDOWN: Ein Schritt nach rechts-unten
  • MC_STEPLEFTDOWN: Ein Schritt nach links-unten
  • MC_STEPLEFTUP: Ein Schritt nach rechts-oben
  • MC_STEPRANDOM: Ein Schritt in eine zufällige Richtung
  • MC_STEPTOWARDHERO: Ein Schritt in Richtung Held
  • MC_STEPAWAYFROMHERO: Ein Schritt weg vom Helden
  • MC_STEPFORWARD: Ein Schritt in die aktuelle Blickrichtung
  • MC_LOOKUP: Nach oben gucken
  • MC_LOOKRIGHT: Nach rechts gucken
  • MC_LOOKDOWN: Nach unten gucken
  • MC_LOOKLEFT: Nach links gucken
  • MC_TURNRIGHT: Um 90° nach rechts drehen
  • MC_TURNLEFT: Um 90° nach links drehen
  • MC_TURN180: Um 180° drehen
  • MC_RIGHTLEFTTURN: Zufällig um 90° nach links oder rechts drehen
  • MC_LOOKRANDOM: In eine zufällige Richtung gucken
  • MC_LOOKTOWARDHERO: Zum Helden hingucken
  • MC_LOOKAWAYFROMHERO: Vom Helden weggucken
  • MC_WAIT: Kurz Warten
  • MC_STARTJUMPING: Springen starten
  • MC_STOPJUMPING: Springen beenden
  • MC_FIXDIRECTION: Blickrichtung fixieren
  • MC_RELEASEDIRECTION: Blickrichtung freigeben
  • MC_INCREASESPEED: Bewegungsgeschwindigkeit erhöhen
  • MC_DECREASESPEED: Bewegungsgeschwindigkeit verringern
  • MC_INCREASEFREQUENCY: Bewegungsfrequenz erhöhen
  • MC_DECREASEFREQUENCY: Bewegungsfrequenz verringern
  • MC_STARTPHASING: Kollisionsfreie Bewegung aktivieren
  • MC_STOPPHASING: Kollisionsfreie Bewegung deaktivieren
  • MC_FIXANIMATION: Bewegungsanimation deaktivieren
  • MC_RELEASEANIMATION: Bewegungsanimation aktivieren
  • MC_INCREASETRANSPARENCY: Transparenz erhöhen
  • MC_DECREASETRANSPARENCY: Transparenz verringern
Die Konstanten MC_SETSWITCHON, MC_SETSWITCHOFF, MC_SETCHAR und MC_PLAYSOUND dürfen hier aus technischen Gründen nicht verwendet werden.

Parameter: Frequenz

Datentyp: | dword
Optional: | ja
Standardwert: | 8
Wertebereich: | 1...8
Beschreibung: | Die Bewegungsfrequenz, mit der die Bewegungsschritte abgearbeitet werden. Dieser Wert muss im Bereich von 1 bis 8 liegen.

Parameter: Bewegungen wiederholen

Datentyp: bool
Optional: ja
Standardwert: false
Beschreibung: Gibt an, ob die Bewegungen in einer Schleife wiederholt werden, bis ein neuer MoveCommand-Befehl abgesetzt wird.
  • False: Die Bewegungen werden nicht wiederholt.
  • True: Die Bewegungen werden wiederholt.

Parameter: Ignorieren falls Bewegung unmöglich

Datentyp: bool
Optional: ja
Standardwert: true
Beschreibung: Gibt an, ob es ignoriert wird, wenn eine angegebene Bewegung nicht möglich ist.
  • False: Es wird gewartet bis die Bewegung möglich ist. Achtung: Dies kann dazu führen, dass sich das jeweilige Event nicht mehr von selbst weiterbewegt.
  • True: Die Bewegung wird ausgeführt, sofern dies möglich ist. Ist es nicht möglich, dann wird die Bewegung verworfen.

Beispiel

Folgendes Beispiel muss alleine in einem RPG-Maker Kommentar stehen, damit keine anderen Command-Methoden die Wartezeit überschreiben (und somit die Wartezeit abgearbeitet wird); außerdem muss vorher ein MoveEvent-Befehl (EventScript) ausgeführt worden sein, damit man etwas bemerkt:

In die Zwischenablage kopieren
1 2 3
$ // Bewegt den Helden um 1 Schritt nach oben. Command.MoveEvent(HERO, MC_STEPUP);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.MoveAll(), Command.StopAll(), Event[].MoveRoute
< Zurück
Methode: Command.MoveAll()
Weiter >
Methode: Command.MovePicture()

Methode: Command.MoveEvent()


Command.MovePicture()

Methode: Command.MovePicture()

Syntax

Command.MovePicture(Picture-Id, X, Y, [Vergrößerung, [Transparenz, [Rot, [Grün, [Blau, [Chrominanz, [Aktion, [Aktionstärke, Dauer, Warten]]]]]]]])

Beschreibung

Mit der MovePicture-Methode kann ein Picture über den Bildschirm bewegt werden.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.

Liste der Parameter

Parameter: Picture-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Picture.Count
Beschreibung: | Die Picture-Id des bewegenden Pictures. Dieser Wert muss eine gültige Picture-Id sein und liegt daher im Bereich von 1 bis Picture.Count.

Parameter: X

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Ziel-X-Koordinate des Pictures. Diese bezieht sich auf den Mittelpunkt des Pictures.

Parameter: Y

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Ziel-Y-Koordinate des Pictures. Diese bezieht sich auf den Mittelpunkt des Pictures.

Parameter: Vergrößerung

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Wertebereich: | >= 1
Beschreibung: | Der Ziel-Vergrößerungsfaktor des Pictures in Prozent. Der Standardwert 100 besagt, dass das Picture normal dargestellt wird.

Parameter: Transparenz

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Die Ziel-Transparenz des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 100 liegen. Bei Werten größer als 100 treten lustige Berechnungsfehler auf.

Parameter: Rot

Datentyp: dword
Optional: ja
Standardwert: 100
Beschreibung: Die Ziel-Rotfärbung des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass das Picture die Farbe rot nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe rot normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Rottönen dargestellt wird.

Parameter: Grün

Datentyp: dword
Optional: ja
Standardwert: 100
Beschreibung: Die Ziel-Grünfärbung des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass das Picture die Farbe grün nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe grün normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Grüntönen dargestellt wird.

Parameter: Blau

Datentyp: dword
Optional: ja
Standardwert: 100
Beschreibung: Die Ziel-Blaufärbung des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass das Picture die Farbe blau nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe blau normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Blautönen dargestellt wird.

Parameter: Chrominanz

Datentyp: dword
Optional: ja
Standardwert: 100
Beschreibung: Die Ziel-Chrominanz (Farbsättigung) des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass das Picture farbentsättigt dargestellt wird.
  • Der Wert 100 bedeutet, dass das Picture normal dargestellt wird.
  • Der Wert 200 bedeutet, dass das Picture mit besonders großen Farbunterschieden dargestellt wird.

Parameter: Aktion

Datentyp: dword
Optional: ja
Standardwert: 0
Wertebereich: 0 ... 2
Beschreibung: Die Ziel-Aktion des Pictures. Hierzu werden die Aktionskonstanten verwendet:
  • ACTION_NONE: Das Picture führt keine Aktion durch.
  • ACTION_ROTATION: Das Picture rotiert um die eigene Achse.
  • ACTION_RIPPLE: Das Picture führt einen Wellen-Effekt durch.

Parameter: Aktionstärke

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Die Ziel-Aktionstärke des Pictures. Die Bedeutung dieses Wertes hängt von der gewählten Aktion des Pictures ab. Bei der Aktion ACTION_NONE wird der Wert dieses Parameters ignoriert.

Parameter: Dauer

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Dauer in Dezisekunden (zehntel Sekunden) bis die Bewegung vollzogen ist.

Parameter: Warten

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis die angegebene Dauer abgelaufen ist.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die RTP-Wolkengrafik als Picture 1 laden und in der Mitte des Bildschirms anzeigen
Command.ShowPicture(1, "CLOUD", 160, 120);
// Das Picture in einer Sekunde in die untere rechte Ecke des Bildschirms bewegen
Command.MovePicture(1, 320, 240, 100, 0, 100, 100, 100, 100, ACTION_NONE, 0, 10, true);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.ShowPicture(), Command.ErasePicture(), Picture
< Zurück
Methode: Command.MoveEvent()
Weiter >
Methode: Command.PlayMemorizedMusic()

Methode: Command.MovePicture()


Command.PlayMemorizedMusic()

Methode: Command.PlayMemorizedMusic()

Syntax

Command.PlayMemorizedMusic()

Beschreibung

Mit der PlayMemorizedMusic-Methode kann eine zuvor gespeicherte Hintergrundmusik abgespielt werden. Die Hintergrundmusik muss vorher über die MemorizeMusic-Methode zwischengespeichert worden sein. Wurde zuvor noch keine Musik über MemorizeMusic zwischengespeichert, so endet die Musik beim Aufruf dieser Methode einfach.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Hintergrundmusik "ANGER" abspielen
Command.PlayMusic("ANGER");
// Die aktuellen Hintergrundmusikeinstellungen zwischenspeichern
Command.MemorizeMusic();
// Die aktuelle Hintergrundmusik stoppen
Command.StopMusic();
// Die zuvor zwischengespeicherte Hintergrundmusik wieder abspielen
Command.PlayMemorizedMusic();

Siehe auch

Command, Command.PlayMusic(), Command.StopMusic(), Command.MemorizeMusic()
< Zurück
Methode: Command.MovePicture()
Weiter >
Methode: Command.PlayMovie()

Methode: Command.PlayMemorizedMusic()


Command.PlayMovie()

Methode: Command.PlayMovie()

Syntax

Command.PlayMovie(Film, [X, [Y, [Breite, [Höhe]]]])

Beschreibung

Mit der PlayMovie-Methode kann ein Film abgespielt werden.
Information:
Unter Umständen kann es nötig sein, dass auf dem Computer, auf dem das Spiel läuft, einige Treiber (Codecs, ...) installiert sein müssen. Ob dies notwendig ist, hängt von dem verwendeten Film ab.

Liste der Parameter

Parameter: Film

Datentyp: | string
Optional: | nein
Beschreibung: | Der zu verwendende Film (ohne Pfad/Endung) und relativ zum Movie-Verzeichnis (kann auch aus dem RTP stammen). Verwendet der Film einen bestimmten Codec, dann muss dieser auf dem Computer, auf dem das Spiel läuft, installiert sein.

Parameter: X

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Die X-Koordinate des Films auf dem Bildschirm. Diese Koordinate bezieht sich auf die obere linke Ecke des Films.

Parameter: Y

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Die Y-Koordinate des Films auf dem Bildschirm. Diese Koordinate bezieht sich auf die obere linke Ecke des Films.

Parameter: Breite

Datentyp: | dword
Optional: | ja
Standardwert: | 320
Beschreibung: | Die Breite des Films auf dem Bildschirm (320 = Ganzer Bildschirm, sofern die X-Koordinate 0 ist).

Parameter: Höhe

Datentyp: | dword
Optional: | ja
Standardwert: | 240
Beschreibung: | Die Höhe des Films auf dem Bildschirm (240 = Ganzer Bildschirm, sofern die Y-Koordinate 0 ist).

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Film "BABBIT" im Vollbildmodus abspielen Command.PlayMovie("BABBIT");

In die Zwischenablage kopieren
1 2 3
$ // Den Film "BABBIT" abspielen (X = 10, Y = 20, Breite = 300, Höhe = 200) Command.PlayMovie("BABBIT", 10, 20, 300, 200);

Mögliche Fehler

DESTINYERROR_EXCEPTION

Siehe auch

Command, Command.PlayMusic(), Command.PlaySound()
< Zurück
Methode: Command.PlayMemorizedMusic()
Weiter >
Methode: Command.PlayMusic()

Methode: Command.PlayMovie()


Command.PlayMusic()

Methode: Command.PlayMusic()

Syntax

Command.PlayMusic(Musik, [Fade-In-Zeit, [Lautstärke, [Tempo, [Balance]]]])

Beschreibung

Mit der PlayMusic-Methode kann eine Hintergrundmusik abgespielt werden. Diese kann später über die StopMusic-Methode gestoppt werden.
Information:
Es ist nicht notwendig die Hintergrundmusik vorher zu stoppen, um eine andere Hintergrundmusik abspielen zu lassen. Die andere Hintergrundmusik kann direkt per Command.PlayMusic() gestartet werden. Lief vorher bereits eine andere Hintergrundmusik, so wird diese automatisch gestoppt.

Liste der Parameter

Parameter: Musik

Datentyp: | string
Optional: | nein
Beschreibung: | Die zu verwendende Hintergrundmusik (ohne Pfad/Endung) und relativ zum Music-Verzeichnis (kann auch aus dem RTP stammen).

Parameter: Fade-In-Zeit

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Die Fade-In-Zeit der Musik in Millisekunden. (Bei dem Wert 1000 erreicht das Lied erst nach einer Sekunde die volle Lautstärke, bei 2000 erst nach zwei Sekunden, usw.)

Parameter: Lautstärke

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Beschreibung: | Die Lautstärke der Hintergrundmusik in Prozent (100% = volle Lautstärke).

Parameter: Tempo

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Beschreibung: | Das Tempo der Hintergrundmusik in Prozent (100% = normale Geschwindigkeit).

Parameter: Balance

Datentyp: dword
Optional: ja
Standardwert: 50
Beschreibung: Das Verhältnis der Balancierung der Hintergrundmusik zwischen den Lautsprechern in Prozent:
  • 0%: Die Hintergrundmusik wird nur über den linken Lautsprecher abgespielt.
  • 50%: Die Hintergrundmusik wird über beide Lautsprecher gleich verteilt abgespielt.
  • 100%: Die Hintergrundmusik wird nur über den rechten Lautsprecher abgespielt.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Hintergrundmusik "ANGER" abspielen Command.PlayMusic("ANGER");

In die Zwischenablage kopieren
1 2 3
$ // Die Hintergrundmusik "ANIMAL" abspielen (80% Lautstärke, 120% Geschwindigkeit, 45% Balance, 1 Sekunde Fade-In-Zeit) Command.PlayMusic("ANIMAL", 1000, 80, 120, 45);

Siehe auch

Command, Command.StopMusic(), Command.FadeOutMusic(), Command.MemorizeMusic(), Command.PlayMemorizedMusic(), Command.PlaySound(), Command.PlayMovie()
< Zurück
Methode: Command.PlayMovie()
Weiter >
Methode: Command.PlaySound()

Methode: Command.PlayMusic()


Command.PlaySound()

Methode: Command.PlaySound()

Syntax

Command.PlaySound(Sound, [Lautstärke, [Tempo, [Balance]]])

Beschreibung

Mit der PlaySound-Methode kann ein Sound abgespielt werden.

Liste der Parameter

Parameter: Sound

Datentyp: | string
Optional: | nein
Beschreibung: | Der zu verwendende Sound (ohne Pfad/Endung) und relativ zum Sound-Verzeichnis (kann auch aus dem RTP stammen).

Parameter: Lautstärke

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Beschreibung: | Die Lautstärke des Sounds in Prozent (100% = volle Lautstärke).

Parameter: Tempo

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Beschreibung: | Das Tempo des Sounds in Prozent (100% = normale Geschwindigkeit).

Parameter: Balance

Datentyp: dword
Optional: ja
Standardwert: 50
Beschreibung: Das Verhältnis der Balancierung des Sounds zwischen den Lautsprechern in Prozent:
  • 0%: Der Sound wird nur über den linken Lautsprecher abgespielt.
  • 50%: Der Sound wird über beide Lautsprecher gleich verteilt abgespielt.
  • 100%: Der Sound wird nur über den rechten Lautsprecher abgespielt.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Sound "DOG" abspielen Command.PlaySound("DOG");

In die Zwischenablage kopieren
1 2 3
$ // Den Sound "CAT" abspielen (Lautstärke = 80%, Tempo = 120%, Balance = 45%) Command.PlaySound("CAT", 80, 120, 45);

Siehe auch

Command, Command.SetSystemSound(), Command.PlayMusic(), Command.PlayMovie()
< Zurück
Methode: Command.PlayMusic()
Weiter >
Methode: Command.ReleaseScreen()

Methode: Command.PlaySound()


Command.ReleaseScreen()

Methode: Command.ReleaseScreen()

Syntax

Command.ReleaseScreen()

Beschreibung

Mit der ReleaseScreen-Methode wird die Fixierung des Bildschirm (sofern vorher ausgeführt) aufgehoben. Somit folgt der Bildschirm wieder dem Helden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Den Bildschirm an der aktuellen Position fixieren
Command.FixScreen();

// ...

// Die Fixierung des Bildschirms aufheben
Command.ReleaseScreen();

Siehe auch

Command, Command.FixScreen()
< Zurück
Methode: Command.PlaySound()
Weiter >
Methode: Command.RemoveActor()

Methode: Command.ReleaseScreen()


Command.RemoveActor()

Methode: Command.RemoveActor()

Syntax

Command.RemoveActor(Actor-Id)

Beschreibung

Mit der RemoveActor-Methode kann der Partie ein Held genommen werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher der Partie weggenommen werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Der Partie den zweiten Helden (meist Brian) hinzufügen
Command.AddActor(2);

// Der Partie den ersten Helden (meist Alex) nehmen
Command.RemoveActor(1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddActor()
< Zurück
Methode: Command.ReleaseScreen()
Weiter >
Methode: Command.RemoveCondition()

Methode: Command.RemoveActor()


Command.RemoveCondition()

Methode: Command.RemoveCondition()

Syntax

Command.RemoveCondition(Actor-Id, Condition-Id)

Beschreibung

Mit der RemoveCondition-Methode kann ein Held von einer Kondition geheilt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher von der Kondition geheilt werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party von der Kondition geheilt wird.

Parameter: Condition-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Condition.Count
Beschreibung: | Die Condition-Id der Kondition, welche geheilt werden soll. Diese muss im Bereich von 1 bis Condition.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Dem ersten Helden die zweite Kondition (meist "Poison") zufügen
Command.AddCondition(1, 2);

// Die gesamte Partie von der dritten Kondition (meist "Blind") heilen
Command.RemoveCondition(STATE_WHOLEPARTY, 3);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddCondition()
< Zurück
Methode: Command.RemoveActor()
Weiter >
Methode: Command.RemoveItem()

Methode: Command.RemoveCondition()


Command.RemoveItem()

Methode: Command.RemoveItem()

Syntax

Command.RemoveItem(Item-Id, [Anzahl])

Beschreibung

Mit der RemoveItem-Methode kann der Partie ein Item genommen werden.

Liste der Parameter

Parameter: Item-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Item.Count
Beschreibung: | Die Item-Id des Items, das der Partie genommen werden soll. Diese muss im Bereich von 1 bis Item.Count liegen.

Parameter: Anzahl

Datentyp: | dword
Optional: | ja
Standardwert: | 1
Beschreibung: | Die Anzahl der Items, welche der Partie genommen werden sollen. Ist dieser Parameter nicht gesetzt, so wird ein Item weggenommen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Der Partie das erste Item (meist Potion) einmal geben
Command.AddItem(1);

// Der Partie das zweite Item (meist Tear Drop) zehn Mal geben
Command.AddItem(2, 10);

// Der Partie das zweite Item (meist Tear Drop) fünf Mal nehmen
Command.RemoveItem(2, 5);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddItem()
< Zurück
Methode: Command.RemoveCondition()
Weiter >
Methode: Command.RemoveSkill()

Methode: Command.RemoveItem()


Command.RemoveSkill()

Methode: Command.RemoveSkill()

Syntax

Command.RemoveSkill(Actor-Id, Skill-Id)

Beschreibung

Mit der RemoveSkill-Methode kann ein Held eine Technik vergessen.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher die Technik vergessen soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party die Technik vergisst.

Parameter: Skill-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Skill.Count
Beschreibung: | Die Skill-Id der Technik, welche der Held vergessen werden soll. Diese muss im Bereich von 1 bis Skill.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Dem ersten Helden die zweite Technik (meist "Dark Strike") beibringen
Command.AddSkill(1, 2);

// Die gesamte Partie (= je Held) die erste Technik (meist "Poison") vergessen lassen
Command.RemoveSkill(STATE_WHOLEPARTY, 1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddSkill()
< Zurück
Methode: Command.RemoveItem()
Weiter >
Methode: Command.RemoveTeleportPlace()

Methode: Command.RemoveSkill()


Command.RemoveTeleportPlace()

Methode: Command.RemoveTeleportPlace()

Syntax

Command.RemoveTeleportPlace(Map-Id, X, Y)

Beschreibung

Mit der RemoveTeleportPlace-Methode kann ein bestehender Teleporationspunkt entfernt werden. Die Teleportationspunkte können mit Techniken vom Typ "Teleport" genutzt werden.

Liste der Parameter

Parameter: Map-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Map-Id des zu entfernenden Teleportationspunktes. Dieser Wert muss größer/gleich 1 sein.

Parameter: X

Datentyp: | dword
Optional: | nein
Beschreibung: | Die X-Koordinate des zu entfernenden Teleportationspunktes.

Parameter: Y

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Y-Koordinate des zu entfernenden Teleportationspunktes.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die aktuelle Heldenposition aus der Liste der Teleportationspunkte entfernen Command.RemoveTeleportPlace(Map.Id, Map.HeroX, Map.HeroY);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddTeleportPlace(), Command.EnableTeleport(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.RemoveSkill()
Weiter >
Methode: Command.ReplaceLowerChip()

Methode: Command.RemoveTeleportPlace()


Command.ReplaceLowerChip()

Methode: Command.ReplaceLowerChip()

Syntax

Command.ReplaceLowerChip(Zu ersetzendes Lower-Chip, Zu verwendendes Lower-Chip)

Beschreibung

Mit der ReplaceLowerChip-Methode können alle vorkommen eines bestimmten, nicht animierten Lower-Chips auf der Karte durch ein anderes, nicht animiertes Lower-Chip ersetzt werden.
Information:
Diese Änderung ist flüchtig und wird seitens der RPG_RT nicht mit abgespeichert.
Information:
Um einzelne Lower-Chips (auch animierte) zu ersetzen, kann die Lower[]-Eigenschaft des Map-Objekts genutzt werden.

Liste der Parameter

Parameter: Zu ersetzendes Lower-Chip

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 143
Beschreibung: | Der Index des zu ersetzenden Lower-Chips. Dieser Wert muss im Bereich von 0 bis 143 liegen (siehe Abbildung; roter Bereich). Es ist nicht möglich bewegte Lower-Chips zu ersetzen. Mögliche Lower-Chip-Werte

Parameter: Zu verwendendes Lower-Chip

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 143
Beschreibung: | Der Index des zu Lower-Chips, mit dem das andere Lower-Chip ersetzt werden soll. Dieser Wert muss im Bereich von 0 bis 143 liegen (siehe Abbildung; roter Bereich). Es ist nicht möglich bewegte Lower-Chips zu ersetzen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Das Chipset auf "World" setzen (beim Standard-RTP)
Command.SetChipset(1);
// Das Lower-Chip mit der Steinplatte durch ein Lower-Chip mit einem Felsbrocken ersetzen
Command.ReplaceLowerChip(31, 54);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetChipset(), Command.ReplaceUpperChip(), Map.Lower[]
< Zurück
Methode: Command.RemoveTeleportPlace()
Weiter >
Methode: Command.ReplaceUpperChip()

Methode: Command.ReplaceLowerChip()


Command.ReplaceUpperChip()

Methode: Command.ReplaceUpperChip()

Syntax

Command.ReplaceUpperChip(Zu ersetzendes Upper-Chip, Zu verwendendes Upper-Chip)

Beschreibung

Mit der ReplaceUpperChip-Methode können alle vorkommen eines bestimmten Upper-Chips auf der Karte durch ein anderes Upper-Chip ersetzt werden.
Information:
Diese Änderung ist flüchtig und wird seitens der RPG_RT nicht mit abgespeichert.
Information:
Um einzelne Upper-Chips zu ersetzen, kann die Upper[]-Eigenschaft des Map-Objekts genutzt werden.

Liste der Parameter

Parameter: Zu ersetzendes Upper-Chip

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 143
Beschreibung: | Der Index des zu ersetzenden Upper-Chips. Dieser Wert muss im Bereich von 0 bis 143 liegen (siehe Abbildung; blauer Bereich). Mögliche Upper-Chip-Werte

Parameter: Zu verwendendes Upper-Chip

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 143
Beschreibung: | Der Index des zu Upper-Chips, mit dem das andere Upper-Chip ersetzt werden soll. Dieser Wert muss im Bereich von 0 bis 143 liegen (siehe Abbildung; blauer Bereich).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Das Chipset auf "World" setzen (beim Standard-RTP)
Command.SetChipset(1);
// Das Upper-Chip mit dem Baum durch ein Upper-Chip mit einem Rosenbusch ersetzen
Command.ReplaceUpperChip(1, 6);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetChipset(), Command.ReplaceLowerChip(), Map.Upper[]
< Zurück
Methode: Command.ReplaceLowerChip()
Weiter >
Methode: Command.ReturnScreen()

Methode: Command.ReplaceUpperChip()


Command.ReturnScreen()

Methode: Command.ReturnScreen()

Syntax

Command.ReturnScreen(Geschwindigkeit, Warten)

Beschreibung

Mit der ReturnScreen-Methode kann der Bildschirm zurück zum Helden verschoben werden.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.

Liste der Parameter

Parameter: Geschwindigkeit

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... 6
Beschreibung: | Die Geschwindigkeit der Verschiebung. Dieser Wert muss im Bereich von 1 (langsam) bis 6 (schnell) liegen. 4 entspricht der normalen Gehgeschwindigkeit.

Parameter: Warten

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis die angegebene Dauer abgelaufen ist.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Beispiel

Folgendes Beispiel muss in zwei separaten RPG-Maker Kommentaren hintereinander eingetragen werden (damit die Wartezeit abgearbeitet wird):

In die Zwischenablage kopieren
1 2 3
$ // Den Bildschirm um drei Felder nach rechts bewegen (Geschwindigkeit: Normal, Warten: ja) Command.ShiftScreen(DIR_RIGHT, 3, 4, true);
In die Zwischenablage kopieren
1 2 3
$ // Den Bildschirm wieder zum Helden zurückbewegen (Geschwindigkeit: Normal, Warten: ja) Command.ReturnScreen(4, true);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.ShiftScreen()
< Zurück
Methode: Command.ReplaceUpperChip()
Weiter >
Methode: Command.SetChipset()

Methode: Command.ReturnScreen()


Command.SetChipset()

Methode: Command.SetChipset()

Syntax

Command.SetChipset(Chipset-Id)

Beschreibung

Mit der SetChipset-Methode kann das aktuell verwendete Chipset der Karte festgelegt werden.

Liste der Parameter

Parameter: Chipset-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Chipset-Id des Chipsets, das der Karte zur Laufzeit zugewiesen werden soll. Dieser Wert muss eine gültige Chipset-Id sein und liegt daher im Bereich von 1 bis Anzahl der Chipsets (der Wert kann derzeit nicht per DestinyScript abgefragt werden).

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das aktuelle Chipset auf 3 setzen ("Inner" in der Standard-Spieldatenbank) Command.SetChipset(3);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Map.Chipset
< Zurück
Methode: Command.ReturnScreen()
Weiter >
Methode: Command.SetEnemyEncounter()

Methode: Command.SetChipset()


Command.SetEnemyEncounter()

Methode: Command.SetEnemyEncounter()

Syntax

Command.SetEnemyEncounter(Neuer Schrittzähler)

Beschreibung

Mit der SetEnemyEncounter-Methode kann die Anzahl der Schritte festgelegt werden, die maximal notwendig ist, damit ein Gegner auftaucht.
Information:
Dieser Einstellung ist nur relevant, wenn das Standardkampfsystem des Makers verwendet wird und Gegner der jeweiligen Karte zugeordnet sind.

Liste der Parameter

Parameter: Neuer Schrittzähler

Datentyp: | dword
Optional: | nein
Beschreibung: | Der neue Wert des Schrittzählers.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Schrittzähler für das Auftreten von Gegnern auf 1 setzen (jeder Schritt ein Gegner) Command.SetEnemyEncounter(1);

Siehe auch

Command
< Zurück
Methode: Command.SetChipset()
Weiter >
Methode: Command.SetEscapePlace()

Methode: Command.SetEnemyEncounter()


Command.SetEscapePlace()

Methode: Command.SetEscapePlace()

Syntax

Command.SetEscapePlace(Map-Id, X, Y, [Switch-Id])

Beschreibung

Mit der SetEscapePlace-Methode kann der Fluchtpunkt für das Standardkampfsystem gesetzt werden. Flieht der Spieler aus dem Kampf, dann wird er an die angegebene Stelle teleportiert.

Liste der Parameter

Parameter: Map-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Map-Id des Fluchtpunktes. Dieser Wert muss größer/gleich 1 sein.

Parameter: X

Datentyp: | dword
Optional: | nein
Beschreibung: | Die X-Koordinate des Fluchtpunktes.

Parameter: Y

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Y-Koordinate des Fluchtpunktes.

Parameter: Switch-Id

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Wertebereich: | >= 0
Beschreibung: | Die Switch-Id eines zu aktivierenden Schalters (wenn der Fluchtpunkt genutzt wird) oder 0, falls kein Schalter aktiviert werden soll.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die aktuelle Position des Helden als Fluchtpunkt vermerken (und bei Gebrauch den zweiten Switch aktivieren) Command.SetEscapePlace(Map.Id, Map.HeroX, Map.HeroY, 2);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.EnableEscape(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.SetEnemyEncounter()
Weiter >
Methode: Command.SetEventPlace()

Methode: Command.SetEscapePlace()


Command.SetEventPlace()

Methode: Command.SetEventPlace()

Syntax

Command.SetEventPlace(Event-Id, X, Y)

Beschreibung

Mit der SetEventPlace-Methode kann die Position eines Events festgelegt werden.

Liste der Parameter

Parameter: Event-Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Event-Id des zu platzierenden Events. Dieser Wert muss eine gültige Event-Id sein. Zusätzlich kann auch die Konstante THIS verwendet werden um das aktuelle Event zu platzieren.

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die X-Koordinate des Events auf der Karte.

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Y-Koordinate des Events auf der Karte.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das aktuelle Event rechts vom Helden platzieren Command.SetEventPlace(THIS, Map.HeroX + 1, Map.HeroY);

Sonstiges

Das obere Beispiel kann auch über das Event[]-Objekt durchgeführt werden.

In die Zwischenablage kopieren
1 2 3 4
$
// Das aktuelle Events rechts vom Helden platzieren
Event[THIS].X = Map.HeroX + 1;
Event[THIS].Y = Map.HeroY;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SwapTwoEvents(), Map.Id, Map.HeroX, Map.HeroY, Event[]
< Zurück
Methode: Command.SetEscapePlace()
Weiter >
Methode: Command.SetHeroChar()

Methode: Command.SetEventPlace()


Command.SetHeroChar()

Methode: Command.SetHeroChar()

Syntax

Command.SetHeroChar(Actor-Id, Charset, Charframe, [Transparent])

Beschreibung

Mit der SetHeroChar-Methode kann der Char eines Helden gesetzt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, dessen Char geändert werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen.

Parameter: Charset

Datentyp: | string
Optional: | nein
Beschreibung: | Das zu verwendende Charset (ohne Pfad/Endung) und relativ zum Charset-Verzeichnis (kann auch aus dem RTP stammen).

Parameter: Charframe

Datentyp: | dword
Optional: | nein
Beschreibung: | Der Index des zu verwendenden Frames. Dieser Wert sollte im Bereich von 0 ... 7 liegen (siehe Abbildung). Mögliche Charframe-Werte

Parameter: Transparent

Datentyp: bool
Optional: ja
Standardwert: false
Beschreibung: Gibt an, ob der Char des Helden halbtransparent dargestellt werden soll.
  • False: Der Char wird nicht transparent dargestellt.
  • True: Der Char wird halbtransparent dargestellt.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Char des ersten Helden in einen halbtranspranten Geist verwandeln. Command.SetHeroChar(1, "MONSTER1", 3, true);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetHeroFace(), Actor[].Charset, Actor[].Charframe, Actor[].Transparency, Actor[].Default.Charset, Actor[].Default.Charframe, Actor[].Default.Transparency
< Zurück
Methode: Command.SetEventPlace()
Weiter >
Methode: Command.SetHeroDegree()

Methode: Command.SetHeroChar()


Command.SetHeroDegree()

Methode: Command.SetHeroDegree()

Syntax

Command.SetHeroDegree(Actor-Id, Rang)

Beschreibung

Mit der SetHeroDegree-Methode kann der Rang eines Helden gesetzt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, dessen Rang geändert werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen.

Parameter: Rang

Datentyp: | string
Optional: | nein
Beschreibung: | Der neue Rang des Helden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Rang des ersten Helden (meist "Soldier") auf "Langweiler" setzen Command.SetHeroDegree(1, "Langweiler");

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetHeroName(), Actor[].Degree, Actor[].Default.Degree
< Zurück
Methode: Command.SetHeroChar()
Weiter >
Methode: Command.SetHeroFace()

Methode: Command.SetHeroDegree()


Command.SetHeroFace()

Methode: Command.SetHeroFace()

Syntax

Command.SetHeroFace(Actor-Id, Faceset, Faceframe)

Beschreibung

Mit der SetHeroFace-Methode kann das Face eines Helden gesetzt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, dessen Face geändert werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen.

Parameter: Faceset

Datentyp: | string
Optional: | nein
Beschreibung: | Das zu verwendende Faceset (ohne Pfad/Endung) und relativ zum Faceset-Verzeichnis (kann auch aus dem RTP stammen).

Parameter: Faceframe

Datentyp: | dword
Optional: | nein
Beschreibung: | Der Index des zu verwendenden Frames. Dieser Wert sollte im Bereich von 0 ... 15 liegen (siehe Abbildung). Mögliche Faceframe-Werte

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das Face des ersten Helden auf das Gesicht eines Geistes setzen Command.SetHeroFace(1, "MONSTERS", 3);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetHeroFace(), Actor[].Faceset, Actor[].Faceframe, Actor[].Default.Faceset, Actor[].Default.Faceframe
< Zurück
Methode: Command.SetHeroDegree()
Weiter >
Methode: Command.SetHeroName()

Methode: Command.SetHeroFace()


Command.SetHeroName()

Methode: Command.SetHeroName()

Syntax

Command.SetHeroName(Actor-Id, Name)

Beschreibung

Mit der SetHeroName-Methode kann der Name eines Helden gesetzt werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, dessen Name geändert werden soll. Diese muss im Bereich von 1 bis Actor.Count liegen.

Parameter: Name

Datentyp: | string
Optional: | nein
Beschreibung: | Der neue Namen des Helden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Namen des ersten Helden (meist "Alex") auf "Bernd" setzen Command.SetHeroName(1, "Bernd");

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetHeroDegree(), Actor[].Name, Actor[].Default.Name
< Zurück
Methode: Command.SetHeroFace()
Weiter >
Methode: Command.SetHeroTransparency()

Methode: Command.SetHeroName()


Command.SetHeroTransparency()

Methode: Command.SetHeroTransparency()

Syntax

Command.SetHeroTransparency(Transparenz)

Beschreibung

Mit der SetHeroTransparency-Methode kann die Transparenz des Helden-Events gesetzt werden.
Information:
Die Transparenz-Eigenschaft des Helden-Events kann über die Transparency-Eigenschaft des Event[]-Objekts (mit HERO als Index) viel genauer gesetzt werden. Der Wert 1 des Transparenz-Parameters dieser Methode entspricht einer Transparenz von 3 im Event[]-Objekt.

Liste der Parameter

Parameter: Transparenz

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Gibt an, ob das Helden-Event transparent dargestellt werden soll.
  • 0: Das Helden-Event wird nicht transparent dargestellt.
  • 1: Das Helden-Event wird transparent dargestellt.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das Helden-Event transparent darstellen Command.SetHeroTransparency(1);
Beispiel mit dem Event[]-Objekt:

In die Zwischenablage kopieren
1 2 3
$ // Vollkommen gleichwertiger Aufruf über das Event-Objekt Event[HERO].Transparency = 3;

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Event[], Event[].Transparency
< Zurück
Methode: Command.SetHeroName()
Weiter >
Methode: Command.SetMessageStyle()

Methode: Command.SetHeroTransparency()


Command.SetMessageStyle()

Methode: Command.SetMessageStyle()

Syntax

Command.SetMessageStyle(Fensterformat, Fensterposition, Held nicht verstecken, Andere Events weiterlaufen lassen)

Beschreibung

Mit der SetMessageStyle-Methode kann der Stil der Nachrichtenfenster gesetzt werden.

Liste der Parameter

Parameter: Fensterformat

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Gibt das Fensterformat an. Hierzu können die Fensterformat-Konstanten verwendet werden.
  • MESSAGEFORMAT_NORMAL: Die Nachrichtenfenster werden ganz normal mit Hintergrund dargestellt.
  • MESSAGEFORMAT_TRANSPARENT: Die Nachrichtenfenster werden mit transparentem Hintergrund dargestellt.

Parameter: Fensterposition

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 2
Beschreibung: Gibt die Position des Fensters an. Hierzu können die Fensterpositionskonstanten verwendet werden.
  • MESSAGEPOSITION_TOP: Die Nachrichtenfenster werden am oberen Bildschirmrand dargestellt.
  • MESSAGEPOSITION_MIDDLE: Die Nachrichtenfenster werden in der Bildschirmmitte dargestellt.
  • MESSAGEPOSITION_BOTTOM: Die Nachrichtenfenster werden am unteren Bildschirmrand dargestellt.

Parameter: Held nicht verstecken

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob der Held nicht vom Nachrichtenfenster verdeckt werden soll.
  • False: Der Held kann durch das Nachrichtenfenster verdeckt werden.
  • True: Der Held wird nicht durch das Nachrichtenfenster verdeckt (hierbei ändert sich dann die Position des Nachrichtenfensters).

Parameter: Andere Events weiterlaufen lassen

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob andere Events während der Nachrichtenausgabe weiterlaufen können (sofern diese selbst keine Nachricht ausgeben wollen).
  • False: Andere Events laufen erst nach dem Schließen des Nachrichtenfensters weiter (unabhängig davon, ob die Prozesse die Nachrichtenausgabe benötigen oder nicht).
  • True: Andere Events laufen während der Nachrichtenausgabe weiter (außer das jeweilige Event gibt selbst eine Nachricht aus).

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Die Nachrichtenfenster transparent setzen, unten anzeigen,
// den Helden bei Bedarf mit der Nachricht verdecken und andere Events weiterlaufen lassen
Command.SetMessageStyle(MESSAGEFORMAT_TRANSPARENT, MESSAGEPOSITION_BOTTOM, false, true);

Mögliche Fehler

DESTINYERROR_VALUE
< Zurück
Methode: Command.SetHeroTransparency()
Weiter >
Methode: Command.SetPanorama()

Methode: Command.SetMessageStyle()


Command.SetPanorama()

Methode: Command.SetPanorama()

Syntax

Command.SetPanorama(Panorama, [Horizontales Schwenken, [Vertikales Schwenken, [Horizontale Scrollgeschwindigkeit, [Vertikale Scrollgeschwindigkeit]]]])

Beschreibung

Mit der SetPanorama-Methode kann das aktuell verwendete Panorama inkl. der Scrolling-Eigenschaften geändert werden.
Information:
Um einzelne Eigenschaften des Panoramas zu verändern, muss das Panorama-Objekt verwendet werden.

Liste der Parameter

Parameter: Panorama

Datentyp: | string
Optional: | nein
Beschreibung: | Der Dateiname des zu verwendenden Panoramas (ohne Pfad/Endung) und relativ zum Panorama-Verzeichnis (kann auch aus dem RTP stammen). Ist dieser Parameter ein Leerstring, dann wird das Panorama gelöscht.

Parameter: Horizontales Schwenken

Datentyp: bool
Optional: ja
Standardwert: false
Beschreibung: Gibt an, ob das Panorama bei der Bewegung des Helden in horizontaler Richtung schwenken soll.
  • False: Das Panorama schwenkt nicht in horizontaler Richtung.
  • True: Das Panorama schwenkt in horizontaler Richtung.
Dieser Parameter muss true sein, damit ein horizontales Scrollen möglich ist.

Parameter: Vertikales Schwenken

Datentyp: bool
Optional: ja
Standardwert: false
Beschreibung: Gibt an, ob das Panorama bei der Bewegung des Helden in vertikaler Richtung schwenken soll.
  • False: Das Panorama schwenkt nicht in vertikaler Richtung.
  • True: Das Panorama schwenkt in vertikaler Richtung.
Dieser Parameter muss true sein, damit ein vertikales Scrollen möglich ist.

Parameter: Horizontale Scrollgeschwindigkeit

Datentyp: dword
Optional: ja
Standardwert: 0
Beschreibung: Gibt an, die Geschwindigkeit an, mit der das Panorama in horizontaler Richtung scrollen soll.
  • Bei Werten < 0: Das Panorama scrollt nach links.
  • Bei dem Wert 0: Das Panorama scrollt nicht in horizontaler Richtung.
  • Bei Werten > 0: Das Panorama scrollt nach rechts.
Der Parameter "Horizontales Schwenken" muss true sein, damit dieser Parameter eine Wirkung haben kann.

Parameter: Vertikale Scrollgeschwindigkeit

Datentyp: dword
Optional: ja
Standardwert: 0
Beschreibung: Gibt an, die Geschwindigkeit an, mit der das Panorama in vertikaler Richtung scrollen soll.
  • Bei Werten < 0: Das Panorama scrollt nach oben.
  • Bei dem Wert 0: Das Panorama scrollt nicht in vertikaler Richtung.
  • Bei Werten > 0: Das Panorama scrollt nach unten.
Der Parameter "Vertikales Schwenken" muss true sein, damit dieser Parameter eine Wirkung haben kann.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das aktuelle Panorama auf "WEIRD" setzen (kein Schwenken oder Scrollen) Command.SetPanorama("WEIRD");

In die Zwischenablage kopieren
1 2 3
$ // Das aktuelle Panorama auf "DAWN1" setzen (mit Scrollen nach rechts) Command.SetPanorama("DAWN1", true, false, 5, 0);

In die Zwischenablage kopieren
1 2 3
$ // Das aktuelle Panorama löschen Command.SetPanorama("");

Mögliche Fehler

DESTINYERROR_EXCEPTION

Siehe auch

Command, Panorama
< Zurück
Methode: Command.SetMessageStyle()
Weiter >
Methode: Command.SetScreenTone()

Methode: Command.SetPanorama()


Command.SetScreenTone()

Methode: Command.SetScreenTone()

Syntax

Command.SetScreenTone(Rot, Grün, Blau, Chrominanz, Dauer, Warten)

Beschreibung

Mit der SetScreenTone-Methode kann der Bildschirm eingefärbt werden.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.

Liste der Parameter

Parameter: Rot

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 200
Beschreibung: Die Rotfärbung des Bildschirms in Prozent. Dieser Wert muss im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass der Bildschirm die Farbe rot nicht aufweist.
  • Der Wert 100 bedeutet, dass der Bildschirm die Farbe rot normal dargestellt.
  • Der Wert 200 bedeutet, dass der Bildschirm mit besonders starken Rottönen dargestellt wird.

Parameter: Grün

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 200
Beschreibung: Die Grünfärbung des Bildschirms in Prozent. Dieser Wert muss im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass der Bildschirm die Farbe grün nicht aufweist.
  • Der Wert 100 bedeutet, dass der Bildschirm die Farbe grün normal dargestellt.
  • Der Wert 200 bedeutet, dass der Bildschirm mit besonders starken Grüntönen dargestellt wird.

Parameter: Blau

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 200
Beschreibung: Die Blaufärbung des Bildschirms in Prozent. Dieser Wert muss im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass der Bildschirm die Farbe blau nicht aufweist.
  • Der Wert 100 bedeutet, dass der Bildschirm die Farbe blau normal dargestellt.
  • Der Wert 200 bedeutet, dass der Bildschirm mit besonders starken Blautönen dargestellt wird.

Parameter: Chrominanz

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 200
Beschreibung: Die Chrominanz (Farbsättigung) des Bildschirms in Prozent. Dieser Wert muss im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass der Bildschirm farbentsättigt dargestellt wird.
  • Der Wert 100 bedeutet, dass der Bildschirm normal dargestellt wird.
  • Der Wert 200 bedeutet, dass der Bildschirm mit besonders großen Farbunterschieden dargestellt wird.

Parameter: Dauer

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Dauer in Dezisekunden (zehntel Sekunden) bis die Farbänderung vollzogen ist.

Parameter: Warten

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis die angegebene Dauer abgelaufen ist.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Beispiel

Folgendes Beispiel muss in zwei separaten RPG-Maker Kommentaren hintereinander eingetragen werden (damit die Wartezeit abgearbeitet wird):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die bisherigen Farbwerte in den Variablen 1 bis 4 sichern
v[1] = Screen.Red;
v[2] = Screen.Green;
v[3] = Screen.Blue;
v[4] = Screen.Chroma;

// Den Bildschirm in einer Sekunde in Graustufen umwandeln (Chrominanz = 0%)
Command.SetScreenTone(100, 100, 100, 0, 10, true);
In die Zwischenablage kopieren
1 2 3
$ // Den Bildschirm in einer Sekunde wieder zurückfärben Command.SetScreenTone(v[1], v[2], v[3], v[4], 10, true);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Screen
< Zurück
Methode: Command.SetPanorama()
Weiter >
Methode: Command.SetScreenTransition()

Methode: Command.SetScreenTone()


Command.SetScreenTransition()

Methode: Command.SetScreenTransition()

Syntax

Command.SetScreenTransition(Transition-Ereignis, Transition)

Beschreibung

Mit der SetScreenTransition-Methode kann die Transition eines bestimmten Transition-Ereignisses gesetzt werden.

Liste der Parameter

Parameter: Transition-Ereignis

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 5
Beschreibung: Das Ereignis der zu setzenden Transition. Hierzu werden die Transition-Konstanten verwendet:
  • TRANSITION_TELEPORTERASE: Die Transition beim Löschen des Bildschirms vor einer Teleportation.
  • TRANSITION_TELEPORTSHOW: Die Transition beim Anzeigen des Bildschirms nach einer Teleportation.
  • TRANSITION_BATTLESTARTERASE: Die Transition beim Löschen des Bildschirms vor einem Kampf.
  • TRANSITION_BATTLESTARTSHOW: Die Transition beim Anzeigen des Bildschirms bei Beginn eines Kampfes.
  • TRANSITION_BATTLEENDERASE: Die Transition beim Löschen des Bildschirms am Ende eines Kampfes.
  • TRANSITION_BATTLEENDSHOW: Die Transition beim Anzeiges des Bildschirms nach einem Kampf.

Parameter: Transition

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 20 (Erase) / 0 ... 19 (Show)
Beschreibung: Die zu verwendende Transition (vom Typ Erase oder Show).
Bei Erase-Transitionen werden die Erase-Konstanten verwendet:
  • ERASE_FADEOUT: Der Bildschirm wird ausgeblendet
  • ERASE_RANDOMBLOCKS: Der Bildschirm füllt sich zufällig mit Blöcken
  • ERASE_RANDOMBLOCKSUP: Der Bildschirm füllt sich zufällig mit Blöcken von unten nach oben
  • ERASE_RANDOMBLOCKSDOWN: Der Bildschirm füllt sich zufällig mit Blöcken von oben nach unten
  • ERASE_BLINDCLOSE: Der Bildschirm füllt sich mit horizontalen Strichen
  • ERASE_STRIPEUPDOWN: Der Bildschirm wird von oben und unten gleichzeitig mit je einem schwarzen Balken gefüllt
  • ERASE_STRIPELEFTRIGHT: Der Bildschirm wird von links und rechts gleichzeitig mit je einem schwarzen Balken gefüllt
  • ERASE_OUTSIDEINSIDE: Der Bildschirm füllt sich in Form eines Rechtecks von außen nach innen
  • ERASE_INSIDEOUTSIDE: Der Bildschirm füllt sich in Form eines Rechtecks von innen nach außen
  • ERASE_SCROLLUP: Der Bildschirm wird nach oben herausgeschoben
  • ERASE_SCROLLDOWN: Der Bildschirm wird nach unten herausgeschoben
  • ERASE_SCROLLLEFT: Der Bildschirm wird nach links herausgeschoben
  • ERASE_SCROLLRIGHT: Der Bildschirm wird nach rechts herausgeschoben
  • ERASE_DIVISIONUPDOWN: Der Bildschirm teilt sich horizontal in der Mitte und die obere und untere Hälfte bewegen sich gleichzeitig auseinander
  • ERASE_DIVISIONLEFTRIGHT: Der Bildschirm teilt sich vertikal in der Mitte und die linke und rechte Hälfte bewegen sich gleichzeitig auseinander
  • ERASE_DIVISION: Der Bildschirm teilt sich horizontal und vertikal in der Mitte und die vier Rechtecke bewegen sich gleichzeitig in Richtung ihrer Bildschirmecke
  • ERASE_ZOOMIN: Der Bildschirm wird in Richtung des Helden stark vergrößert
  • ERASE_MOSAIC: Der Bildschirm wird über ein immer gröber werdendes Mosaik ausgeblendet
  • ERASE_ROSTERSCROLL: Der Bildschirm verschwimmt wellenförmig
  • ERASE_INSTANT: Der Bildschirm ist sofort ohne Übergang schwarz
  • ERASE_DONTERASE: Der Bildschirm wird nicht gelöscht
Bei Show-Transitionen werden die Show-Konstanten verwendet:
  • SHOW_FADEIN: Der Bildschirm wird eingeblendet
  • SHOW_RANDOMBLOCKS: Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts
  • SHOW_RANDOMBLOCKSUP: Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts von unten nach oben
  • SHOW_RANDOMBLOCKSDOWN: Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts von oben nach unten
  • SHOW_BLINDOPEN: Der Bildschirm füllt sich mit horizontalen Strichen des neuen Bildschirminhalts
  • SHOW_STRIPEUPDOWN: Der Bildschirm wird von oben und unten gleichzeitig mit je einem Balken des neuen Bildschirminhalts gefüllt
  • SHOW_STRIPELEFTRIGHT: Der Bildschirm wird von links und rechts gleichzeitig mit je einem Balken des neuen Bildschirminhalts gefüllt
  • SHOW_OUTSIDEINSIDE: Der Bildschirm füllt sich in Form eines Rechtecks von außen nach innen
  • SHOW_INSIDEOUTSIDE: Der Bildschirm füllt sich in Form eines Rechtecks von innen nach außen
  • SHOW_SCROLLDOWN: Der Bildschirm wird nach unten hereingeschoben
  • SHOW_SCROLLUP: Der Bildschirm wird nach oben hereingeschoben
  • SHOW_SCROLLRIGHT: Der Bildschirm wird nach rechts hereingeschoben
  • SHOW_SCROLLLEFT: Der Bildschirm wird nach links hereingeschoben
  • SHOW_COMBINEUPDOWN: Der Bildschirm setzt sich aus zwei horizontalen Teilen des neuen Bildschirminhalts von oben und unten gleichzeitig zusammen
  • SHOW_COMBINELEFTRIGHT: Der Bildschirm setzt sich aus zwei vertikalen Teilen des neuen Bildschirminhalts von links und rechts gleichzeitig zusammen
  • SHOW_COMBINE: Der Bildschirm setzt sich aus vier Teilen des neuen Bildschirminhalts von den Bildschirmecken her zusammen
  • SHOW_ZOOMOUT: Der Bildschirm wird in Richtung des Helden von einer starken Vergrößerung auf die Normalgröße verkleinert
  • SHOW_MOSAIC: Der Bildschirm wird über ein immer feiner werdendes Mosaik eingeblendet
  • SHOW_ROSTERSCROLL: Der Bildschirm ist wellenförmig verschwommen und wird immer klarer
  • SHOW_INSTANT: Der neue Bildschirminhalt ist sofort ohne Übergang sichtbar
Information:
Abhängig von der Konstate bei Transition-Ereignis werden entweder die Erase- oder die Show-Konstanten für den zweiten Parameter verwendet.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Transition beim Löschen des Bildschirms vor einem Kampf auf Zoom-In setzen
Command.SetScreenTransition(TRANSITION_BATTLESTARTERASE, ERASE_ZOOMIN);
// Die Transition beim Anzeigen des Bildschirms beim Beginn eines Kampfes auf Zoom-Out setzen
Command.SetScreenTransition(TRANSITION_BATTLESTARTSHOW, SHOW_ZOOMOUT);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.SetScreenTone()
Weiter >
Methode: Command.SetSystemGraphic()

Methode: Command.SetScreenTransition()


Command.SetSystemGraphic()

Methode: Command.SetSystemGraphic()

Syntax

Command.SetSystemGraphic(Systemgrafik, Darstellungsart der Nachrichten, Schriftart)

Beschreibung

Mit der SetSystemGraphic-Methode kann die Systemgrafik gesetzt werden.

Liste der Parameter

Parameter: Systemgrafik

Datentyp: | string
Optional: | nein
Beschreibung: | Die zu verwendende Systemgrafik (ohne Pfad/Endung) und relativ zum System-Verzeichnis (kann auch aus dem RTP stammen).

Parameter: Darstellungsart der Nachrichten

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Die Art der Nachrichtendarstellung. Hierzu werden die Darstellungsart-Konstanten verwendet:
  • DISPLAY_STRETCH: Die Systemgrafik wird bei Nachrichtenboxen gestreckt dargestellt.
  • DISPLAY_REPEAT: Die Systemgrafik wird bei Nachrichtenboxen wiederholt nebeneinander dargestellt.

Parameter: Schriftart

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Die verwendete Schriftart. Hierzu werden die Schriftartkonstanten verwendet:
  • FONT_RMG2000: Die Schriftart "RMG2000" wird verwendet.
  • FONT_RM2000: Die Schriftart "RM2000" wird verwendet.
Information:
Die Namen der verwendeten Schriftarten können per DestinyPatcher verändert werden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Systemgrafik auf "ROYAL" setzen (Text wird gestreckt dargestellt; Schriftart ist RMG2000) Command.SetSystemGraphic("ROYAL", DISPLAY_STRETCH, FONT_RMG2000);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.SetScreenTransition()
Weiter >
Methode: Command.SetSystemMusic()

Methode: Command.SetSystemGraphic()


Command.SetSystemMusic()

Methode: Command.SetSystemMusic()

Syntax

Command.SetSystemMusic(Systemmusik-Typ, Musik, [Fade-In-Zeit, [Lautstärke, [Tempo, [Balance]]]])

Beschreibung

Mit der SetSystemMusic-Methode kann die Hintergrundmusik eines Systemereignisses gesetzt werden.

Liste der Parameter

Parameter: Systemmusik-Typ

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 6
Beschreibung: Der Typ der Systemmusik, welche geändert werden soll. Hierzu werden die Musiktyp-Konstanten verwendet:
  • MUSIC_BATTLE: Die Musik, die während eines Kampfes läuft.
  • MUSIC_VICTORY: Die Musik, die während eines Sieges läuft.
  • MUSIC_INN: Die Musik, die während einer Übernachtung läuft.
  • MUSIC_BOAT: Die Musik, die während einer Bootsfahrt läuft.
  • MUSIC_SHIP: Die Musik, die während einer Schiffsfahrt läuft.
  • MUSIC_AIRSHIP: Die Musik, die während einer Luftschiffsfahrt läuft.
  • MUSIC_GAMEOVER: Die Musik, die während des "Game Over"-Bildschirms läuft.

Parameter: Musik

Datentyp: | string
Optional: | nein
Beschreibung: | Die zu verwendende Hintergrundmusik (ohne Pfad/Endung) und relativ zum Music-Verzeichnis (kann auch aus dem RTP stammen).

Parameter: Fade-In-Zeit

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Die Fade-In-Zeit der Musik in Millisekunden. (Bei dem Wert 1000 erreicht das Lied erst nach einer Sekunde die volle Lautstärke, bei 2000 erst nach zwei Sekunden, usw.)

Parameter: Lautstärke

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Beschreibung: | Die Lautstärke der Hintergrundmusik in Prozent (100% = volle Lautstärke).

Parameter: Tempo

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Beschreibung: | Das Tempo der Hintergrundmusik in Prozent (100% = normale Geschwindigkeit).

Parameter: Balance

Datentyp: dword
Optional: ja
Standardwert: 50
Beschreibung: Das Verhältnis der Balancierung der Hintergrundmusik zwischen den Lautsprechern in Prozent:
  • 0%: Die Hintergrundmusik wird nur über den linken Lautsprecher abgespielt.
  • 50%: Die Hintergrundmusik wird über beide Lautsprecher gleich verteilt abgespielt.
  • 100%: Die Hintergrundmusik wird nur über den rechten Lautsprecher abgespielt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Die Hintergrundmusik des Kampfes auf "Anger" setzen
Command.SetSystemMusic(MUSIC_BATTLE, "ANGER");
// Die Hintergrundmusik des Sieges auf "Animal" setzen
// (Fade-In-Zeit: 2 Sekunden, Lautstärke: 80%, Tempo: 120%, Balance: 45% (der linke Lautsprecher wird etwas mehr genutzt))
Command.SetSystemMusic(MUSIC_VICTORY, "ANIMAL", 2000, 80, 120, 45);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetSystemSound(), Command.PlayMusic()
< Zurück
Methode: Command.SetSystemGraphic()
Weiter >
Methode: Command.SetSystemSound()

Methode: Command.SetSystemMusic()


Command.SetSystemSound()

Methode: Command.SetSystemSound()

Syntax

Command.SetSystemSound(System-Sound-Typ, Sound, [Lautstärke, [Tempo, [Balance]]])

Beschreibung

Mit der SetSystemSound-Methode kann der Sound eines Systemereignisses gesetzt werden.

Liste der Parameter

Parameter: System-Sound-Typ

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 11
Beschreibung: Der Typ des System-Sounds, welcher geändert werden soll. Hierzu werden die Sound-Typ-Konstanten verwendet:
  • SOUND_CURSOR: Der Sound, der bei der Bewegung des Cursors läuft.
  • SOUND_DECISION: Der Sound, der bei der Auswahl eines Eintrags läuft.
  • SOUND_CANCEL: Der Sound, der bei dem Abbruch einer Auswahl läuft.
  • SOUND_BUZZER: Der Sound, der bei der Auswahl eines gesperrten Eintrags läuft.
  • SOUND_STARTBATTLE: Der Sound, der beim Start eines Kampfes läuft.
  • SOUND_ESCAPE: Der Sound, der bei der Flucht aus einem Kampf läuft.
  • SOUND_ENEMYATTACK: Der Sound, der beim Angriff eines Gegners läuft.
  • SOUND_ENEMYDAMAGE: Der Sound, der läuft, wenn ein Gegner Schaden erhält.
  • SOUND_ALLYDAMAGE: Der Sound, der läuft, wenn ein Spieler Schaden erhält.
  • SOUND_EVASION: Der Sound, der beim Ausweichen eines Angriffs läuft.
  • SOUND_ENEMYDIE: Der Sound, der beim Sterben eines Gegners läuft.
  • SOUND_ITEMUSE: Der Sound, der bei der Benutzung eines Items läuft.

Parameter: Sound

Datentyp: | string
Optional: | nein
Beschreibung: | Der zu verwendende Sound (ohne Pfad/Endung) und relativ zum Sound-Verzeichnis (kann auch aus dem RTP stammen).

Parameter: Lautstärke

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Beschreibung: | Die Lautstärke des Sounds in Prozent (100% = volle Lautstärke).

Parameter: Tempo

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Beschreibung: | Das Tempo des Sounds in Prozent (100% = normale Geschwindigkeit).

Parameter: Balance

Datentyp: dword
Optional: ja
Standardwert: 50
Beschreibung: Das Verhältnis der Balancierung des Sounds zwischen den Lautsprechern in Prozent:
  • 0%: Der Sound wird nur über den linken Lautsprecher abgespielt.
  • 50%: Der Sound wird über beide Lautsprecher gleich verteilt abgespielt.
  • 100%: Der Sound wird nur über den rechten Lautsprecher abgespielt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Den Sound des Cursors auf "Cursor2" setzen
Command.SetSystemSound(SOUND_CURSOR, "CURSOR2");
// Den Sound der Auswahl auf "Cat" setzen
// (Lautstärke: 100%, Tempo: 80%, Balance: 55% (der rechte Lautsprecher wird etwas mehr genutzt))
Command.SetSystemSound(SOUND_DECISION, "CAT", 100, 80, 55);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetSystemMusic(), Command.PlaySound()
< Zurück
Methode: Command.SetSystemMusic()
Weiter >
Methode: Command.SetTimer()

Methode: Command.SetSystemSound()


Command.SetTimer()

Methode: Command.SetTimer()

Syntax

Command.SetTimer(Minuten, Sekunden)

Beschreibung

Mit der SetTimer-Methode kann der aktuelle Wert des Timers gesetzt werden. Die Angabe erfolgt hierbei in Minuten und Sekunden.

Liste der Parameter

Parameter: Minuten

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 999
Beschreibung: | Die aktuelle Zahl der Minuten.

Parameter: Sekunden

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 59
Beschreibung: | Die aktuelle Zahl der Sekunden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Den aktuellen Wert des Timers auf 2 Minuten und 15 Sekunden stellen
Command.SetTimer(2, 15);

// Den Timer starten (ist auf der Karte und im Kampf sichtbar)
Command.StartTimer(true, true);

// ...

// Den Timer irgendwann (z. B. in einem seperatem Skript) wieder stoppen
Command.StopTimer();

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.StartTimer(), Command.StopTimer()
< Zurück
Methode: Command.SetSystemSound()
Weiter >
Methode: Command.SetVehicleChar()

Methode: Command.SetTimer()


Command.SetVehicleChar()

Methode: Command.SetVehicleChar()

Syntax

Command.SetVehicleChar(Fahrzeug-Event-Id, Charset, Charframe)

Beschreibung

Mit der SetVehicleChar-Methode kann der Char eines Fahrzeugs gesetzt werden.

Liste der Parameter

Parameter: Fahrzeug-Event-Id

Datentyp: dword
Optional: nein
Wertebereich: 10002 ... 10004
Beschreibung: Die Event-Id des Fahrzeugs, dessen Char geändert werden soll. Diese muss im Bereich von 10002 bis 10003 liegen. Hierzu werden die Konstanten der Spezial-Events verwendet:
  • BOAT: Der Char des Boots soll geändert werden.
  • SHIP: Der Char des Schiffs soll geändert werden.
  • AIRSHIP: Der Char des Luftschiffs soll geändert werden.

Parameter: Charset

Datentyp: | string
Optional: | nein
Beschreibung: | Das zu verwendende Charset (ohne Pfad/Endung) und relativ zum Charset-Verzeichnis (kann auch aus dem RTP stammen).

Parameter: Charframe

Datentyp: | dword
Optional: | nein
Beschreibung: | Der Index des zu verwendenden Frames. Dieser Wert sollte im Bereich von 0 ... 7 liegen (siehe Abbildung). Mögliche Charframe-Werte

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Char des Luftschiffs in einen Drachen verwandeln Command.SetVehicleChar(AIRSHIP, "VEHICLE", 6);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Event[].Charset, Event[].Charframe
< Zurück
Methode: Command.SetTimer()
Weiter >
Methode: Command.SetVehiclePlace()

Methode: Command.SetVehicleChar()


Command.SetVehiclePlace()

Methode: Command.SetVehiclePlace()

Syntax

Command.SetVehiclePlace(Fahrzeug-Id, Map-Id, X, Y)

Beschreibung

Mit der SetVehiclePlace-Methode kann die Position eines Fahrzeugs festgelegt werden.

Liste der Parameter

Parameter: Fahrzeug-Id

Datentyp: dword
Optional: nein
Wertebereich: 10002 ... 10004
Beschreibung: Die Id des Fahrzeugs. Hierzu werden die Fahrzeugangaben der Sondereventkonstanten verwendet:
  • BOAT: Das Boot soll positioniert werden.
  • SHIP: Das Schiff soll positioniert werden.
  • AIRSHIP: Das Luftschiff soll positioniert werden.

Parameter: Map-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Map-Id der Karte, auf welcher das Fahrzeug platziert werden soll. Dieser Wert sollte eine gültige Map-Id sein.

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die X-Koordinate des Fahrzeugs auf der Karte.

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Y-Koordinate des Fahrzeugs auf der Karte.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Das Luftschiff an die selbe Position wie den Helden platzieren
Command.SetVehiclePlace(AIRSHIP, Map.Id, Map.HeroX, Map.HeroY);

// Den Helden das nächstgelegene Fahrzeug (also das Luftschiff) betreten lassen
Command.EnterLeaveVehicle();

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.EnterLeaveVehicle(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.SetVehicleChar()
Weiter >
Methode: Command.SetWeather()

Methode: Command.SetVehiclePlace()


Command.SetWeather()

Methode: Command.SetWeather()

Syntax

Command.SetWeather(Wetterart, Stärke)

Beschreibung

Mit der SetWeather-Methode kann ein bestimmtes Wetter gesetzt werden.

Synonyme

  • CallWeatherEffect()

Liste der Parameter

Parameter: Wetterart

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 2
Beschreibung: Die Art des zu setzenden Wetter. Hierzu werden die Wetterkonstanten verwendet:
  • WEATHER_NONE: Kein Wetter (= Sonnenschein)
  • WEATHER_RAIN: Regen
  • WEATHER_SNOW: Schnee

Parameter: Stärke

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 2
Beschreibung: Die Stärke des Wetters. Dieser Wert wird bei WEATHER_NONE als Wetterart ignoriert. Hierzu werden die Wetterstärke-Konstanten verwendet:
  • WEATHERSTRENGTH_WEAK: Das Wetter ist schwach ausgeprägt.
  • WEATHERSTRENGTH_NORMAL: Das Wetter ist normal ausgeprägt.
  • WEATHERSTRENGTH_STRONG: Das Wetter ist stark ausgeprägt.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen Regen mittlerer Stärke heraufbeschwören Command.SetWeather(WEATHER_RAIN, WEATHERSTRENGTH_NORMAL);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.SetVehiclePlace()
Weiter >
Methode: Command.ShakeScreen()

Methode: Command.SetWeather()


Command.ShakeScreen()

Methode: Command.ShakeScreen()

Syntax

Command.ShakeScreen(Stärke, Geschwindigkeit, Dauer, Warten)

Beschreibung

Mit der ShakeScreen-Methode kann der Bildschirm geschüttelt werden (z. B. um Erdbeben zu simulieren). Das Schütteln geschieht immer in horizontaler Richtung.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.

Liste der Parameter

Parameter: Stärke

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Stärke des Schüttels (quasi die Amplitude). Dieser Wert sollte im Bereich von 1 (schwach) bis 9 (stark) liegen. Bei größeren/kleineren Werten wird das Schütteln stärker oder schwächer; kann aber auch ganz ausfallen.

Parameter: Geschwindigkeit

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Geschwindigkeit des Schüttels (quasi die Frequenz). Dieser Wert sollte im Bereich von 1 (langsam) bis 9 (schnell) liegen. Bei größeren/kleineren Werten wird das Schütteln schneller oder langsamer; kann aber auch ganz ausfallen.

Parameter: Dauer

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Dauer in Dezisekunden (zehntel Sekunden) bis das Schütteln vorbei ist.

Parameter: Warten

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis die angegebene Dauer abgelaufen ist.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Beispiel

Folgendes Beispiel muss alleine in einem RPG-Maker Kommentar stehen, damit keine anderen Command-Methoden die Wartezeit überschreiben (und somit die Wartezeit abgearbeitet wird):

In die Zwischenablage kopieren
1 2 3
$ // Den Bildschirm drei Sekunden lang, mit einer Stärke von 1 und eine Geschwindigkeit von 9 (es wird gewartet) Command.ShakeScreen(1, 9, 30, true);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.SetWeather()
Weiter >
Methode: Command.ShiftScreen()

Methode: Command.ShakeScreen()


Command.ShiftScreen()

Methode: Command.ShiftScreen()

Syntax

Command.ShiftScreen(Richtung, Anzahl Felder, Geschwindigkeit, Warten)

Beschreibung

Mit der ShiftScreen-Methode kann der Bildschirm verschoben werden (z. B. um eine bestimmte Stelle auf der Karte zu zeigen).
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.

Liste der Parameter

Parameter: Richtung

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 3
Beschreibung: Die Richtung in die der Bildschirm verschoben werden soll. Hierzu werden die Richtungskonstanten verwendet.
  • DIR_UP: Der Bildschirm soll nach oben verschoben werden.
  • DIR_RIGHT: Der Bildschirm soll nach rechts verschoben werden.
  • DIR_DOWN: Der Bildschirm soll nach unten verschoben werden.
  • DIR_LEFT: Der Bildschirm soll nach links verschoben werden.

Parameter: Anzahl Felder

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Felder, die der Bildschirm verschoben werden soll.

Parameter: Geschwindigkeit

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... 6
Beschreibung: | Die Geschwindigkeit der Verschiebung. Dieser Wert muss im Bereich von 1 (langsam) bis 6 (schnell) liegen. 4 entspricht der normalen Gehgeschwindigkeit.

Parameter: Warten

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis die angegebene Dauer abgelaufen ist.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Beispiel

Folgendes Beispiel muss in zwei separaten RPG-Maker Kommentaren hintereinander eingetragen werden (damit die Wartezeit abgearbeitet wird):

In die Zwischenablage kopieren
1 2 3
$ // Den Bildschirm um drei Felder nach rechts bewegen (Geschwindigkeit: Normal, Warten: ja) Command.ShiftScreen(DIR_RIGHT, 3, 4, true);
In die Zwischenablage kopieren
1 2 3
$ // Den Bildschirm wieder zum Helden zurückbewegen (Geschwindigkeit: Normal, Warten: ja) Command.ReturnScreen(4, true);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.ReleaseScreen()
< Zurück
Methode: Command.ShakeScreen()
Weiter >
Methode: Command.ShowBattleAnimation()

Methode: Command.ShiftScreen()


Command.ShowBattleAnimation()

Methode: Command.ShowBattleAnimation()

Syntax

Command.ShowBattleAnimation(Battle-Animation-Id, Event-Id, Vollbild, Warten)

Beschreibung

Mit der ShowBattleAnimation-Methode kann eine Kampfanimation dargestellt werden.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.

Liste der Parameter

Parameter: Battle-Animation-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Battle-Animation-Id der anzuzeigenden Kampfanimation. Dieser Wert muss eine gültige Battle-Animation-Id sein und liegt daher im Bereich von 1 bis Anzahl der Kampfanimationen (der Wert kann derzeit nicht per DestinyScript abgefragt werden).

Parameter: Event-Id

Datentyp: dword
Optional: nein
Wertebereich: >= 1
Beschreibung: Die Event-Id des entsprechenden Events, bei dem die Kampfanimation angezeigt werden soll. Dieser Wert muss eine gültige Event-Id oder ein Spezial-Event sein.
Hier können auch die Konstanten der Spezial-Events genutzt werden:
  • HERO: Das Helden-Event
  • BOAT: Das Boot-Event
  • SHIP: Das Schiff-Event
  • AIRSHIP: Das Luftschiff-Event
  • THIS: Das aktuelle Event

Parameter: Vollbild

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Kampfanimation auf den gesamten Bildschirm gestreckt oder nur im Rahmen des Events dargestellt wird.
  • False: Die Kampfanimation wird nur im Rahmen des Events dargestellt.
  • True: Die Kampfanimation wird auf den gesamten Bildschirm gestreckt dargestellt.

Parameter: Warten

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob die Weiterführung des EventScripts angehalten wird, bis die angegebene Dauer abgelaufen ist.
  • False: Es wird nicht gewartet.
  • True: Es wird gewartet.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die erste Kampfanimation (meist "Hit A") auf dem Helden darstellen (Vollbild, nicht warten) Command.ShowBattleAnimation(1, HERO, true, false);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.ShiftScreen()
Weiter >
Methode: Command.ShowFace()

Methode: Command.ShowBattleAnimation()


Command.ShowFace()

Methode: Command.ShowFace()

Syntax

Command.ShowFace(Faceset, Frame, Position des Faces, Gespiegelt)

Beschreibung

Mit der ShowFace-Methode kann ein Face für die Nachrichten festgelegt werden.

Liste der Parameter

Parameter: Faceset

Datentyp: | string
Optional: | nein
Beschreibung: | Der Dateiname des Facesets (ohne Pfad/Endung). Ist dieser Parameter ein Leerstring, dann wird das Face gelöscht.

Parameter: Frame

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 15
Beschreibung: | Der Index des verwendeten Faces. Dieser Wert liegt im Bereich von 0 ... 15 (siehe Abbildung). Mögliche Faceframe-Werte

Parameter: Position des Faces

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 1
Beschreibung: Gibt die Position des Faces an. Hierzu können die Facepositionskonstanten verwendet werden.
  • FACEPOSITION_LEFT: Das Face wird am linken Rand des Nachrichtenfensters dargestellt.
  • FACEPOSITION_RIGHT: Das Face wird am rechten Rand des Nachrichtenfensters dargestellt.

Parameter: Gespiegelt

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob das Face gespiegelt dargestellt werden soll.
  • False: Das Gesicht wird ganz normal dargestellt.
  • True: Das Gesicht wird gespiegelt dargestellt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Das Gesicht von Alex in den Nachrichtenfenstern (rechts, gespiegelt) darstellen
Command.ShowFace("Chara1", 0, FACEPOSITION_RIGHT, true);

// Das Gesicht für die Nachrichtenausgabe wieder löschen
Command.ShowFace("", 0, FACEPOSITION_LEFT, false);

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_EXCEPTION

Siehe auch

Command, Faceset.Filename, Faceset.Frame, Faceset.Position, Faceset.Flipped
< Zurück
Methode: Command.ShowBattleAnimation()
Weiter >
Methode: Command.ShowPicture()

Methode: Command.ShowFace()


Command.ShowPicture()

Methode: Command.ShowPicture()

Syntax

Command.ShowPicture(Picture-Id, Picture, X, Y, [Mit Karte bewegen, [Vergrößerung, [Transparenz, [Maskenfarbe verwenden, [Rot, [Grün, [Blau, [Chrominanz, [Aktion, [Aktionstärke]]]]]]]]]])

Beschreibung

Mit der ShowPicture-Methode kann eine Grafik als Picture geladen und angezeigt werden.

Liste der Parameter

Parameter: Picture-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Picture.Count
Beschreibung: | Die Picture-Id des anzuzeigenden Pictures. Dieser Wert muss eine gültige Picture-Id sein und liegt daher im Bereich von 1 bis Picture.Count.

Parameter: Picture

Datentyp: | string
Optional: | nein
Beschreibung: | Der Dateiname des Pictures (ohne Pfad/Endung). Das Picture wird relativ zum Picture-Verzeichnis gesucht und kann auch aus dem RTP stammen.

Parameter: X

Datentyp: | dword
Optional: | nein
Beschreibung: | Die X-Koordinate des Pictures. Diese bezieht sich auf den Mittelpunkt des Pictures.

Parameter: Y

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Y-Koordinate des Pictures. Diese bezieht sich auf den Mittelpunkt des Pictures.

Parameter: Mit Karte bewegen

Datentyp: bool
Optional: ja
Standardwert: false
Beschreibung: Gibt an, ob sich das Picture zusammen mit der Karte bewegt.
  • False: Das Picture bewegt sich nicht mit.
  • True: Das Picture bewegt sich mit.

Parameter: Vergrößerung

Datentyp: | dword
Optional: | ja
Standardwert: | 100
Wertebereich: | >= 1
Beschreibung: | Der Vergrößerungsfaktor des Pictures in Prozent. Der Standardwert 100 besagt, dass das Picture normal dargestellt wird.

Parameter: Transparenz

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Die Transparenz des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 100 liegen. Bei Werten größer als 100 treten lustige Berechnungsfehler auf.

Parameter: Maskenfarbe verwenden

Datentyp: bool
Optional: ja
Standardwert: true
Beschreibung: Gibt an, ob die Maskenfarbe verwendet wird.
  • False: Die Maskenfarbe wird nicht verwendet.
  • True: Die Maskenfarbe wird verwendet (Standardwert).

Parameter: Rot

Datentyp: dword
Optional: ja
Standardwert: 100
Beschreibung: Die Rotfärbung des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass das Picture die Farbe rot nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe rot normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Rottönen dargestellt wird.

Parameter: Grün

Datentyp: dword
Optional: ja
Standardwert: 100
Beschreibung: Die Grünfärbung des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass das Picture die Farbe grün nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe grün normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Grüntnen dargestellt wird.

Parameter: Blau

Datentyp: dword
Optional: ja
Standardwert: 100
Beschreibung: Die Blaufärbung des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass das Picture die Farbe blau nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe blau normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Blautönen dargestellt wird.

Parameter: Chrominanz

Datentyp: dword
Optional: ja
Standardwert: 100
Beschreibung: Die Chrominanz (Farbsättigung) des Pictures in Prozent. Dieser Wert sollte im Bereich von 0 bis 200 liegen.
  • Der Wert 0 bedeutet, dass das Picture farbentsättigt dargestellt wird.
  • Der Wert 100 bedeutet, dass das Picture normal dargestellt wird.
  • Der Wert 200 bedeutet, dass das Picture mit besonders großen Farbunterschieden dargestellt wird.

Parameter: Aktion

Datentyp: dword
Optional: ja
Standardwert: 0
Wertebereich: 0 ... 2
Beschreibung: Die Aktion des Pictures. Hierzu werden die Aktionskonstanten verwendet:
  • ACTION_NONE: Das Picture führt keine Aktion durch.
  • ACTION_ROTATION: Das Picture rotiert um die eigene Achse.
  • ACTION_RIPPLE: Das Picture führt einen Welleneffekt durch.

Parameter: Aktionstärke

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Die Aktionstärke des Pictures. Die Bedeutung dieses Wertes hängt von der gewählten Aktion des Pictures ab. Bei der Aktion ACTION_NONE wird der Wert dieses Parameters ignoriert.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die RTP-Wolkengrafik als Picture 1 laden und in der Mitte des Bildschirms anzeigen Command.ShowPicture(1, "CLOUD", 160, 120);

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_EXCEPTION

Siehe auch

Command, Command.MovePicture(), Command.ErasePicture(), Picture
< Zurück
Methode: Command.ShowFace()
Weiter >
Methode: Command.ShowScreen()

Methode: Command.ShowPicture()


Command.ShowScreen()

Methode: Command.ShowScreen()

Syntax

Command.ShowScreen(Transition)

Beschreibung

Mit der ShowScreen-Methode kann der Bildschirm über eingeblendet ("angezeigt") werden.

Liste der Parameter

Parameter: Transition

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 19
Beschreibung: Die zu verwendende Transition (vom Typ Show).
Hierzu werden die Show-Konstanten verwendet:
  • SHOW_FADEIN: Der Bildschirm wird eingeblendet
  • SHOW_RANDOMBLOCKS: Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts
  • SHOW_RANDOMBLOCKSUP: Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts von unten nach oben
  • SHOW_RANDOMBLOCKSDOWN: Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts von oben nach unten
  • SHOW_BLINDOPEN: Der Bildschirm füllt sich mit horizontalen Strichen des neuen Bildschirminhalts
  • SHOW_STRIPEUPDOWN: Der Bildschirm wird von oben und unten gleichzeitig mit je einem Balken des neuen Bildschirminhalts gefüllt
  • SHOW_STRIPELEFTRIGHT: Der Bildschirm wird von links und rechts gleichzeitig mit je einem Balken des neuen Bildschirminhalts gefüllt
  • SHOW_OUTSIDEINSIDE: Der Bildschirm füllt sich in Form eines Rechtecks von außen nach innen
  • SHOW_INSIDEOUTSIDE: Der Bildschirm füllt sich in Form eines Rechtecks von innen nach außen
  • SHOW_SCROLLDOWN: Der Bildschirm wird nach unten hereingeschoben
  • SHOW_SCROLLUP: Der Bildschirm wird nach oben hereingeschoben
  • SHOW_SCROLLRIGHT: Der Bildschirm wird nach rechts hereingeschoben
  • SHOW_SCROLLLEFT: Der Bildschirm wird nach links hereingeschoben
  • SHOW_COMBINEUPDOWN: Der Bildschirm setzt sich aus zwei horizontalen Teilen des neuen Bildschirminhalts von oben und unten gleichzeitig zusammen
  • SHOW_COMBINELEFTRIGHT: Der Bildschirm setzt sich aus zwei vertikalen Teilen des neuen Bildschirminhalts von links und rechts gleichzeitig zusammen
  • SHOW_COMBINE: Der Bildschirm setzt sich aus vier Teilen des neuen Bildschirminhalts von den Bildschirmecken her zusammen
  • SHOW_ZOOMOUT: Der Bildschirm wird in Richtung des Helden von einer starken Vergrößerung auf die Normalgröße verkleinert
  • SHOW_MOSAIC: Der Bildschirm wird über ein immer feiner werdendes Mosaik eingeblendet
  • SHOW_ROSTERSCROLL: Der Bildschirm ist wellenförmig verschwommen und wird immer klarer
  • SHOW_INSTANT: Der neue Bildschirminhalt ist sofort ohne Übergang sichtbar

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den Bildschirm von Außen nach Innen löschen
Command.EraseScreen(ERASE_OUTSIDEINSIDE);
// Den Helden in die untere rechte Ecke teleportieren
Command.Teleport(Map.Id, Map.Width - 1, Map.Height - 1);
// Den Bildschirm von Innen nach Außen anzeigen
Command.ShowScreen(SHOW_INSIDEOUTSIDE);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.Teleport(), Command.EraseScreen(), Map.Id, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.ShowPicture()
Weiter >
Methode: Command.StartTimer()

Methode: Command.ShowScreen()


Command.StartTimer()

Methode: Command.StartTimer()

Syntax

Command.StartTimer(Timer anzeigen, Timer im Kampf verfügbar)

Beschreibung

Mit der StartTimer-Methode kann der Timer gestartet werden.

Liste der Parameter

Parameter: Timer anzeigen

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob der Timer angezeigt wird.
  • False: Der Timer wird nicht angezeigt.
  • True: Der Timer wird angezeigt.

Parameter: Timer im Kampf verfügbar

Datentyp: bool
Optional: nein
Beschreibung: Gibt an, ob der Timer im Kampf verfügbar ist. Wird der Timer angezeigt, so wird er dann auch im Kampf angezeigt.
  • False: Der Timer läuft während des Kampfes nicht weiter und wird dort auch nicht angezeigt.
  • True: Der Timer läuft während des Kampfes weiter und wird dort ggf. angezeigt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Den aktuellen Wert des Timers auf 2 Minuten und 15 Sekunden stellen
Command.SetTimer(2, 15);

// Den Timer starten (ist auf der Karte und im Kampf sichtbar)
Command.StartTimer(true, true);

// ...

// Den Timer irgendwann (z. B. in einem seperatem Skript) wieder stoppen
Command.StopTimer();

Siehe auch

Command, Command.SetTimer(), Command.StopTimer()
< Zurück
Methode: Command.ShowScreen()
Weiter >
Methode: Command.StopAll()

Methode: Command.StartTimer()


Command.StopAll()

Methode: Command.StopAll()

Syntax

Command.StopAll()

Beschreibung

Mit der StopAll-Methode werden auszuführende Bewegungsschritte abgebrochen. Die abzubrechenden Bewegungsschritte müssen in einem MoveEvent-Befehl (EventScript) vorher ausgeführt werden.

Beispiel

Vor folgendem Beispiel sollte ein MoveEvent-Befehl (EventScript) ausgeführt worden sein, damit man etwas bemerkt:

In die Zwischenablage kopieren
1 2 3
$ // Bricht zuvor angegebene MoveEvent-Befehle (EventScript) ab Command.StopAll();

Siehe auch

Command, Command.MoveEvent(), Command.MoveAll()
< Zurück
Methode: Command.StartTimer()
Weiter >
Methode: Command.StopMusic()

Methode: Command.StopAll()


Command.StopMusic()

Methode: Command.StopMusic()

Syntax

Command.StopMusic()

Beschreibung

Mit der StopMusic-Methode kann die aktuelle Hintergrundmusik gestoppt werden. Eine Hintergrundmusik kann über die PlayMusic-Methode gestartet werden.
Information:
Es ist nicht notwendig die Hintergrundmusik vorher zu stoppen, um eine andere Hintergrundmusik abspielen zu lassen. Die andere Hintergrundmusik kann direkt per Command.PlayMusic() gestartet werden. Lief vorher bereits eine andere Hintergrundmusik, so wird diese automatisch gestoppt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Hintergrundmusik "ANGER" abspielen
Command.PlayMusic("ANGER");
// Die aktuelle Hintergrundmusik umgehend stoppen
Command.StopMusic();

Siehe auch

Command, Command.PlayMusic(), Command.FadeOutMusic()
< Zurück
Methode: Command.StopAll()
Weiter >
Methode: Command.StopParallelProcesses()

Methode: Command.StopMusic()


Command.StopParallelProcesses()

Methode: Command.StopParallelProcesses()

Syntax

Command.StopParallelProcesses()

Beschreibung

Mit der StopParallelProcesses-Methode können aktuell laufende Events (auf der Karte oder CommonEvent) vom Typ "Parallel Process" unterbrochen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Unterbricht parallele Prozesse Command.StopParallelProcesses();

Siehe auch

Command
< Zurück
Methode: Command.StopMusic()
Weiter >
Methode: Command.StopTimer()

Methode: Command.StopParallelProcesses()


Command.StopTimer()

Methode: Command.StopTimer()

Syntax

Command.StopTimer()

Beschreibung

Mit der StopTimer-Methode kann der Timer gestoppt werden. Wird der Timer anschließend wieder gestartet, so läuft die vorherige Zeit weiter.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Den aktuellen Wert des Timers auf 2 Minuten und 15 Sekunden stellen
Command.SetTimer(2, 15);

// Den Timer starten (ist auf der Karte und im Kampf sichtbar)
Command.StartTimer(true, true);

// ...

// Den Timer irgendwann (z. B. in einem seperatem Skript) wieder stoppen
Command.StopTimer();

Siehe auch

Command, Command.SetTimer(), Command.StartTimer()
< Zurück
Methode: Command.StopParallelProcesses()
Weiter >
Methode: Command.SubtractAbility()

Methode: Command.StopTimer()


Command.SubtractAbility()

Methode: Command.SubtractAbility()

Syntax

Command.SubtractAbility(Actor-Id, Art, Anzahl)

Beschreibung

Mit der SubtractAbility-Methode können einem Helden Fähigkeitspunkte abgezogen werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welchem die Fähigkeitspunkte abgezogen werden sollen. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Fähigkeitspunkte verliert.

Parameter: Art

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 5
Beschreibung: Die Art der Fähigkeitspunkte. Hierzu werden die Fähigkeitspunkt-Konstanten verwendet:
  • ABILITY_MAXHP: Der Held verliert maximalen Lebenspunkte (entspricht Actor[].MaxHpDiff -= Wert).
  • ABILITY_MAXMP: Der Held verliert maximalen Magiepunkte (entspricht Actor[].MaxMpDiff -= Wert).
  • ABILITY_ATTACK: Der Held verliert Angriffspunkte (entspricht Actor[].AttackDiff -= Wert).
  • ABILITY_DEFENSE: Der Held verliert Verteidigungspunkte (entspricht Actor[].DefenseDiff -= Wert).
  • ABILITY_MIND: Der Held verliert Intelligenzpunkte (entspricht Actor[].MindDiff -= Wert).
  • ABILITY_AGILITY: Der Held verliert Beweglichkeitspunkte (entspricht Actor[].AgilityDiff -= Wert).

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Fähigkeitspunkte, die der Held verlieren soll.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Die Angriffspunkte des ersten Helden 50 steigern
Command.AddAbility(1, ABILITY_ATTACK, 50);

// Der gesamten Partie (= je Held) zehn Verteidigungspunkte abziehen
Command.SubtractLevel(STATE_WHOLEPARTY, ABILITY_DEFENSE, 10);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddAbility()
< Zurück
Methode: Command.StopTimer()
Weiter >
Methode: Command.SubtractExp()

Methode: Command.SubtractAbility()


Command.SubtractExp()

Methode: Command.SubtractExp()

Syntax

Command.SubtractExp(Actor-Id, Anzahl)

Beschreibung

Mit der SubtractExp-Methode können einem Helden Erfahrungspunkte abgezogen werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welchem die Erfahrungspunkte abgezogen werden sollen. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Erfahrungspunkte verliert.

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Erfahrungspunkte, die der Held verlieren soll.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Dem ersten Helden 100 Erfahrungspunkte hinzufügen
// (hierbei wird ggf. eine Steigerungsnachricht des Levels angezeigt)
Command.AddExp(1, 100, true);

// Der gesamten Partie (= je Held) 50 Erfahrungspunkte abziehen
Command.SubtractExp(STATE_WHOLEPARTY, 50);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddExp()
< Zurück
Methode: Command.SubtractAbility()
Weiter >
Methode: Command.SubtractGold()

Methode: Command.SubtractExp()


Command.SubtractGold()

Methode: Command.SubtractGold()

Syntax

Command.SubtractGold(Anzahl)

Beschreibung

Mit der SubtractGold-Methode kann der Partie Gold abgezogen werden.

Liste der Parameter

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl des Goldes, welches der Partie abgezogen werden soll.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Der Partie 100 Gold geben
Command.AddGold(100);

// Der Partie 100 Gold nehmen (wie gewonnen, so zerronnen)
Command.SubtractGold(100);

Siehe auch

Command, Command.AddGold()
< Zurück
Methode: Command.SubtractExp()
Weiter >
Methode: Command.SubtractHp()

Methode: Command.SubtractGold()


Command.SubtractHp()

Methode: Command.SubtractHp()

Syntax

Command.SubtractHp(Actor-Id, Anzahl, [Sterben möglich?])

Beschreibung

Mit der SubtractHp-Methode kann ein Held Lebenspunkte verlieren.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher Lebenspunkte verlieren soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Lebenspunkte verliert.

Parameter: Anzahl

Datentyp: dword
Optional: nein
Beschreibung: Die Anzahl der Lebenspunkte, die der Held verlieren soll.
  • Ist das Sterben unmöglich, so können die Lebenspunkte des Helden nicht unter 1 sinken.
  • Ist das Sterben möglich, so können die Lebenspunkte des Helden nicht unter 0 sinken. Haben alle Helden der Partie 0 Lebenspunkte, so ist das Spiel verloren (Game Over).

Parameter: Sterben möglich?

Datentyp: bool
Optional: ja
Standardwert: true
Beschreibung: Gibt an, ob ein Held durch den Verlust von Lebenspunkten sterben kann.
  • False: Es ist nicht möglich durch den Verlust von Lebenspunkten zu sterben (die Lebenspunkte fallen daher nicht unter 1 mit dieser Aktion).
  • True: Es ist möglich durch den Verlust von Lebenspunkten zu sterben. Sind alle Helden tot, so ist das Spiel verloren.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Dem ersten Helden 100 Lebenspunkte geben
Command.AddHp(1, 100);

// Der gesamten Partie (= je Held) 50 Lebenspunkte abziehen (ohne möglichen Tod)
Command.SubtractHp(STATE_WHOLEPARTY, 50, false);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddHp()
< Zurück
Methode: Command.SubtractGold()
Weiter >
Methode: Command.SubtractLevel()

Methode: Command.SubtractHp()


Command.SubtractLevel()

Methode: Command.SubtractLevel()

Syntax

Command.SubtractLevel(Actor-Id, Anzahl)

Beschreibung

Mit der SubtractLevel-Methode können einem Helden Level abgezogen werden.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welchem die Level abgezogen werden sollen. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Level verliert.

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Level, die der Held verlieren soll.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den ersten Helden um zwei Stufen steigen lassen
// (hierbei wird ggf. eine Steigerungsnachricht des Levels angezeigt)
Command.AddLevel(1, 2, true);

// Der gesamten Partie (= je Held) eine Stufe abziehen
Command.SubtractLevel(STATE_WHOLEPARTY, 1);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddLevel()
< Zurück
Methode: Command.SubtractHp()
Weiter >
Methode: Command.SubtractMp()

Methode: Command.SubtractLevel()


Command.SubtractMp()

Methode: Command.SubtractMp()

Syntax

Command.SubtractMp(Actor-Id, Anzahl)

Beschreibung

Mit der SubtractMp-Methode kann ein Held Magiepunkte verlieren.

Liste der Parameter

Parameter: Actor-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... Actor.Count
Beschreibung: | Die Actor-Id des Helden, welcher Magiepunkte verlieren soll. Diese muss im Bereich von 1 bis Actor.Count liegen. Alternativ kann auch die Konstante STATE_WHOLEPARTY verwendet werden, damit die gesamte Party Magiepunkte verliert.

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Anzahl der Magiepunkte, die der Held verlieren soll. Die Magiepunkte des Helden können dabei nicht unter 0 fallen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Dem ersten Helden 100 Magiepunkte geben
Command.AddMp(1, 100);

// Der gesamten Partie (= je Held) 50 Magiepunkte abziehen
Command.SubtractMp(STATE_WHOLEPARTY, 50);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.AddMp()
< Zurück
Methode: Command.SubtractLevel()
Weiter >
Methode: Command.SwapTwoEvents()

Methode: Command.SubtractMp()


Command.SwapTwoEvents()

Methode: Command.SwapTwoEvents()

Syntax

Command.SwapTwoEvents(Event-Id 1, Event-Id 2)

Beschreibung

Mit der SwapTwoEvents-Methode kann die Position zweier Events vertauscht werden.

Liste der Parameter

Parameter: Event-Id 1

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Event-Id des ersten zu vertauschenden Events. Dieser Wert muss eine gültige Event-Id sein. Zusätzlich kann auch die Konstante THIS verwendet werden um die Position des aktuellen Events zu vertauschen.

Parameter: Event-Id 2

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Event-Id des zweiten zu vertauschenden Events. Dieser Wert muss eine gültige Event-Id sein. Zusätzlich kann auch die Konstante THIS verwendet werden um die Position des aktuellen Events zu vertauschen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Position des ersten Events mit der Position des zweiten Events vertauschen Command.SwapTwoEvents(1, 2);

Sonstiges

Das obere Beispiel kann auch über das Event[]-Objekt durchgeführt werden.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
// Die Koordinaten des ersten Events zwischenspeichern
d[1] = Event[1].X;
d[2] = Event[1].Y;
// Die Koordinaten des ersten Events auf die Koordinaten des zweiten Events setzen
Event[1].X = Event[2].X;
Event[1].Y = Event[2].Y;
// Die Koordinaten des zweiten Events auf die zwischengespeicherten Koordinaten des ersten Events setzen
Event[2].X = d[1];
Event[2].Y = d[2];

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.SetEventPlace(), Map.Id, Map.HeroX, Map.HeroY, Event[]
< Zurück
Methode: Command.SubtractMp()
Weiter >
Methode: Command.Teleport()

Methode: Command.SwapTwoEvents()


Command.Teleport()

Methode: Command.Teleport()

Syntax

Command.Teleport(Map-Id, X, Y)

Beschreibung

Mit der Teleport-Methode kann der Held an eine bestimmte Position einer bestimmten Karte teleportiert werden.
Information:
Die Parameter dieser Methode müssen unbedingt gültig sein, da die RPG_RT sonst abstürzt.

Liste der Parameter

Parameter: Map-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Die Id der Zielkarte. Dieser Wert muss eine gültige Map-Id sein und muss größer/gleich 1 sein. Wird hier eine ungültige Map-Id angegeben, dann stürzt das Spiel ab. Dies kann nicht abgefangen werden.

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die X-Koordinate des Helden auf der Karte. Dieser Wert muss größer/gleich 0 sein.

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Y-Koordinate des Helden auf der Karte. Dieser Wert muss größer/gleich 0 sein.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Helden an den rechten Rand der Karte teleportieren Command.Teleport(Map.Id, Map.Width - 1, Map.HeroY);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command, Command.MemorizePlace(), Command.GoToMemorizedPlace(), Map.Id, Map.Width, Map.Height, Map.HeroX, Map.HeroY
< Zurück
Methode: Command.SwapTwoEvents()
Weiter >
Methode: Command.TitleScreen()

Methode: Command.Teleport()


Command.TitleScreen()

Methode: Command.TitleScreen()

Syntax

Command.TitleScreen()

Beschreibung

Mit der TitleScreen-Methode kann der aktuelle Spiellauf über den Titelbildschirm beendet werden. Der Spiellauf umgehend beendet und das Spiel in den Titelbild-Modus versetzt; das DestinyScript läuft nicht weiter und wird ebenfalls umgehend beendet.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den aktuellen Spiellauf über den Titelbildschirm beenden Command.TitleScreen();

Siehe auch

Command, Command.GameOver()
< Zurück
Methode: Command.Teleport()
Weiter >
Methode: Command.Wait()

Methode: Command.TitleScreen()


Command.Wait()

Methode: Command.Wait()

Syntax

Command.Wait(Dauer)

Beschreibung

Mit der Wait-Methode kann die Ausführung des EventScripts für eine bestimmte Zeit unterbrochen werden.
Information:
Die Wartezeit wird erst am Ende des DestinyScripts durch die RPG_RT "ausgeführt" und kann von anderen RPG-Maker Befehlen, die per Command-Objekt aufgerufen werden, überschrieben werden.

Liste der Parameter

Parameter: Dauer

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Dauer in Dezisekunden (zehntel Sekunden) bis die Ausführung des EventScripts fortgesetzt werden soll.

Beispiel

Folgendes Beispiel muss alleine in einem RPG-Maker Kommentar stehen, damit keine anderen Command-Methoden die Wartezeit überschreiben (und somit die Wartezeit abgearbeitet wird):

In die Zwischenablage kopieren
1 2 3
$ // Die Ausführung des aktuellen Events für 1 Sekunde unterbrechen Command.Wait(10);

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Command
< Zurück
Methode: Command.TitleScreen()
Weiter >
Objekt: CommonEvent

Methode: Command.Wait()


CommonEvent

Objekt: CommonEvent

Syntax

CommonEvent

Beschreibung

Das CommonEvent-Objekt dient alle CommonEvents der Spieldatenbank zugänglich zu machen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der CommonEvents
[] | Objekt | Ein einzelnes Element des CommonEvent-Objekts
CallMode | Eigenschaft | Der Aufrufsmodus eines CommonEvents
Id | Eigenschaft | Die CommonEvent-Id eines CommonEvents
Name | Eigenschaft | Der Name eines CommonEvents
Switch | Eigenschaft | Die Switch-Id des verwendeten Schalters für die Aktivierung des CommonEvents
< Zurück
Methode: Command.Wait()
Weiter >
Eigenschaft: CommonEvent.Count

Objekt: CommonEvent


CommonEvent.Count

Eigenschaft: CommonEvent.Count

Syntax

CommonEvent.Count

Beschreibung

Gibt die Anzahl der CommonEvents zurück. Diese kann verwendet werden um eine Schleife über alle CommonEvents zu machen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller CommonEvents zusammenstellen und in a[1] speichern
a[1] = "";
for(v[1] = 1; v[1] <= CommonEvent.Count; v[1]++)
  a[1] ..= CommonEvent[v[1]].Name .. CRLF;
next;

Siehe auch

CommonEvent, CommonEvent[], CommonEvent[].Name
< Zurück
Objekt: CommonEvent
Weiter >
Objekt: CommonEvent[]

Eigenschaft: CommonEvent.Count


CommonEvent[]

Objekt: CommonEvent[]

Syntax

CommonEvent[CommonEvent-Id]

Beschreibung

Ermöglicht den Zugriff auf ein bestimmtes Element des CommonEvent-Objekts.

Liste der Parameter

Parameter: CommonEvent-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... CommonEvent.Count
Beschreibung: | Die CommonEvent-Id des entsprechenden CommonEvents. Dieser Wert muss im Bereich von 1 ... CommonEvent.Count liegen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
CallMode | Eigenschaft | Der Aufrufsmodus eines CommonEvents
Id | Eigenschaft | Die CommonEvent-Id eines CommonEvents
Name | Eigenschaft | Der Name eines CommonEvents
Switch | Eigenschaft | Die Switch-Id des verwendeten Schalters für die Aktivierung des CommonEvents

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: CommonEvent.Count
Weiter >
Eigenschaft: CommonEvent[].CallMode

Objekt: CommonEvent[]


CommonEvent[].CallMode

Eigenschaft: CommonEvent[].CallMode

Syntax

CommonEvent[CommonEvent-Id].CallMode

Beschreibung

Mit der CallMode-Eigenschaft kann der Aufrufsmodus eines CommonEvents ermittelt werden. Zur Identifizierung können die CallMode-Konstanten verwendet werden.
  • CALLMODE_CALL: Das CommonEvent wird durch Aufrufe gestartet.
  • CALLMODE_PARALLELPROCESS: Das CommonEvent läuft als Paralleler Prozess.
  • CALLMODE_AUTOSTART: Das CommonEvent läuft als Paralleler Prozess, der die Spielsteuerung und die freien Bewegungen blockiert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Prüfen, ob das erste CommonEvent aufgerufen werden muss
if(CommonEvent[1].CallMode == CALLMODE_CALL)
  // Das erste CommonEvent aufrufen
  Command.CallCommonEvent(1);
endif;

Siehe auch

CommonEvent, CommonEvent[], Command.CallCommonEvent()
< Zurück
Objekt: CommonEvent[]
Weiter >
Eigenschaft: CommonEvent[].Id

Eigenschaft: CommonEvent[].CallMode


CommonEvent[].Id

Eigenschaft: CommonEvent[].Id

Syntax

CommonEvent[CommonEvent-Id].Id

Beschreibung

Mit der Id-Eigenschaft kann die CommonEvent-Id eines CommonEvents ermittelt werden. Dieser Wert entspricht dem Index, der für das CommonEvent[]-Objekt genutzt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die CommonEvent-Id des ersten CommonEvents ermitteln und in v[1] speichern v[1] = CommonEvent[1].Id; // 1 (= der Wert in den eckigen Klammern)

Siehe auch

CommonEvent, CommonEvent[], CommonEvent.Count
< Zurück
Eigenschaft: CommonEvent[].CallMode
Weiter >
Eigenschaft: CommonEvent[].Name

Eigenschaft: CommonEvent[].Id


CommonEvent[].Name

Eigenschaft: CommonEvent[].Name

Syntax

CommonEvent[CommonEvent-Id].Name

Beschreibung

Mit der Name-Eigenschaft kann der Name eines CommonEvents ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Namen des ersten CommonEvent auslesen und in a[1] speichern a[1] = CommonEvent[1].Name;
Folgendes Beispiel kann dazu genutzt werden, um ein CommonEvent aufzurufen, das denselben Namen hat, wie das aktuelle Event.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Den Namen des aktuellen Events speichern
a[1] = Event[THIS].Name;
// Nach einem CommonEvent mit demselben Namen suchen und dieses aufrufen (der Aufruf geschieht nach dem DestinyScript)
for(v[1] = 1; v[1] <= CommonEvent.Count; v[1]++)
  if(CommonEvent[v[1]].Name == a[1])
    // Der Name ist gleich -> CommonEvent aufrufen und Schleife verlassen
    Command.CallCommonEvent(v[1]);
    break;
  endif;
next;

Siehe auch

CommonEvent, CommonEvent[], CommonEvent.Count, CommonEvent[].Name, Event[].Name, Command.CallCommonEvent()
< Zurück
Eigenschaft: CommonEvent[].Id
Weiter >
Eigenschaft: CommonEvent[].Switch

Eigenschaft: CommonEvent[].Name


CommonEvent[].Switch

Eigenschaft: CommonEvent[].Switch

Syntax

CommonEvent[CommonEvent-Id].Switch

Beschreibung

Mit der Switch-Eigenschaft kann die Switch-Id des Schalters ermittelt werden, der zur Aktivierung des CommonEvents True sein muss. Dieser Wert hat nur Gültigkeit, wenn der CallMode nicht CALLMODE_CALL ist. Ist dieser Wert 0, dann wird kein Schalter benötigt, um das CommonEvent zu aktivieren.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Prüfen, ob das erste CommonEvent einen Schalter zur Aktivierung benötigt
if(CommonEvent[1].Switch > 0)
  // Den jeweiligen Switch aktivieren
  s[CommonEvent[1].Switch] = true;
endif;

Siehe auch

CommonEvent, CommonEvent[], CommonEvent[].CallMode
< Zurück
Eigenschaft: CommonEvent[].Name
Weiter >
Objekt: Condition

Eigenschaft: CommonEvent[].Switch


Condition

Objekt: Condition

Syntax

Condition

Beschreibung

Das Condition-Objekt dient dazu alle Konditionen von den Helden und Gegnern der Spieldatenbank zugänglich zu machen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Konditionen
[] | Objekt | Ein einzelnes Element des Condition-Objekts
ActionLimitation | Eigenschaft | Die Aktionslimitierung der Kondition
AllyStateMessage | Eigenschaft | Nachricht bei Erwerb dieser Kondition durch einen Helden
AlreadyInStateMessage | Eigenschaft | Nachricht dieser Kondition falls ein Held/Gegner diese Kondition bereits hat
Chance | Objekt | Die Chancen zum Erwerb einer Kondition
Count | Eigenschaft | Die Anzahl der Chancen zum Erwerb einer Kondition
[] | Eigenschaft | Die Chance zum Erwerb einer Kondition
Color | Eigenschaft | Die Farbe einer Kondition
EnemyStateMessage | Eigenschaft | Nachricht bei Erwerb dieser Kondition durch einen Gegner
HalfAgility | Eigenschaft | Halbierte Beweglichkeitspunkte bei einer Kondition
HalfAttack | Eigenschaft | Halbierte Angriffspunkte bei einer Kondition
HalfDefense | Eigenschaft | Halbierte Verteidigungspunkte bei einer Kondition
HalfMind | Eigenschaft | Halbierte Intelligenzpunkte bei einer Kondition
HitChanceLimitation | Eigenschaft | Limitierte, physische Trefferchance von Techniken durch eine Kondition
HitRateChange | Eigenschaft | Veränderte Trefferchance durch eine Kondition
MindChanceLimitation | Eigenschaft | Limitierte, magische Trefferchance von Techniken durch eine Kondition
Name | Eigenschaft | Der Name einer Kondition
NaturalHealingChance | Eigenschaft | Die Chance zur natürlichen Heilung einer Kondition
NaturalHealingTurns | Eigenschaft | Die Anzahl der Züge bis zum Beginn der natürlichen Heilung einer Kondition
PercentDownPerTurnHp | Eigenschaft | Prozentualer Verlust von Lebenspunkten pro Zug durch diese Kondition
PercentDownPerTurnMp | Eigenschaft | Prozentualer Verlust von Magiepunkten pro Zug durch diese Kondition
PointDownPerStepHp | Eigenschaft | Verlust von Lebenspunkten pro Schritt durch diese Kondition
PointDownPerStepMp | Eigenschaft | Verlust von Magiepunkten pro Schritt durch diese Kondition
PointDownPerTurnHp | Eigenschaft | Verlust von Lebenspunkten pro Zug durch diese Kondition
PointDownPerTurnMp | Eigenschaft | Verlust von Magiepunkten pro Zug durch diese Kondition
Priority | Eigenschaft | Die Priorität einer Kondition
RecoveryStateMessage | Eigenschaft | Nachricht dieser Kondition falls ein Held/Gegner von dieser Kondition geheilt wird
ShockHealingChance | Eigenschaft | Die Chance zur Heilung einer Kondition durch physische Angriff
StepsDownHp | Eigenschaft | Anzahl der Schritte zum Verlust von Lebenspunkten durch diese Kondition
StepsDownMp | Eigenschaft | Anzahl der Schritte zum Verlust von Magiepunkten durch diese Kondition
StillInStateMessage | Eigenschaft | Nachricht dieser Kondition falls ein Held/Gegner einen weiteren Zug diese Kondition hat
Type | Eigenschaft | Der Typ einer Kondition
< Zurück
Eigenschaft: CommonEvent[].Switch
Weiter >
Eigenschaft: Condition.Count

Objekt: Condition


Condition.Count

Eigenschaft: Condition.Count

Syntax

Condition.Count

Beschreibung

Gibt die Anzahl der Konditionen zurück. Diese kann verwendet werden um eine Schleife über alle Konditionen zu machen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Konditionen zusammenstellen und in a[1] speichern
a[1] = "";
for(v[1] = 1; v[1] <= Condition.Count; v[1]++)
  a[1] ..= Condition[v[1]].Name .. CRLF;
next;

Siehe auch

Condition, Condition[], Condition[].Name
< Zurück
Objekt: Condition
Weiter >
Objekt: Condition[]

Eigenschaft: Condition.Count


Condition[]

Objekt: Condition[]

Syntax

Condition[Condition-Id]

Beschreibung

Ermöglicht den Zugriff auf ein bestimmtes Element des Condition-Objekts.

Liste der Parameter

Parameter: Condition-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Condition.Count
Beschreibung: | Die Condition-Id der entsprechenden Kondition. Dieser Wert muss im Bereich von 1 ... Condition.Count liegen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
ActionLimitation | Eigenschaft | Die Aktionslimitierung der Kondition
AllyStateMessage | Eigenschaft | Nachricht bei Erwerb dieser Kondition durch einen Helden
AlreadyInStateMessage | Eigenschaft | Nachricht dieser Kondition falls ein Held/Gegner diese Kondition bereits hat
Chance | Objekt | Die Chancen zum Erwerb einer Kondition
Count | Eigenschaft | Die Anzahl der Chancen zum Erwerb einer Kondition
[] | Eigenschaft | Die Chance zum Erwerb einer Kondition
Color | Eigenschaft | Die Farbe einer Kondition
EnemyStateMessage | Eigenschaft | Nachricht bei Erwerb dieser Kondition durch einen Gegner
HalfAgility | Eigenschaft | Halbierte Beweglichkeitspunkte bei einer Kondition
HalfAttack | Eigenschaft | Halbierte Angriffspunkte bei einer Kondition
HalfDefense | Eigenschaft | Halbierte Verteidigungspunkte bei einer Kondition
HalfMind | Eigenschaft | Halbierte Intelligenzpunkte bei einer Kondition
HitChanceLimitation | Eigenschaft | Limitierte, physische Trefferchance von Techniken durch eine Kondition
HitRateChange | Eigenschaft | Veränderte Trefferchance durch eine Kondition
MindChanceLimitation | Eigenschaft | Limitierte, magische Trefferchance von Techniken durch eine Kondition
Name | Eigenschaft | Der Name einer Kondition
NaturalHealingChance | Eigenschaft | Die Chance zur natürlichen Heilung einer Kondition
NaturalHealingTurns | Eigenschaft | Die Anzahl der Züge bis zum Beginn der natürlichen Heilung einer Kondition
PercentDownPerTurnHp | Eigenschaft | Prozentualer Verlust von Lebenspunkten pro Zug durch diese Kondition
PercentDownPerTurnMp | Eigenschaft | Prozentualer Verlust von Magiepunkten pro Zug durch diese Kondition
PointDownPerStepHp | Eigenschaft | Verlust von Lebenspunkten pro Schritt durch diese Kondition
PointDownPerStepMp | Eigenschaft | Verlust von Magiepunkten pro Schritt durch diese Kondition
PointDownPerTurnHp | Eigenschaft | Verlust von Lebenspunkten pro Zug durch diese Kondition
PointDownPerTurnMp | Eigenschaft | Verlust von Magiepunkten pro Zug durch diese Kondition
Priority | Eigenschaft | Die Priorität einer Kondition
RecoveryStateMessage | Eigenschaft | Nachricht dieser Kondition falls ein Held/Gegner von dieser Kondition geheilt wird
ShockHealingChance | Eigenschaft | Die Chance zur Heilung einer Kondition durch physische Angriff
StepsDownHp | Eigenschaft | Anzahl der Schritte zum Verlust von Lebenspunkten durch diese Kondition
StepsDownMp | Eigenschaft | Anzahl der Schritte zum Verlust von Magiepunkten durch diese Kondition
StillInStateMessage | Eigenschaft | Nachricht dieser Kondition falls ein Held/Gegner einen weiteren Zug diese Kondition hat
Type | Eigenschaft | Der Typ einer Kondition

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Condition.Count
Weiter >
Eigenschaft: Condition[].ActionLimitation

Objekt: Condition[]


Condition[].ActionLimitation

Eigenschaft: Condition[].ActionLimitation

Syntax

Condition[Condition-Id].ActionLimitation

Beschreibung

Mit der ActionLimitation-Eigenschaft kann die Aktionslimitierung einer Kondition ermittelt werden. Zur Identifizierung können die ConditionLimitation-Konstanten verwendet werden.
  • CONDITIONLIMITATION_NONE: Die möglichen Aktionen des Helden sind im Kampfsystem uneingeschränkt
  • CONDITIONLIMITATION_NOACTION: Der Held kann im Kampf keine Aktionen mehr ausführen
  • CONDITIONLIMITATION_ATTACKENEMY: Der Held greift automatisch einen zufälligen Gegner im Kampf an
  • CONDITIONLIMITATION_ATTACKALLY: Der Held greift automatisch einen zufälligen Verbündeten im Kampf an

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 3
< Zurück
Objekt: Condition[]
Weiter >
Eigenschaft: Condition[].AllyStateMessage

Eigenschaft: Condition[].ActionLimitation


Condition[].AllyStateMessage

Eigenschaft: Condition[].AllyStateMessage

Syntax

Condition[Condition-Id].AllyStateMessage

Beschreibung

Mit der AllyStateMessage-Eigenschaft kann der Text ermittelt werden, der ausgegeben wird, wenn ein Held diese Kondition erhält.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Condition[].ActionLimitation
Weiter >
Eigenschaft: Condition[].AlreadyInStateMessage

Eigenschaft: Condition[].AllyStateMessage


Condition[].AlreadyInStateMessage

Eigenschaft: Condition[].AlreadyInStateMessage

Syntax

Condition[Condition-Id].AlreadyInStateMessage

Beschreibung

Mit der AlreadyInStateMessage-Eigenschaft kann der Text ermittelt werden, der ausgegeben wird, wenn versucht wird einem Helden/Gegner diese Kondition zu geben, obwohl dieser über diese Kondition bereits verfügt.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Condition[].AllyStateMessage
Weiter >
Objekt: Condition[].Chance

Eigenschaft: Condition[].AlreadyInStateMessage


Condition[].Chance

Objekt: Condition[].Chance

Syntax

Condition[Condition-Id].Chance

Beschreibung

Mit dem Chance-Objekt können die Chancen zum Erwerb einer Kondition ermittelt werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Chancen zum Erwerb einer Kondition
[] | Eigenschaft | Die Chance zum Erwerb einer Kondition
< Zurück
Eigenschaft: Condition[].AlreadyInStateMessage
Weiter >
Eigenschaft: Condition[].Chance.Count

Objekt: Condition[].Chance


Condition[].Chance.Count

Eigenschaft: Condition[].Chance.Count

Syntax

Condition[Condition-Id].Chance.Count

Beschreibung

Gibt immer 5 zurück, da vom RPG-Maker fest 5 Chancen vorgesehen sind.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 5
< Zurück
Objekt: Condition[].Chance
Weiter >
Eigenschaft: Condition[].Chance[]

Eigenschaft: Condition[].Chance.Count


Condition[].Chance[]

Eigenschaft: Condition[].Chance[]

Syntax

Condition[Condition-Id].Chance[Stufe]

Beschreibung

Mit der Chance[]-Eigenschaft kann die Chance zum Erwerb der Kondition in Prozent (0 ... 100) bei einer der fünf Stufen (A ... E) ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100

Liste der Parameter

Parameter: Stufe

Datentyp: | dword
Optional: | nein
Beschreibung: | Gibt die entsprechende Stufe an (A = 0, B = 1, C = 2, D = 3, E = 4). Hierzu können die Effect-Konstanten verwendet werden.

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

Actor[].ConditionEffect[]
< Zurück
Eigenschaft: Condition[].Chance.Count
Weiter >
Eigenschaft: Condition[].Color

Eigenschaft: Condition[].Chance[]


Condition[].Color

Eigenschaft: Condition[].Color

Syntax

Condition[Condition-Id].Color

Beschreibung

Mit der Color-Eigenschaft kann die Farbe einer Kondition ermittelt werden. Zur Identifizierung können die Textfarben-Konstanten verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 19
< Zurück
Eigenschaft: Condition[].Chance[]
Weiter >
Eigenschaft: Condition[].EnemyStateMessage

Eigenschaft: Condition[].Color


Condition[].EnemyStateMessage

Eigenschaft: Condition[].EnemyStateMessage

Syntax

Condition[Condition-Id].EnemyStateMessage

Beschreibung

Mit der EnemyStateMessage-Eigenschaft kann der Text ermittelt werden, der ausgegeben wird, wenn ein Gegner diese Kondition erhält.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Condition[].Color
Weiter >
Eigenschaft: Condition[].HalfAgility

Eigenschaft: Condition[].EnemyStateMessage


Condition[].HalfAgility

Eigenschaft: Condition[].HalfAgility

Syntax

Condition[Condition-Id].HalfAgility

Beschreibung

Mit der HalfAgility-Eigenschaft kann ermittelt werden, ob einem Helden nur die Hälfte seiner Beweglichkeitspunkte zur Verfügung stehen, falls er diese Kondition hat. (False = Beweglichkeitspunkte sind unverändert, True = Beweglichkeitspunkte sind halbiert)

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Siehe auch

Condition[].HalfAttack, Condition[].HalfDefense, Condition[].HalfMind
< Zurück
Eigenschaft: Condition[].EnemyStateMessage
Weiter >
Eigenschaft: Condition[].HalfAttack

Eigenschaft: Condition[].HalfAgility


Condition[].HalfAttack

Eigenschaft: Condition[].HalfAttack

Syntax

Condition[Condition-Id].HalfAttack

Beschreibung

Mit der HalfAttack-Eigenschaft kann ermittelt werden, ob einem Helden nur die Hälfte seiner Angriffspunkte zur Verfügung stehen, falls er diese Kondition hat. (False = Angriffspunkte sind unverändert, True = Angriffspunkte sind halbiert)

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Siehe auch

Condition[].HalfDefense, Condition[].HalfMind, Condition[].HalfAgility
< Zurück
Eigenschaft: Condition[].HalfAgility
Weiter >
Eigenschaft: Condition[].HalfDefense

Eigenschaft: Condition[].HalfAttack


Condition[].HalfDefense

Eigenschaft: Condition[].HalfDefense

Syntax

Condition[Condition-Id].HalfDefense

Beschreibung

Mit der HalfDefense-Eigenschaft kann ermittelt werden, ob einem Helden nur die Hälfte seiner Verteidigungspunkte zur Verfügung stehen, falls er diese Kondition hat. (False = Verteidigungspunkte sind unverändert, True = Verteidigungspunkte sind halbiert)

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Siehe auch

Condition[].HalfAttack, Condition[].HalfMind, Condition[].HalfAgility
< Zurück
Eigenschaft: Condition[].HalfAttack
Weiter >
Eigenschaft: Condition[].HalfMind

Eigenschaft: Condition[].HalfDefense


Condition[].HalfMind

Eigenschaft: Condition[].HalfMind

Syntax

Condition[Condition-Id].HalfMind

Beschreibung

Mit der HalfMind-Eigenschaft kann ermittelt werden, ob einem Helden nur die Hälfte seiner Intelligenzpunkte zur Verfügung stehen, falls er diese Kondition hat. (False = Intelligenzpunkte sind unverändert, True = Intelligenzpunkte sind halbiert)

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Siehe auch

Condition[].HalfAttack, Condition[].HalfDefense, Condition[].HalfAgility
< Zurück
Eigenschaft: Condition[].HalfDefense
Weiter >
Eigenschaft: Condition[].HitChanceLimitation

Eigenschaft: Condition[].HalfMind


Condition[].HitChanceLimitation

Eigenschaft: Condition[].HitChanceLimitation

Syntax

Condition[Condition-Id].HitChanceLimitation

Beschreibung

Mit der HitChanceLimitation-Eigenschaft kann ermittelt werden, welche Techniken nicht genutzt werden können, falls ein Held/Gegner unter dem Einfluss dieser Kondition steht. Alle Techniken mit einem HitChance-Wert größer/gleich dem hier angegebenen Wert können im Kampf dann nicht mehr von dem Helden/Gegner genutzt werden. Ist diese Option in der Spieldatenbank nicht aktiviert, so wird 0 zurückgegeben.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0
< Zurück
Eigenschaft: Condition[].HalfMind
Weiter >
Eigenschaft: Condition[].HitRateChange

Eigenschaft: Condition[].HitChanceLimitation


Condition[].HitRateChange

Eigenschaft: Condition[].HitRateChange

Syntax

Condition[Condition-Id].HitRateChange

Beschreibung

Mit der HitRateChange-Eigenschaft kann ermittelt werden, in wie weit die Trefferchance eines Helden/Gegners (in Prozent) verändert wird, falls er diese Kondition hat. Der Wert der Standardkondition ist 100 (standardmäßig gelingen alle Treffer, sofern der Gegner nicht ausweicht). (0 = Keine Treffer gelingen, 50 = Hälfte der Treffer gelingt, 100 = Alle Treffer gelingen (= Normalfall))

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100
< Zurück
Eigenschaft: Condition[].HitChanceLimitation
Weiter >
Eigenschaft: Condition[].MindChanceLimitation

Eigenschaft: Condition[].HitRateChange


Condition[].MindChanceLimitation

Eigenschaft: Condition[].MindChanceLimitation

Syntax

Condition[Condition-Id].MindChanceLimitation

Beschreibung

Mit der MindChanceLimitation-Eigenschaft kann ermittelt werden, welche Techniken nicht genutzt werden können, falls ein Held/Gegner unter dem Einfluss dieser Kondition steht. Alle Techniken mit einem MindChance-Wert größer/gleich dem hier angegebenen Wert können im Kampf dann nicht mehr von dem Helden/Gegner genutzt werden. Ist diese Option in der Spieldatenbank nicht aktiviert, so wird 0 zurückgegeben.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0
< Zurück
Eigenschaft: Condition[].HitRateChange
Weiter >
Eigenschaft: Condition[].Name

Eigenschaft: Condition[].MindChanceLimitation


Condition[].Name

Eigenschaft: Condition[].Name

Syntax

Condition[Condition-Id].Name

Beschreibung

Mit der Name-Eigenschaft kann der Name einer Kondition ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

Im folgenden Beispiel gehen wir davon aus, dass das Spiel gerade frisch gestartet wurde und die Standard-Spieldatenbank verwendet wird.
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14
$
// Den Namen der ersten Kondition auslesen und in a[1] speichern
a[1] = Condition[1].Name;    // "Normal"
// Dem ersten Helden die Konditionen "Poison" und "Numb" geben
Command.AddCondition(1, 2);  // 2 = Poison in der Standarddatenbank
Command.AddCondition(1, 8);  // 8 = Numb in der Standarddatenbank
// Alle Konditionen des ersten Helden auflisten und in a[2] speichern
// Dies würde am Ende 'Konditionen des Helden "Alex": Poison Numb' ergeben (mit Zeilenumbrüchen)
a[2] = "Konditionen des Helden """ .. Actor[1].Name .. """:" .. CRLF;
for(v[1] = 1; v[1] <= Condition.Count; v[1]++)
  if(Actor[1].HasCondition(v[1]))
    a[2] ..= Condition[v[1]].Name .. CRLF;
  endif;
next;

Siehe auch

Condition, Condition[], Condition.Count, Actor[].Name, Actor[].HasCondition()
< Zurück
Eigenschaft: Condition[].MindChanceLimitation
Weiter >
Eigenschaft: Condition[].NaturalHealingChance

Eigenschaft: Condition[].Name


Condition[].NaturalHealingChance

Eigenschaft: Condition[].NaturalHealingChance

Syntax

Condition[Condition-Id].NaturalHealingChance

Beschreibung

Mit der NaturalHealingChance-Eigenschaft kann die Chance (in Prozent) ermittelt werden, ob zu Beginn eines Zuges eine Kondition von selbst aufhört zu wirken. Hierzu muss jedoch zuerst die per NaturalHealingTurns-Eigenschaft angegebene Anzahl von Zügen (seit dem Erwerb der Kondition) überschritten werden. Danach wird in jedem darauffolgenden Zug geprüft, ob die Kondition geheilt wurde.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100

Siehe auch

Condition[].NaturalHealingTurns, Condition[].ShockHealingChance
< Zurück
Eigenschaft: Condition[].Name
Weiter >
Eigenschaft: Condition[].NaturalHealingTurns

Eigenschaft: Condition[].NaturalHealingChance


Condition[].NaturalHealingTurns

Eigenschaft: Condition[].NaturalHealingTurns

Syntax

Condition[Condition-Id].NaturalHealingTurns

Beschreibung

Mit der NaturalHealingTurns-Eigenschaft kann die Anzahl der Züge (im Kampf) ermittelt werden, die es dauert, bis eine Kondition von selbst aufhören kann zu wirken. Ist die angegebene Anzahl von Zügen (seit dem Erwerb der Kondition) überschritten, dann entscheidet der Wert der NaturalHealingChance-Eigenschaft in jedem darauffolgenden Zug, ob die Kondition geheilt wurde.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Siehe auch

Condition[].NaturalHealingChance, Condition[].ShockHealingChance
< Zurück
Eigenschaft: Condition[].NaturalHealingChance
Weiter >
Eigenschaft: Condition[].PercentDownPerTurnHp

Eigenschaft: Condition[].NaturalHealingTurns


Condition[].PercentDownPerTurnHp

Eigenschaft: Condition[].PercentDownPerTurnHp

Syntax

Condition[Condition-Id].PercentDownPerTurnHp

Beschreibung

Mit der PercentDownPerTurnHp-Eigenschaft kann die Anzahl der Lebenspunkte (in Prozent) ermittelt werden, die der Held/Gegner durch diese Kondition je Zug verliert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100
< Zurück
Eigenschaft: Condition[].NaturalHealingTurns
Weiter >
Eigenschaft: Condition[].PercentDownPerTurnMp

Eigenschaft: Condition[].PercentDownPerTurnHp


Condition[].PercentDownPerTurnMp

Eigenschaft: Condition[].PercentDownPerTurnMp

Syntax

Condition[Condition-Id].PercentDownPerTurnMp

Beschreibung

Mit der PercentDownPerTurnMp-Eigenschaft kann die Anzahl der Magiepunkte (in Prozent) ermittelt werden, die der Held/Gegner durch diese Kondition je Zug verliert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100
< Zurück
Eigenschaft: Condition[].PercentDownPerTurnHp
Weiter >
Eigenschaft: Condition[].PointDownPerStepHp

Eigenschaft: Condition[].PercentDownPerTurnMp


Condition[].PointDownPerStepHp

Eigenschaft: Condition[].PointDownPerStepHp

Syntax

Condition[Condition-Id].PointDownPerStepHp

Beschreibung

Mit der PointDownPerStepHp-Eigenschaft kann die Anzahl der Lebenspunkte (in Punkten) ermittelt werden, die der Held durch diese Kondition bei der Bewegung auf dem Spielfeld verliert. Die Anzahl der Schritte, die notwendig sind um Lebenspunkte zu verlieren, wird über die StepsDownHp-Eigenschaft festgelegt. Der Wert dieser Eigenschaft ist nur dann gültig, wenn es sich um eine Bewegungskondition handelt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0
< Zurück
Eigenschaft: Condition[].PercentDownPerTurnMp
Weiter >
Eigenschaft: Condition[].PointDownPerStepMp

Eigenschaft: Condition[].PointDownPerStepHp


Condition[].PointDownPerStepMp

Eigenschaft: Condition[].PointDownPerStepMp

Syntax

Condition[Condition-Id].PointDownPerStepMp

Beschreibung

Mit der PointDownPerStepMp-Eigenschaft kann die Anzahl der Magiepunkte (in Punkten) ermittelt werden, die der Held durch diese Kondition bei der Bewegung auf dem Spielfeld verliert. Die Anzahl der Schritte, die notwendig sind um Magiepunkte zu verlieren, wird über die StepsDownMp-Eigenschaft festgelegt. Der Wert dieser Eigenschaft ist nur dann gültig, wenn es sich um eine Bewegungskondition handelt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0
< Zurück
Eigenschaft: Condition[].PointDownPerStepHp
Weiter >
Eigenschaft: Condition[].PointDownPerTurnHp

Eigenschaft: Condition[].PointDownPerStepMp


Condition[].PointDownPerTurnHp

Eigenschaft: Condition[].PointDownPerTurnHp

Syntax

Condition[Condition-Id].PointDownPerTurnHp

Beschreibung

Mit der PointDownPerTurnHp-Eigenschaft kann die Anzahl der Lebenspunkte (in Punkten) ermittelt werden, die der Held/Gegner durch diese Kondition je Zug verliert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0
< Zurück
Eigenschaft: Condition[].PointDownPerStepMp
Weiter >
Eigenschaft: Condition[].PointDownPerTurnMp

Eigenschaft: Condition[].PointDownPerTurnHp


Condition[].PointDownPerTurnMp

Eigenschaft: Condition[].PointDownPerTurnMp

Syntax

Condition[Condition-Id].PointDownPerTurnMp

Beschreibung

Mit der PointDownPerTurnMp-Eigenschaft kann die Anzahl der Magiepunkte (in Punkten) ermittelt werden, die der Held/Gegner durch diese Kondition je Zug verliert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0
< Zurück
Eigenschaft: Condition[].PointDownPerTurnHp
Weiter >
Eigenschaft: Condition[].Priority

Eigenschaft: Condition[].PointDownPerTurnMp


Condition[].Priority

Eigenschaft: Condition[].Priority

Syntax

Condition[Condition-Id].Priority

Beschreibung

Mit der Priority-Eigenschaft kann die Priorität einer Kondition ermittelt werden. Dieser Wert liegt im Bereich von 0 bis 100, wobei 100 die höchste Priorität darstellt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100
< Zurück
Eigenschaft: Condition[].PointDownPerTurnMp
Weiter >
Eigenschaft: Condition[].RecoveryStateMessage

Eigenschaft: Condition[].Priority


Condition[].RecoveryStateMessage

Eigenschaft: Condition[].RecoveryStateMessage

Syntax

Condition[Condition-Id].RecoveryStateMessage

Beschreibung

Mit der RecoveryStateMessage-Eigenschaft kann der Text ermittelt werden, der ausgegeben wird, wenn ein Held/Gegner von dieser Kondition geheilt wird.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Condition[].Priority
Weiter >
Eigenschaft: Condition[].ShockHealingChance

Eigenschaft: Condition[].RecoveryStateMessage


Condition[].ShockHealingChance

Eigenschaft: Condition[].ShockHealingChance

Syntax

Condition[Condition-Id].ShockHealingChance

Beschreibung

Mit der ShockHealingChance-Eigenschaft kann die Chance (in Prozent) ermittelt werden, ob bei einem physischen Angriff die angegebene Kondition geheilt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 100

Siehe auch

Condition[].NaturalHealingTurns, Condition[].NaturalHealingChance
< Zurück
Eigenschaft: Condition[].RecoveryStateMessage
Weiter >
Eigenschaft: Condition[].StepsDownHp

Eigenschaft: Condition[].ShockHealingChance


Condition[].StepsDownHp

Eigenschaft: Condition[].StepsDownHp

Syntax

Condition[Condition-Id].StepsDownHp

Beschreibung

Mit der StepsDownHp-Eigenschaft kann die Anzahl der Schritte ermittelt werden, die notwendig sind, damit der Held bei der Bewegung auf dem Spielfeld Lebenspunkte verliert. Ist dieser Wert gleich 1, dann verliert der Spieler bei jedem Schritt auf dem Spielfeld Lebenspunkte. Die Anzahl der Lebenspunkte, die der Spieler verliert, wird über die PointDownPerStepHp-Eigenschaft festgelegt. Der Wert dieser Eigenschaft ist nur dann gültig, wenn es sich um eine Bewegungskondition handelt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0
< Zurück
Eigenschaft: Condition[].ShockHealingChance
Weiter >
Eigenschaft: Condition[].StepsDownMp

Eigenschaft: Condition[].StepsDownHp


Condition[].StepsDownMp

Eigenschaft: Condition[].StepsDownMp

Syntax

Condition[Condition-Id].StepsDownMp

Beschreibung

Mit der StepsDownMp-Eigenschaft kann die Anzahl der Schritte ermittelt werden, die notwendig sind, damit der Held bei der Bewegung auf dem Spielfeld Magiepunkte verliert. Ist dieser Wert gleich 1, dann verliert der Spieler bei jedem Schritt auf dem Spielfeld Magiepunkte. Die Anzahl der Magiepunkte, die der Spieler verliert, wird über die PointDownPerStepMp-Eigenschaft festgelegt. Der Wert dieser Eigenschaft ist nur dann gültig, wenn es sich um eine Bewegungskondition handelt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0
< Zurück
Eigenschaft: Condition[].StepsDownHp
Weiter >
Eigenschaft: Condition[].StillInStateMessage

Eigenschaft: Condition[].StepsDownMp


Condition[].StillInStateMessage

Eigenschaft: Condition[].StillInStateMessage

Syntax

Condition[Condition-Id].StillInStateMessage

Beschreibung

Mit der StillInStateMessage-Eigenschaft kann der Text ermittelt werden, der ausgegeben wird, wenn ein Held/Gegner im Kampf einen weiteren Zug über diese Kondition verfügt.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Condition[].StepsDownMp
Weiter >
Eigenschaft: Condition[].Type

Eigenschaft: Condition[].StillInStateMessage


Condition[].Type

Eigenschaft: Condition[].Type

Syntax

Condition[Condition-Id].Type

Beschreibung

Mit der Type-Eigenschaft kann der Typ einer Kondition ermittelt werden. Zur Identifizierung können die ConditionType-Konstanten verwendet werden.
  • CONDITIONTYPE_COMBAT: Die Kondition ist eine Kampfkondition (endet also am Ende des Kampfes)
  • CONDITIONTYPE_MOVEMENT: Die Kondition ist eine Bewegungskondition (bleibt also am Ende des Kampfes erhalten)

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Condition[].StillInStateMessage
Weiter >
Objekt: Convert

Eigenschaft: Condition[].Type


Convert

Objekt: Convert

Syntax

Convert

Beschreibung

Mit dem Convert-Objekt können Datentypen in andere Datentypen konvertiert werden. Ebenfalls können Winkel konvertiert werden, sowie die Konvertierungseinstellungen für das Dezimaltrennzeichen verändert werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Angle() | Methode | Konvertiert einen Winkel von einem Winkelformat in ein anderes
Bool() | Methode | Konvertiert einen Wert in den Datentyp Bool
Byte() | Methode | Konvertiert einen Wert in den Datentyp Byte
DecimalComma | Eigenschaft | Gibt an, ob das Dezimaltrennzeichen ein Komma oder ein Punkt ist
Double() | Methode | Konvertiert einen Wert in den Datentyp Float
Dword() | Methode | Konvertiert einen Wert in den Datentyp Dword
Float() | Methode | Konvertiert einen Wert in den Datentyp Float
String() | Methode | Konvertiert einen Wert in den Datentyp String
Switch() | Methode | Konvertiert einen Wert in den Datentyp Bool
Word() | Methode | Konvertiert einen Wert in den Datentyp Word
< Zurück
Eigenschaft: Condition[].Type
Weiter >
Methode: Convert.Angle()

Objekt: Convert


Convert.Angle()

Methode: Convert.Angle()

Syntax

Convert.Angle(Winkel, FormatIst, FormatSoll)

Beschreibung

Konvertiert einen Winkel von einem Winkelformat in ein anderes. Zur Angabe der Winkelformate werden die Winkelformatkonstanten verwendet.

Liste der Parameter

Parameter: Winkel

Datentyp: | float
Optional: | nein
Beschreibung: | Der zu konvertierende Winkel

Parameter: FormatIst

Datentyp: dword
Optional: nein
Wertebereich: 1 ... 4
Beschreibung: Das Winkelformat, in dem sich der angegebene Winkel derzeit befindet. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)

Parameter: FormatSoll

Datentyp: dword
Optional: nein
Wertebereich: 1 ... 4
Beschreibung: Das Winkelformat, in das der Winkel umgerechnet werden soll. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)

Rückgabewert

Datentyp: | float
Beschreibung: | Der konvertierte Winkel

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Winkel 90.0 vom Winkelformat DEG in das Winkelformat GRAD umrechnen f[1] = Convert.Angle(90.0, DEG, GRAD); // = 100.0

Sonstiges

Diese Methode lässt sich gut verwenden um Winkel in das Winkelformat des RPG-Makers umzurechnen. (z. B. bei Picture[].ActionValue für rotierende Bilder)

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_FLOATERROR

Siehe auch

Convert, Picture[].ActionValue
< Zurück
Objekt: Convert
Weiter >
Methode: Convert.Bool()

Methode: Convert.Angle()


Convert.Bool()

Methode: Convert.Bool()

Syntax

Convert.Bool(Wert)

Beschreibung

Konvertiert einen Wert in den Datentyp Bool (= Switch). Hierzu muss der Wert in dem Wertebereich von 0 bis 1 liegen.
Information:
Konvertierungen werden im DestinySkript normalerweise automatisch vorgenommen, weshalb ein expliziter Aufruf der Konvertierungsmethoden normalerweise nicht notwendig ist.

Synonyme

  • Switch()

Liste der Parameter

Parameter: Wert

Datentyp: | scalar
Optional: | nein
Wertebereich: | 0 ... 1
Beschreibung: | Der zu konvertierende Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Der konvertierte Wert als Bool

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Zahl 1 in ein Bool konvertieren und in s[1] speichern s[1] = Convert.Bool(1);

Mögliche Fehler

DESTINYERROR_RANGE

Siehe auch

Convert, Convert.Byte(), Convert.Word(), Convert.Dword(), Convert.Float(), Convert.String()
< Zurück
Methode: Convert.Angle()
Weiter >
Methode: Convert.Byte()

Methode: Convert.Bool()


Convert.Byte()

Methode: Convert.Byte()

Syntax

Convert.Byte(Wert)

Beschreibung

Konvertiert einen Wert in den Datentyp Byte. Hierzu muss der Wert in dem Wertebereich von 0 bis 255 liegen.
Information:
Konvertierungen werden im DestinySkript normalerweise automatisch vorgenommen, weshalb ein expliziter Aufruf der Konvertierungsmethoden normalerweise nicht notwendig ist.

Liste der Parameter

Parameter: Wert

Datentyp: | scalar
Optional: | nein
Wertebereich: | 0 ... 255
Beschreibung: | Der zu konvertierende Wert

Rückgabewert

Datentyp: | byte
Beschreibung: | Der konvertierte Wert als Byte

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Die Zahl 10 in ein Byte konvertieren und in v[1] speichern
// (hierbei wird der Datentyp automatisch wieder in Dword konvertiert, da v[1] ein Dword erwartet)
v[1] = Convert.Byte(10);

Mögliche Fehler

DESTINYERROR_RANGE

Siehe auch

Convert, Convert.Word(), Convert.Dword(), Convert.Float(), Convert.String(), Convert.Bool()
< Zurück
Methode: Convert.Bool()
Weiter >
Eigenschaft: Convert.DecimalComma

Methode: Convert.Byte()


Convert.DecimalComma

Eigenschaft: Convert.DecimalComma

Syntax

Convert.DecimalComma

Beschreibung

Mit der DecimalComma-Eigenschaft kann das verwendete Dezimaltrennzeichen für String/Zahl-Konvertierungen ermittelt und geändert werden. Der Wert ist je nach eingestellter Sprache des DestinyPatches beim Spielstart entweder True oder False.

Zum Wert dieser Eigenschaft gilt folgendes:

Wert | Beschreibung
False | Das Dezimaltrennzeichen ist der Punkt
True | Das Dezimaltrennzeichen ist das Komma

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein
Sprachabhängig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Das Dezimaltrennzeichen auf Punkt ändern
Convert.DecimalComma = False;
// Die Zahl 1.5 in einen String konvertieren und in a[1] speichern
a[1] = Convert.String(1.5);      // = "1.5"
// Das Dezimaltrennzeichen auf Komma ändern
Convert.DecimalComma = True;
// Die Zahl 1.5 in einen String konvertieren und in a[2] speichern
a[2] = Convert.String(1.5);      // = "1,5"
Convert, Convert.String()
< Zurück
Methode: Convert.Byte()
Weiter >
Methode: Convert.Dword()

Eigenschaft: Convert.DecimalComma


Convert.Dword()

Methode: Convert.Dword()

Syntax

Convert.Dword(Wert)

Beschreibung

Konvertiert einen Wert in den Datentyp Dword. Hierzu muss der Wert in dem Wertebereich von -2147483648 bis 2147483647 liegen.
Information:
Konvertierungen werden im DestinySkript normalerweise automatisch vorgenommen, weshalb ein expliziter Aufruf der Konvertierungsmethoden normalerweise nicht notwendig ist.

Liste der Parameter

Parameter: Wert

Datentyp: | scalar
Optional: | nein
Wertebereich: | -2147483648 ... 2147483647
Beschreibung: | Der zu konvertierende Wert

Rückgabewert

Datentyp: | dword
Beschreibung: | Der konvertierte Wert als Dword

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Zahl 10 in ein Dword konvertieren und in v[1] speichern v[1] = Convert.Dword(10);

Mögliche Fehler

DESTINYERROR_RANGE

Siehe auch

Convert, Convert.Byte(), Convert.Word(), Convert.Float(), Convert.String(), Convert.Bool()
< Zurück
Eigenschaft: Convert.DecimalComma
Weiter >
Methode: Convert.Float()

Methode: Convert.Dword()


Convert.Float()

Methode: Convert.Float()

Syntax

Convert.Float(Wert)

Beschreibung

Konvertiert einen Wert in den Datentyp Float (= Double). Hierzu muss der Wert in dem Wertebereich von -1.7E+308 bis +1.7E+308 liegen.
Information:
Konvertierungen werden im DestinySkript normalerweise automatisch vorgenommen, weshalb ein expliziter Aufruf der Konvertierungsmethoden normalerweise nicht notwendig ist.

Synonyme

  • Double()

Liste der Parameter

Parameter: Wert

Datentyp: | scalar
Optional: | nein
Wertebereich: | -1.7E+308 ... +1.7E+308
Beschreibung: | Der zu konvertierende Wert

Rückgabewert

Datentyp: | float
Beschreibung: | Der konvertierte Wert als Float

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Zahl 10 in ein Float konvertieren und in f[1] speichern f[1] = Convert.Float(10);

Mögliche Fehler

DESTINYERROR_RANGE

Siehe auch

Convert, Convert.Byte(), Convert.Word(), Convert.Dword(), Convert.String(), Convert.Bool()
< Zurück
Methode: Convert.Dword()
Weiter >
Methode: Convert.String()

Methode: Convert.Float()


Convert.String()

Methode: Convert.String()

Syntax

Convert.String(Wert)

Beschreibung

Konvertiert einen Wert in den Datentyp String.
Information:
Konvertierungen werden im DestinySkript normalerweise automatisch vorgenommen, weshalb ein expliziter Aufruf der Konvertierungsmethoden normalerweise nicht notwendig ist.

Liste der Parameter

Parameter: Wert

Datentyp: | scalar
Optional: | nein
Beschreibung: | Der zu konvertierende Wert

Rückgabewert

Datentyp: | string
Beschreibung: | Der konvertierte Wert als String

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Zahl 10 in einen String konvertieren und in a[1] speichern a[1] = Convert.String(10); // "10"

Siehe auch

Convert, Convert.Byte(), Convert.Word(), Convert.Dword(), Convert.Float(), Convert.Bool(), Convert.DecimalComma
< Zurück
Methode: Convert.Float()
Weiter >
Methode: Convert.Word()

Methode: Convert.String()


Convert.Word()

Methode: Convert.Word()

Syntax

Convert.Word(Wert)

Beschreibung

Konvertiert einen Wert in den Datentyp Word. Hierzu muss der Wert in dem Wertebereich von -32768 bis 32767 liegen.
Information:
Konvertierungen werden im DestinySkript normalerweise automatisch vorgenommen, weshalb ein expliziter Aufruf der Konvertierungsmethoden normalerweise nicht notwendig ist.

Liste der Parameter

Parameter: Wert

Datentyp: | scalar
Optional: | nein
Wertebereich: | -32768 ... 32767
Beschreibung: | Der zu konvertierende Wert

Rückgabewert

Datentyp: | word
Beschreibung: | Der konvertierte Wert als Word

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Die Zahl 10 in ein Word konvertieren und in v[1] speichern
// (hierbei wird der Datentyp automatisch wieder in Dword konvertiert, da v[1] ein Dword erwartet)
v[1] = Convert.Word(10);

Mögliche Fehler

DESTINYERROR_RANGE

Siehe auch

Convert, Convert.Byte(), Convert.Dword(), Convert.Float(), Convert.String(), Convert.Bool()
< Zurück
Methode: Convert.String()
Weiter >
Objekt: d

Methode: Convert.Word()


d

Objekt: d

Syntax

d

Beschreibung

Das d-Objekt dient dazu die Dwords (Ganzzahlen wie Variablen) der Destiny.dll zugänglich zu machen. Der Unterschied zu dem v-Objekt liegt darin, dass die Variablen (Dwords) des v-Objekts von der RPG_RT verwaltet werden, während die Dwords des d-Objekts von der Destiny.dll verwaltet werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Dwords
ReAlloc() | Methode | Verändert die Anzahl der Dwords im d-Objekt
[] | Eigenschaft | Ein bestimmtes Dword des d-Objekts

Siehe auch

a, f, v, s
< Zurück
Methode: Convert.Word()
Weiter >
Eigenschaft: d.Count

Objekt: d


d.Count

Eigenschaft: d.Count

Syntax

d.Count

Beschreibung

Gibt die Anzahl der Dwords im d-Objekt zurück. Diese kann verwendet werden um eine Schleife über alle Dwords zu machen.
Information:
Die Anzahl der Dwords, die zum Spielstart zur Verfügung stehen, wird über den DestinyPatcher eingestellt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Dwords auf 0 setzen
for(v[1] = 1; v[1] <= d.Count; v[1]++)
  d[v[1]] = 0;
next;

Siehe auch

d, d[], d.ReAlloc()
< Zurück
Objekt: d
Weiter >
Methode: d.ReAlloc()

Eigenschaft: d.Count


d.ReAlloc()

Methode: d.ReAlloc()

Syntax

d.ReAlloc(Anzahl)

Beschreibung

Mit der ReAlloc-Methode kann die Anzahl der Dwords im d-Objekt vergrößert/verkleinert werden.
Information:
Ist die angegebene Anzahl der Dwords zu groß, dann wird der Fehler DESTINYERROR_MEMORY geworfen. Der ursprüngliche Inhalt des d-Objekts bleibt dabei erhalten.
Information:
Bei einer Vergrößerung der Dword-Anzahl werden neue Dwords auf 0 gesetzt.

Liste der Parameter

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die neue Anzahl der Dwords im d-Objekt. Dieser Wert muss größer/gleich 0 sein. Bei einer zu großen Zahl schlägt der Aufruf dieser Methode fehl.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die maximale Anzahl der Dwords um 1 erhöhen
d.ReAlloc(d.Count + 1);
// Dem neuen Dword den Wert 5 zuweisen (nach dem Aufruf von ReAlloc() ist d.Count natürlich um 1 größer)
d[d.Count] = 5;

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_MEMORY

Siehe auch

d, d[], d.Count
< Zurück
Eigenschaft: d.Count
Weiter >
Eigenschaft: d[]

Methode: d.ReAlloc()


d[]

Eigenschaft: d[]

Syntax

d[Index]

Beschreibung

Ermöglicht den Zugriff auf ein bestimmtes Dwords des d-Objekts.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Liste der Parameter

Parameter: Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... d.Count
Beschreibung: | Der Index des Dwords. Dieser muss im Bereich von 1 ... d.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Wert des ersten Dwords auf 1 setzen d[1] = 1;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

d, d.Count, d.ReAlloc()
< Zurück
Methode: d.ReAlloc()
Weiter >
Objekt: Destiny

Eigenschaft: d[]


Destiny

Objekt: Destiny

Syntax

Destiny

Beschreibung

Mit dem Destiny-Objekt kann auf die Destiny.dll selbst zugegriffen werden. Es können die Informationen zur Destiny.dll-Version abgefragt und die Sprache eingestellt werden. Ebenfalls können die Speicherbereiche der Destiny.dll (a, d, f) gespeichert/geladen werden. Zusätzlich kann man den DestinyDebugger aufrufen und prüfen, ob bestimmte Methoden/Eigenschaften implementiert sind.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Debugger | Objekt | Ermöglicht Zugriff auf den DestinyDebugger
Open() | Methode | Öffnet den DestinyDebugger
Output | Objekt | Enthält die Debug-Ausgaben
Clear() | Methode | Leert den Inhalt der Debug-Ausgabe
Print() | Methode | Fügt eine Zeile an die Debug-Ausgabe an
Show() | Methode | Zeit die Debug-Ausgabe an
Text | Eigenschaft | Der aktuelle Text der Debug-Ausgabe
DllVersionMajor | Eigenschaft | Der Vorkommateil der verfügbaren Destiny.dll Versionsnummer
DllVersionMinor | Eigenschaft | Der Nachkommateil der verfügbaren Destiny.dll Versionsnummer
Implemented() | Methode | Prüft ob eine bestimmte Methode oder Eigenschaft verfügbar ist
Language | Eigenschaft | Die eingestellte Sprache der Destiny.dll
Load() | Methode | Lädt den Zustand der Speicherbereiche der Destiny.dll
Save() | Methode | Speichert den Zustand der Speicherbereiche der Destiny.dll
VersionMajor | Eigenschaft | Der Vorkommateil der verwendeten Destiny.dll Versionsnummer
VersionMinor | Eigenschaft | Der Nachkommateil der verwendeten Destiny.dll Versionsnummer
< Zurück
Eigenschaft: d[]
Weiter >
Objekt: Destiny.Debugger

Objekt: Destiny


Destiny.Debugger

Objekt: Destiny.Debugger

Syntax

Destiny.Debugger

Beschreibung

Mit dem Debugger-Objekt kann auf den DestinyDebugger zugegriffen werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Open() | Methode | Öffnet den DestinyDebugger
Output | Objekt | Enthält die Debug-Ausgaben
Clear() | Methode | Leert den Inhalt der Debug-Ausgabe
Print() | Methode | Fügt eine Zeile an die Debug-Ausgabe an
Show() | Methode | Zeit die Debug-Ausgabe an
Text | Eigenschaft | Der aktuelle Text der Debug-Ausgabe

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den DestinyDebugger öffnen Destiny.Debugger.Open();

Siehe auch

Destiny.Debugger.Open()
< Zurück
Objekt: Destiny
Weiter >
Methode: Destiny.Debugger.Open()

Objekt: Destiny.Debugger


Destiny.Debugger.Open()

Methode: Destiny.Debugger.Open()

Syntax

Destiny.Debugger.Open()

Beschreibung

Mit der Open-Methode kann der DestinyDebugger geöffnet werden. In dem DestinyDebugger können alle Eigenschaften und Konstanten des DestinySkripts zur Laufzeit betrachtet werden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den DestinyDebugger öffnen Destiny.Debugger.Open();

Siehe auch

Destiny, Destiny.Debugger, Beschreibung des DestinyDebuggers
< Zurück
Objekt: Destiny.Debugger
Weiter >
Objekt: Destiny.Debugger.Output

Methode: Destiny.Debugger.Open()


Destiny.Debugger.Output

Objekt: Destiny.Debugger.Output

Syntax

Destiny.Debugger.Output

Beschreibung

Über das Output-Objekt können Debug-Ausgaben ausgegeben werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Clear() | Methode | Leert den Inhalt der Debug-Ausgabe
Print() | Methode | Fügt eine Zeile an die Debug-Ausgabe an
Show() | Methode | Zeit die Debug-Ausgabe an
Text | Eigenschaft | Der aktuelle Text der Debug-Ausgabe

Siehe auch

Destiny, Destiny.Debugger, Beschreibung der Debug-Ausgabe
< Zurück
Methode: Destiny.Debugger.Open()
Weiter >
Methode: Destiny.Debugger.Output.Clear()

Objekt: Destiny.Debugger.Output


Destiny.Debugger.Output.Clear()

Methode: Destiny.Debugger.Output.Clear()

Syntax

Destiny.Debugger.Output.Clear()

Beschreibung

Mit der Clear-Methode kann der Inhalt der Debug-Ausgabe geleert werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$

// Den Inhalt der Debug-Ausgabe leeren
Destiny.Debugger.Output.Clear();

// Ein paar Zeilen in die Debug-Ausgabe einfügen
Destiny.Debugger.Output.Print("Zeile 1");
Destiny.Debugger.Output.Print("Zeile 2");
Destiny.Debugger.Output.Print("Zeile 3");

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

Siehe auch

Destiny, Destiny.Debugger, Destiny.Debugger.Output, Destiny.Debugger.Output.Print(), Destiny.Debugger.Output.Show(), Beschreibung der Debug-Ausgabe
< Zurück
Objekt: Destiny.Debugger.Output
Weiter >
Methode: Destiny.Debugger.Output.Print()

Methode: Destiny.Debugger.Output.Clear()


Destiny.Debugger.Output.Print()

Methode: Destiny.Debugger.Output.Print()

Syntax

Destiny.Debugger.Output.Print(Zeile)

Beschreibung

Mit der Print-Methode kann eine Zeile an die Debug-Ausgabe angehangen werden. Ein Zeilenumbruch wird automatisch ergänzt.

Liste der Parameter

Parameter: Zeile

Datentyp: | string
Optional: | nein
Beschreibung: | Der anzufügende Text.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$

// Den Inhalt der Debug-Ausgabe leeren
Destiny.Debugger.Output.Clear();

// Ein paar Zeilen in die Debug-Ausgabe einfügen
Destiny.Debugger.Output.Print("Zeile 1");
Destiny.Debugger.Output.Print("Zeile 2");
Destiny.Debugger.Output.Print("Zeile 3");

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

Siehe auch

Destiny, Destiny.Debugger, Destiny.Debugger.Output, Destiny.Debugger.Output.Clear(), Destiny.Debugger.Output.Show(), Beschreibung der Debug-Ausgabe
< Zurück
Methode: Destiny.Debugger.Output.Clear()
Weiter >
Methode: Destiny.Debugger.Output.Show()

Methode: Destiny.Debugger.Output.Print()


Destiny.Debugger.Output.Show()

Methode: Destiny.Debugger.Output.Show()

Syntax

Destiny.Debugger.Output.Show()

Beschreibung

Mit der Show-Methode kann die Debug-Ausgabe angezeigt werden. Hierzu wird das Fenster der RPG_RT minimiert. Nach dem Schließen der Debug-Ausgabe wird das Fenster der RPG_RT wiederhergestellt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$

// Den Inhalt der Debug-Ausgabe leeren
Destiny.Debugger.Output.Clear();

// Ein paar Zeilen in die Debug-Ausgabe einfügen
Destiny.Debugger.Output.Print("Zeile 1");
Destiny.Debugger.Output.Print("Zeile 2");
Destiny.Debugger.Output.Print("Zeile 3");

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

Siehe auch

Destiny, Destiny.Debugger, Destiny.Debugger.Output, Destiny.Debugger.Output.Clear(), Destiny.Debugger.Output.Print(), Beschreibung der Debug-Ausgabe
< Zurück
Methode: Destiny.Debugger.Output.Print()
Weiter >
Eigenschaft: Destiny.Debugger.Output.Text

Methode: Destiny.Debugger.Output.Show()


Destiny.Debugger.Output.Text

Eigenschaft: Destiny.Debugger.Output.Text

Syntax

Destiny.Debugger.Output.Text

Beschreibung

Mit der Text-Eigenschaft kann der aktuelle Inhalt der Debug-Ausgabe gelesen/geschrieben werden. Inhalt wird normalerweise über die Print-Methode angefügt.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$

// Den Inhalt der Debug-Ausgabe auf "Hallo" setzen.
Destiny.Debugger.Output.Text = "Hallo";

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();

Siehe auch

Destiny, Destiny.Debugger, Destiny.Debugger.Output, Destiny.Debugger.Output.Show(), Beschreibung der Debug-Ausgabe
< Zurück
Methode: Destiny.Debugger.Output.Show()
Weiter >
Eigenschaft: Destiny.DllVersionMajor

Eigenschaft: Destiny.Debugger.Output.Text


Destiny.DllVersionMajor

Eigenschaft: Destiny.DllVersionMajor

Syntax

Destiny.DllVersionMajor

Beschreibung

Gibt den Vorkommateil der verfügbaren Destiny.dll Versionsnummer an.
Information:
Die Unterscheidung zwischen der verwendeten Destiny.dll Versionsnummer und der verfügbaren Destiny.dll Versionsnummer war angedacht für Kompatiblitätsmodi; wird bisher aber nicht verwendet. Sinnvollerweise sollten für die Überprüfung der Destiny.dll Versionsnummer immer Destiny.VersionMajor und Destiny.VersionMinor genutzt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die verfügbare Versionsnummer der Destiny.dll zusammenstellen und in a[1] speichern a[1] = Destiny.DllVersionMajor .. "." .. Destiny.DllVersionMinor;

Siehe auch

Destiny, Destiny.DllVersionMinor
< Zurück
Eigenschaft: Destiny.Debugger.Output.Text
Weiter >
Eigenschaft: Destiny.DllVersionMinor

Eigenschaft: Destiny.DllVersionMajor


Destiny.DllVersionMinor

Eigenschaft: Destiny.DllVersionMinor

Syntax

Destiny.DllVersionMinor

Beschreibung

Gibt den Nachkommateil der verfügbaren Destiny.dll Versionsnummer an.
Information:
Die Unterscheidung zwischen der verwendeten Destiny.dll Versionsnummer und der verfügbaren Destiny.dll Versionsnummer war angedacht für Kompatiblitätsmodi; wird bisher aber nicht verwendet. Sinnvollerweise sollten für die Überprüfung der Destiny.dll Versionsnummer immer Destiny.VersionMajor und Destiny.VersionMinor genutzt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die verfügbare Versionsnummer der Destiny.dll zusammenstellen und in a[1] speichern a[1] = Destiny.DllVersionMajor .. "." .. Destiny.DllVersionMinor;

Siehe auch

Destiny, Destiny.DllVersionMajor
< Zurück
Eigenschaft: Destiny.DllVersionMajor
Weiter >
Methode: Destiny.Implemented()

Eigenschaft: Destiny.DllVersionMinor


Destiny.Implemented()

Methode: Destiny.Implemented()

Syntax

Destiny.Implemented(Aufruf)

Beschreibung

Mit der Implemented-Methode kann geprüft werden, ob eine bestimmte Methode oder Eigenschaft implementiert ist. Dies ist nützlich für Skripte, welche bestimmte Methoden/Eigenschaften zwingend benötigen und sonst nicht laufen sollen; bzw. etwas anderes ausführen sollen.

Liste der Parameter

Parameter: Aufruf

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den zu überprüfenden Aufruf ohne Parameter an. Klammern (eckige und runde) müssen bei diesem Aufruf angegeben werden.

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt an, ob die Methode/Eigenschaft verfügbar ist (True) oder nicht (False).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
$
// Prüfen, ob die Destiny.Implemented()-Methode verfügbar ist
if(Destiny.Implemented("Destiny.Implemented()"))
  // ... (wird ausgeführt)
endif;

// Prüfen, ob die Destiny.Language-Eigenschaft verfügbar ist
if(Destiny.Implemented("Destiny.Language"))
  // ... (wird ausgeführt)
endif;

// Prüfen, ob die Error[].Message-Eigenschaft verfügbar ist
if(Destiny.Implemented("Error[].Message"))
  // ... (wird ausgeführt)
endif;

// Prüfen, ob die Error.Message-Eigenschaft verfügbar ist
if(Destiny.Implemented("Error.Message"))
  // ... (wird nicht ausgeführt, da das Error-Objekt (ohne []) die Message-Eigenschaft nicht besitzt)
endif;

Siehe auch

Destiny, Destiny.Language, Error[].Message, Destiny.VersionMajor, Destiny.VersionMinor
< Zurück
Eigenschaft: Destiny.DllVersionMinor
Weiter >
Eigenschaft: Destiny.Language

Methode: Destiny.Implemented()


Destiny.Language

Eigenschaft: Destiny.Language

Syntax

Destiny.Language

Beschreibung

Mit der Language-Eigenschaft kann die eingestellte Sprache der Destiny.dll gelesen/geschrieben werden. Beim Ändern dieser Eigenschaft wird auch Convert.DecimalComma angepasst.
Information:
Zum Ändern/Vergleichen dieser Eigenschaft, sollten die Sprachkonstanten verwendet werden (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 1

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Sprache auf Englisch setzen
Destiny.Language = LANGUAGE_ENGLISH;
// Die erste Fehlermeldung abfragen und in a[1] speichern
a[1] = Error[1].Message;  // "The syntax is invalid!"
// Die Sprache auf Deutsch stellen
Destiny.Language = LANGUAGE_GERMAN;
// Die erste Fehlermeldung abfragen und in a[2] speichern
a[2] = Error[1].Message;  // "Die Syntax ist ungültig!"

Siehe auch

Destiny, Error[].Message
< Zurück
Methode: Destiny.Implemented()
Weiter >
Methode: Destiny.Load()

Eigenschaft: Destiny.Language


Destiny.Load()

Methode: Destiny.Load()

Syntax

Destiny.Load(Slot)

Beschreibung

Mit der Load-Methode werden die Speicherbereiche der Destiny.dll aus einem bestimmten Speicherslot (= Datei auf der Festplatte) geladen. Die Datei des Speicherslots befindet sich im Spielverzeichnis und trägt standardmäßig den Namen SaveXX.dsd, wobei XX durch den Speicherslot im zweistelligen Format zu ersetzen ist. Welche Speicherbereiche geladen werden, hängt davon ab, welche Speicherstände zuvor gespeichert wurden. Ein gespeicherter Spielstand der RPG_RT wird hiermit nicht geladen. Um einen gespeicherten Spielstand der RPG_RT zu laden kann die Load()-Methode des Game-Objekts genutzt werden. Sollten die Speicherbereiche nicht geladen werden können, so wird ein Fehler ausgelöst; die bisherigen Speicherbereiche werden dann nicht ersetzt.
Information:
Sollen sowohl der Spielstand, als auch die Speicherbereiche der Destiny.dll geladen werden, so sollten zuerst die Speicherbereiche der Destiny.dll und dann der Spielstand geladen werden, da sonst nach dem Laden des Spielstandes ggf. die darauffolgenden DestinySkript-Befehle nicht mehr ausgeführt werden.

Liste der Parameter

Parameter: Slot

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Gibt die Nummer des Speicherslots an

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$
// Die Zahl 5.0 in f[1] speichern
f[1] = 5.0;

// Die Speicherbereiche der Destiny.dll im ersten Slot speichern
Destiny.Save(1);
// Nur die Strings und die Dwords der Destiny.dll im zweiten Slot speichern
Destiny.Save(2, "AD");

// Die Zahl 0.0 in f[1] speichern
f[1] = 0.0;

// Die Speicherbereiche des zweiten Slots laden
Destiny.Load(2);     // f[1] = 0.0
// Die Speicherbereiche des ersten Slots laden
Destiny.Load(1);     // f[1] = 5.0

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_MEMORY, DESTINYERROR_CANTACCESSFILE

Siehe auch

Destiny, Destiny.Save(), Game.Load()
< Zurück
Eigenschaft: Destiny.Language
Weiter >
Methode: Destiny.Save()

Methode: Destiny.Load()


Destiny.Save()

Methode: Destiny.Save()

Syntax

Destiny.Save(Slot, [Speicherbereiche])

Beschreibung

Mit der Save-Methode werden die (angegebenen) Speicherbereiche der Destiny.dll in einem bestimmten Speicherslot (= Datei auf der Festplatte) gespeichert. Die Datei des Speicherslots befindet sich im Spielverzeichnis und trägt standardmäßig den Namen SaveXX.dsd, wobei XX durch den Speicherslot im zweistelligen Format zu ersetzen ist. Der aktuelle Spielstand der RPG_RT wird hiermit nicht abgespeichert. Um den aktuellen Spielstand der RPG_RT zu speichern kann die Save()-Methode des Game-Objekts genutzt werden. Sollten die Speicherbereiche nicht gespeichert werden können, so wird ein Fehler ausgelöst.
Information:
Sollen sowohl der aktuelle Spielstand, als auch die Speicherbereiche der Destiny.dll gespeichert werden, so sollte zuerst die Speicherbereiche der Destiny.dll gespeichert werden, da sonst bei einem Laden des Spielstandes die Speicherbereiche der Destiny.dll erst gespeichert würden, was aber zu spät ist.

Liste der Parameter

Parameter: Slot

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Gibt die Nummer des Speicherslots an

Parameter: Speicherbereiche

Datentyp: string
Optional: ja
Standardwert: "ADFLE"
Beschreibung: Gibt die zu speichernden Speicherbereiche in einem String an. Jeder angegebene Buchstabe repräsentiert hierbei einen Speicherbereich. Die Beachtung der Groß-/Kleinschreibung ist nicht notwendig. Werden andere Buchstaben angegeben, so werden diese ignoriert. Folgende Angaben sind möglich:

Buchstabe | Beschreibung
A | Speichert alle Strings (a[])
D | Speichert alle Dwords (d[])
F | Speichert alle Floats (f[])
L | Speichert die eingestellte Sprache der Destiny.dll (Destiny.Language)
E | Speichert die eingestellten Fehleroptionen (Errors und Error[])

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$
// Die Zahl 5.0 in f[1] speichern
f[1] = 5.0;

// Die Speicherbereiche der Destiny.dll im ersten Slot speichern
Destiny.Save(1);
// Nur die Strings und die Dwords der Destiny.dll im zweiten Slot speichern
Destiny.Save(2, "AD");

// Die Zahl 0.0 in f[1] speichern
f[1] = 0.0;

// Die Speicherbereiche des zweiten Slots laden
Destiny.Load(2);     // f[1] = 0.0
// Die Speicherbereiche des ersten Slots laden
Destiny.Load(1);     // f[1] = 5.0

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_CANTACCESSFILE

Siehe auch

Destiny, Destiny.Load(), Game.Save()
< Zurück
Methode: Destiny.Load()
Weiter >
Eigenschaft: Destiny.VersionMajor

Methode: Destiny.Save()


Destiny.VersionMajor

Eigenschaft: Destiny.VersionMajor

Syntax

Destiny.VersionMajor

Beschreibung

Gibt den Vorkommateil der verwendeten Destiny.dll Versionsnummer an.
Information:
Die Unterscheidung zwischen der verwendeten Destiny.dll Versionsnummer und der verfügbaren Destiny.dll Versionsnummer war angedacht für Kompatiblitätsmodi; wird bisher aber nicht verwendet. Sinnvollerweise sollten für die Überprüfung der Destiny.dll Versionsnummer immer Destiny.VersionMajor und Destiny.VersionMinor genutzt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Versionsnummer der Destiny.dll zusammenstellen und in a[1] speichern a[1] = Destiny.VersionMajor .. "." .. Destiny.VersionMinor;

Siehe auch

Destiny, Destiny.VersionMinor
< Zurück
Methode: Destiny.Save()
Weiter >
Eigenschaft: Destiny.VersionMinor

Eigenschaft: Destiny.VersionMajor


Destiny.VersionMinor

Eigenschaft: Destiny.VersionMinor

Syntax

Destiny.VersionMinor

Beschreibung

Gibt den Nachkommateil der verwendeten Destiny.dll Versionsnummer an.
Information:
Die Unterscheidung zwischen der verwendeten Destiny.dll Versionsnummer und der verfügbaren Destiny.dll Versionsnummer war angedacht für Kompatiblitätsmodi; wird bisher aber nicht verwendet. Sinnvollerweise sollten für die Überprüfung der Destiny.dll Versionsnummer immer Destiny.VersionMajor und Destiny.VersionMinor genutzt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Versionsnummer der Destiny.dll zusammenstellen und in a[1] speichern a[1] = Destiny.VersionMajor .. "." .. Destiny.VersionMinor;

Siehe auch

Destiny, Destiny.VersionMajor
< Zurück
Eigenschaft: Destiny.VersionMajor
Weiter >
Objekt: Directory

Eigenschaft: Destiny.VersionMinor


Directory

Objekt: Directory

Syntax

Directory

Beschreibung

Mit dem Directory-Objekt können Verzeichnis- und Dateistrukturen bearbeitet, sowie Verzeichnisse durchsucht werden. Wie beim File-Objekt sind aus Sicherheitsgründen auch hier nur Zugriffe innerhalb des Spielverzeichnisses zulässig.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Attribute von Dateien/Verzeichnissen | Kategorie | Beinhaltet alle Methoden zum Lesen/Schreiben von Datei-/Verzeichnisattributen
GetAttributes() | Methode | Fragt die Attribute einer Datei/eines Verzeichnisses ab
SetAttributes() | Methode | Setzt die Attribute einer Datei/eines Verzeichnisses
Datei-/Verzeichnisoperationen | Kategorie | Enthält alle Methoden um Datei-/Verzeichnisoperationen durchzuführen
CopyFile() | Methode | Kopiert eine Datei
CreateDir() | Methode | Erstellt ein neues Verzeichnis
DeleteFile() | Methode | Löscht eine Datei
RemoveDir() | Methode | Entfernt ein leeres Verzeichnis
Rename() | Methode | Benennt eine Datei/ein Verzeichnis um oder verschiebt es
Verzeichnisdurchsuchungen | Kategorie | Beinhaltet alle Methoden/Eigenschaften um Verzeichnisse zu durchsuchen
FindClose() | Methode | Beendet die zuletzt gestartete Suche
FindCloseAll() | Methode | Beendet alle gestarteten Suchen
FindFirst() | Methode | Startet eine neue Suche
FindLevel | Eigenschaft | Die Anzahl der derzeit gestarteten Suchen
FindNext() | Methode | Setzt eine Suche fort
< Zurück
Eigenschaft: Destiny.VersionMinor
Weiter >
Kategorie: Attribute von Dateien/Verzeichnissen

Objekt: Directory


Directory--cat_FileSystemAttributes

Kategorie: Attribute von Dateien/Verzeichnissen

Beschreibung

In dieser Kategorie befinden sich alle Methoden um die Attribute von Dateien und Verzeichnissen zu lesen und zu schreiben.

Diese Attribute sind Teil des Dateisystems; bekannte sind beispielsweise "Schreibgeschützt" und "Versteckt".

Bild mit Dateiattributen

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
GetAttributes() | Methode | Fragt die Attribute einer Datei/eines Verzeichnisses ab
SetAttributes() | Methode | Setzt die Attribute einer Datei/eines Verzeichnisses
< Zurück
Objekt: Directory
Weiter >
Methode: Directory.GetAttributes()

Kategorie: Attribute von Dateien/Verzeichnissen


Directory.GetAttributes()

Methode: Directory.GetAttributes()

Syntax

Directory.GetAttributes(Name)

Beschreibung

Mit der GetAttributes-Methode werden die Attribute einer bestehenden Datei/eines bestehenden Verzeichnisses im im Spielverzeichnis (bzw. einem Unterverzeichnis bei relativer Pfadangabe) abgefragt. Es dürfen nur die Attribute von Dateien/Verzeichnissen innerhalb des Spielverzeichnisses (sowie Unterverzeichnissen) abgefragt werden. Zugriffe außerhalb des Spielverzeichnisses sind unzulässig!

Diese Attribute sind Teil des Dateisystems; bekannte sind beispielsweise "Schreibgeschützt" und "Versteckt".

Bild mit Dateiattributen

Liste der Parameter

Parameter: Name

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Namen der Datei/des Verzeichnisses an, dessen Attribute abgefragt werden sollen. Für die Angabe eines Unterverzeichnisses können der Slash und/oder der Backslash genutzt werden.

Rückgabewert

Datentyp: | dword
Beschreibung: | Die Attribute der Datei/des Verzeichnisses. Zur Identifizierung können die Dateiattributskonstanten genutzt werden. Diese gelten für Dateien und Verzeichnisse und können per binärem ODER-Operator verknüpft werden. Das Attribut FILE_ATTRIBUTE_DIRECTORY identifiziert ein Verzeichnis (und ist auch nur bei Verzeichnissen gültig).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13
$
// Die Attribute der Datei "RPG_RT.exe" abfragen und in v[1] speichern
v[1] = Directory.GetAttributes("RPG_RT.exe");

// Prüfen, ob die Datei gerade versteckt ist und das Ergebnis in a[1] speichern
if(v[1] & FILE_ATTRIBUTE_HIDDEN)
  a[1] = "Die RPG_RT.exe ist momentan versteckt. Pssssst.";
else
  a[1] = "Die RPG_RT.exe ist sichtbar. Wir haben keine Geheimnisse, klar?";
endif;

// Das "Verteckt"-Attribut der RPG_RT.exe entfernen (falls es gesetzt war)
Directory.SetAttributes("RPG_RT.exe", v[1] & ~FILE_ATTRIBUTE_HIDDEN);

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_CANTREADATTRIBUTES, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH

Siehe auch

Directory, Directory.SetAttributes()
< Zurück
Kategorie: Attribute von Dateien/Verzeichnissen
Weiter >
Methode: Directory.SetAttributes()

Methode: Directory.GetAttributes()


Directory.SetAttributes()

Methode: Directory.SetAttributes()

Syntax

Directory.SetAttributes(Name, Attribute)

Beschreibung

Mit der SetAttributes-Methode werden die Attribute einer bestehenden Datei/eines bestehenden Verzeichnisses im im Spielverzeichnis (bzw. einem Unterverzeichnis bei relativer Pfadangabe) gesetzt. Es dürfen nur die Attribute von Dateien/Verzeichnissen innerhalb des Spielverzeichnisses (sowie Unterverzeichnissen) gesetzt werden. Zugriffe außerhalb des Spielverzeichnisses sind unzulässig!

Diese Attribute sind Teil des Dateisystems; bekannte sind beispielsweise "Schreibgeschützt" und "Versteckt".

Bild mit Dateiattributen
Information:
  • Um ein Attribut zu den bestehenden Attributen hinzuzufügen wird der binäre ODER-Operator verwendet.
    (z. B. Attribute | FILE_ATTRIBUTE_HIDDEN)
  • Um ein Attribut bei den bestehenden Attributen zu kippen wird der binäre EXKLUSIV-ODER-Operator verwendet.
    (z. B. Attribute ^ FILE_ATTRIBUTE_HIDDEN)
  • Um ein Attribut von den bestehenden Attributen zu entfernen wird eine binäre UND-Operation mit dem Einerkomplement (binäres Nicht) der entsprechenden Konstante ausgeführt.
    (z. B. Attribute & ~FILE_ATTRIBUTE_HIDDEN)

Liste der Parameter

Parameter: Name

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Namen der Datei/des Verzeichnisses an, dessen Attribute gesetzt werden sollen. Für die Angabe eines Unterverzeichnisses können der Slash und/oder der Backslash genutzt werden.

Parameter: Attribute

Datentyp: | dword
Optional: | nein
Beschreibung: | Die neuen Attribute der Datei/des Verzeichnisses. Zur Festlegung können die Dateiattributskonstanten genutzt werden. Diese gelten für Dateien und Verzeichnisse und können per binärem ODER-Operator verknüpft werden. Das Attribut FILE_ATTRIBUTE_DIRECTORY identifiziert ein Verzeichnis (und ist auch nur bei Verzeichnissen gültig; kann also bei Dateien nicht gesetzt werden und bei Verzeichnissen nicht entfernt werden).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13
$
// Die Attribute der Datei "RPG_RT.exe" abfragen und in v[1] speichern
v[1] = Directory.GetAttributes("RPG_RT.exe");

// Prüfen, ob die Datei gerade versteckt ist und das Ergebnis in a[1] speichern
if(v[1] & FILE_ATTRIBUTE_HIDDEN)
  a[1] = "Die RPG_RT.exe ist momentan versteckt. Pssssst.";
else
  a[1] = "Die RPG_RT.exe ist sichtbar. Wir haben keine Geheimnisse, klar?";
endif;

// Das "Verteckt"-Attribut der RPG_RT.exe entfernen (falls es gesetzt war)
Directory.SetAttributes("RPG_RT.exe", v[1] & ~FILE_ATTRIBUTE_HIDDEN);

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_CANTWRITEATTRIBUTES, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH

Siehe auch

Directory, Directory.GetAttributes()
< Zurück
Methode: Directory.GetAttributes()
Weiter >
Kategorie: Datei-/Verzeichnisoperationen

Methode: Directory.SetAttributes()


Directory--cat_FileSystemOperations

Kategorie: Datei-/Verzeichnisoperationen

Beschreibung

In dieser Kategorie befinden sich alle Operationen um Dateien und Verzeichnisse als Einträge des Dateisystems zu bearbeiten. Dies beinhaltet das Erstellen, Umbenennen, Verschieben und Entfernen von Verzeichnissen, sowie das Kopieren, Umbenennen, Verschieben und Löschen von Dateien. Um Dateien zu erstellen kann das File-Objekt genutzt werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
CopyFile() | Methode | Kopiert eine Datei
CreateDir() | Methode | Erstellt ein neues Verzeichnis
DeleteFile() | Methode | Löscht eine Datei
RemoveDir() | Methode | Entfernt ein leeres Verzeichnis
Rename() | Methode | Benennt eine Datei/ein Verzeichnis um oder verschiebt es
< Zurück
Methode: Directory.SetAttributes()
Weiter >
Methode: Directory.CopyFile()

Kategorie: Datei-/Verzeichnisoperationen


Directory.CopyFile()

Methode: Directory.CopyFile()

Syntax

Directory.CopyFile(Quelldatei, Zieldatei)

Beschreibung

Mit der CopyFile-Methode wird eine bestehende Datei im Spielverzeichnis (bzw. einem Unterverzeichnis bei relativer Pfadangabe) kopiert. Die Kopie wird mit dem angegebenen Dateinamen im Spielverzeichnis (oder bei relativer Pfadangabe im entsprechenden Unterverzeichnis) erstellt. Es dürfen nur Dateien innerhalb des Spielverzeichnisses (sowie Unterverzeichnissen) kopiert werden (gilt für Quell- und Zieldatei). Zugriffe außerhalb des Spielverzeichnisses sind unzulässig!

Liste der Parameter

Parameter: Quelldatei

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen der zu kopierenden Datei an. Für die Angabe eines Unterverzeichnisses können der Slash und/oder der Backslash genutzt werden.

Parameter: Zieldatei

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen der Zieldatei an (also der Name/Pfad der Kopie). Für die Einschränkungen des Dateinamens gelten die üblichen Einschränkungen für Dateinamen von Microsoft. So dürfen die Sonderzeichen \ / : ? * " < > | nicht im Dateinamen vorkommen (Slash und Backslash sind hierbei allerdings für die Angabe von Unterverzeichnissen zulässig). Ebenfalls dürfen rechts vom Dateinamen keine Leerzeichen vorkommen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Von der Datei "RPG_RT.exe" im Spielverzeichnis eine Kopie namens "RPG_RT2.exe" anlegen
Directory.CopyFile("RPG_RT.exe", "RPG_RT2.exe");
// Die erzeugte Kopie "RPG_RT2.exe" im Spielverzeichnis wieder löschen
Directory.DeleteFile("RPG_RT2.exe");

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_CANTCOPYFILE, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH

Siehe auch

Directory, Directory.Rename(), File[].Open(), Directory.DeleteFile()
< Zurück
Kategorie: Datei-/Verzeichnisoperationen
Weiter >
Methode: Directory.CreateDir()

Methode: Directory.CopyFile()


Directory.CreateDir()

Methode: Directory.CreateDir()

Syntax

Directory.CreateDir(Verzeichnisname)

Beschreibung

Mit der CreateDir-Methode wird ein neues Verzeichnis im Spielverzeichnis (bzw. einem Unterverzeichnis bei relativer Pfadangabe) erstellt. Es dürfen nur Verzeichnisse innerhalb des Spielverzeichnisses (sowie Unterverzeichnissen) erstellt werden. Zugriffe außerhalb des Spielverzeichnisses sind unzulässig!

Liste der Parameter

Parameter: Verzeichnisname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Namen des Verzeichnisses (ggf. inkl. relativem Pfad) an. Für die Einschränkungen des Verzeichnisnamens gelten die üblichen Einschränkungen für Dateinamen von Microsoft. So dürfen die Sonderzeichen \ / : ? * " < > | nicht im Verzeichnisnamen vorkommen (Slash und Backslash sind hierbei allerdings für die Angabe von Unterverzeichnissen zulässig). Ebenfalls dürfen rechts vom Verzeichnisnamen keine Leerzeichen vorkommen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Ein Verzeichnis namens "Test" im Spielverzeichnis erstellen
Directory.CreateDir("Test");
// Ein Verzeichnis namens "Hallo" als Unterverzeichnis des "Test"-Verzeichnisses erstellen
Directory.CreateDir("Test\Hallo");

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_CANTCREATEDIR, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH

Siehe auch

Directory, Directory.RemoveDir(), Directory.Rename()
< Zurück
Methode: Directory.CopyFile()
Weiter >
Methode: Directory.DeleteFile()

Methode: Directory.CreateDir()


Directory.DeleteFile()

Methode: Directory.DeleteFile()

Syntax

Directory.DeleteFile(Dateiname)

Beschreibung

Mit der DeleteFile-Methode wird eine bestehende Datei im Spielverzeichnis (bzw. einem Unterverzeichnis bei relativer Pfadangabe) gelöscht. Es dürfen nur Dateien innerhalb des Spielverzeichnisses (sowie Unterverzeichnissen) gelöscht werden. Zugriffe außerhalb des Spielverzeichnisses sind unzulässig!

Liste der Parameter

Parameter: Dateiname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen der zu löschenden Datei an. Für die Angabe eines Unterverzeichnisses können der Slash und/oder der Backslash genutzt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Von der Datei "RPG_RT.exe" im Spielverzeichnis eine Kopie namens "RPG_RT2.exe" anlegen
Directory.CopyFile("RPG_RT.exe", "RPG_RT2.exe");
// Die erzeugte Kopie "RPG_RT2.exe" im Spielverzeichnis wieder löschen
Directory.DeleteFile("RPG_RT2.exe");

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_CANTDELETEFILE, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH

Siehe auch

Directory, Directory.Rename(), Directory.CopyFile()
< Zurück
Methode: Directory.CreateDir()
Weiter >
Methode: Directory.RemoveDir()

Methode: Directory.DeleteFile()


Directory.RemoveDir()

Methode: Directory.RemoveDir()

Syntax

Directory.RemoveDir(Verzeichnisname)

Beschreibung

Mit der RemoveDir-Methode wird ein bestehendes Verzeichnis im Spielverzeichnis (bzw. einem Unterverzeichnis bei relativer Pfadangabe) entfernt. Dieses Verzeichnis muss leer sein (darf also weder Dateien noch Unterverzeichnisse beinhalten). Es dürfen nur Verzeichnisse innerhalb des Spielverzeichnisses (sowie Unterverzeichnissen) entfernt werden. Zugriffe außerhalb des Spielverzeichnisses sind unzulässig!

Liste der Parameter

Parameter: Verzeichnisname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Namen des Verzeichnisses (ggf. inkl. relativem Pfad) an. Für die Angabe eines Unterverzeichnisses können der Slash und/oder der Backslash genutzt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Ein Verzeichnis namens "Hallo" (als Unterverzeichnis des "Test"-Verzeichnisses) entfernen
Directory.RemoveDir("Test\Hallo");
// Ein Verzeichnis namens "Test" (im Spielverzeichnis) entfernen
Directory.RemoveDir("Test");

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_CANTREMOVEDIR, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH

Siehe auch

Directory, Directory.CreateDir(), Directory.Rename(), Directory.DeleteFile()
< Zurück
Methode: Directory.DeleteFile()
Weiter >
Methode: Directory.Rename()

Methode: Directory.RemoveDir()


Directory.Rename()

Methode: Directory.Rename()

Syntax

Directory.Rename(Alter Name, Neuer Name)

Beschreibung

Mit der Rename-Methode wird eine bestehende Datei/ein bestehendes Verzeichnis im Spielverzeichnis (bzw. einem Unterverzeichnis bei relativer Pfadangabe) umbenannt oder verschoben. Damit eine Datei/ein Verzeichnis verschoben statt umbenannt wird, muss die Pfadangabe im neuen Namen abweichend von der Angabe im alten Namen sein (siehe Beispiel). Es dürfen nur Dateien/Verzeichnisse innerhalb des Spielverzeichnisses (sowie Unterverzeichnissen) umbenannt oder verschoben werden. Zugriffe außerhalb des Spielverzeichnisses sind unzulässig!

Liste der Parameter

Parameter: Alter Name

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den derzeitigen Namen der Datei/des Verzeichnisses an. Für die Angabe eines Unterverzeichnisses können der Slash und/oder der Backslash genutzt werden.

Parameter: Neuer Name

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den neuen Namen der Datei/des Verzeichnisses an. Für die Einschränkungen des Datei-/Verzeichnisnamens gelten die üblichen Einschränkungen für Dateinamen von Microsoft. So dürfen die Sonderzeichen \ / : ? * " < > | nicht im Datei-/Verzeichnisnamen vorkommen (Slash und Backslash sind hierbei allerdings für die Angabe von Unterverzeichnissen zulässig). Ebenfalls dürfen rechts vom Datei-/Verzeichnisnamen keine Leerzeichen vorkommen. Wird hier ein anderer Pfad als beim alten Namen angegeben, so wird die Datei/das Verzeichnis verschoben.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die Datei "RPG_RT.ini" im Spielverzeichnis in "Blubb.ini" umbenennen
Directory.Rename("RPG_RT.ini", "Blubb.ini");
// Die Datei "Blubb.ini" vom Spielverzeichnis ins Picture-Verzeichnis verschieben
Directory.Rename("Blubb.ini", "Picture\Blubb.ini");
// Die Datei "Blubb.ini" vom Picture-Verzeichnis ins Spielverzeichnis verschieben und dabei in "RPG_RT.ini" umbenennen
Directory.Rename("Picture\Blubb.ini", "RPG_RT.ini");

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_CANTRENAMEFILE, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH

Siehe auch

Directory, Directory.CreateDir(), Directory.RemoveDir(), Directory.CopyFile(), File[].Open()
< Zurück
Methode: Directory.RemoveDir()
Weiter >
Kategorie: Verzeichnisdurchsuchungen

Methode: Directory.Rename()


Directory--cat_Browsing

Kategorie: Verzeichnisdurchsuchungen

Beschreibung

In dieser Kategorie befinden sich alle Methoden und Eigenschaften, welche dazu notwendig sind um Verzeichnisse nach Dateien und Unterverzeichnissen zu durchsuchen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
FindClose() | Methode | Beendet die zuletzt gestartete Suche
FindCloseAll() | Methode | Beendet alle gestarteten Suchen
FindFirst() | Methode | Startet eine neue Suche
FindLevel | Eigenschaft | Die Anzahl der derzeit gestarteten Suchen
FindNext() | Methode | Setzt eine Suche fort
< Zurück
Methode: Directory.Rename()
Weiter >
Methode: Directory.FindClose()

Kategorie: Verzeichnisdurchsuchungen


Directory.FindClose()

Methode: Directory.FindClose()

Syntax

Directory.FindClose()

Beschreibung

Mit der FindClose-Methode kann die zuletzt gestartete Durchsuchung eines Verzeichnisses beendet werden. Wurden zuvor mehrere Durchsuchungen über die FindFirst-Methode gestartet, so wird hiermit nur die letzte Durchsuchung beendet. Wurde noch keine Suche gestartet, so passiert nichts. Um eine Durchsuchung zu starten wird die FindFirst-Methode und um eine Suche fortzusetzen die FindNext-Methode verwendet.
Änderung zum DestinyPatch 1.0:
Es ist nun möglich mehr als eine Suche gleichzeitig zu starten (der Fehler DESTINYERROR_SEARCHSTILLOPEN ist somit veraltet). Diese werden auf einen "Stapel" im LIFO-Prinzip gelegt (also die zuletzt gestartete Suche ist die aktuelle).

Beispiel

Einfache Verzeichnisdurchsuchung:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$
// Alle PNG-Dateien im Picture-Verzeichnis auflisten
a[1] = Directory.FindFirst("Picture\*.png");
a[2] = "";

do
  if(a[1] != "")
    // Die gefundene Datei an die Liste anhängen
    a[2] ..= a[1] .. CRLF;
    // Die nächste Datei suchen
    a[1] = Directory.FindNext();
  endif;
loop until(a[1] == "");

Directory.FindClose();

Komplexe Verzeichnisdurchsuchung (mit Unterverzeichnissen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
$
// Die verwendeten Variablen initialisieren
a[1] = "";     // Datei-/Verzeichnisname des aktuellen Treffers
a[2] = "";     // Liste aller Dateien/Verzeichnisse
a[3] = "";     // Startverzeichnis der Suche mit angehängtem Backslash (außer beim Spielverzeichnis)
// a[4] und alle darauf folgenden Strings dienen zum Zwischenspeichern der Pfade
s[1] = False;  // Gibt an, ob eine Rekursion gestartet werden kann und der Wert für die Ausgabe gültig ist (gültiger Datei-/Verzeichnistreffer)
s[2] = True;   // Gibt an, ob eine (rekursive) Suche gestartet wird
v[1] = 0;      // Gibt die Attribute des gefundenen Treffers an

do
  if(!s[2])
    // Die Suche im aktuellen Verzeichnis fortsetzen
    a[1] = Directory.FindNext();
  else
    if(a[3 + Directory.FindLevel] == "")
      // Durchsuchung des Spielverzeichnisses starten
      a[1] = Directory.FindFirst("*");
    else
      // Durchsuchung eines Unterverzeichnisses starten
      a[1] = Directory.FindFirst(a[3 + Directory.FindLevel] .. "\*");
    endif;
  endif;

  if(a[1] == "")
    // Kein Treffer -> Suche schließen (hierbei wird ggf. eine alte Suche wieder aktiv)
    Directory.FindClose();
  endif;

  // Prüfen, ob der Treffer für die Rekursion ungeeignet ist
  s[1] = !(a[1] == "" || a[1] == "." || a[1] == "..");

  if(s[1])
    // Gültiger Treffer
    // -> Attribute abfragen (zur Verzeichnisprüfung)
    v[1] = Directory.GetAttributes(a[2 + Directory.FindLevel] .. a[1]);
  else
    // Ungültiger Treffer für die Rekursion (Attribute auf 0 setzen)
    v[1] = 0;
  endif;

  // Prüfen, ob der Treffer ein Verzeichnis ist
  s[2] = (v[1] & FILE_ATTRIBUTE_DIRECTORY) != 0;

  // Den Suchpfad des unterverzeichnisses ggf. speichern
  if(s[2])
    if(3 + Directory.FindLevel > a.Count)
      // Ggf. das String-Array vergrößern
      a.ReAlloc(3 + Directory.FindLevel);
    endif;
    a[3 + Directory.FindLevel] = a[3 + Directory.FindLevel - 1] .. a[1] .. "\";
  endif;

  // Den Pfad zur im Ergebnistext speichern
  if(s[1])
    if(s[2])
      a[2] ..= "Verzeichnis: ";
    else
      a[2] ..= "Datei:       ";
    endif;
    a[2] ..= a[3 + Directory.FindLevel - 1] .. a[1] .. CRLF;
  endif;
loop until(Directory.FindLevel == 0);

// Alle ggf. noch offenen Suchen schließen
Directory.FindCloseAll();

Sonstiges

Diese Methode ist äquivalent zu der Windows-Funktion FindClose.

Siehe auch

Directory, Directory.FindFirst(), Directory.FindNext(), Directory.FindCloseAll(), Directory.FindLevel, Directory.GetAttributes(), a.Count, a.ReAlloc()
< Zurück
Kategorie: Verzeichnisdurchsuchungen
Weiter >
Methode: Directory.FindCloseAll()

Methode: Directory.FindClose()


Directory.FindCloseAll()

Methode: Directory.FindCloseAll()

Syntax

Directory.FindCloseAll()

Beschreibung

Mit der FindCloseAll-Methode können alle derzeit gestarten Durchsuchungen von Verzeichnissen beendet werden. Wurde noch keine Suche gestartet, so passiert nichts. Um eine Durchsuchung zu starten wird die FindFirst-Methode, um eine Suche fortzusetzen die FindNext-Methode und um eine einzelne Suche zu beenden die FindClose-Methode verwendet.
Änderung zum DestinyPatch 1.0:
Es ist nun möglich mehr als eine Suche gleichzeitig zu starten (der Fehler DESTINYERROR_SEARCHSTILLOPEN ist somit veraltet). Diese werden auf einen "Stapel" im LIFO-Prinzip gelegt (also die zuletzt gestartete Suche ist die aktuelle).

Beispiel

Komplexe Verzeichnisdurchsuchung (mit Unterverzeichnissen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
$
// Die verwendeten Variablen initialisieren
a[1] = "";     // Datei-/Verzeichnisname des aktuellen Treffers
a[2] = "";     // Liste aller Dateien/Verzeichnisse
a[3] = "";     // Startverzeichnis der Suche mit angehängtem Backslash (außer beim Spielverzeichnis)
// a[4] und alle darauf folgenden Strings dienen zum Zwischenspeichern der Pfade
s[1] = False;  // Gibt an, ob eine Rekursion gestartet werden kann und der Wert für die Ausgabe gültig ist (gültiger Datei-/Verzeichnistreffer)
s[2] = True;   // Gibt an, ob eine (rekursive) Suche gestartet wird
v[1] = 0;      // Gibt die Attribute des gefundenen Treffers an

do
  if(!s[2])
    // Die Suche im aktuellen Verzeichnis fortsetzen
    a[1] = Directory.FindNext()
  else
    if(a[3 + Directory.FindLevel] == "")
      // Durchsuchung des Spielverzeichnisses starten
      a[1] = Directory.FindFirst("*");
    else
      // Durchsuchung eines Unterverzeichnisses starten
      a[1] = Directory.FindFirst(a[3 + Directory.FindLevel] .. "\*");
    endif;
  endif;

  if(a[1] == "")
    // Kein Treffer -> Suche schließen (hierbei wird ggf. eine alte Suche wieder aktiv)
    Directory.FindClose();
  endif;

  // Prüfen, ob der Treffer für die Rekursion ungeeignet ist
  s[1] = !(a[1] == "" || a[1] == "." || a[1] == "..");

  if(s[1])
    // Gültiger Treffer
    // -> Attribute abfragen (zur Verzeichnisprüfung)
    v[1] = Directory.GetAttributes(a[2 + Directory.FindLevel] .. a[1]);
  else
    // Ungültiger Treffer für die Rekursion (Attribute auf 0 setzen)
    v[1] = 0;
  endif;

  // Prüfen, ob der Treffer ein Verzeichnis ist
  s[2] = (v[1] & FILE_ATTRIBUTE_DIRECTORY) != 0;

  // Den Suchpfad des unterverzeichnisses ggf. speichern
  if(s[2])
    if(3 + Directory.FindLevel > a.Count)
      // Ggf. das String-Array vergrößern
      a.ReAlloc(3 + Directory.FindLevel);
    endif;
    a[3 + Directory.FindLevel] = a[3 + Directory.FindLevel - 1] .. a[1] .. "\";
  endif;

  // Den Pfad zur im Ergebnistext speichern
  if(s[1])
    if(s[2])
      a[2] ..= "Verzeichnis: ";
    else
      a[2] ..= "Datei:       ";
    endif;
    a[2] ..= a[3 + Directory.FindLevel - 1] .. a[1] .. CRLF;
  endif;
loop until(Directory.FindLevel == 0);

// Alle ggf. noch offenen Suchen schließen
Directory.FindCloseAll();

Sonstiges

Diese Methode ist äquivalent zu der Windows-Funktion FindClose (in einer Schleife).

Siehe auch

Directory, Directory.FindFirst(), Directory.FindNext(), Directory.FindClose(), Directory.FindLevel, Directory.GetAttributes(), a.Count, a.ReAlloc()
< Zurück
Methode: Directory.FindClose()
Weiter >
Methode: Directory.FindFirst()

Methode: Directory.FindCloseAll()


Directory.FindFirst()

Methode: Directory.FindFirst()

Syntax

Directory.FindFirst(Suchmaske)

Beschreibung

Mit der FindFirst-Methode kann die Durchsuchung eines Verzeichnisses gestartet werden. Ist bereits eine Suche gestartet, so wird die alte Suche pausiert, bis die neu gestartete Suche beendet worden ist. Über die Suchmaske wird angegeben, welchen Kriterien die gefundenen Dateien/Verzeichnisse entsprechen müssen. Es dürfen hierbei nur das Spielverzeichnis (sowie Unterverzeichnisse) durchsucht werden. Zugriffe außerhalb des Spielverzeichnisses sind unzulässig! Um weitere Dateien/Unterverzeichnisse des Verzeichnisses aufzulisten wird die FindNext-Methode und um eine Suche zu beenden die FindClose-Methode verwendet. Bei den meisten Durchsuchungen werden als erstes die Verzeichnisse "." und ".." ausgegeben. "." steht für das aktuelle Verzeichnis und ".." für das übergeordnete. Sind diese Informationen unerwünscht, dann müssen jene Treffer übersprungen werden.
Änderung zum DestinyPatch 1.0:
Es ist nun möglich mehr als eine Suche gleichzeitig zu starten (der Fehler DESTINYERROR_SEARCHSTILLOPEN ist somit veraltet). Diese werden auf einen "Stapel" im LIFO-Prinzip gelegt (also die zuletzt gestartete Suche ist die aktuelle).

Liste der Parameter

Parameter: Suchmaske

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den (relativen) Pfad des zu durchsuchenden Verzeichnisses, sowie die Platzhalter an. Als Platzhalter stehen das Sternchen (*) sowie das Fragezeichen (?) zur Verfügung. Das Sternchen steht für eine beliebige Anzahl an unbekannten Zeichen (auch null) und das Fragezeichen für genau ein unbekanntes Zeichen. Mindestens einer dieser Platzhalter muss angegeben werden, um eine sinnvolle Durchsuchung durchführen zu können. Meist wird hier das Sternchen verwendet um alle Dateien/Unterverzeichnisse des Spielverzeichnisses aufzulisten (siehe Beispiel).

Rückgabewert

Datentyp: | string
Beschreibung: | Der Datei-/Verzeichnisname (ohne Pfad) oder ein Leerstring, falls nichts gefunden wurde. Directory.FindClose() sollte aufgerufen werden, wenn hier ein Leerstring zurückgegeben wird.

Beispiel

Einfache Verzeichnisdurchsuchung:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$
// Alle PNG-Dateien im Picture-Verzeichnis auflisten
a[1] = Directory.FindFirst("Picture\*.png");
a[2] = "";

do
  if(a[1] != "")
    // Die gefundene Datei an die Liste anhängen
    a[2] ..= a[1] .. CRLF;
    // Die nächste Datei suchen
    a[1] = Directory.FindNext();
  endif;
loop until(a[1] == "");

Directory.FindClose();

Komplexe Verzeichnisdurchsuchung (mit Unterverzeichnissen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
$
// Die verwendeten Variablen initialisieren
a[1] = "";     // Datei-/Verzeichnisname des aktuellen Treffers
a[2] = "";     // Liste aller Dateien/Verzeichnisse
a[3] = "";     // Startverzeichnis der Suche mit angehängtem Backslash (außer beim Spielverzeichnis)
// a[4] und alle darauf folgenden Strings dienen zum Zwischenspeichern der Pfade
s[1] = False;  // Gibt an, ob eine Rekursion gestartet werden kann und der Wert für die Ausgabe gültig ist (gültiger Datei-/Verzeichnistreffer)
s[2] = True;   // Gibt an, ob eine (rekursive) Suche gestartet wird
v[1] = 0;      // Gibt die Attribute des gefundenen Treffers an

do
  if(!s[2])
    // Die Suche im aktuellen Verzeichnis fortsetzen
    a[1] = Directory.FindNext();
  else
    if(a[3 + Directory.FindLevel] == "")
      // Durchsuchung des Spielverzeichnisses starten
      a[1] = Directory.FindFirst("*");
    else
      // Durchsuchung eines Unterverzeichnisses starten
      a[1] = Directory.FindFirst(a[3 + Directory.FindLevel] .. "\*");
    endif;
  endif;

  if(a[1] == "")
    // Kein Treffer -> Suche schließen (hierbei wird ggf. eine alte Suche wieder aktiv)
    Directory.FindClose();
  endif;

  // Prüfen, ob der Treffer für die Rekursion ungeeignet ist
  s[1] = !(a[1] == "" || a[1] == "." || a[1] == "..");

  if(s[1])
    // Gültiger Treffer
    // -> Attribute abfragen (zur Verzeichnisprüfung)
    v[1] = Directory.GetAttributes(a[2 + Directory.FindLevel] .. a[1]);
  else
    // Ungültiger Treffer für die Rekursion (Attribute auf 0 setzen)
    v[1] = 0;
  endif;

  // Prüfen, ob der Treffer ein Verzeichnis ist
  s[2] = (v[1] & FILE_ATTRIBUTE_DIRECTORY) != 0;

  // Den Suchpfad des unterverzeichnisses ggf. speichern
  if(s[2])
    if(3 + Directory.FindLevel > a.Count)
      // Ggf. das String-Array vergrößern
      a.ReAlloc(3 + Directory.FindLevel);
    endif;
    a[3 + Directory.FindLevel] = a[3 + Directory.FindLevel - 1] .. a[1] .. "\";
  endif;

  // Den Pfad zur im Ergebnistext speichern
  if(s[1])
    if(s[2])
      a[2] ..= "Verzeichnis: ";
    else
      a[2] ..= "Datei:       ";
    endif;
    a[2] ..= a[3 + Directory.FindLevel - 1] .. a[1] .. CRLF;
  endif;
loop until(Directory.FindLevel == 0);

// Alle ggf. noch offenen Suchen schließen
Directory.FindCloseAll();

Sonstiges

Diese Methode ist äquivalent zu der Windows-Funktion FindFirstFile.

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_CANTSTARTSEARCH, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH

Siehe auch

Directory, Directory.FindNext(), Directory.FindClose(), Directory.FindCloseAll(), Directory.FindLevel, Directory.GetAttributes(), a.Count, a.ReAlloc()
< Zurück
Methode: Directory.FindCloseAll()
Weiter >
Eigenschaft: Directory.FindLevel

Methode: Directory.FindFirst()


Directory.FindLevel

Eigenschaft: Directory.FindLevel

Syntax

Directory.FindLevel

Beschreibung

Mit der FindLevel-Eigenschaft kann die Anzahl der derzeit gestarteten Durchsuchungen von Verzeichnissen ermittelt werden. Wurde noch keine Durchsuchung gestartet, so ist dieser Wert gleich 0. Um eine Durchsuchung zu starten wird die FindFirst-Methode, um eine Suche fortzusetzen die FindNext-Methode und um eine einzelne Suche zu beenden die FindClose-Methode verwendet.
Änderung zum DestinyPatch 1.0:
Es ist nun möglich mehr als eine Suche gleichzeitig zu starten (der Fehler DESTINYERROR_SEARCHSTILLOPEN ist somit veraltet). Diese werden auf einen "Stapel" im LIFO-Prinzip gelegt (also die zuletzt gestartete Suche ist die aktuelle).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

Komplexe Verzeichnisdurchsuchung (mit Unterverzeichnissen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
$
// Die verwendeten Variablen initialisieren
a[1] = "";     // Datei-/Verzeichnisname des aktuellen Treffers
a[2] = "";     // Liste aller Dateien/Verzeichnisse
a[3] = "";     // Startverzeichnis der Suche mit angehängtem Backslash (außer beim Spielverzeichnis)
// a[4] und alle darauf folgenden Strings dienen zum Zwischenspeichern der Pfade
s[1] = False;  // Gibt an, ob eine Rekursion gestartet werden kann und der Wert für die Ausgabe gültig ist (gültiger Datei-/Verzeichnistreffer)
s[2] = True;   // Gibt an, ob eine (rekursive) Suche gestartet wird
v[1] = 0;      // Gibt die Attribute des gefundenen Treffers an

do
  if(!s[2])
    // Die Suche im aktuellen Verzeichnis fortsetzen
    a[1] = Directory.FindNext()
  else
    if(a[3 + Directory.FindLevel] == "")
      // Durchsuchung des Spielverzeichnisses starten
      a[1] = Directory.FindFirst("*");
    else
      // Durchsuchung eines Unterverzeichnisses starten
      a[1] = Directory.FindFirst(a[3 + Directory.FindLevel] .. "\*");
    endif;
  endif;

  if(a[1] == "")
    // Kein Treffer -> Suche schließen (hierbei wird ggf. eine alte Suche wieder aktiv)
    Directory.FindClose();
  endif;

  // Prüfen, ob der Treffer für die Rekursion ungeeignet ist
  s[1] = !(a[1] == "" || a[1] == "." || a[1] == "..");

  if(s[1])
    // Gültiger Treffer
    // -> Attribute abfragen (zur Verzeichnisprüfung)
    v[1] = Directory.GetAttributes(a[2 + Directory.FindLevel] .. a[1]);
  else
    // Ungültiger Treffer für die Rekursion (Attribute auf 0 setzen)
    v[1] = 0;
  endif;

  // Prüfen, ob der Treffer ein Verzeichnis ist
  s[2] = (v[1] & FILE_ATTRIBUTE_DIRECTORY) != 0;

  // Den Suchpfad des unterverzeichnisses ggf. speichern
  if(s[2])
    if(3 + Directory.FindLevel > a.Count)
      // Ggf. das String-Array vergrößern
      a.ReAlloc(3 + Directory.FindLevel);
    endif;
    a[3 + Directory.FindLevel] = a[3 + Directory.FindLevel - 1] .. a[1] .. "\";
  endif;

  // Den Pfad zur im Ergebnistext speichern
  if(s[1])
    if(s[2])
      a[2] ..= "Verzeichnis: ";
    else
      a[2] ..= "Datei:       ";
    endif;
    a[2] ..= a[3 + Directory.FindLevel - 1] .. a[1] .. CRLF;
  endif;
loop until(Directory.FindLevel == 0);

// Alle ggf. noch offenen Suchen schließen
Directory.FindCloseAll();

Siehe auch

Directory, Directory.FindFirst(), Directory.FindNext(), Directory.FindClose(), Directory.FindCloseAll(), Directory.GetAttributes(), a.Count, a.ReAlloc()
< Zurück
Methode: Directory.FindFirst()
Weiter >
Methode: Directory.FindNext()

Eigenschaft: Directory.FindLevel


Directory.FindNext()

Methode: Directory.FindNext()

Syntax

Directory.FindNext()

Beschreibung

Mit der FindNext-Methode kann die zuletzt gestartete Durchsuchung eines Verzeichnisses fortgesetzt werden. Wird eine Durchsuchung über die FindClose()-Methode beendet, dann wird diese Methode die Suche fortfahren, welche zuvor gestartet wurde. Wurde noch keine Suche gestartet, so wird ein Fehler ausgelöst. Um eine Durchsuchung zu starten wird die FindFirst-Methode und um eine Suche zu beenden die FindClose-Methode verwendet. Bei den meisten Durchsuchungen werden als erstes die Verzeichnisse "." und ".." ausgegeben. "." steht für das aktuelle Verzeichnis und ".." für das übergeordnete. Sind diese Informationen unerwünscht, dann müssen jene Treffer übersprungen werden.
Änderung zum DestinyPatch 1.0:
Es ist nun möglich mehr als eine Suche gleichzeitig zu starten (der Fehler DESTINYERROR_SEARCHSTILLOPEN ist somit veraltet). Diese werden auf einen "Stapel" im LIFO-Prinzip gelegt (also die zuletzt gestartete Suche ist die aktuelle).

Liste der Parameter

Rückgabewert

Datentyp: | string
Beschreibung: | Der Datei-/Verzeichnisname (ohne Pfad) oder ein Leerstring, falls nichts gefunden wurde. Directory.FindClose() sollte aufgerufen werden, wenn hier ein Leerstring zurückgegeben wird.

Beispiel

Einfache Verzeichnisdurchsuchung:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$
// Alle PNG-Dateien im Picture-Verzeichnis auflisten
a[1] = Directory.FindFirst("Picture\*.png");
a[2] = "";

do
  if(a[1] != "")
    // Die gefundene Datei an die Liste anhängen
    a[2] ..= a[1] .. CRLF;
    // Die nächste Datei suchen
    a[1] = Directory.FindNext();
  endif;
loop until(a[1] == "");

Directory.FindClose();

Komplexe Verzeichnisdurchsuchung (mit Unterverzeichnissen):

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
$
// Die verwendeten Variablen initialisieren
a[1] = "";     // Datei-/Verzeichnisname des aktuellen Treffers
a[2] = "";     // Liste aller Dateien/Verzeichnisse
a[3] = "";     // Startverzeichnis der Suche mit angehängtem Backslash (außer beim Spielverzeichnis)
// a[4] und alle darauf folgenden Strings dienen zum Zwischenspeichern der Pfade
s[1] = False;  // Gibt an, ob eine Rekursion gestartet werden kann und der Wert für die Ausgabe gültig ist (gültiger Datei-/Verzeichnistreffer)
s[2] = True;   // Gibt an, ob eine (rekursive) Suche gestartet wird
v[1] = 0;      // Gibt die Attribute des gefundenen Treffers an

do
  if(!s[2])
    // Die Suche im aktuellen Verzeichnis fortsetzen
    a[1] = Directory.FindNext();
  else
    if(a[3 + Directory.FindLevel] == "")
      // Durchsuchung des Spielverzeichnisses starten
      a[1] = Directory.FindFirst("*");
    else
      // Durchsuchung eines Unterverzeichnisses starten
      a[1] = Directory.FindFirst(a[3 + Directory.FindLevel] .. "\*");
    endif;
  endif;

  if(a[1] == "")
    // Kein Treffer -> Suche schließen (hierbei wird ggf. eine alte Suche wieder aktiv)
    Directory.FindClose();
  endif;

  // Prüfen, ob der Treffer für die Rekursion ungeeignet ist
  s[1] = !(a[1] == "" || a[1] == "." || a[1] == "..");

  if(s[1])
    // Gültiger Treffer
    // -> Attribute abfragen (zur Verzeichnisprüfung)
    v[1] = Directory.GetAttributes(a[2 + Directory.FindLevel] .. a[1]);
  else
    // Ungültiger Treffer für die Rekursion (Attribute auf 0 setzen)
    v[1] = 0;
  endif;

  // Prüfen, ob der Treffer ein Verzeichnis ist
  s[2] = (v[1] & FILE_ATTRIBUTE_DIRECTORY) != 0;

  // Den Suchpfad des unterverzeichnisses ggf. speichern
  if(s[2])
    if(3 + Directory.FindLevel > a.Count)
      // Ggf. das String-Array vergrößern
      a.ReAlloc(3 + Directory.FindLevel);
    endif;
    a[3 + Directory.FindLevel] = a[3 + Directory.FindLevel - 1] .. a[1] .. "\";
  endif;

  // Den Pfad zur im Ergebnistext speichern
  if(s[1])
    if(s[2])
      a[2] ..= "Verzeichnis: ";
    else
      a[2] ..= "Datei:       ";
    endif;
    a[2] ..= a[3 + Directory.FindLevel - 1] .. a[1] .. CRLF;
  endif;
loop until(Directory.FindLevel == 0);

// Alle ggf. noch offenen Suchen schließen
Directory.FindCloseAll();

Sonstiges

Diese Methode ist äquivalent zu der Windows-Funktion FindNextFile.

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_NOSEARCHSTARTED

Siehe auch

Directory, Directory.FindFirst(), Directory.FindClose(), Directory.FindCloseAll(), Directory.FindLevel, Directory.GetAttributes(), a.Count, a.ReAlloc()
< Zurück
Eigenschaft: Directory.FindLevel
Weiter >
Objekt: Error

Methode: Directory.FindNext()


Error

Objekt: Error

Syntax

Error

Beschreibung

Mit dem Error-Objekt können einzelne Fehlermeldungen (de-)aktiviert werden. Zusätzlich ist es möglich Informationen (Text und Titel) eines Fehlers zu ermitteln oder einen bestimmten Fehler auszulösen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Gibt die Anzahl der Elemente in diesem Array zurück
DisableAll() | Methode | Deaktiviert alle Fehlermeldungen einzeln
EnableAll() | Methode | Aktiviert alle Fehlermeldungen einzeln
[] | Objekt | Zugriff auf eine einzelne Fehlermeldung
Enabled | Eigenschaft | Die Aktiviert-Eigenschaft der Fehlermeldung
Message | Eigenschaft | Der Meldungstext einer einzelnen Fehlermeldung
Raise() | Methode | Löst einen bestimmten Fehler aus
Title | Eigenschaft | Der Meldungstitel einer einzelnen Fehlermeldung
< Zurück
Methode: Directory.FindNext()
Weiter >
Eigenschaft: Error.Count

Objekt: Error


Error.Count

Eigenschaft: Error.Count

Syntax

Error.Count

Beschreibung

Gibt die Anzahl der Elemente in diesem Array zurück. Dies kann dazu genutzt werden um eine Schleife über alle Error[]-Einträge zu machen (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Fehlertitel erzeugen und in a[1] speichern
a[1] = "";
for(v[1] = 0; v[1] < Error.Count; v[1]++)
  a[1] ..= Error[v[1]].Title .. CRLF;
next;

Siehe auch

Error[], Error[].Title
< Zurück
Objekt: Error
Weiter >
Methode: Error.DisableAll()

Eigenschaft: Error.Count


Error.DisableAll()

Methode: Error.DisableAll()

Syntax

Error.DisableAll()

Beschreibung

Mit der DisableAll-Methode werden alle Fehlermeldungen einzeln deaktiviert. Dies ist nützlich, wenn nur wenige Fehlermeldungen aktiviert sein sollen. Hierzu deaktiviert man erst alle Fehlermeldungen mit dieser Methode und aktiviert anschließend einzelne Fehlermeldungen wieder.
Information:
Um die Fehlerausgabe global zu (de-)aktivieren empfiehlt sich die Verwendung der Enable- und Disable-Methoden des Errors-Objekt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Fehlermeldungen abschalten
Error.DisableAll();
// Prüfen, ob die "Division durch Null"-Fehlermeldung aktiviert ist und das Ergebnis in s[1] speichern
s[1] = Error[DESTINYERROR_DIVISIONBYZERO].Enabled;   // False

Siehe auch

Error, Error[], Error[].Enabled, Error.EnableAll()
< Zurück
Eigenschaft: Error.Count
Weiter >
Methode: Error.EnableAll()

Methode: Error.DisableAll()


Error.EnableAll()

Methode: Error.EnableAll()

Syntax

Error.EnableAll()

Beschreibung

Mit der EnableAll-Methode werden alle Fehlermeldungen wieder einzeln aktiviert. Dies ist nützlich, wenn zuvor einige einzelne Fehlermeldungen deaktiviert wurden und diese anschließend schnell wieder alle aktiviert werden sollen.
Information:
Um die Fehlerausgabe global zu (de-)aktivieren empfiehlt sich die Verwendung der Enable- und Disable-Methoden des Errors-Objekt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die "Division durch Null"-Fehlermeldung abschalten
Error[DESTINYERROR_DIVISIONBYZERO].Enabled = False;
// Alle Fehlermeldungen wieder aktivieren
Error.EnableAll();
// Prüfen, ob die "Division durch Null"-Fehlermeldung aktiviert ist und das Ergebnis in s[1] speichern
s[1] = Error[DESTINYERROR_DIVISIONBYZERO].Enabled;   // True

Siehe auch

Error, Error[], Error[].Enabled, Error.DisableAll()
< Zurück
Methode: Error.DisableAll()
Weiter >
Objekt: Error[]

Methode: Error.EnableAll()


Error[]

Objekt: Error[]

Syntax

Error[Fehler-Id]

Beschreibung

Ermöglicht den Zugriff auf einzelne Fehlermeldungen.

Liste der Parameter

Parameter: Fehler-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | -1 ... Error.Count
Beschreibung: | Gibt die Fehlernummer des entsprechenden Fehlers an. Diese muss im Bereich von -1 bis Error.Count liegen. Hierzu können die Destiny-Fehlerkonstanten verwendet werden. Die Fehlernummer 0 ist hier identisch mit der Fehlernummer -1, um eine Kompatiblität mit der alten Version des DestinyPatches zu gewährleisten.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Enabled | Eigenschaft | Die Aktiviert-Eigenschaft der Fehlermeldung
Message | Eigenschaft | Der Meldungstext einer einzelnen Fehlermeldung
Raise() | Methode | Löst einen bestimmten Fehler aus
Title | Eigenschaft | Der Meldungstitel einer einzelnen Fehlermeldung

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Fehlertitel erzeugen und in a[1] speichern
a[1] = "";
for(v[1] = 0; v[1] < Error.Count; v[1]++)
  a[1] ..= Error[v[1]].Title .. CRLF;
next;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

Error[].Title, Error.Count
< Zurück
Methode: Error.EnableAll()
Weiter >
Eigenschaft: Error[].Enabled

Objekt: Error[]


Error[].Enabled

Eigenschaft: Error[].Enabled

Syntax

Error[Fehler-Id].Enabled

Beschreibung

Mit der Enabled-Eigenschaft kann eine einzelne Fehlermeldung explizit (de-)aktiviert werden.
Information:
Ist diese Fehlermeldung aktiviert, jedoch alle Fehlermeldungen mittels Errors.Disable() global deaktiviert, dann wird die Fehlermeldung nicht angezeigt, falls ein Fehler auftritt.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Den Division durch Null-Fehler deaktivieren
Error[DESTINYERROR_DIVISIONBYZERO].Enabled = False;

// Eine beliebige Zahl durch eine andere beliebige Zahl dividieren
v[1] = Math.Rand(0, 100);
v[2] = Math.Rand(0, 100);
v[3] = v[1] / v[2];

// Den Division durch Null-Fehler aktivieren
Error[DESTINYERROR_DIVISIONBYZERO].Enabled = True;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();

// Die Nummer des letzten Fehlers ermitteln und in v[1] speichern
v[1] = Errors.Catch();
// Ggf. den letzten Fehler ausführen (hierbei endet das DestinySkript)
if(v[1] != 0)
  Error[v[1]].Raise();
endif;

Siehe auch

Error[].Raise(), Errors, Errors.Enable(), Errors.Disable(), Errors.Halt(), Errors.Resume(), Errors.Catch(), Math.Rand()
< Zurück
Objekt: Error[]
Weiter >
Eigenschaft: Error[].Message

Eigenschaft: Error[].Enabled


Error[].Message

Eigenschaft: Error[].Message

Syntax

Error[Fehler-Id].Message

Beschreibung

Enthält den Meldungstext einer bestimmten Fehlermeldung. Dieser Meldungstext ist von der eingestellten Sprache des DestinyPatches abhängig, da dieser normalerweise dazu genutzt wird dem Anwender eine Fehlermeldung zu zeigen.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
Sprachabhängig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Fehlermeldungen ab hier global abschalten
Errors.Disable();
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Einen Fehler auslösen (hier: Division durch Null)
v[1] /= 0;

// Diese Zeile wird noch ausgeführt; daher die Nummer des Fehlers ermitteln und in v[2] speichern
v[2] = Errors.Catch();        // 15 (= Fehlernummer von "Division durch Null")
// Falls ein Fehler aufgetreten ist (ist hier ja passiert), dann die Fehlermeldung in a[1] und den Titel in a[2] speichern
if(v[2] != 0)
  a[1] = Error[v[2]].Message; // "Fehler 15: Division durch Null"
  a[2] = Error[v[2]].Title;   // "Es wurde versucht eine Division durch Null durchzuführen!"
else
  a[1] = "";
  a[2] = "";
endif;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();
// Fehlermeldungen ab hier wieder global anzeigen
Errors.Enable();

Siehe auch

Error[].Title, Errors, Errors.Enable(), Errors.Disable(), Errors.Halt(), Errors.Resume(), Errors.Catch()
< Zurück
Eigenschaft: Error[].Enabled
Weiter >
Methode: Error[].Raise()

Eigenschaft: Error[].Message


Error[].Raise()

Methode: Error[].Raise()

Syntax

Error[Fehler-Id].Raise()

Beschreibung

Mit der Raise-Methode kann ein einzelner Fehler explizit ausgelöst werden. Dies verhält sich dann genau so, als ob der Fehler wirklich aufgetreten wäre. Das heißt, dass Errors.Catch() diesen Fehler als letzten Fehler zurückgibt, die Fehlermeldung angezeigt (sofern nicht deaktiviert) und das DestinySkript abgebrochen (sofern nicht anders eingestellt) wird.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Den Division durch Null-Fehler deaktivieren
Error[DESTINYERROR_DIVISIONBYZERO].Enabled = False;

// Eine beliebige Zahl durch eine andere beliebige Zahl dividieren
v[1] = Math.Rand(0, 100);
v[2] = Math.Rand(0, 100);
v[3] = v[1] / v[2];

// Den Division durch Null-Fehler aktivieren
Error[DESTINYERROR_DIVISIONBYZERO].Enabled = True;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();

// Die Nummer des letzten Fehlers ermitteln und in v[1] speichern
v[1] = Errors.Catch();
// Ggf. den letzten Fehler ausführen (hierbei endet das DestinySkript)
if(v[1] != 0)
  Error[v[1]].Raise();
endif;

Siehe auch

Error[].Enabled, Errors, Errors.Enable(), Errors.Disable(), Errors.Halt(), Errors.Resume(), Errors.Catch(), Math.Rand()
< Zurück
Eigenschaft: Error[].Message
Weiter >
Eigenschaft: Error[].Title

Methode: Error[].Raise()


Error[].Title

Eigenschaft: Error[].Title

Syntax

Error[Fehler-Id].Title

Beschreibung

Enthält den Meldungstitel einer bestimmten Fehlermeldung. Dieser Meldungstitel ist von der eingestellten Sprache des DestinyPatches abhängig, da dieser normalerweise dazu genutzt wird dem Anwender eine Fehlermeldung zu zeigen.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
Sprachabhängig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Fehlermeldungen ab hier global abschalten
Errors.Disable();
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Einen Fehler auslösen (hier: Division durch Null)
v[1] /= 0;

// Diese Zeile wird noch ausgeführt; daher die Nummer des Fehlers ermitteln und in v[2] speichern
v[2] = Errors.Catch();        // 15 (= Fehlernummer von "Division durch Null")
// Falls ein Fehler aufgetreten ist (ist hier ja passiert), dann die Fehlermeldung in a[1] und den Titel in a[2] speichern
if(v[2] != 0)
  a[1] = Error[v[2]].Message; // "Fehler 15: Division durch Null"
  a[2] = Error[v[2]].Title;   // "Es wurde versucht eine Division durch Null durchzuführen!"
else
  a[1] = "";
  a[2] = "";
endif;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();
// Fehlermeldungen ab hier wieder global anzeigen
Errors.Enable();

Siehe auch

Error[].Message, Errors, Errors.Enable(), Errors.Disable(), Errors.Halt(), Errors.Resume(), Errors.Catch()
< Zurück
Methode: Error[].Raise()
Weiter >
Objekt: Errors

Eigenschaft: Error[].Title


Errors

Objekt: Errors

Syntax

Errors

Beschreibung

Mit dem Errors-Objekt kann die Fehlerbehandlung gesteuert werden. So ist es beispielsweise möglich die Ausgabe von Fehlermeldungen zu unterdrücken oder DestinySkripte im Fehlerfall bei der nächsten Befehlszeile weiterlaufen zu lassen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Catch() | Methode | Gibt die Nummer des letzten Fehlers zurück
Disable() | Methode | Deaktiviert die Ausgabe von Fehlermeldungen
Enable() | Methode | Aktiviert die Ausgabe von Fehlermeldungen
Halt() | Methode | Lässt DestinySkripts bei Fehlern abbrechen
Resume() | Methode | Lässt DestinySkripts bei Fehlern mit der nächsten Befehlszeile fortfahren
< Zurück
Eigenschaft: Error[].Title
Weiter >
Methode: Errors.Catch()

Objekt: Errors


Errors.Catch()

Methode: Errors.Catch()

Syntax

Errors.Catch()

Beschreibung

Gibt die Nummer des letzten Fehlers (sofern aufgetreten) zurück. Wurde eine Fehlernummer ausgelesen, dann wird der Wert auf 0 zurückgesetzt.
Information:
Zu Beginn eines jeden DestinySkripts wird die Nummer des letzten Fehlers auf 0 zurückgesetzt.

Liste der Parameter

Rückgabewert

Datentyp: | dword
Beschreibung: | Die Nummer des zuletzt aufgetretenen Fehlers oder 0, falls kein Fehler aufgetreten ist.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Fehlermeldungen ab hier global abschalten
Errors.Disable();
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Einen Fehler auslösen (hier: Division durch Null)
v[1] /= 0;

// Diese Zeile wird noch ausgeführt; daher die Nummer des Fehlers ermitteln und in v[2] speichern
v[2] = Errors.Catch();        // 15 (= Fehlernummer von "Division durch Null")
// Falls ein Fehler aufgetreten ist (ist hier ja passiert), dann die Fehlermeldung in a[1] und den Titel in a[2] speichern
if(v[2] != 0)
  a[1] = Error[v[2]].Message; // "Fehler 15: Division durch Null"
  a[2] = Error[v[2]].Title;   // "Es wurde versucht eine Division durch Null durchzuführen!"
else
  a[1] = "";
  a[2] = "";
endif;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();
// Fehlermeldungen ab hier wieder global anzeigen
Errors.Enable();

Sonstiges

Um den Rückgabewert dieser Funktion auszuwerten empfiehlt sich die Verwendung der Destiny-Fehlerkonstanten.

Siehe auch

Errors, Errors.Enable(), Errors.Disable(), Errors.Resume(), Errors.Halt(), Error[].Message, Error[].Title
< Zurück
Objekt: Errors
Weiter >
Methode: Errors.Disable()

Methode: Errors.Catch()


Errors.Disable()

Methode: Errors.Disable()

Syntax

Errors.Disable()

Beschreibung

Deaktiviert die Ausgabe von Fehlermeldungen, was dazu führt, dass bei Fehlern keine Meldung erscheint, sodass diese ggf. bei der Spieleentwicklung nicht auffallen.
Information:
Ist eine bestimmte Fehlermeldung über das Error[]-Objekt explizit aktiviert worden und wird diese Methode hier aufgerufen, dann wird der entsprechende Fehler nicht angezeigt, falls er auftritt.
Information:
Die Standardeinstellung ist, dass Fehlermeldungen angezeigt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Fehlermeldungen ab hier global abschalten
Errors.Disable();
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Einen Fehler auslösen (hier: Division durch Null)
v[1] /= 0;

// Diese Zeile wird noch ausgeführt; daher die Nummer des Fehlers ermitteln und in v[2] speichern
v[2] = Errors.Catch();        // 15 (= Fehlernummer von "Division durch Null")
// Falls ein Fehler aufgetreten ist (ist hier ja passiert), dann die Fehlermeldung in a[1] und den Titel in a[2] speichern
if(v[2] != 0)
  a[1] = Error[v[2]].Message; // "Fehler 15: Division durch Null"
  a[2] = Error[v[2]].Title;   // "Es wurde versucht eine Division durch Null durchzuführen!"
else
  a[1] = "";
  a[2] = "";
endif;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();
// Fehlermeldungen ab hier wieder global anzeigen
Errors.Enable();

Siehe auch

Errors, Errors.Enable(), Errors.Resume(), Errors.Halt(), Errors.Catch(), Error[].Message, Error[].Title
< Zurück
Methode: Errors.Catch()
Weiter >
Methode: Errors.Enable()

Methode: Errors.Disable()


Errors.Enable()

Methode: Errors.Enable()

Syntax

Errors.Enable()

Beschreibung

Aktiviert die Ausgabe von Fehlermeldungen, was dazu führt, dass bei Fehlern der Anwender ggf. eine Fehlermeldung sieht.
Information:
Ist eine bestimmte Fehlermeldung über das Error[]-Objekt explizit deaktiviert worden und wird diese Methode hier aufgerufen, dann wird der entsprechende Fehler nicht angezeigt, falls er auftritt.
Information:
Die Standardeinstellung ist, dass Fehlermeldungen angezeigt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Fehlermeldungen ab hier global abschalten
Errors.Disable();
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Einen Fehler auslösen (hier: Division durch Null)
v[1] /= 0;

// Diese Zeile wird noch ausgeführt; daher die Nummer des Fehlers ermitteln und in v[2] speichern
v[2] = Errors.Catch();        // 15 (= Fehlernummer von "Division durch Null")
// Falls ein Fehler aufgetreten ist (ist hier ja passiert), dann die Fehlermeldung in a[1] und den Titel in a[2] speichern
if(v[2] != 0)
  a[1] = Error[v[2]].Message; // "Fehler 15: Division durch Null"
  a[2] = Error[v[2]].Title;   // "Es wurde versucht eine Division durch Null durchzuführen!"
else
  a[1] = "";
  a[2] = "";
endif;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();
// Fehlermeldungen ab hier wieder global anzeigen
Errors.Enable();

Siehe auch

Errors, Errors.Disable(), Errors.Resume(), Errors.Halt(), Errors.Catch(), Error[].Message, Error[].Title
< Zurück
Methode: Errors.Disable()
Weiter >
Methode: Errors.Halt()

Methode: Errors.Enable()


Errors.Halt()

Methode: Errors.Halt()

Syntax

Errors.Halt()

Beschreibung

Lässt DestinySkripts bei Fehlern abbrechen.
Information:
Brechen DestinySkripts bei Fehlern ab und die Fehlermeldungen werden unterdrückt, so bekommt man es als Spieleentwickler ggf. nicht mit, wenn ein Fehler aufgetreten ist. Um Fehlermeldungen zusätzlich anzuzeigen (falls diese vorher abgeschaltet worden) muss die Enable-Methode des Errors-Objekt aufgerufen werden.
Information:
Die Standardeinstellung ist, dass DestinySkripts bei Fehlern abgebrochen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Fehlermeldungen ab hier global abschalten
Errors.Disable();
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Einen Fehler auslösen (hier: Division durch Null)
v[1] /= 0;

// Diese Zeile wird noch ausgeführt; daher die Nummer des Fehlers ermitteln und in v[2] speichern
v[2] = Errors.Catch();        // 15 (= Fehlernummer von "Division durch Null")
// Falls ein Fehler aufgetreten ist (ist hier ja passiert), dann die Fehlermeldung in a[1] und den Titel in a[2] speichern
if(v[2] != 0)
  a[1] = Error[v[2]].Message; // "Fehler 15: Division durch Null"
  a[2] = Error[v[2]].Title;   // "Es wurde versucht eine Division durch Null durchzuführen!"
else
  a[1] = "";
  a[2] = "";
endif;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();
// Fehlermeldungen ab hier wieder global anzeigen
Errors.Enable();

Siehe auch

Errors, Errors.Enable(), Errors.Disable(), Errors.Halt(), Errors.Catch(), Error[].Message, Error[].Title
< Zurück
Methode: Errors.Enable()
Weiter >
Methode: Errors.Resume()

Methode: Errors.Halt()


Errors.Resume()

Methode: Errors.Resume()

Syntax

Errors.Resume()

Beschreibung

Lässt DestinySkripts bei Fehlern mit der nächsten Befehlszeile fortfahren.
Information:
Laufen DestinySkripts bei Fehlern weiter und die Fehlermeldungen werden nicht unterdrückt, so kann es dennoch passieren, dass der Anwender eine Fehlermeldung sieht. Um Fehlermeldungen zusätzlich zu unterdrücken muss die Disable-Methode des Errors-Objekt aufgerufen werden.
Information:
Die Standardeinstellung ist, dass DestinySkripts bei Fehlern abgebrochen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$
// Fehlermeldungen ab hier global abschalten
Errors.Disable();
// Ab hier bei Fehlern mit der nächsten Befehlszeile fortfahren
Errors.Resume();

// Einen Fehler auslösen (hier: Division durch Null)
v[1] /= 0;

// Diese Zeile wird noch ausgeführt; daher die Nummer des Fehlers ermitteln und in v[2] speichern
v[2] = Errors.Catch();        // 15 (= Fehlernummer von "Division durch Null")
// Falls ein Fehler aufgetreten ist (ist hier ja passiert), dann die Fehlermeldung in a[1] und den Titel in a[2] speichern
if(v[2] != 0)
  a[1] = Error[v[2]].Message; // "Fehler 15: Division durch Null"
  a[2] = Error[v[2]].Title;   // "Es wurde versucht eine Division durch Null durchzuführen!"
else
  a[1] = "";
  a[2] = "";
endif;

// Ab hier bei Fehlern die Skripte wieder abbrechen
Errors.Halt();
// Fehlermeldungen ab hier wieder global anzeigen
Errors.Enable();

Siehe auch

Errors, Errors.Enable(), Errors.Disable(), Errors.Halt(), Errors.Catch(), Error[].Message, Error[].Title
< Zurück
Methode: Errors.Halt()
Weiter >
Objekt: Event

Methode: Errors.Resume()


Event

Objekt: Event

Syntax

Event

Beschreibung

Das Event-Objekt dient dazu die Events der Karte zugänglich zu machen. Im Gegensatz zum MapEvent-Objekt wird die Event-Id als Index zum Zugriff auf ein einzelnes Event der Karte genutzt (der Index ist somit einsbasiert und nicht kontinuierlich).

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Events auf der aktuellen Karte
[] | Objekt | Ein bestimmtes Event dieser Aufzählung
AuroraSheet | Objekt | Das AuroraSheet-Objekt des verwendeten Charsets/Chipsets
CanMoveTo() | Methode | Prüft, ob sich das Event in eine bestimmte Richtung bewegen kann
Charframe | Eigenschaft | Das aktuell verwendete Charset eines Events
Charset | Eigenschaft | Das aktuell verwendete Charset eines Events
Dir1 | Eigenschaft | Die Bewegungsrichtung des Events
Dir2 | Eigenschaft | Die Blickrichtung des Events
DirFlags | Eigenschaft | Die Blick- und Bewegungsrichtung des Events
DirLook | Eigenschaft | Die Blickrichtung des Events
DirMove | Eigenschaft | Die Bewegungsrichtung des Events
Exists | Eigenschaft | Die Existiert-Status des Events
FixDir | Eigenschaft | Die "feste Blickrichtung"-Eigenschaft eines Events
Frame | Eigenschaft | Die aktuelle Bewegungsframe des Events
FrameSimple | Eigenschaft | Die aktuelle, vereinfachte Bewegungsframe des Events
Frequency | Eigenschaft | Die Bewegungsfrequenz eines Events
Id | Eigenschaft | Die Event-Id des Events
JumpTime | Eigenschaft | Die Aktionszeit eines Events
MapId | Eigenschaft | Die Map-Id des Events
MoveRoute | Objekt | Die individuelle Bewegungsstrecke eines Events
Active | Eigenschaft | Bestimmt ob die MoveRoute verwendet wird
Count | Eigenschaft | Die Anzahl der Bewegungen innerhalb der MoveRoute
CurrentIndex | Eigenschaft | Die aktuelle Bewegung innerhalb der MoveRoute
IgnoreIfCantMove | Eigenschaft | Nicht ausführbare Schritte ignorieren
Repeat | Eigenschaft | Wiederholung der MoveRoute
[] | Objekt | Ein einzelnes Element der MoveRoute
Charframe | Eigenschaft | Der Charframe bei SetChar
Charset | Eigenschaft | Das Charset bei SetChar
Command | Eigenschaft | Der Befehl der Bewegung
Panpot | Eigenschaft | Die Balance bei PlaySound
Sound | Eigenschaft | Der Sound bei PlaySound
Switch | Eigenschaft | Die Switch-Id bei Switch-Befehlen
Tempo | Eigenschaft | Die Geschwindigkeit bei PlaySound
Volume | Eigenschaft | Die Lautstärke bei PlaySound
Name | Eigenschaft | Die Name des Events
Offset | Eigenschaft | Die Abstand des Events zum nächsten Feld auf der Karte
Phasing | Eigenschaft | Die "durch Wände gehen"-Eigenschaft eines Events
ScreenX | Eigenschaft | Die X-Koordinate des Events auf dem Bildschirm
ScreenY | Eigenschaft | Die Y-Koordinate des Events auf dem Bildschirm
Speed | Eigenschaft | Die Geschwindigkeit eines Events
StopAnimation | Eigenschaft | Die "keine Bewegungsanimation"-Eigenschaft eines Events
Transparency | Eigenschaft | Die Transparenz eines Events
X | Eigenschaft | Die X-Koordinate des Events auf der Karte
Y | Eigenschaft | Die Y-Koordinate des Events auf der Karte

Siehe auch

MapEvent
< Zurück
Methode: Errors.Resume()
Weiter >
Eigenschaft: Event.Count

Objekt: Event


Event.Count

Eigenschaft: Event.Count

Syntax

Event.Count

Beschreibung

Die Count-Eigenschaft ermöglicht es die Anzahl der Events auf der Karte zu ermitteln.
Information:
Der Wert dieser Eigenschaft gibt zwar die Anzahl der Events an, eignet sich jedoch nicht um eine Schleife über die Events der Karte durchzuführen, da der Index des Event[]-Objekts die Event-Id ist, welche vom RPG-Maker nicht kontinuierlich vergeben wird. Um eine Schleife über alle Events durchzuführen, sollte lieber das MapEvent-Objekt genutzt werden, welches einen nullbasierten, lückenlosen Index aufweist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Anzahl der Events ermitteln und in v[1] speichern v[1] = Event.Count;

Sonstiges

Diese Eigenschaft ist vollkommen identisch mit MapEvent.Count und Map.EventCount.

Siehe auch

Event, Event[]
< Zurück
Objekt: Event
Weiter >
Objekt: Event[]

Eigenschaft: Event.Count


Event[]

Objekt: Event[]

Syntax

Event[Event-Id]

Beschreibung

Das Event[]-Objekt Ermöglicht den Zugriff auf ein bestimmtes Event der Karte. Hierbei wird die Event-Id als Index verwendet.
Information:
Da die Event-Id im RPG-Maker variabel ist, kann es passieren, dass hier keine Durchnummerierung möglich ist. Für diesem Fall muss das MapEvent-Objekt verwendet werden.

Liste der Parameter

Parameter: Event-Id

Datentyp: dword
Optional: nein
Beschreibung: Die Event-Id des entsprechenden Events. Hier können auch die Konstanten der Spezial-Events genutzt werden:
  • HERO: Das Helden-Event
  • BOAT: Das Boot-Event
  • SHIP: Das Schiff-Event
  • AIRSHIP: Das Luftschiff-Event
  • THIS: Das aktuelle Event

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AuroraSheet | Objekt | Das AuroraSheet-Objekt des verwendeten Charsets/Chipsets
CanMoveTo() | Methode | Prüft, ob sich das Event in eine bestimmte Richtung bewegen kann
Charframe | Eigenschaft | Das aktuell verwendete Charset eines Events
Charset | Eigenschaft | Das aktuell verwendete Charset eines Events
Dir1 | Eigenschaft | Die Bewegungsrichtung des Events
Dir2 | Eigenschaft | Die Blickrichtung des Events
DirFlags | Eigenschaft | Die Blick- und Bewegungsrichtung des Events
DirLook | Eigenschaft | Die Blickrichtung des Events
DirMove | Eigenschaft | Die Bewegungsrichtung des Events
Exists | Eigenschaft | Die Existiert-Status des Events
FixDir | Eigenschaft | Die "feste Blickrichtung"-Eigenschaft eines Events
Frame | Eigenschaft | Die aktuelle Bewegungsframe des Events
FrameSimple | Eigenschaft | Die aktuelle, vereinfachte Bewegungsframe des Events
Frequency | Eigenschaft | Die Bewegungsfrequenz eines Events
Id | Eigenschaft | Die Event-Id des Events
JumpTime | Eigenschaft | Die Aktionszeit eines Events
MapId | Eigenschaft | Die Map-Id des Events
MoveRoute | Objekt | Die individuelle Bewegungsstrecke eines Events
Active | Eigenschaft | Bestimmt ob die MoveRoute verwendet wird
Count | Eigenschaft | Die Anzahl der Bewegungen innerhalb der MoveRoute
CurrentIndex | Eigenschaft | Die aktuelle Bewegung innerhalb der MoveRoute
IgnoreIfCantMove | Eigenschaft | Nicht ausführbare Schritte ignorieren
Repeat | Eigenschaft | Wiederholung der MoveRoute
[] | Objekt | Ein einzelnes Element der MoveRoute
Charframe | Eigenschaft | Der Charframe bei SetChar
Charset | Eigenschaft | Das Charset bei SetChar
Command | Eigenschaft | Der Befehl der Bewegung
Panpot | Eigenschaft | Die Balance bei PlaySound
Sound | Eigenschaft | Der Sound bei PlaySound
Switch | Eigenschaft | Die Switch-Id bei Switch-Befehlen
Tempo | Eigenschaft | Die Geschwindigkeit bei PlaySound
Volume | Eigenschaft | Die Lautstärke bei PlaySound
Name | Eigenschaft | Die Name des Events
Offset | Eigenschaft | Die Abstand des Events zum nächsten Feld auf der Karte
Phasing | Eigenschaft | Die "durch Wände gehen"-Eigenschaft eines Events
ScreenX | Eigenschaft | Die X-Koordinate des Events auf dem Bildschirm
ScreenY | Eigenschaft | Die Y-Koordinate des Events auf dem Bildschirm
Speed | Eigenschaft | Die Geschwindigkeit eines Events
StopAnimation | Eigenschaft | Die "keine Bewegungsanimation"-Eigenschaft eines Events
Transparency | Eigenschaft | Die Transparenz eines Events
X | Eigenschaft | Die X-Koordinate des Events auf der Karte
Y | Eigenschaft | Die Y-Koordinate des Events auf der Karte

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Event.Count
Weiter >
Objekt: Event[].AuroraSheet

Objekt: Event[]


Event[].AuroraSheet

Objekt: Event[].AuroraSheet

Syntax

Event[Event-Id].AuroraSheet

Beschreibung

Mit dem AuroraSheet-Objekt kann auf die Grafik des Events zugegriffen werden. Diese Grafik wird ggf. von mehreren Events geteilt (wenn z. B. mehrere Events das gleiche Charset verwenden). Verwendet ein Event das Chipset als Grafik, dann verweist dieses Objekt auf die Grafik des Chipsets. Da das einheitliche AuroraSheet-Objekt bei mehreren Objekten als Unterobjekt verfügbar ist, wurde die Beschreibung nur einmal verfasst und dem Picture[]-Objekt untergeordnet. Die Beschreibung findet sich hier: Picture[].AuroraSheet.

Siehe auch

Event, Event[], Picture[].AuroraSheet
< Zurück
Objekt: Event[]
Weiter >
Methode: Event[].CanMoveTo()

Objekt: Event[].AuroraSheet


Event[].CanMoveTo()

Methode: Event[].CanMoveTo()

Syntax

Event[Event-Id].CanMoveTo(Richtung)

Beschreibung

Mit der CanMoveTo-Methode kann geprüft werden, ob sich das Event in die angegebene Richtung bewegen kann. Hierbei wird unter anderem folgendes geprüft:

  • Kann sich das Event generell auf das Feld bewegen?
  • Stehen andere Events im Weg?
Information:
Sonderüberprüfungen (wie z. B. kann sich das Boot über tiefes Wasser bewegen) werden hier ebenfalls berücksichtigt.

Liste der Parameter

Parameter: Richtung

Datentyp: dword
Optional: nein
Wertebereich: 0 ... 7
Beschreibung: Die Richtung, für die geprüft werden soll, ob sich das Event dahin bewegen kann. Hierzu können die Richtungskonstanten verwendet werden:

Konstante | Beschreibung
DIR_UP | Prüfen, ob sich das Event nach oben bewegen kann
DIR_RIGHT | Prüfen, ob sich das Event nach rechts bewegen kann
DIR_DOWN | Prüfen, ob sich das Event nach unten bewegen kann
DIR_LEFT | Prüfen, ob sich das Event nach links bewegen kann
DIR_RIGHT_UP | Prüfen, ob sich das Event nach rechts-oben bewegen kann
DIR_RIGHT_DOWN | Prüfen, ob sich das Event nach rechts-unten bewegen kann
DIR_LEFT_DOWN | Prüfen, ob sich das Event nach links-unten bewegen kann
DIR_LEFT_UP | Prüfen, ob sich das Event nach links-oben bewegen kann

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt an, ob sich das Event in die angegebene Richtung bewegen kann (true) oder nicht (false).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Überprüfen, ob sich der Held geradeaus bewegen kann
if(Event[HERO].CanMoveTo(Event[HERO].DirLook))
  // ...
endif;

Sonstiges

Zur Überprüfung wird die entsprechende Routine der RPG_RT verwendet. Daher ist das Ergebnis immer mit dem der RPG_RT identisch.

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Event, Event[], Event[].DirMove, Event[].DirLook
< Zurück
Objekt: Event[].AuroraSheet
Weiter >
Eigenschaft: Event[].Charframe

Methode: Event[].CanMoveTo()


Event[].Charframe

Eigenschaft: Event[].Charframe

Syntax

Event[Event-Id].Charframe

Beschreibung

Mit der Charframe-Eigenschaft kann der Index des verwendeten Frames gelesen/geschrieben werden. Zusammen mit der Charset-Eigenschaft gibt dies den aktuell verwendeten Char an. Dieser Wert sollte im Bereich von 0 ... 7 liegen (siehe Abbildung).

Mögliche Charframe-Werte

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 7
Flüchtig: | ja

Siehe auch

Event, Event[], Event[].Charframe
< Zurück
Methode: Event[].CanMoveTo()
Weiter >
Eigenschaft: Event[].Charset

Eigenschaft: Event[].Charframe


Event[].Charset

Eigenschaft: Event[].Charset

Syntax

Event[Event-Id].Charset

Beschreibung

Mit der Charset-Eigenschaft kann der Dateiname (ohne Pfad/Endung und relativ zum Charset-Verzeichnis) des aktuell verwendeten Charsets des Events ermittelt werden. Zusammen mit der Charframe-Eigenschaft gibt dies den aktuell verwendeten Char an.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Siehe auch

Event, Event[], Event[].Charframe
< Zurück
Eigenschaft: Event[].Charframe
Weiter >
Eigenschaft: Event[].DirFlags

Eigenschaft: Event[].Charset


Event[].DirFlags

Eigenschaft: Event[].DirFlags

Syntax

Event[Event-Id].DirFlags

Beschreibung

Mit der DirFlags-Eigenschaft können sowohl die Blickrichtung als auch die zusätzliche Bewegungsrichtung des Events gelesen/geschrieben werden. Dies ist praktisch um beide Eigenschaften auf einmal zu verändern. Für die Angabe können die Richtungskonstanten verwendet werden.
  • DIR_UP: Das Event schaut nach oben
  • DIR_RIGHT: Das Event schaut nach rechts
  • DIR_DOWN: Das Event schaut nach unten
  • DIR_LEFT: Das Event schaut nach links
Information:
Da für die Veränderung der zusätzlichen Bewegungsrichtung eine Linksverschiebung um 8 notwendig ist, empfiehlt es sich die Einzelwerte lieber per Event[].DirMove und Event[].DirLook zu verändern.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Blickrichtung und zusätzliche Bewegungsrichtung des ersten Events ermitteln und in v[1] speichern
v[1] = Event[1].DirFlags;
// Die Blickrichtung und zusätzliche Bewegungsrichtung des ersten Events auf Links setzen
Event[1].DirFlags = DIR_LEFT | (DIR_LEFT << 8);

Siehe auch

Event, Event[], Event[].DirMove, Event[].DirLook
< Zurück
Eigenschaft: Event[].Charset
Weiter >
Eigenschaft: Event[].DirLook

Eigenschaft: Event[].DirFlags


Event[].DirLook

Eigenschaft: Event[].DirLook

Syntax

Event[Event-Id].DirLook

Beschreibung

Mit der DirLook-Eigenschaft kann die Blickrichtung des Events gelesen/geschrieben werden. Hierzu können die Richtungskonstanten verwendet werden:

Konstante | Beschreibung
DIR_UP | Das Event bewegt sich nach oben
DIR_RIGHT | Das Event bewegt sich nach rechts
DIR_DOWN | Das Event bewegt sich nach unten
DIR_LEFT | Das Event bewegt sich nach links
Information:
Der Unterschied zwischen Event[].DirMove und Event[].DirLook liegt darin, dass die DirLook-Eigenschaft die tatsächliche Blickrichtung repräsentiert, während die DirMove-Eigenschaft die Bewegungsrichtung angibt (z. B. wenn der Held schräg geht). Sowohl durch schräges Gehen, sowie durch fixieren der Blickrichtung, kann sich die Blickrichtung von der Bewegungsrichtung unterscheiden.

Synonyme

  • Dir2

Eigenschaften

Datentyp: | byte
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Die Blickrichtung des ersten Events ermitteln und in v[1] speichern
v[1] = Event[1].DirLook;
// Die Blickrichtung des ersten Events im Uhrzeigersinn drehen
switch(Event[1].DirLook)
  case DIR_UP:
    Event[1].DirLook = DIR_RIGHT;
    break;
  case DIR_RIGHT:
    Event[1].DirLook = DIR_DOWN;
    break;
  case DIR_DOWN:
    Event[1].DirLook = DIR_LEFT;
    break;
  case DIR_LEFT:
    Event[1].DirLook = DIR_UP;
    break;
endswitch;

Siehe auch

Event, Event[], Event[].DirMove, Event[].DirFlags, Event[].CanMoveTo()
< Zurück
Eigenschaft: Event[].DirFlags
Weiter >
Eigenschaft: Event[].DirMove

Eigenschaft: Event[].DirLook


Event[].DirMove

Eigenschaft: Event[].DirMove

Syntax

Event[Event-Id].DirMove

Beschreibung

Mit der DirMove-Eigenschaft kann die Bewegungsrichtung des Events gelesen/geschrieben werden. Hierzu können die Richtungskonstanten verwendet werden:

Konstante | Beschreibung
DIR_UP | Das Event bewegt sich nach oben
DIR_RIGHT | Das Event bewegt sich nach rechts
DIR_DOWN | Das Event bewegt sich nach unten
DIR_LEFT | Das Event bewegt sich nach links
DIR_RIGHT_UP | Das Event bewegt sich nach rechts-oben
DIR_RIGHT_DOWN | Das Event bewegt sich nach rechts-unten
DIR_LEFT_DOWN | Das Event bewegt sich nach links-unten
DIR_LEFT_UP | Das Event bewegt sich nach links-oben
Information:
Der Unterschied zwischen Event[].DirMove und Event[].DirLook liegt darin, dass die DirLook-Eigenschaft die tatsächliche Blickrichtung repräsentiert, während die DirMove-Eigenschaft die Bewegungsrichtung angibt (z. B. wenn der Held schräg geht). Sowohl durch schräges Gehen, sowie durch fixieren der Blickrichtung, kann sich die Blickrichtung von der Bewegungsrichtung unterscheiden.

Synonyme

  • Dir1

Eigenschaften

Datentyp: | byte
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
$
// Die Bewegungsrichtung des ersten Events ermitteln und in v[1] speichern
v[1] = Event[1].DirMove;
// Die Bewegungsrichtung des ersten Events im umkehren
switch(Event[1].DirMove)
  case DIR_UP:
    Event[1].DirMove = DIR_DOWN;
    break;
  case DIR_RIGHT:
    Event[1].DirMove = DIR_LEFT;
    break;
  case DIR_DOWN:
    Event[1].DirMove = DIR_UP;
    break;
  case DIR_LEFT:
    Event[1].DirMove = DIR_RIGHT;
    break;
  case DIR_RIGHT_UP:
    Event[1].DirMove = DIR_LEFT_DOWN;
    break;
  case DIR_RIGHT_DOWN:
    Event[1].DirMove = DIR_LEFT_UP;
    break;
  case DIR_LEFT_DOWN:
    Event[1].DirMove = DIR_RIGHT_UP;
    break;
  case DIR_LEFT_UP:
    Event[1].DirMove = DIR_RIGHT_DOWN;
    break;
endswitch;

Siehe auch

Event, Event[], Event[].DirLook, Event[].DirFlags, Event[].CanMoveTo()
< Zurück
Eigenschaft: Event[].DirLook
Weiter >
Eigenschaft: Event[].Exists

Eigenschaft: Event[].DirMove


Event[].Exists

Eigenschaft: Event[].Exists

Syntax

Event[Event-Id].Exists

Beschreibung

Mit der Exists-Eigenschaft kann der Existiert-Status des Events gelesen/geschrieben werden.
  • Ist dieser Wert true, dann wird das Event wie gehabt angezeigt.
  • Ist dieser Wert false, dann gilt das Event als gelöscht.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein
Flüchtig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Prüfen, ob das erste Event existiert
if(Event[1].Exists)
  // Das erste Event als gelöscht markieren
  Event[1].Exists = false;
endif;

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].DirMove
Weiter >
Eigenschaft: Event[].FixDir

Eigenschaft: Event[].Exists


Event[].FixDir

Eigenschaft: Event[].FixDir

Syntax

Event[Event-Id].FixDir

Beschreibung

Mit der FixDir-Eigenschaft kann die "feste Blickrichtung"-Eigenschaft des Events gelesen/geschrieben werden.
  • False: Das Event verändert seine Blickrichtung ganz normal (z. B. beim nach links gehen schaut das Event nach links)
  • True: Das Event behält immer die aktuelle Blickrichtung bei; diese wird nicht geändert

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein
Flüchtig: | ja

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].Exists
Weiter >
Eigenschaft: Event[].Frame

Eigenschaft: Event[].FixDir


Event[].Frame

Eigenschaft: Event[].Frame

Syntax

Event[Event-Id].Frame

Beschreibung

Mit der Frame-Eigenschaft kann der aktuelle Bewegungsframe des Events gelesen/geschrieben werden. Hierzu können die EventFrame-Konstanten verwendet werden.
Information:
Der Unterschied zur FrameSimple-Eigenschaft besteht darin, dass bei der FrameSimple-Eigenschaft der Wert EVENTFRAME_NORMAL2 zu EVENTFRAME_NORMAL gesetzt wird, da dieser Wert für die Grafikberechnung nicht von Relevanz ist. Dafür kann die FrameSimple-Eigenschaft nicht geschrieben werden.
  • EVENTFRAME_LEFT: Das Event hat gerade das Bein auf der linken Seite unten (linker Frame)
  • EVENTFRAME_NORMAL: Das Event steht gerade mit beiden Beinen auf dem Boden (mittlerer Frame)
  • EVENTFRAME_RIGHT: Das Event hat gerade das Bein auf der rechten Seite unten (rechter Frame)
  • EVENTFRAME_NORMAL2: Das Event steht gerade mit beiden Beinen auf dem Boden (mittlerer Frame)

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 3
Flüchtig: | ja

Beispiel

Dieses Beispiel verwendet nicht FrameSimple; hierfür muss die Korrektur per Skript vorgenommen werden:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
// Die Koordinaten des aktuellen Eventframes des ersten Events berechnen und in v[1] und v[2] speichern
// (Breite eines Charframes = 24, Höhe eines Charframes = 32)
// (Charframes pro Char und Zeile = 3, Charframes pro Char und Spalte = 4)
d[1] = Event[1].Frame;
if(d[1] == EVENTFRAME_NORMAL2)
  d[1] = EVENTFRAME_NORMAL;
endif;
v[1] = (Event[1].Charframe % 4) * (3 * 24) + d[1] * 24;
v[2] = (Event[1].Charframe / 4) * (4 * 32) + (Event[1].DirLook * 32);

Siehe auch

Event, Event[], Event[].FrameSimple, Event[].Charframe, Event[].DirLook
< Zurück
Eigenschaft: Event[].FixDir
Weiter >
Eigenschaft: Event[].FrameSimple

Eigenschaft: Event[].Frame


Event[].FrameSimple

Eigenschaft: Event[].FrameSimple

Syntax

Event[Event-Id].FrameSimple

Beschreibung

Mit der FrameSimple-Eigenschaft kann der aktuelle Bewegungsframe des Events in vereinfachter Form ermittelt werden. Hierzu können die EventFrame-Konstanten verwendet werden.
Information:
Der Unterschied zur Frame-Eigenschaft besteht darin, dass der Wert EVENTFRAME_NORMAL2 zu EVENTFRAME_NORMAL gesetzt wird, da dieser Wert für die Grafikberechnung nicht von Relevanz ist. Dafür kann die FrameSimple-Eigenschaft nicht geschrieben werden.
  • EVENTFRAME_LEFT: Das Event hat gerade das Bein auf der linken Seite unten (linker Frame)
  • EVENTFRAME_NORMAL: Das Event steht gerade mit beiden Beinen auf dem Boden (mittlerer Frame)
  • EVENTFRAME_RIGHT: Das Event hat gerade das Bein auf der rechten Seite unten (rechter Frame)

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 2
Flüchtig: | ja

Beispiel

Dieses Beispiel verwendet FrameSimple; daher muss keine Korrektur per Skript vorgenommen werden:

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Die Koordinaten des aktuellen Eventframes des ersten Events berechnen und in v[1] und v[2] speichern
// (Breite eines Charframes = 24, Höhe eines Charframes = 32)
// (Charframes pro Char und Zeile = 3, Charframes pro Char und Spalte = 4)
v[1] = (Event[1].Charframe % 4) * (3 * 24) + Event[1].FrameSimple * 24;
v[2] = (Event[1].Charframe / 4) * (4 * 32) + (Event[1].DirLook * 32);

Siehe auch

Event, Event[], Event[].Frame, Event[].Charframe, Event[].DirLook
< Zurück
Eigenschaft: Event[].Frame
Weiter >
Eigenschaft: Event[].Frequency

Eigenschaft: Event[].FrameSimple


Event[].Frequency

Eigenschaft: Event[].Frequency

Syntax

Event[Event-Id].Frequency

Beschreibung

Mit der Frequency-Eigenschaft kann die Bewegungsfrequenz des Events gelesen/geschrieben werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 1 ... 8
Flüchtig: | ja

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].FrameSimple
Weiter >
Eigenschaft: Event[].Id

Eigenschaft: Event[].Frequency


Event[].Id

Eigenschaft: Event[].Id

Syntax

Event[Event-Id].Id

Beschreibung

Mit der Id-Eigenschaft kann die Event-Id des Events ermittelt werden. Verfügt das entsprechende Event über keine Event-Id (z. B. bei einem der Spezialevents), dann wird 0 zurückgegeben.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Event-Id des ersten Events ermitteln und in v[1] speichern v[1] = Event[1].Id; // = 1, da die Event-Id schon als Index verwendet wurde

Siehe auch

Event[].Name
< Zurück
Eigenschaft: Event[].Frequency
Weiter >
Eigenschaft: Event[].JumpTime

Eigenschaft: Event[].Id


Event[].JumpTime

Eigenschaft: Event[].JumpTime

Syntax

Event[Event-Id].JumpTime

Beschreibung

Mit der JumpTime-Eigenschaft kann die interne Aktionszeit des Events gelesen/geschrieben werden. Die Werte dieser Eigenschaft sind nicht genauer bekannt, doch wird für jede Bewegungsaktion erneut von 0 aufwärts gezählt.
Information:
Diese Eigenschaft ist nur zur Kompatiblität mit dem DestinyPatch 1.0 erhalten geblieben und sollte nicht genutzt werden, da die gewünschte Funktion (prüfen ob das Event springt oder nicht) über diese Eigenschaft nicht verfügbar ist. Derzeit kann nicht geprüft werden, ob ein Event momentan springt oder nicht, da dies seitens der RPG_RT nicht möglich ist. Alle Bewegungen innerhalb eines Sprungs werden für die RPG_RT als eine einzelne Bewegung ausgeführt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Flüchtig: | ja
Veraltet: | ja

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].Id
Weiter >
Eigenschaft: Event[].MapId

Eigenschaft: Event[].JumpTime


Event[].MapId

Eigenschaft: Event[].MapId

Syntax

Event[Event-Id].MapId

Beschreibung

Mit der MapId-Eigenschaft kann die Map-Id des Events ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Map-Id des ersten Events ermitteln und in v[1] speichern v[1] = Event[1].MapId;

Siehe auch

Event, Event[], Event[].X, Event[].Y, Map.Id
< Zurück
Eigenschaft: Event[].JumpTime
Weiter >
Objekt: Event[].MoveRoute

Eigenschaft: Event[].MapId


Event[].MoveRoute

Objekt: Event[].MoveRoute

Syntax

Event[Event-Id].MoveRoute

Beschreibung

Mit dem MoveRoute-Objekt kann auf die individuelle Bewegungsstrecke eines Events zugegriffen werden. Eine individuelle Bewegungsstrecke wird immer dann erzeugt, wenn ein Event über den MoveEvent-Befehl bewegt wird. In allen anderen Fällen wird die Standardbewegungsstrecke laut der jeweiligen Event-Seite verwendet.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Active | Eigenschaft | Bestimmt ob die MoveRoute verwendet wird
Count | Eigenschaft | Die Anzahl der Bewegungen innerhalb der MoveRoute
CurrentIndex | Eigenschaft | Die aktuelle Bewegung innerhalb der MoveRoute
IgnoreIfCantMove | Eigenschaft | Nicht ausführbare Schritte ignorieren
Repeat | Eigenschaft | Wiederholung der MoveRoute
[] | Objekt | Ein einzelnes Element der MoveRoute
Charframe | Eigenschaft | Der Charframe bei SetChar
Charset | Eigenschaft | Das Charset bei SetChar
Command | Eigenschaft | Der Befehl der Bewegung
Panpot | Eigenschaft | Die Balance bei PlaySound
Sound | Eigenschaft | Der Sound bei PlaySound
Switch | Eigenschaft | Die Switch-Id bei Switch-Befehlen
Tempo | Eigenschaft | Die Geschwindigkeit bei PlaySound
Volume | Eigenschaft | Die Lautstärke bei PlaySound

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].MapId
Weiter >
Eigenschaft: Event[].MoveRoute.Active

Objekt: Event[].MoveRoute


Event[].MoveRoute.Active

Eigenschaft: Event[].MoveRoute.Active

Syntax

Event[Event-Id].MoveRoute.Active

Beschreibung

Mit der Active-Eigenschaft wird bestimmt, ob die individuelle MoveRoute verwendet wird (true) oder nicht (false). Ist dieser Wert false, so wird die Bewegung/MoveRoute der jeweiligen Event-Seite verwendet.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$ // Die Bewegung der MoveRoute unterbrechen Event[HERO].MoveRoute.Active = false;

Siehe auch

Event, Event[], Event[].MoveRoute
< Zurück
Objekt: Event[].MoveRoute
Weiter >
Eigenschaft: Event[].MoveRoute.Count

Eigenschaft: Event[].MoveRoute.Active


Event[].MoveRoute.Count

Eigenschaft: Event[].MoveRoute.Count

Syntax

Event[Event-Id].MoveRoute.Count

Beschreibung

Mit der Count-Eigenschaft kann die Anzahl der Bewegungen innerhalb des MoveRoute-Objekts abgefragt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$

// Alle Bewegungsschritte des Helden auf nach-oben setzen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  Event[HERO].MoveRoute[v[1]].Command = MC_STEPUP;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[].Command
< Zurück
Eigenschaft: Event[].MoveRoute.Active
Weiter >
Eigenschaft: Event[].MoveRoute.CurrentIndex

Eigenschaft: Event[].MoveRoute.Count


Event[].MoveRoute.CurrentIndex

Eigenschaft: Event[].MoveRoute.CurrentIndex

Syntax

Event[Event-Id].MoveRoute.CurrentIndex

Beschreibung

Mit der CurrentIndex-Eigenschaft wird die aktuelle Bewegung innerhalb der MoveRoute bestimmt. Ist der Wert -1, so wird derzeit keine Bewegung ausgeführt. Liegt der Wert zwischen 0 und (Event[].MoveRoute.Count - 1), so wird die entsprechende Bewegung ausgeführt.
Information:
Ist der Wert der Active-Eigenschaft false, so ist dieser Wert stets -1, da in diesem Fall diese MoveRoute nicht verwendet werden kann.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | -1; 0 ... (Event[].MoveRoute.Count - 1)

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$ // Die MoveRoute von vorne beginnen Event[HERO].MoveRoute.CurrentIndex = 0;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute.Count, Event[].MoveRoute.Active
< Zurück
Eigenschaft: Event[].MoveRoute.Count
Weiter >
Eigenschaft: Event[].MoveRoute.IgnoreIfCantMove

Eigenschaft: Event[].MoveRoute.CurrentIndex


Event[].MoveRoute.IgnoreIfCantMove

Eigenschaft: Event[].MoveRoute.IgnoreIfCantMove

Syntax

Event[Event-Id].MoveRoute.IgnoreIfCantMove

Beschreibung

Mit der IgnoreIfCantMove-Eigenschaft wird bestimmt, ob Bewegungen, die nicht ausgeführt werden können, ausgelassen werden (true) oder nicht (false). Lässt sich eine Bewegung nicht ausführen, so wird mit der nächsten Bewegung fortgesetzt, die sich ausführen lässt.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$ // Nicht ausführbare Schritte auslassen Event[HERO].MoveRoute.IgnoreIfCantMove = true;

Siehe auch

Event, Event[], Event[].MoveRoute
< Zurück
Eigenschaft: Event[].MoveRoute.CurrentIndex
Weiter >
Eigenschaft: Event[].MoveRoute.Repeat

Eigenschaft: Event[].MoveRoute.IgnoreIfCantMove


Event[].MoveRoute.Repeat

Eigenschaft: Event[].MoveRoute.Repeat

Syntax

Event[Event-Id].MoveRoute.Repeat

Beschreibung

Mit der Repeat-Eigenschaft wird bestimmt, ob die MoveRoute sich wiederholt (true) oder nicht (false). Wiederholt sich die MoveRoute, so wird mit dem letzten Schritt wieder beim ersten fortgesetzt.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$ // Die Wiederholung der MoveRoute unterbinden Event[HERO].MoveRoute.Repeat = false;

Siehe auch

Event, Event[], Event[].MoveRoute
< Zurück
Eigenschaft: Event[].MoveRoute.IgnoreIfCantMove
Weiter >
Objekt: Event[].MoveRoute[]

Eigenschaft: Event[].MoveRoute.Repeat


Event[].MoveRoute[]

Objekt: Event[].MoveRoute[]

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex]

Beschreibung

Mit dem MoveRoute[]-Objekt kann auf eine einzelne Bewegung der MoveRoute zugegriffen werden.

Liste der Parameter

Parameter: Bewegungsindex

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Event[].MoveRoute.Count - 1)
Beschreibung: | Der Index des jeweiligen Bewegungsbefehls. Dieser Wert muss im Bereich von 0 bis (Event[].MoveRoute.Count - 1) liegen, wobei 0 die erste Bewegung der MoveRoute beschreibt.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Charframe | Eigenschaft | Der Charframe bei SetChar
Charset | Eigenschaft | Das Charset bei SetChar
Command | Eigenschaft | Der Befehl der Bewegung
Panpot | Eigenschaft | Die Balance bei PlaySound
Sound | Eigenschaft | Der Sound bei PlaySound
Switch | Eigenschaft | Die Switch-Id bei Switch-Befehlen
Tempo | Eigenschaft | Die Geschwindigkeit bei PlaySound
Volume | Eigenschaft | Die Lautstärke bei PlaySound

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute.Count
< Zurück
Eigenschaft: Event[].MoveRoute.Repeat
Weiter >
Eigenschaft: Event[].MoveRoute[].Charframe

Objekt: Event[].MoveRoute[]


Event[].MoveRoute[].Charframe

Eigenschaft: Event[].MoveRoute[].Charframe

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex].Charframe

Beschreibung

Mit der Charframe-Eigenschaft kann der Index des zu verwendenden Frames bei dem Bewegungsbefehl MC_SETCHAR gelesen/geschrieben werden. Zusammen mit der Charset-Eigenschaft gibt dies den zu verwendenden Char an. Dieser Wert sollte im Bereich von 0 ... 7 liegen (siehe Abbildung).

Mögliche Charframe-Werte

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 7

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$

// Das Charset auf Alex setzen bei SetChar-Bewegungsbefehlen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  if(Event[HERO].MoveRoute[v[1]].Command == MC_SETCHAR)
    Event[HERO].MoveRoute[v[1]].Charset   = Actor[1].Charset;
    Event[HERO].MoveRoute[v[1]].Charframe = Actor[1].Charframe;
  endif;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[], Event[].MoveRoute[].Command, Event[].MoveRoute.Count, Event[].MoveRoute[].Charset, Actor[].Charset, Actor[].Charframe
< Zurück
Objekt: Event[].MoveRoute[]
Weiter >
Eigenschaft: Event[].MoveRoute[].Charset

Eigenschaft: Event[].MoveRoute[].Charframe


Event[].MoveRoute[].Charset

Eigenschaft: Event[].MoveRoute[].Charset

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex].Charset

Beschreibung

Mit der Charset-Eigenschaft kann das zu verwendende Charset bei dem Bewegungsbefehl MC_SETCHAR gelesen/geschrieben werden. Bei allen anderen Bewegungsbefehlen wird der Wert dieser Eigenschaft ignoriert. Diese Eigenschaft wird zusammen mit der Charframe-Eigenschaft verwendet um einen Char zu identifizieren.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$

// Das Charset auf Alex setzen bei SetChar-Bewegungsbefehlen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  if(Event[HERO].MoveRoute[v[1]].Command == MC_SETCHAR)
    Event[HERO].MoveRoute[v[1]].Charset   = Actor[1].Charset;
    Event[HERO].MoveRoute[v[1]].Charframe = Actor[1].Charframe;
  endif;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[], Event[].MoveRoute[].Command, Event[].MoveRoute.Count, Event[].MoveRoute[].Charframe, Actor[].Charset, Actor[].Charframe
< Zurück
Eigenschaft: Event[].MoveRoute[].Charframe
Weiter >
Eigenschaft: Event[].MoveRoute[].Command

Eigenschaft: Event[].MoveRoute[].Charset


Event[].MoveRoute[].Command

Eigenschaft: Event[].MoveRoute[].Command

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex].Command

Beschreibung

Mit der Command-Eigenschaft kann der Befehl der Bewegung gelesen/geschrieben werden. Hierzu werden die Konstanten der Bewegungsbefehle genutzt:

Konstante | Beschreibung
MC_STEPUP | Ein Schritt nach oben
MC_STEPRIGHT | Ein Schritt nach rechts
MC_STEPDOWN | Ein Schritt nach unten
MC_STEPLEFT | Ein Schritt nach links
MC_STEPRIGHTUP | Ein Schritt schräg nach rechts oben
MC_STEPRIGHTDOWN | Ein Schritt schräg nach rechts unten
MC_STEPLEFTDOWN | Ein Schritt schräg nach links unten
MC_STEPLEFTUP | Ein Schritt schräg nach links oben
MC_STEPRANDOM | Ein Schritt in eine zufällige Richtung (oben, links, rechts oder unten)
MC_STEPTOWARDHERO | Ein Schritt zum Spieler hin (oben, links, rechts oder unten)
MC_STEPAWAYFROMHERO | Ein Schritt vom Spieler weg (oben, links, rechts oder unten)
MC_STEPFORWARD | Ein Schritt nach vorne (in die aktuelle Blickrichtung)
MC_LOOKUP | Nach oben gucken
MC_LOOKRIGHT | Nach rechts gucken
MC_LOOKDOWN | Nach unten gucken
MC_LOOKLEFT | Nach links gucken
MC_TURNRIGHT | Um 90° nach rechts drehen
MC_TURNLEFT | Um 90° nach links drehen
MC_TURN180 | Um 180° drehen
MC_RIGHTLEFTTURN | Zufällig um 90° nach links oder rechts drehen
MC_LOOKRANDOM | In eine zufällige Richtung gucken (oben, links, rechts oder unten)
MC_LOOKTOWARDHERO | Zum Spieler hingucken
MC_LOOKAWAYFROMHERO | Vom Spieler weggucken
MC_WAIT | Kurz warten
MC_STARTJUMPING | Springen beginnen
MC_STOPJUMPING | Springen beenden
MC_FIXDIRECTION | Blickrichtung fixieren
MC_RELEASEDIRECTION | Blickrichtung freigeben
MC_INCREASESPEED | Bewegungsgeschwindigkeit erhöhen
MC_DECREASESPEED | Bewegungsgeschwindigkeit verringern
MC_INCREASEFREQUENCY | Bewegungsfrequenz erhöhen
MC_DECREASEFREQUENCY | Bewegungsfrequenz verringern
MC_SETSWITCHON | Switch anschalten
MC_SETSWITCHOFF | Switch ausschalten
MC_SETCHAR | Char des bewegten Events setzen
MC_PLAYSOUND | Sound abspielen
MC_STARTPHASING | Kollisionsfreie Bewegung aktivieren
MC_STOPPHASING | Kollisionsfreie Bewegung deaktivieren
MC_FIXANIMATION | Bewegungsanimation deaktivieren
MC_RELEASEANIMATION | Bewegungsanimation aktivieren
MC_INCREASETRANSPARENCY | Transparenz erhöhen
MC_DECREASETRANSPARENCY | Transparenz verringern

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$

// Alle Bewegungsschritte des Helden auf nach-oben setzen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  Event[HERO].MoveRoute[v[1]].Command = MC_STEPUP;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[], Event[].MoveRoute.Count
< Zurück
Eigenschaft: Event[].MoveRoute[].Charset
Weiter >
Eigenschaft: Event[].MoveRoute[].Panpot

Eigenschaft: Event[].MoveRoute[].Command


Event[].MoveRoute[].Panpot

Eigenschaft: Event[].MoveRoute[].Panpot

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex].Panpot

Beschreibung

Mit der Panpot-Eigenschaft kann die Balancierung des Soundeffekts zwischen den Lautsprechern bei dem Bewegungsbefehl MC_PLAYSOUND gelesen/geschrieben werden. Die Angabe des Verhältnisses der Balancierung des Sounds zwischen den Lautsprechern erfolgt in Prozent:
  • 0%: Der Sound wird nur über den linken Lautsprecher abgespielt.
  • 50%: Der Sound wird über beide Lautsprecher gleich verteilt abgespielt.
  • 100%: Der Sound wird nur über den rechten Lautsprecher abgespielt.
Zusammen mit der Sound-, Volume- und Tempo-Eigenschaft gibt dies den Sound an.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 50 ... 100

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$

// Den Sound auf "Bell" setzen bei PlaySound-Bewegungsbefehlen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  if(Event[HERO].MoveRoute[v[1]].Command == MC_PLAYSOUND)
    Event[HERO].MoveRoute[v[1]].Sound     = "BELL"; // Dateiname
    Event[HERO].MoveRoute[v[1]].Volume    = 100;    // 100% Lautstärke
    Event[HERO].MoveRoute[v[1]].Tempo     = 100;    // 100% Geschwindigkeit
    Event[HERO].MoveRoute[v[1]].Panpot    = 50;     // 50 = Mittig
  endif;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[], Event[].MoveRoute[].Command, Event[].MoveRoute.Count, Event[].MoveRoute[].Sound, Event[].MoveRoute[].Volume, Event[].MoveRoute[].Tempo
< Zurück
Eigenschaft: Event[].MoveRoute[].Command
Weiter >
Eigenschaft: Event[].MoveRoute[].Sound

Eigenschaft: Event[].MoveRoute[].Panpot


Event[].MoveRoute[].Sound

Eigenschaft: Event[].MoveRoute[].Sound

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex].Sound

Beschreibung

Mit der Sound-Eigenschaft kann der Name des Soundeffekts bei dem Bewegungsbefehl MC_PLAYSOUND gelesen/geschrieben werden. Zusammen mit der Volume-, Tempo- und Panpot-Eigenschaft gibt dies den Sound an.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$

// Den Sound auf "Bell" setzen bei PlaySound-Bewegungsbefehlen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  if(Event[HERO].MoveRoute[v[1]].Command == MC_PLAYSOUND)
    Event[HERO].MoveRoute[v[1]].Sound     = "BELL"; // Dateiname
    Event[HERO].MoveRoute[v[1]].Volume    = 100;    // 100% Lautstärke
    Event[HERO].MoveRoute[v[1]].Tempo     = 100;    // 100% Geschwindigkeit
    Event[HERO].MoveRoute[v[1]].Panpot    = 50;     // 50 = Mittig
  endif;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[], Event[].MoveRoute[].Command, Event[].MoveRoute.Count, Event[].MoveRoute[].Volume, Event[].MoveRoute[].Tempo, Event[].MoveRoute[].Panpot
< Zurück
Eigenschaft: Event[].MoveRoute[].Panpot
Weiter >
Eigenschaft: Event[].MoveRoute[].Switch

Eigenschaft: Event[].MoveRoute[].Sound


Event[].MoveRoute[].Switch

Eigenschaft: Event[].MoveRoute[].Switch

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex].Switch

Beschreibung

Mit der Switch-Eigenschaft kann der zu verwendende Switch bei den Bewegungsbefehlen MC_SETSWITCHON und MC_SETSWITCHOFF gelesen/geschrieben werden. Bei allen anderen Bewegungsbefehlen wird der Wert dieser Eigenschaft ignoriert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$

// Alle Switches auf 1 setzen bei Switch-Bewegungsbefehlen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  if(Event[HERO].MoveRoute[v[1]].Command == MC_SETSWITCHON ||
     Event[HERO].MoveRoute[v[1]].Command == MC_SETSWITCHOFF)
    Event[HERO].MoveRoute[v[1]].Switch = 1;
  endif;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[], Event[].MoveRoute[].Command, Event[].MoveRoute.Count
< Zurück
Eigenschaft: Event[].MoveRoute[].Sound
Weiter >
Eigenschaft: Event[].MoveRoute[].Tempo

Eigenschaft: Event[].MoveRoute[].Switch


Event[].MoveRoute[].Tempo

Eigenschaft: Event[].MoveRoute[].Tempo

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex].Tempo

Beschreibung

Mit der Tempo-Eigenschaft kann die Geschwindigkeit des Soundeffekts bei dem Bewegungsbefehl MC_PLAYSOUND gelesen/geschrieben werden. Die Angabe erfolgt in Prozent (50 = halbe Geschwindigkeit, 100 = volle Geschwindigkeit). Zusammen mit der Sound-, Volume- und Panpot-Eigenschaft gibt dies den Sound an.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 50 ... 100 ... 150

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$

// Den Sound auf "Bell" setzen bei PlaySound-Bewegungsbefehlen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  if(Event[HERO].MoveRoute[v[1]].Command == MC_PLAYSOUND)
    Event[HERO].MoveRoute[v[1]].Sound     = "BELL"; // Dateiname
    Event[HERO].MoveRoute[v[1]].Volume    = 100;    // 100% Lautstärke
    Event[HERO].MoveRoute[v[1]].Tempo     = 100;    // 100% Geschwindigkeit
    Event[HERO].MoveRoute[v[1]].Panpot    = 50;     // 50 = Mittig
  endif;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[], Event[].MoveRoute[].Command, Event[].MoveRoute.Count, Event[].MoveRoute[].Sound, Event[].MoveRoute[].Volume, Event[].MoveRoute[].Panpot
< Zurück
Eigenschaft: Event[].MoveRoute[].Switch
Weiter >
Eigenschaft: Event[].MoveRoute[].Volume

Eigenschaft: Event[].MoveRoute[].Tempo


Event[].MoveRoute[].Volume

Eigenschaft: Event[].MoveRoute[].Volume

Syntax

Event[Event-Id].MoveRoute[Bewegungsindex].Volume

Beschreibung

Mit der Volume-Eigenschaft kann die Lautstärke des Soundeffekts bei dem Bewegungsbefehl MC_PLAYSOUND gelesen/geschrieben werden. Die Angabe erfolgt in Prozent (0 = stumm, 100 = volle Lautstärke). Zusammen mit der Sound-, Tempo- und Panpot-Eigenschaft gibt dies den Sound an.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 100

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$

// Den Sound auf "Bell" setzen bei PlaySound-Bewegungsbefehlen
for(v[1] = 0; v[1] < Event[HERO].MoveRoute.Count; v[1]++)
  if(Event[HERO].MoveRoute[v[1]].Command == MC_PLAYSOUND)
    Event[HERO].MoveRoute[v[1]].Sound     = "BELL"; // Dateiname
    Event[HERO].MoveRoute[v[1]].Volume    = 100;    // 100% Lautstärke
    Event[HERO].MoveRoute[v[1]].Tempo     = 100;    // 100% Geschwindigkeit
    Event[HERO].MoveRoute[v[1]].Panpot    = 50;     // 50 = Mittig
  endif;
next;

Siehe auch

Event, Event[], Event[].MoveRoute, Event[].MoveRoute[], Event[].MoveRoute[].Command, Event[].MoveRoute.Count, Event[].MoveRoute[].Sound, Event[].MoveRoute[].Tempo, Event[].MoveRoute[].Panpot
< Zurück
Eigenschaft: Event[].MoveRoute[].Tempo
Weiter >
Eigenschaft: Event[].Name

Eigenschaft: Event[].MoveRoute[].Volume


Event[].Name

Eigenschaft: Event[].Name

Syntax

Event[Event-Id].Name

Beschreibung

Mit der Name-Eigenschaft kann der Name des Events ermittelt werden. Verfügt das entsprechende Event über keinen Namen (z. B. bei einem der Spezialevents), dann wird ein Leerstring zurückgegeben.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Namen des ersten Events ermitteln und in a[1] speichern a[1] = Event[1].Name; // z. B. "EV0001"

Siehe auch

Event[].Id
< Zurück
Eigenschaft: Event[].MoveRoute[].Volume
Weiter >
Eigenschaft: Event[].Offset

Eigenschaft: Event[].Name


Event[].Offset

Eigenschaft: Event[].Offset

Syntax

Event[Event-Id].Offset

Beschreibung

Mit der Offset-Eigenschaft kann der aktuelle Abstand des Events zum nächsten Feld auf der Karte gelesen/geschrieben werden. Das nächste Feld auf der Karte wird hierbei durch die X- und Y-Koordinate des Events angegeben. Die Richtung des Abstands wird durch die DirMove-Eigenschaft bestimmt. Der Wert dieser Eigenschaft ist der Abstand in Pixel multipliziert mit 16:
  • Der Wert 0 bedeutet, dass derzeit kein Abstand zu den Koordinaten existiert.
  • Der Wert 256 bedeutet, dass derzeit ein Abstand von genau ein Feld Abstand zu den Koordinaten existiert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Flüchtig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Den Helden auf das Feld in der unteren rechten Ecke der Karte zubewegen lassen
Event[HERO].X = Map.Width - 1;
Event[HERO].Y = Map.Height - 1;
Event[HERO].DirMove = DIR_RIGHT_DOWN;
Event[HERO].DirLook = DIR_RIGHT;
Event[HERO].Offset = 256;

// Den Helden in den Sichtbereich bringen
Map.ScreenX = Map.Width * 16 - 320;
Map.ScreenY = Map.Height * 16 - 240;

Siehe auch

Event, Event[], Event[].X, Event[].Y, Event[].DirMove, Event[].DirLook, Map.Width, Map.Height, Map.ScreenX, Map.ScreenY
< Zurück
Eigenschaft: Event[].Name
Weiter >
Eigenschaft: Event[].Phasing

Eigenschaft: Event[].Offset


Event[].Phasing

Eigenschaft: Event[].Phasing

Syntax

Event[Event-Id].Phasing

Beschreibung

Mit der Phasing-Eigenschaft kann die "durch Wände gehen"-Eigenschaft des Events gelesen/geschrieben werden.
  • False: Das Event kann nicht durch Wände, ... gehen
  • True: Das Event kann durch Wände, ... gehen

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein
Flüchtig: | ja

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].Offset
Weiter >
Eigenschaft: Event[].ScreenX

Eigenschaft: Event[].Phasing


Event[].ScreenX

Eigenschaft: Event[].ScreenX

Syntax

Event[Event-Id].ScreenX

Beschreibung

Mit der ScreenX-Eigenschaft kann die X-Koordinate des Events auf dem Bildschirm ermittelt werden. Zur Ermittlung wird der Algorithmus der RPG_RT verwendet. Die Angabe bezieht sich auf die Mitte des Events.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die X-Koordinate des Events auf dem Bildschirm ermitteln und in v[1] speichern v[1] = Event[1].ScreenX;

Siehe auch

Event, Event[], Event[].ScreenY
< Zurück
Eigenschaft: Event[].Phasing
Weiter >
Eigenschaft: Event[].ScreenY

Eigenschaft: Event[].ScreenX


Event[].ScreenY

Eigenschaft: Event[].ScreenY

Syntax

Event[Event-Id].ScreenY

Beschreibung

Mit der ScreenY-Eigenschaft kann die Y-Koordinate des Events auf dem Bildschirm ermittelt werden. Zur Ermittlung wird der Algorithmus der RPG_RT verwendet. Die Angabe bezieht sich auf den unteren Rand des Events.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Y-Koordinate des Events auf dem Bildschirm ermitteln und in v[1] speichern v[1] = Event[1].ScreenY;

Siehe auch

Event, Event[], Event[].ScreenX
< Zurück
Eigenschaft: Event[].ScreenX
Weiter >
Eigenschaft: Event[].Speed

Eigenschaft: Event[].ScreenY


Event[].Speed

Eigenschaft: Event[].Speed

Syntax

Event[Event-Id].Speed

Beschreibung

Mit der Speed-Eigenschaft kann die Geschwindigkeit des Events gelesen/geschrieben werden.

Der Wert dieser Eigenschaft gibt an, um wie viele Einheiten der Wert der Offset-Eigenschaft je Zeiteinheit des Spiels verringert wird:

Wert der Speed-Eigenschaft | 1 | 2 | 3 | 4 | 5 | 6
Abzug von der Offset-Eigenschaft | 4 | 8 | 16 | 32 | 64 | 128
Bewegung in Pixel je Zeiteinheit | ¼ Pixel | ½ Pixel | 1 Pixel | 2 Pixel | 4 Pixel | 8 Pixel

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 1 ... 6
Flüchtig: | ja

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].ScreenY
Weiter >
Eigenschaft: Event[].StopAnimation

Eigenschaft: Event[].Speed


Event[].StopAnimation

Eigenschaft: Event[].StopAnimation

Syntax

Event[Event-Id].StopAnimation

Beschreibung

Mit der StopAnimation-Eigenschaft kann die "keine Bewegungsanimation"-Eigenschaft des Events gelesen/geschrieben werden.
  • False: Das Event zeigt die Bewegungsanimation wie gewohnt an
  • True: Das Event zeigt keine Bewegungsanimation an

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein
Flüchtig: | ja

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].Speed
Weiter >
Eigenschaft: Event[].Transparency

Eigenschaft: Event[].StopAnimation


Event[].Transparency

Eigenschaft: Event[].Transparency

Syntax

Event[Event-Id].Transparency

Beschreibung

Mit der Transparency-Eigenschaft kann der Transparenzwert des Events gelesen/geschrieben werden. Dieser Wert sollte im Bereich von 0 ... 8 liegen, wobei 0 nicht transparent und 4 halb-transparent bedeutet. Bei Werten größer als 8 treten lustige Rechenfehler auf (d. h. das Event sieht sehr seltsam aus; siehe Abbildung).

Auszug einiger möglicher Transparency-Werte
Information:
Wurde bei den Eigenschaften eines Helden das Häkchen bei Transparent gesetzt, so entspricht dies einer Tranzparenz von 3.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 8
Flüchtig: | ja

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Event[].StopAnimation
Weiter >
Eigenschaft: Event[].X

Eigenschaft: Event[].Transparency


Event[].X

Eigenschaft: Event[].X

Syntax

Event[Event-Id].X

Beschreibung

Mit der X-Eigenschaft kann die X-Koordinate des Events auf der Karte gelesen/geschrieben werden. Dieser Wert sollte im Bereich von 0 bis (Map.Width - 1) liegen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Das erste Event um 1 Feld nach rechts bewegen (falls möglich)
if(Event[1].X + 1 < Map.Width)
  Event[1].X++;
endif;

Siehe auch

Event, Event[], Event[].Y, Event[].MapId, Map.Width
< Zurück
Eigenschaft: Event[].Transparency
Weiter >
Eigenschaft: Event[].Y

Eigenschaft: Event[].X


Event[].Y

Eigenschaft: Event[].Y

Syntax

Event[Event-Id].Y

Beschreibung

Mit der Y-Eigenschaft kann die Y-Koordinate des Events auf der Karte gelesen/geschrieben werden. Dieser Wert sollte im Bereich von 0 bis (Map.Height - 1) liegen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Das erste Event um 1 Feld nach oben bewegen (falls möglich)
if(Event[1].X - 1 >= 0)
  Event[1].Y--;
endif;

Siehe auch

Event, Event[], Event[].X, Event[].MapId, Map.Height
< Zurück
Eigenschaft: Event[].X
Weiter >
Objekt: f

Eigenschaft: Event[].Y


f

Objekt: f

Syntax

f

Beschreibung

Das f-Objekt dient dazu die Floats (Kommazahlen) der Destiny.dll zugänglich zu machen. Die Floats des f-Objekts werden von der Destiny.dll verwaltet.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Floats
ReAlloc() | Methode | Verändert die Anzahl der Floats im f-Objekt
[] | Eigenschaft | Ein bestimmtes Float des f-Objekts

Siehe auch

a, d, v, s
< Zurück
Eigenschaft: Event[].Y
Weiter >
Eigenschaft: f.Count

Objekt: f


f.Count

Eigenschaft: f.Count

Syntax

f.Count

Beschreibung

Gibt die Anzahl der Floats im f-Objekt zurück. Diese kann verwendet werden um eine Schleife über alle Floats zu machen.
Information:
Die Anzahl der Floats, die zum Spielstart zur Verfügung stehen, wird über den DestinyPatcher eingestellt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Floats auf 0.5 setzen
for(v[1] = 1; v[1] <= f.Count; v[1]++)
  f[v[1]] = 0.5;
next;

Siehe auch

f, f[], f.ReAlloc()
< Zurück
Objekt: f
Weiter >
Methode: f.ReAlloc()

Eigenschaft: f.Count


f.ReAlloc()

Methode: f.ReAlloc()

Syntax

f.ReAlloc(Anzahl)

Beschreibung

Mit der ReAlloc-Methode kann die Anzahl der Floats im f-Objekt vergrößert/verkleinert werden.
Information:
Ist die angegebene Anzahl der Floats zu groß, dann wird der Fehler DESTINYERROR_MEMORY geworfen. Der ursprüngliche Inhalt des f-Objekts bleibt dabei erhalten.
Information:
Bei einer Vergrößerung der Float-Anzahl werden neue Floats auf 0.0 gesetzt.

Liste der Parameter

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die neue Anzahl der Floats im f-Objekt. Dieser Wert muss größer/gleich 1 sein. Bei einer zu großen Zahl schlägt der Aufruf dieser Methode fehl.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die maximale Anzahl der Floats um 1 erhöhen
f.ReAlloc(f.Count + 1);
// Dem neuen Float den Wert PI zuweisen (nach dem Aufruf von ReAlloc() ist f.Count natürlich um 1 größer)
f[f.Count] = Math.Pi;

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_MEMORY

Siehe auch

f, f[], f.Count, Math.Pi
< Zurück
Eigenschaft: f.Count
Weiter >
Eigenschaft: f[]

Methode: f.ReAlloc()


f[]

Eigenschaft: f[]

Syntax

f[Index]

Beschreibung

Ermöglicht den Zugriff auf ein bestimmtes Float des f-Objekts.

Eigenschaften

Datentyp: | float
Schreibgeschützt: | nein

Liste der Parameter

Parameter: Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... f.Count
Beschreibung: | Der Index des Floats. Dieser muss im Bereich von 1 ... f.Count liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Wert des ersten Floats auf 1.5 setzen f[1] = 1.5;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

f, f.Count, f.ReAlloc()
< Zurück
Methode: f.ReAlloc()
Weiter >
Objekt: Faceset

Eigenschaft: f[]


Faceset

Objekt: Faceset

Syntax

Faceset

Beschreibung

Mit dem Faceset-Objekt können Informationen zum geladenen Faceset für die Nachrichtenausgabe ermittelt werden, sowie das AuroraSheet des anzuzeigenden Faces verändert werden. Alle Änderungen, die am AuroraSheet vorgenommen werden, sind sichtbar sowie eine Nachrichtenausgabe gestartet wird/ist. Werden die Veränderungen vorgenommen während die Nachrichtenausgabe gestartet ist, so werden die Änderungen umgehend (beim nächsten Zeichenzyklus) sichtbar.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AuroraSheet | Objekt | Das AuroraSheet-Objekt des geladenen Faces
Faceframe | Eigenschaft | Der Frame des Faces
Faceset | Eigenschaft | Der Dateiname des Facesets
Filename | Eigenschaft | Der Dateiname des Facesets
Flipped | Eigenschaft | Der Gespiegelt-Status des Faces
Frame | Eigenschaft | Der Frame des Faces
Mirrored | Eigenschaft | Der Gespiegelt-Status des Faces
Position | Eigenschaft | Die Anzeigeposition des Faces
< Zurück
Eigenschaft: f[]
Weiter >
Objekt: Faceset.AuroraSheet

Objekt: Faceset


Faceset.AuroraSheet

Objekt: Faceset.AuroraSheet

Syntax

Faceset.AuroraSheet

Beschreibung

Mit dem AuroraSheet-Objekt kann auf die Grafik des aktuell geladenen Faces zugegriffen werden. Da das einheitliche AuroraSheet-Objekt bei mehreren Objekten als Unterobjekt verfügbar ist, wurde die Beschreibung nur einmal verfasst und dem Picture[]-Objekt untergeordnet. Die Beschreibung findet sich hier: Picture[].AuroraSheet.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die Farben des verwendeten Faces "umkehren" (Paletteneintrag 0 wird zu 255, 1 zu 254 usw.)
for(v[1] = 0; v[1] < Faceset.AuroraSheet.Width; v[1]++)
  for(v[2] = 0; v[2] < Faceset.AuroraSheet.Height; v[2]++)
    Faceset.AuroraSheet.Pixel[v[1], v[2]] = 255 - Faceset.AuroraSheet.Pixel[v[1], v[2]];
  next;
next;

Siehe auch

Faceset, Picture[].AuroraSheet
< Zurück
Objekt: Faceset
Weiter >
Eigenschaft: Faceset.Filename

Objekt: Faceset.AuroraSheet


Faceset.Filename

Eigenschaft: Faceset.Filename

Syntax

Faceset.Filename

Beschreibung

Mit der Filename-Eigenschaft kann der Dateiname (ohne Pfad/Endung und relativ zum Faceset-Verzeichnis) ermittelt werden. Zusammen mit der Frame-Eigenschaft gibt dies das aktuell verwendete Face an.
Information:
Da der RPG-Maker intern eine Kopie des verwendeten Faces ablegt (siehe Faceset.AuroraSheet) ist es nicht möglich diesen Wert direkt zu verändern. Um ein anderes Face zu verwenden, muss die ShowFace-Methode des Command-Objekts genutzt werden.

Synonyme

  • Faceset

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Das aktuell verwendete Faceset ermitteln und in a[1] speichern
a[1] = Faceset.Filename;
// Den aktuell verwendeten Frame des Faces ermitteln und in v[1] speichern
v[1] = Faceset.Frame;
// Die aktuell verwendete Position des Faces ermitteln und in v[2] speichern
v[2] = Faceset.Position;
// Den aktuellen Gespiegelt-Status des Faces ermitteln und in s[1] speichern
s[1] = Faceset.Flipped;
// Das jeweils nächste Face laden (oder zum ersten zurückkehren); alle anderen Einstellungen bleiben gleich
Command.ShowFace(a[1], (v[1] + 1) % 16, v[2], s[1]);

Siehe auch

Faceset, Faceset.Frame, Faceset.Position, Faceset.Flipped, Command.ShowFace()
< Zurück
Objekt: Faceset.AuroraSheet
Weiter >
Eigenschaft: Faceset.Flipped

Eigenschaft: Faceset.Filename


Faceset.Flipped

Eigenschaft: Faceset.Flipped

Syntax

Faceset.Flipped

Beschreibung

Mit der Flipped-Eigenschaft kann ermittelt werden, ob das Face gespiegelt angezeigt wird (false = nicht gespiegelt; true = gespiegelt).
Information:
Da der RPG-Maker intern eine Kopie des verwendeten Faces ablegt (siehe Faceset.AuroraSheet) ist es nicht möglich diesen Wert direkt zu verändern. Um ein anderes Face zu verwenden, muss die ShowFace-Methode des Command-Objekts genutzt werden.

Synonyme

  • Mirrored

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Das aktuell verwendete Faceset ermitteln und in a[1] speichern
a[1] = Faceset.Filename;
// Den aktuell verwendeten Frame des Faces ermitteln und in v[1] speichern
v[1] = Faceset.Frame;
// Die aktuell verwendete Position des Faces ermitteln und in v[2] speichern
v[2] = Faceset.Position;
// Den aktuellen Gespiegelt-Status des Faces ermitteln und in s[1] speichern
s[1] = Faceset.Flipped;
// Das jeweils nächste Face laden (oder zum ersten zurückkehren); alle anderen Einstellungen bleiben gleich
Command.ShowFace(a[1], (v[1] + 1) % 16, v[2], s[1]);

Siehe auch

Faceset, Faceset.Filename, Faceset.Position, Faceset.Flipped, Command.ShowFace()
< Zurück
Eigenschaft: Faceset.Filename
Weiter >
Eigenschaft: Faceset.Frame

Eigenschaft: Faceset.Flipped


Faceset.Frame

Eigenschaft: Faceset.Frame

Syntax

Faceset.Frame

Beschreibung

Mit der Frame-Eigenschaft kann der Index des verwendeten Frames des Faces ermittelt werden. Zusammen mit der Filename-Eigenschaft gibt dies das aktuell verwendete Face an. Dieser Wert liegt im Bereich von 0 ... 15 (siehe Abbildung).

Mögliche Faceframe-Werte
Information:
Da der RPG-Maker intern eine Kopie des verwendeten Faces ablegt (siehe Faceset.AuroraSheet) ist es nicht möglich diesen Wert direkt zu verändern. Um ein anderes Face zu verwenden, muss die ShowFace-Methode des Command-Objekts genutzt werden.

Synonyme

  • Faceframe

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 15

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Das aktuell verwendete Faceset ermitteln und in a[1] speichern
a[1] = Faceset.Filename;
// Den aktuell verwendeten Frame des Faces ermitteln und in v[1] speichern
v[1] = Faceset.Frame;
// Die aktuell verwendete Position des Faces ermitteln und in v[2] speichern
v[2] = Faceset.Position;
// Den aktuellen Gespiegelt-Status des Faces ermitteln und in s[1] speichern
s[1] = Faceset.Flipped;
// Das jeweils nächste Face laden (oder zum ersten zurückkehren); alle anderen Einstellungen bleiben gleich
Command.ShowFace(a[1], (v[1] + 1) % 16, v[2], s[1]);

Siehe auch

Faceset, Faceset.Filename, Faceset.Position, Faceset.Flipped, Command.ShowFace()
< Zurück
Eigenschaft: Faceset.Flipped
Weiter >
Eigenschaft: Faceset.Position

Eigenschaft: Faceset.Frame


Faceset.Position

Eigenschaft: Faceset.Position

Syntax

Faceset.Position

Beschreibung

Mit der Position-Eigenschaft kann die Anzeigeposition des Faces (links oder rechts) gelesen/geschrieben werden. Hierzu können die FacePosition-Konstanten verwendet werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 1

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die aktuell verwendete Position des Faces ermitteln und in v[1] speichern
v[1] = Faceset.Position;
// Die verwendete Position des Faces umkehren (links zu rechts und umgekehrt)
if(v[1] == FACEPOSITION_LEFT)
  Faceset.Position = FACEPOSITION_RIGHT;
else
  Faceset.Position = FACEPOSITION_LEFT;
endif;

Sonstiges

Im Gegensatz zu den anderen Eigenschaften des Faceset-Objekts ist die Position-Eigenschaft nicht schreibgeschützt, da eine Veränderung des Wertes einen Unterschied bewirkt.

Siehe auch

Faceset, Faceset.Filename, Faceset.Position, Faceset.Flipped, Command.ShowFace()
< Zurück
Eigenschaft: Faceset.Frame
Weiter >
Objekt: File

Eigenschaft: Faceset.Position


File

Objekt: File

Syntax

File

Beschreibung

Mit dem File-Objekt können Dateien gelesen/geschrieben werden. Dies ist sowohl mit Textdateien als auch mit Binärdateien möglich. Wie beim Directory-Objekt sind aus Sicherheitsgründen auch hier nur Zugriffe innerhalb des Spielverzeichnisses zulässig.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
CloseAll() | Methode | Schließt alle offenen Dateihandles
Count | Eigenschaft | Die Anzahl der verfügbaren Dateihandles
NextFree() | Methode | Gibt den Index des nächsten freien Dateihandles zurück
ReAlloc() | Methode | Verändert die Anzahl der verfügbaren Dateihandles
[] | Objekt | Ein bestimmtes Dateihandle dieses Arrays
Close() | Methode | Schließt ein geöffnetes Dateihandle
GetFilePointer() | Methode | Gibt die aktuelle Lese-/Schreibposition des internen Dateizeigers zurück
Length() | Methode | Gibt die aktuelle Länge der Datei zurück
Open() | Methode | Öffnet eine Datei zum lesen oder schreiben
ReadRawData() | Methode | Liest Daten aus einer geöffneten Datei ein
SetFilePointer() | Methode | Setzt die aktuelle Lese-/Schreibposition des internen Dateizeigers
Truncate() | Methode | Schneidet den hinteren Teil einer Datei ab
WriteRawData() | Methode | Schreibt Daten in eine geöffnete Datei
< Zurück
Eigenschaft: Faceset.Position
Weiter >
Methode: File.CloseAll()

Objekt: File


File.CloseAll()

Methode: File.CloseAll()

Syntax

File.CloseAll()

Beschreibung

Mit der CloseAll-Methode können alle offenen Dateihandles in diesem Array geschlossen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Anzahl der verfügbaren Dateihandles auf 100 erhöhen
File.ReAlloc(100);
// 100 verschiedene Dateien mit dem Namen "Datei_001.txt" bis "Datei_100.txt" öffnen/erstellen
for(v[1] = 0; v[1] < File.Count; v[1]++)
  File[v[1]].Open("Datei_" .. String.Format("D3", v[1] + 1) .. ".txt", FILE_READ | FILE_WRITE);
next;
// Alle offenen Dateihandles wieder schließen
File.CloseAll();

Siehe auch

File, File[], File.Count, File.ReAlloc(), File[].Open(), String.Format()
< Zurück
Objekt: File
Weiter >
Eigenschaft: File.Count

Methode: File.CloseAll()


File.Count

Eigenschaft: File.Count

Syntax

File.Count

Beschreibung

Mit der Count-Eigenschaft kann die Anzahl der verfügbaren Dateihandles in diesem Array ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Dateihandles einzeln schließen
for(v[1] = 0; v[1] < File.Count; v[1]++)
  File[v[1]].Close();
next;
File, File[], File[].Close()
< Zurück
Methode: File.CloseAll()
Weiter >
Methode: File.NextFree()

Eigenschaft: File.Count


File.NextFree()

Methode: File.NextFree()

Syntax

File.NextFree([Start-Index])

Beschreibung

Mit der NextFree-Methode kann das nächste freie Dateihandle in diesem Array ermittelt werden. Existiert kein freies Dateihandle, dann wird die Größe des Arrays um 1 erhöht, sodass ein neues (freies) Dateihandle zur Verfügung steht.

Liste der Parameter

Parameter: Start-Index

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Gibt den Index an, bei dem die Suche beginnt. Wird hier ein Wert größer/gleich der Anzahl der Dateihandles oder ein negativer Wert angegeben, dann wird ein Fehler ausgelöst.

Rückgabewert

Datentyp: | dword
Beschreibung: | Der Index des freien Dateihandles

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$
// Die Anzahl der verfügbaren Dateihandles auf 1 verringern
File.ReAlloc(1);
// Den Index des nächsten freien Dateihandles ermitteln und in v[1] speichern
v[1] = File.NextFree();   // = 0
// Den Index des nächsten freien Dateihandles ermitteln und in v[2] speichern
v[2] = File.NextFree();   // = 0 (immernoch, da wir das Handle in v[1] nicht gebraucht haben)
// Die Anzahl der verfügbaren Dateihandles ermitteln und in v[3] speichern
v[3] = File.Count;        // = 1 (es existiert ja nur ein Handle wegen File.ReAlloc())
// Das Dateihandle aus v[1] öffnen (hier "Test.txt" zum Lesen/Schreiben öffnen
File[v[1]].Open("Test.txt", FILE_READ | FILE_WRITE);
// Den Index des nächsten freien Dateihandles ermitteln und in v[2] speichern
v[2] = File.NextFree();   // = 1 (da das erste Dateihandle belegt ist);
// Die Anzahl der verfügbaren Dateihandles ermitteln und in v[3] speichern
v[3] = File.Count;        // = 2 (da der letzt File.NextFree()-Aufruf die Anzahl der verfügbaren Dateihandles erhöht hat)
// Alle offenen Dateihandles wieder schließen
File.CloseAll();

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_MEMORY

Siehe auch

File, File[], File.Count, File.ReAlloc(), File.CloseAll(), File[].Open()
< Zurück
Eigenschaft: File.Count
Weiter >
Methode: File.ReAlloc()

Methode: File.NextFree()


File.ReAlloc()

Methode: File.ReAlloc()

Syntax

File.ReAlloc(Anzahl)

Beschreibung

Mit der ReAlloc-Methode kann die Anzahl der verfügbaren Dateihandles in diesem Array verändert werden.
Information:
Nach Spielstart ist die Anzahl der verfügbaren Dateihandles standardmäßig auf 32 initialisiert.

Liste der Parameter

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Gibt die Anzahl der verfügbaren Dateihandles nach der Größenveränderung an. Ist dieser Wert kleiner als die aktuelle Anzahl der verfügbaren Dateihandles, dann stehen danach weniger Dateihandles zur Verfügung. Waren die Dateihandles am Ende des Arrays offen, so werden diese hierbei automatisch geschlossen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Anzahl der verfügbaren Dateihandles auf 100 erhöhen
File.ReAlloc(100);
// 100 verschiedene Dateien mit dem Namen "Datei_001.txt" bis "Datei_100.txt" öffnen/erstellen
for(v[1] = 0; v[1] < File.Count; v[1]++)
  File[v[1]].Open("Datei_" .. String.Format("D3", v[1] + 1) .. ".txt", FILE_READ | FILE_WRITE);
next;
// Alle offenen Dateihandles wieder schließen
File.CloseAll();

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_MEMORY

Siehe auch

File, File[], File.Count, File.CloseAll(), File[].Open(), String.Format()
< Zurück
Methode: File.NextFree()
Weiter >
Objekt: File[]

Methode: File.ReAlloc()


File[]

Objekt: File[]

Syntax

File[Index]

Beschreibung

Bündelt alle Eigenschaften und Methoden eines Dateihandles zusammen. Dieses wird über den Index identifiziert. Die Anzahl der verfügbaren Dateihandles kann über File.ReAlloc() verändert werden.
Information:
Nach Spielstart ist die Anzahl der verfügbaren Dateihandles standardmäßig auf 32 initialisiert.

Liste der Parameter

Parameter: Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (File.Count - 1)
Beschreibung: | Gibt den Index des Dateihandles an

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Close() | Methode | Schließt ein geöffnetes Dateihandle
GetFilePointer() | Methode | Gibt die aktuelle Lese-/Schreibposition des internen Dateizeigers zurück
Length() | Methode | Gibt die aktuelle Länge der Datei zurück
Open() | Methode | Öffnet eine Datei zum lesen oder schreiben
ReadRawData() | Methode | Liest Daten aus einer geöffneten Datei ein
SetFilePointer() | Methode | Setzt die aktuelle Lese-/Schreibposition des internen Dateizeigers
Truncate() | Methode | Schneidet den hinteren Teil einer Datei ab
WriteRawData() | Methode | Schreibt Daten in eine geöffnete Datei

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Methode: File.ReAlloc()
Weiter >
Methode: File[].Close()

Objekt: File[]


File[].Close()

Methode: File[].Close()

Syntax

File[Index].Close()

Beschreibung

Mit dieser Methode wird eine bereits geöffnete Datei geschlossen. Somit wird das entsprechende Dateihandle wieder freigegeben und alle Änderungen werden endgültig übernommen. Je nach Betriebssystem und Hardware wäre es denkbar, dass Schreibzugriffe nicht sofort ihre Wirkung erzielen und erst nach einem Aufruf der Close()-Methode geschrieben werden; daher ist der Aufruf dieser Funktion am Ende (von da an, wo man die Datei nicht mehr geöffnet benötigt) unbedingt notwendig.
Information:
Ein bereits geschlossenes Dateihandle zu schließen birgt keine Probleme.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Datei "Test.txt" über das erste Dateihandle zum Schreiben öffnen (hierbei wird die Datei ggf. erstellt)
File[0].Open("Test.txt", FILE_WRITE);
// Den Inhalt der Datei leeren (falls welcher vorhanden ist)
File[0].Truncate();
// Das Wort "Hallo" in die Datei schreiben
File[0].WriteRawData("Hallo");
// Die Datei "Test.txt" wieder schließen
File[0].Close();

Siehe auch

File, File[].Open(), File[].Truncate(), File[].WriteRawData()
< Zurück
Objekt: File[]
Weiter >
Methode: File[].GetFilePointer()

Methode: File[].Close()


File[].GetFilePointer()

Methode: File[].GetFilePointer()

Syntax

File[Index].GetFilePointer()

Beschreibung

Mit dieser Methode kann die aktuelle Lese-/Schreibposition des internen Dateizeigers ermittelt werden.

Liste der Parameter

Rückgabewert

Datentyp: | dword
Wertebereich: | 0 ... File[].Length()
Beschreibung: | Die aktuelle Lese-/Schreibposition des internen Dateizeigers. Diese liegt im Bereich von 0 (für den Dateianfang) bis File[].Length() (für das Ende der Datei, wo keine Daten mehr stehen).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
$
// Die Datei "Test.txt" über das erste Dateihandle zum Schreiben öffnen (hierbei wird die Datei ggf. erstellt)
File[0].Open("Test.txt", FILE_WRITE);
// Den Inhalt der Datei leeren (falls welcher vorhanden ist)
File[0].Truncate();
// Den aktuellen, internen Dateizeiger des ersten Datiehandles in v[1] speichern
v[1] = File[0].GetFilePointer();  // = 0, da der Dateizeiger am Anfang der Datei steht
// Das Wort "Hallo" in die Datei schreiben
File[0].WriteRawData("Hallo");
// Den aktuellen, internen Dateizeiger des ersten Datiehandles in v[2] speichern
v[2] = File[0].GetFilePointer();  // = 5, da nach dem Schreiben der interne Dateizeiger um 5 verschoben wurde
// Den aktuellen, internen Dateizeiger des ersten Dateihandles auf 2 setzen
File[0].SetFilePointer(2);
// Den Inhalt des ersten Dateihandles ab dem internen Dateizeiger abschneiden
File[0].Truncate();
// Die aktuelle Länge der Datei in v[3] speichern
v[3] = File[0].Length();          // = 2, da die Datei ab dem internen Dateizeiger mit Position 2 abgeschnitten wurde
// Die Datei "Test.txt" wieder schließen
File[0].Close();

Mögliche Fehler

DESTINYERROR_CANTACCESSFILE, DESTINYERROR_FILENOTOPEN

Siehe auch

File, File[].Open(), File[].WriteRawData(), File[].SetFilePointer(), File[].Length(), File[].Truncate(), File[].Close()
< Zurück
Methode: File[].Close()
Weiter >
Methode: File[].Length()

Methode: File[].GetFilePointer()


File[].Length()

Methode: File[].Length()

Syntax

File[Index].Length()

Beschreibung

Mit dieser Methode kann die aktuelle Länge der Datei ermittelt werden.

Liste der Parameter

Rückgabewert

Datentyp: | dword
Beschreibung: | Die aktuelle Länge der Datei. Dieser Wert kann sich zur Laufzeit erhöhen, wenn ans Ende der Datei geschrieben wird.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Die Datei "Test.txt" über das erste Dateihandle zum Schreiben öffnen (hierbei wird die Datei ggf. erstellt)
File[0].Open("Test.txt", FILE_WRITE);
// Den Inhalt der Datei leeren (falls welcher vorhanden ist)
File[0].Truncate();
// Das Wort "Hallo" in die Datei schreiben
File[0].WriteRawData("Hallo");
// Die aktuelle Länge der Datei ermitteln und in v[1] speichern
v[1] = File[0].Length();           // = 5, da "Hallo" fünf Zeichen lang ist
// Die Datei "Test.txt" wieder schließen
File[0].Close();

Mögliche Fehler

DESTINYERROR_CANTACCESSFILE, DESTINYERROR_FILENOTOPEN

Siehe auch

File, File[].Open(), File[].WriteRawData(), File[].Truncate(), File[].Close()
< Zurück
Methode: File[].GetFilePointer()
Weiter >
Methode: File[].Open()

Methode: File[].Length()


File[].Open()

Methode: File[].Open()

Syntax

File[Index].Open(Dateiname, Modus)

Beschreibung

Mit dieser Methode wird eine Datei zum Lesen/Schreiben geöffnet. Wird eine Datei zum Schreiben geöffnet und diese existiert noch nicht, dann wird diese erstellt. Wird eine Datei nur zum Lesen geöffnet und diese existiert noch nicht, dann wird beim Öffnen ein Fehler ausgelöst. Bei dem Parameter "Dateiname" wird der Dateiname mit relativem Pfad zum Spielverzeichnis angegeben. Der Parameter "Modus" gibt an, ob die Datei zum Lesen oder Schreiben geöffnet werden soll. Hierfür können die Dateimodus-Konstanten verwendet werden. Nachdem eine Datei geöffnet wurde und alle nötigen Daten gelesen/geschrieben worden sind, dann muss die Datei am Ende auf jeden Fall wieder mit der Close-Methode geschlossen werden. Geschieht dies nicht, dann steht für spätere Dateizugriffe evtl. kein freies Dateihandle zur Verfügung.

Liste der Parameter

Parameter: Dateiname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen (inklusive relativen Pfad) der Datei an, welche geöffnet werden soll. Für die Einschränkungen des Dateinamens gelten die üblichen Einschränkungen für Dateinamen von Microsoft. So dürfen die Sonderzeichen \ / : ? * " < > | nicht im Dateinamen vorkommen (Slash und Backslash sind hierbei allerdings für die Angabe von Unterverzeichnissen zulässig). Ebenfalls dürfen rechts vom Dateinamen keine Leerzeichen vorkommen. Es dürfen nur Dateien im Spielverzeichnis (sowie Unterverzeichnissen) geöffnet werden. Zugriffe außerhalb des Spielverzeichnisses sind unzulässig!

Parameter: Modus

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... 7
Beschreibung: | Gibt an, ob eine Datei zum Lesen oder Schreiben geöffnet werden soll. Hierfür können die Dateimodus-Konstanten verwendet werden. Soll die Datei zum Lesen und Schreiben geöffnet werden, dann können die Dateimodus-Konstanten mit dem binären ODER-Operator kombiniert werden (z. B. FILE_READ | FILE_WRITE). Wird eine Datei im Append-Modus geöffnet, dann wird der Dateimodus automatisch mit dem Schreibmodus kombiniert.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Datei "Test.txt" über das erste Dateihandle zum Schreiben öffnen (hierbei wird die Datei ggf. erstellt)
File[0].Open("Test.txt", FILE_WRITE);
// Den Inhalt der Datei leeren (falls welcher vorhanden ist)
File[0].Truncate();
// Das Wort "Hallo" in die Datei schreiben
File[0].WriteRawData("Hallo");
// Die Datei "Test.txt" wieder schließen
File[0].Close();

Mögliche Fehler

DESTINYERROR_NOFREEFILEHANDLE, DESTINYERROR_CANTRESOLVEPATH, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTOPENFILE, DESTINYERROR_MEMORY, DESTINYERROR_VALUE

Siehe auch

File, File[].Truncate(), File[].WriteRawData(), File[].Close(), Directory.CreateDir(), Directory.Rename(), Directory.CopyFile(), Directory.DeleteFile()
< Zurück
Methode: File[].Length()
Weiter >
Methode: File[].ReadRawData()

Methode: File[].Open()


File[].ReadRawData()

Methode: File[].ReadRawData()

Syntax

File[Index].ReadRawData(Datentyp, [Länge])

Beschreibung

Mit dieser Methode werden Daten aus einer Datei eingelesen. Das entsprechende Dateihandle muss daher mit Lesezugriff geöffnet sein. Nachdem die Daten eingelesen worden sind, wird der interne Dateizeiger automatisch um die Anzahl der eingelesenen Bytes nach vorne verschoben.
Information:
Handelt es sich bei der Datei um eine Textdatei, dann sollten nur Strings eingelesen werden.

Liste der Parameter

Parameter: Datentyp

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... 7
Beschreibung: | Gibt den Datentyp an, der von dieser Methode zurückgegeben wird. Hierzu können die Datentyp-Konstanten verwendet werden.

Parameter: Länge

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Gibt die Anzahl der einzulesenden Bytes an. Die maximale Grenze der einzulesenden Bytes wird durch den Datentyp festgelegt. Wird hier 0 angegeben, dann wird die maximal mögliche Länge für den jeweiligen Datentypen eingelesen. Lediglich bei dem Datentyp String muss hier eine Länge angegeben werden. Werden hier weniger Bytes eingelesen, als der Datentyp eigentlich benötigt, dann werden die fehlenden Bytes mit NULL-Bytes aufgefüllt.

Rückgabewert

Datentyp: | scalar
Beschreibung: | Die eingelesenen Daten mit dem angegebenen Datentypen

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Die Datei "Test.txt" über das erste Dateihandle zum Lesen öffnen
File[0].Open("Test.txt", FILE_READ);
// Den gesamten Inhalt der Datei in a[1] einlesen
if(File[0].Length() > 0)
  a[1] = File[0].ReadRawData(TYPE_STRING, File[0].Length());
else
  a[1] = "";
endif;
// Die Datei "Test.txt" wieder schließen
File[0].Close();

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_VALUE, DESTINYERROR_CANTACCESSFILE, DESTINYERROR_FILENOTOPEN

Siehe auch

File, File[].Open(), File[].Length(), File[].Close()
< Zurück
Methode: File[].Open()
Weiter >
Methode: File[].SetFilePointer()

Methode: File[].ReadRawData()


File[].SetFilePointer()

Methode: File[].SetFilePointer()

Syntax

File[Index].SetFilePointer(Position, [Bezugspunkt])

Beschreibung

Mit dieser Methode kann die aktuelle Lese-/Schreibposition des internen Dateizeigers gesetzt werden.

Liste der Parameter

Parameter: Position

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... File[].Length()
Beschreibung: | Die neue Lese-/Schreibposition des internen Dateizeigers. Diese liegt im Bereich von 0 (für den Dateianfang) bis File[].Length() (für das Ende der Datei, wo keine Daten mehr stehen). Die Angabe erfolgt relativ zur Position des zweiten Parameters.

Parameter: Bezugspunkt

Datentyp: dword
Optional: ja
Standardwert: 0 (= FILEPOS_BEGIN)
Wertebereich: 0 ... 2
Beschreibung: Gibt den Bezugspunkt für den neuen internen Dateizeiger an. Hierzu werden die Dateipositionskonstanten verwendet:

Konstante | Beschreibung
FILEPOS_BEGIN | Die Positionsangabe bezieht sich auf den Anfang der Datei, wobei 0 als neue Position dem Dateianfang entspricht.
FILEPOS_CURRENT | Die Positionsangabe bezieht sich auf die aktuelle Position des internen Dateizeigers, wobei 0 als neue Position keine Änderung bewirkt.
FILEPOS_END | Die Positionsangabe bezieht sich auf das Ende der Datei, wobei 0 als neue Position dem Dateiende entspricht.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
$
// Die Datei "Test.txt" über das erste Dateihandle zum Lesen und Schreiben öffnen (hierbei wird die Datei ggf. erstellt)
File[0].Open("Test.txt", FILE_READ | FILE_WRITE);
// Den Inhalt der Datei leeren (falls welcher vorhanden ist)
File[0].Truncate();
// 12 Leerzeichen in die Datei schreiben
File[0].WriteRawData(String.Fill(" ", 12));
// Den internen Dateizeiger auf den Anfang der Datei setzen
File[0].SetFilePointer(0);
// Das Wort "Hallo" in die Datei schreiben
File[0].WriteRawData("Hallo");
// Den internen Dateizeiger um 1 nach vorne verschieben
File[0].SetFilePointer(1, FILEPOS_CURRENT);
// Das Wort "du" in die Datei schreiben
File[0].WriteRawData("du");
// Den internen Dateizeiger auf drei Zeichen vor dem Dateiende platzieren
File[0].SetFilePointer(-3, FILEPOS_END);
// Das Wort "da!" in die Datei schreiben
File[0].WriteRawData("da!");
// Den internen Dateizeiger auf den Dateianfang setzen
File[0].SetFilePointer(0);
// Den Inhalt der Datei einlesen und in a[1] speichern
a[1] = File[0].ReadRawData(TYPE_STRING, File[0].Length());  // "Hallo du da!"
// Die Datei "Test.txt" wieder schließen
File[0].Close();

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_CANTACCESSFILE, DESTINYERROR_FILENOTOPEN

Siehe auch

File, File[].Open(), File[].ReadRawData(), File[].WriteRawData(), File[].GetFilePointer(), File[].Length(), File[].Truncate(), File[].Close()
< Zurück
Methode: File[].ReadRawData()
Weiter >
Methode: File[].Truncate()

Methode: File[].SetFilePointer()


File[].Truncate()

Methode: File[].Truncate()

Syntax

File[Index].Truncate()

Beschreibung

Mit dieser Methode wird der hintere Teil der Datei (d. h. ab der Position des internen Dateizeigers) abgeschnitten. So kann zum Beispiel hiermit ein ganzer Dateiinhalt gelöscht werden, wenn der interne Dateizeiger auf den Anfang der Datei zeigt. Um den Inhalt einer Datei abzuschneiden, muss diese mit Schreibzugriff geöffnet sein.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die Datei "Test.txt" über das erste Dateihandle zum Schreiben öffnen (hierbei wird die Datei ggf. erstellt)
File[0].Open("Test.txt", FILE_WRITE);
// Den Inhalt der Datei leeren (falls welcher vorhanden ist)
File[0].Truncate();
// Die Datei "Test.txt" wieder schließen
File[0].Close();

Mögliche Fehler

DESTINYERROR_CANTACCESSFILE, DESTINYERROR_FILENOTOPEN

Siehe auch

File, File[].Open(), File[].Truncate(), File[].Close()
< Zurück
Methode: File[].SetFilePointer()
Weiter >
Methode: File[].WriteRawData()

Methode: File[].Truncate()


File[].WriteRawData()

Methode: File[].WriteRawData()

Syntax

File[Index].WriteRawData(Datenquelle, [Länge])

Beschreibung

Mit dieser Methode werden Daten in eine Datei geschrieben. Das entsprechende Dateihandle muss daher mit Schreibzugriff geöffnet sein. Nachdem die Daten geschrieben worden sind, wird der interne Dateizeiger automatisch um die Anzahl der geschriebenen Bytes nach vorne verschoben. Befinden sich an der Position des internen Dateizeigers schon Daten, so werden diese überschrieben. Werden Daten am Ende der Datei geschrieben, dann wird die Länge der Datei automatisch erhöht.
Information:
Handelt es sich bei der Datei um eine Textdatei, dann sollten nur Strings geschrieben werden.
Information:
Um Daten direkt ans Ende der Datei zu hängen, empfiehlt es sich diese mit dem Modus FILE_APPEND zu öffnen, da dann der interne Dateizeiger beim Öffnen automatisch ans Ende der Datei verschoben wird.

Liste der Parameter

Parameter: Datenquelle

Datentyp: | any
Optional: | nein
Beschreibung: | Gibt die Datenquelle an, dessen Inhalt in die Datei geschrieben werden soll.

Parameter: Länge

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Gibt die Anzahl der schreibenden Bytes an. Die maximale Grenze der zu schreibenden Bytes wird durch den Datentyp der Datenquelle festgelegt. Wird hier 0 angegeben, dann wird die maximal mögliche Länge für den jeweiligen Datentypen in die Datei geschrieben (dies gilt hier auch für Strings).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Die Datei "Test.txt" über das erste Dateihandle zum Schreiben öffnen (hierbei wird die Datei ggf. erstellt)
File[0].Open("Test.txt", FILE_WRITE);
// Den Inhalt der Datei leeren (falls welcher vorhanden ist)
File[0].Truncate();
// Das Wort "Hallo" in die Datei schreiben
File[0].WriteRawData("Hallo");
// Die Datei "Test.txt" wieder schließen
File[0].Close();

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_CANTACCESSFILE, DESTINYERROR_FILENOTOPEN

Siehe auch

File, File[].Open(), File[].Truncate(), File[].Close()
< Zurück
Methode: File[].Truncate()
Weiter >
Objekt: Game

Methode: File[].WriteRawData()


Game

Objekt: Game

Syntax

Game

Beschreibung

Mit dem Game-Objekt kann auf das aktuelle Spiel selbst (quasi die RPG_RT) zugegriffen werden. Neben der Information, ob es ein RPG-Maker 2000 oder 2003 Spiel ist, kann hier auch der aktuelle Spielstand gespeichert/geladen, sowie das Spiel beendet werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Load() | Methode | Lädt einen Spielstand aus einem Speicherslot
Quit() | Methode | Beendet das aktuelle Spiel
RM2K | Eigenschaft | Gibt an, ob es sich um ein RPG-Maker 2000 Spiel handelt
RM2K3 | Eigenschaft | Gibt an, ob es sich um ein RPG-Maker 2003 Spiel handelt
RM2000 | Eigenschaft | Gibt an, ob es sich um ein RPG-Maker 2000 Spiel handelt
RM2003 | Eigenschaft | Gibt an, ob es sich um ein RPG-Maker 2003 Spiel handelt
Save() | Methode | Speichert den aktuellen Spielstand in einen Speicherslot
SlotExists() | Methode | Prüft ob ein bestimmter Speicherslot existiert
< Zurück
Methode: File[].WriteRawData()
Weiter >
Methode: Game.Load()

Objekt: Game


Game.Load()

Methode: Game.Load()

Syntax

Game.Load(Slot)

Beschreibung

Mit der Load-Methode wird ein gespeicherter Spielstand aus einem bestimmten Speicherslot (= Datei auf der Festplatte) geladen. Die Datei des Speicherslots befindet sich im Spielverzeichnis und trägt standardmäßig den Namen SaveXX.lsd, wobei XX durch den Slot im zweistelligen Format zu ersetzen ist. Die Speicherbereiche (a, d, f, ...) der Destiny.dll werden hiermit nicht geladen. Um die Speicherbereiche der Destiny.dll zu laden kann die Load()-Methode des Destiny-Objekts genutzt werden. Sollte im entsprechenden Speicherslot kein Spielstand gespeichert sein (oder kann dieser nicht geöffnet werden), so wird ein Fehler ausgelöst. Hierbei wird jedoch nicht die Gültigkeit der gespeicherten Daten geprüft.
Information:
Sollte der Speicherslot defekt sein, dann wird das Spiel beim Laden seitens der RPG_RT abstürzen. Dies lässt sich nicht verhindern, da zur Laufzeit nur ein Spielstand geladen sein kann. Selbst wenn beim Versuch einen defekten Speicherstand zu laden das Spiel nicht abstürzen würde, so wäre dennoch der aktuelle Spielstand (vor dem Laden) schon längst verloren gegangen. Aber durch die Überprüfung auf die existierende Speicherslot-Datei sind schon die meisten möglichen Fehler erschlagen.
Information:
Der Spielstand wird, sofern er existiert und geöffnet werden kann, erst nach der Beendigung des aktuellen DestinySkripts geladen. DestinySkript-Befehle, die ggf. hinter dem Game.Load()-Befehl stehen werden also noch ausgeführt, bevor der Speicherstand geladen wird.

Liste der Parameter

Parameter: Slot

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Gibt die Nummer des Speicherslots an

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Prüfen ob der erste Speicherslot existiert und ggf. den Speicherstand laden
if(Game.SlotExists(1))
  Game.Load(1);
endif;

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_CANTACCESSSAVESLOT

Siehe auch

Game, Game.Save(), Game.SlotExists(), Destiny.Load()
< Zurück
Objekt: Game
Weiter >
Methode: Game.Quit()

Methode: Game.Load()


Game.Quit()

Methode: Game.Quit()

Syntax

Game.Quit()

Beschreibung

Beendet das aktuelle Spiel und kehrt zum Betriebssystem (meist Windows) zurück.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das aktuelle Spiel beenden Game.Quit();

Siehe auch

Game, Command.TitleScreen(), Command.GameOver()
< Zurück
Methode: Game.Load()
Weiter >
Eigenschaft: Game.RM2K

Methode: Game.Quit()


Game.RM2K

Eigenschaft: Game.RM2K

Syntax

Game.RM2K

Beschreibung

Mit der RM2K-Eigenschaft kann überprüft werden, ob es sich um ein RPG-Maker 2000 Spiel handelt. In möglicherweise zukünftigen Version des DestinyPatches könnten Methoden/Eigenschaften zur Verfügung stehen, die nur beim RPG-Maker 2003 gültig sind. Daher ist diese Eigenschaft eingeführt worden, um in Skripten leicht unterscheiden zu können, welche Art von RPG_RT das Spiel verwendet.

Zum Wert dieser Eigenschaft gilt folgendes:

Wert | Beschreibung
False | Das Spiel ist ein RPG-Maker 2003 Spiel
True | Das Spiel ist ein RPG-Maker 2000 Spiel

Synonyme

  • RM2000

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Prüfen, ob das Spiel ein RPG-Maker 2000 Spiel ist und das Ergebnis in s[1] speichern s[1] = Game.RM2K;
Game, Game.RM2K3
< Zurück
Methode: Game.Quit()
Weiter >
Eigenschaft: Game.RM2K3

Eigenschaft: Game.RM2K


Game.RM2K3

Eigenschaft: Game.RM2K3

Syntax

Game.RM2K3

Beschreibung

Mit der RM2K3-Eigenschaft kann überprüft werden, ob es sich um ein RPG-Maker 2003 Spiel handelt. In möglicherweise zukünftigen Version des DestinyPatches könnten Methoden/Eigenschaften zur Verfügung stehen, die nur beim RPG-Maker 2003 gültig sind. Daher ist diese Eigenschaft eingeführt worden, um in Skripten leicht unterscheiden zu können, welche Art von RPG_RT das Spiel verwendet.

Zum Wert dieser Eigenschaft gilt folgendes:

Wert | Beschreibung
False | Das Spiel ist ein RPG-Maker 2000 Spiel
True | Das Spiel ist ein RPG-Maker 2003 Spiel

Synonyme

  • RM2003

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Prüfen, ob das Spiel ein RPG-Maker 2003 Spiel ist und das Ergebnis in s[1] speichern s[1] = Game.RM2K3;
Game, Game.RM2K
< Zurück
Eigenschaft: Game.RM2K
Weiter >
Methode: Game.Save()

Eigenschaft: Game.RM2K3


Game.Save()

Methode: Game.Save()

Syntax

Game.Save(Slot)

Beschreibung

Mit der Save-Methode wird der aktuelle Spielstand in einem bestimmten Speicherslot (= Datei auf der Festplatte) gespeichert. Die Datei des Speicherslots befindet sich im Spielverzeichnis und trägt standardmäßig den Namen SaveXX.lsd, wobei XX durch den Speicherslot im zweistelligen Format zu ersetzen ist. Die Speicherbereiche (a, d, f, ...) der Destiny.dll werden hiermit nicht abgespeichert. Um die Speicherbereiche der Destiny.dll zu speichern kann die Save()-Methode des Destiny-Objekts genutzt werden. Sollte das Spiel nicht gespeichert werden können, so wird ein Fehler ausgelöst.

Liste der Parameter

Parameter: Slot

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Gibt die Nummer des Speicherslots an

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den aktuellen Spielstand im ersten Slot speichern Game.Save(1);

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_CANTACCESSSAVESLOT

Siehe auch

Game, Game.Load(), Game.SlotExists(), Destiny.Save()
< Zurück
Eigenschaft: Game.RM2K3
Weiter >
Methode: Game.SlotExists()

Methode: Game.Save()


Game.SlotExists()

Methode: Game.SlotExists()

Syntax

Game.SlotExists(Slot)

Beschreibung

Mit der SlotExists-Methode wird geprüft, ob ein bestimmter Speicherslot (= Datei auf der Festplatte) existiert und geöffnet werden kann. Die Datei des Speicherslots befindet sich im Spielverzeichnis und trägt standardmäßig den Namen SaveXX.lsd, wobei XX durch den Slot im zweistelligen Format zu ersetzen ist.
Information:
In dieser Methode wird nur geprüft, ob der Speicherslot existiert und geöffnet werden kann. Hierbei wird jedoch nicht geprüft, ob die Daten in dem Speicherslot gültig sind.

Liste der Parameter

Parameter: Slot

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1
Beschreibung: | Gibt die Nummer des Speicherslots an

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Prüfen ob der erste Speicherslot existiert und ggf. den Speicherstand laden
if(Game.SlotExists(1))
  Game.Load(1);
endif;

Mögliche Fehler

DESTINYERROR_VALUE, DESTINYERROR_CANTACCESSSAVESLOT

Siehe auch

Game, Game.Load(), Game.SlotExists()
< Zurück
Methode: Game.Save()
Weiter >
Objekt: Item

Methode: Game.SlotExists()


Item

Objekt: Item

Syntax

Item

Beschreibung

Das Item-Objekt dient dazu alle Eigenschaften eines Items (Gegenstand, Ausrüstung, ...) zusammenzufassen. Allgemeine Eigenschaften sind dabei unter der Kategorie Allgemein zusammengefasst. Spezielle Eigenschaften (welche z. B. nur für Waffen gelten) sind in einem entsprechenden Unterobjekt zusammengefasst. Um zu entscheiden, um was für eine Sorte von Items es sich handelt muss die Type-Eigenschaft verwendet werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Gibt die Anzahl der Items zurück
[] | Objekt | Beinhaltet eine Liste aller Items
Allgemein | Kategorie | Fasst alle Eigenschaften eines Items zusammen, die für alle Item-Typen zählen
Agility | Eigenschaft | Der Beweglichkeitswert des Items
Attack | Eigenschaft | Der Angriffswert des Items
ConditionChance | Eigenschaft | Gibt die Chance des Items an die Konditionen zu verändern
Cost | Eigenschaft | Der Preis eines Items
Defense | Eigenschaft | Der Verteidigungswert des Items
Description | Eigenschaft | Der Beschreibungstext eines Items
HasAttribute() | Methode | Überprüft ob das Item einen bestimmten Attributwert aufweist
HasCondition() | Methode | Überprüft ob das Item einen bestimmten Konditionswert aufweist
Mind | Eigenschaft | Der Intelligenzwert des Items
Name | Eigenschaft | Der Name eines Items
NumberOfUses | Eigenschaft | Die maximale Anzahl der Benutzungen des Items
Type | Eigenschaft | Der Typ eines Items
UsableByActor() | Methode | Überprüft ob ein bestimmter Held dieses Item verwenden kann
Material | Objekt | Beinhaltet alle materialspezifischen Eigenschaften eines Items
AgilityDiff | Eigenschaft | Veränderung der maximalen Beweglichkeitspunkte des Materials
AttackDiff | Eigenschaft | Veränderung der maximalen Angriffspunkte des Materials
DefenseDiff | Eigenschaft | Veränderung der maximalen Verteidigungspunkte des Materials
MaxHpDiff | Eigenschaft | Veränderung der maximalen Lebenspunkte des Materials
MaxMpDiff | Eigenschaft | Veränderung der maximalen Magiepunkte des Materials
MindDiff | Eigenschaft | Veränderung der maximalen Intelligenzpunkte des Materials
Medicine | Objekt | Beinhaltet alle medizinspezifischen Eigenschaften eines Items
EffectiveOnlyOnDeathHeroes | Eigenschaft | "Nur bei toten Helden benutzbar"-Eigenschaft der Medizin
PercentRecoveryHp | Eigenschaft | HP-Prozentheilung der Medizin
PercentRecoveryMp | Eigenschaft | MP-Prozentheilung der Medizin
PointRecoveryHp | Eigenschaft | HP-Punktheilung der Medizin
PointRecoveryMp | Eigenschaft | MP-Punktheilung der Medizin
Scope | Eigenschaft | Wirkungsbereich der Medizin
UseOnFieldOnly | Eigenschaft | "Nur auf der Karte benutzbar"-Eigenschaft der Medizin
Protection | Objekt | Beinhaltet alle rüstungsspezifischen Eigenschaften eines Items
AvoidPhysicalAttack | Eigenschaft | "Physische Angriffe verhindern"-Eigenschaft der Rüstung
HalfMp | Eigenschaft | "MP halbieren"-Eigenschaft der Rüstung
PreventCriticalHit | Eigenschaft | Chance einen kritischen Treffer zu verhindern der Rüstung
PreventTerrainDamage | Eigenschaft | "Terrainschaden verhindern"-Eigenschaft der Rüstung
Scroll | Objekt | Beinhaltet alle technikspezifischen Eigenschaften eines Items
ShowUseMessage | Eigenschaft | Gibt an ob beim Gebrauch eine Item-benutzen Nachricht erscheint
Skill | Eigenschaft | Die Skill-Id der entsprechenden Technik
Switch | Objekt | Bündelt alle schalterspezifischen Eigenschaften eines Items
AvailableOnBattle | Eigenschaft | "Verfügbar im Kampf"-Eigenschaft des Schalters
AvailableOnField | Eigenschaft | "Verfügbar auf Karte"-Eigenschaft des Schalters
Switch | Eigenschaft | Die Switch-Id des entsprechenden Schalters
Weapon | Objekt | Bündelt alle waffenspezifischen Eigenschaften eines Items
AttackAllEnemies | Eigenschaft | "Alle Gegner angreifen"-Eigenschaft einer Waffe
AttackTwice | Eigenschaft | Doppelangriff-Eigenschaft einer Waffe
BattleAnimation | Eigenschaft | Die BattleAnimation-Id einer Waffe
CriticalHitChance | Eigenschaft | Die Trefferquote für kritische Treffer einer Waffe
HitChance | Eigenschaft | Die Trefferquote einer Waffe
IgnoreMonsterEvasion | Eigenschaft | "Gegner können nicht Ausweichen"-Eigenschaft einer Waffe
MpCost | Eigenschaft | Die MP-Kosten einer Waffe
PreemptiveAttack | Eigenschaft | "Bevorzugter Angriff"-Eigenschaft einer Waffe
TwoHanded | Eigenschaft | Die Zweihänder-Eigenschaft einer Waffe
< Zurück
Methode: Game.SlotExists()
Weiter >
Eigenschaft: Item.Count

Objekt: Item


Item.Count

Eigenschaft: Item.Count

Syntax

Item.Count

Beschreibung

Gibt die Anzahl der Items zurück. Diese Eigenschaft wird in der Regel dazu benutzt eine Schleife über alle Items laufen zu lassen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Liste aller Item-Namen in a[1] erstellen
a[1] = "";
for(v[1] = 1; v[1] < Item.Count; v[1]++)
  a[1] ..= Item[v[1]].Name .. CRLF;
next;
< Zurück
Objekt: Item
Weiter >
Objekt: Item[]

Eigenschaft: Item.Count


Item[]

Objekt: Item[]

Syntax

Item[Item-Id]

Beschreibung

Das Item-Objekt dient dazu alle Eigenschaften eines Items (Gegenstand, Ausrüstung, ...) zusammenzufassen. Allgemeine Eigenschaften sind dabei unter der Kategorie Allgemein zusammengefasst. Spezielle Eigenschaften (welche z. B. nur für Waffen gelten) sind in einem entsprechenden Unterobjekt zusammengefasst. Um zu entscheiden, um was für eine Sorte von Items es sich handelt muss die Type-Eigenschaft verwendet werden.

Liste der Parameter

Parameter: Item-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Item.Count
Beschreibung: | Die Id des Items, welche aus der Spieldatenbank entnommen werden kann. Diese muss im Bereich von 1 ... Item.Count liegen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Allgemein | Kategorie | Fasst alle Eigenschaften eines Items zusammen, die für alle Item-Typen zählen
Agility | Eigenschaft | Der Beweglichkeitswert des Items
Attack | Eigenschaft | Der Angriffswert des Items
ConditionChance | Eigenschaft | Gibt die Chance des Items an die Konditionen zu verändern
Cost | Eigenschaft | Der Preis eines Items
Defense | Eigenschaft | Der Verteidigungswert des Items
Description | Eigenschaft | Der Beschreibungstext eines Items
HasAttribute() | Methode | Überprüft ob das Item einen bestimmten Attributwert aufweist
HasCondition() | Methode | Überprüft ob das Item einen bestimmten Konditionswert aufweist
Mind | Eigenschaft | Der Intelligenzwert des Items
Name | Eigenschaft | Der Name eines Items
NumberOfUses | Eigenschaft | Die maximale Anzahl der Benutzungen des Items
Type | Eigenschaft | Der Typ eines Items
UsableByActor() | Methode | Überprüft ob ein bestimmter Held dieses Item verwenden kann
Material | Objekt | Beinhaltet alle materialspezifischen Eigenschaften eines Items
AgilityDiff | Eigenschaft | Veränderung der maximalen Beweglichkeitspunkte des Materials
AttackDiff | Eigenschaft | Veränderung der maximalen Angriffspunkte des Materials
DefenseDiff | Eigenschaft | Veränderung der maximalen Verteidigungspunkte des Materials
MaxHpDiff | Eigenschaft | Veränderung der maximalen Lebenspunkte des Materials
MaxMpDiff | Eigenschaft | Veränderung der maximalen Magiepunkte des Materials
MindDiff | Eigenschaft | Veränderung der maximalen Intelligenzpunkte des Materials
Medicine | Objekt | Beinhaltet alle medizinspezifischen Eigenschaften eines Items
EffectiveOnlyOnDeathHeroes | Eigenschaft | "Nur bei toten Helden benutzbar"-Eigenschaft der Medizin
PercentRecoveryHp | Eigenschaft | HP-Prozentheilung der Medizin
PercentRecoveryMp | Eigenschaft | MP-Prozentheilung der Medizin
PointRecoveryHp | Eigenschaft | HP-Punktheilung der Medizin
PointRecoveryMp | Eigenschaft | MP-Punktheilung der Medizin
Scope | Eigenschaft | Wirkungsbereich der Medizin
UseOnFieldOnly | Eigenschaft | "Nur auf der Karte benutzbar"-Eigenschaft der Medizin
Protection | Objekt | Beinhaltet alle rüstungsspezifischen Eigenschaften eines Items
AvoidPhysicalAttack | Eigenschaft | "Physische Angriffe verhindern"-Eigenschaft der Rüstung
HalfMp | Eigenschaft | "MP halbieren"-Eigenschaft der Rüstung
PreventCriticalHit | Eigenschaft | Chance einen kritischen Treffer zu verhindern der Rüstung
PreventTerrainDamage | Eigenschaft | "Terrainschaden verhindern"-Eigenschaft der Rüstung
Scroll | Objekt | Beinhaltet alle technikspezifischen Eigenschaften eines Items
ShowUseMessage | Eigenschaft | Gibt an ob beim Gebrauch eine Item-benutzen Nachricht erscheint
Skill | Eigenschaft | Die Skill-Id der entsprechenden Technik
Switch | Objekt | Bündelt alle schalterspezifischen Eigenschaften eines Items
AvailableOnBattle | Eigenschaft | "Verfügbar im Kampf"-Eigenschaft des Schalters
AvailableOnField | Eigenschaft | "Verfügbar auf Karte"-Eigenschaft des Schalters
Switch | Eigenschaft | Die Switch-Id des entsprechenden Schalters
Weapon | Objekt | Bündelt alle waffenspezifischen Eigenschaften eines Items
AttackAllEnemies | Eigenschaft | "Alle Gegner angreifen"-Eigenschaft einer Waffe
AttackTwice | Eigenschaft | Doppelangriff-Eigenschaft einer Waffe
BattleAnimation | Eigenschaft | Die BattleAnimation-Id einer Waffe
CriticalHitChance | Eigenschaft | Die Trefferquote für kritische Treffer einer Waffe
HitChance | Eigenschaft | Die Trefferquote einer Waffe
IgnoreMonsterEvasion | Eigenschaft | "Gegner können nicht Ausweichen"-Eigenschaft einer Waffe
MpCost | Eigenschaft | Die MP-Kosten einer Waffe
PreemptiveAttack | Eigenschaft | "Bevorzugter Angriff"-Eigenschaft einer Waffe
TwoHanded | Eigenschaft | Die Zweihänder-Eigenschaft einer Waffe

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Item.Count
Weiter >
Kategorie: Allgemein

Objekt: Item[]


Item[]--cat_Common

Kategorie: Allgemein

Beschreibung

Die Kategorie Allgemein fasst alle Eigenschaften eines Items zusammen, die für jeden Item-Typ zählen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Agility | Eigenschaft | Der Beweglichkeitswert des Items
Attack | Eigenschaft | Der Angriffswert des Items
ConditionChance | Eigenschaft | Gibt die Chance des Items an die Konditionen zu verändern
Cost | Eigenschaft | Der Preis eines Items
Defense | Eigenschaft | Der Verteidigungswert des Items
Description | Eigenschaft | Der Beschreibungstext eines Items
HasAttribute() | Methode | Überprüft ob das Item einen bestimmten Attributwert aufweist
HasCondition() | Methode | Überprüft ob das Item einen bestimmten Konditionswert aufweist
Mind | Eigenschaft | Der Intelligenzwert des Items
Name | Eigenschaft | Der Name eines Items
NumberOfUses | Eigenschaft | Die maximale Anzahl der Benutzungen des Items
Type | Eigenschaft | Der Typ eines Items
UsableByActor() | Methode | Überprüft ob ein bestimmter Held dieses Item verwenden kann
< Zurück
Objekt: Item[]
Weiter >
Eigenschaft: Item[].Agility

Kategorie: Allgemein


Item[].Agility

Eigenschaft: Item[].Agility

Syntax

Item[Item-Id].Agility

Beschreibung

Mit der Agility-Eigenschaft kann der Wert ermittelt werden, um den der Beweglichkeitswert des Helden verändert wird, sofern dieses Item benutzt wird. Der Wert dieser Eigenschaft ist teilweise vom Item-Typ abhängig. So gibt es beispielsweise Item-Typen (z. B. Switch) bei denen der Wert dieser Eigenschaft ungültig ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Kategorie: Allgemein
Weiter >
Eigenschaft: Item[].Attack

Eigenschaft: Item[].Agility


Item[].Attack

Eigenschaft: Item[].Attack

Syntax

Item[Item-Id].Attack

Beschreibung

Mit der Attack-Eigenschaft kann der Wert ermittelt werden, um den der Angriffswert des Helden verändert wird, sofern dieses Item benutzt wird. Der Wert dieser Eigenschaft ist teilweise vom Item-Typ abhängig. So gibt es beispielsweise Item-Typen (z. B. Switch) bei denen der Wert dieser Eigenschaft ungültig ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Agility
Weiter >
Eigenschaft: Item[].ConditionChance

Eigenschaft: Item[].Attack


Item[].ConditionChance

Eigenschaft: Item[].ConditionChance

Syntax

Item[Item-Id].ConditionChance

Beschreibung

Gibt die Chance an, dass der Gebrauch des Items die Konditionen dieses Items verursacht oder heilt. Die genaue Bedeutung ist vom Item-Typ abhängig.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Attack
Weiter >
Eigenschaft: Item[].Cost

Eigenschaft: Item[].ConditionChance


Item[].Cost

Eigenschaft: Item[].Cost

Syntax

Item[Item-Id].Cost

Beschreibung

Mit der Cost-Eigenschaft kann der Einkaufspreis eines Items ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].ConditionChance
Weiter >
Eigenschaft: Item[].Defense

Eigenschaft: Item[].Cost


Item[].Defense

Eigenschaft: Item[].Defense

Syntax

Item[Item-Id].Defense

Beschreibung

Mit der Defense-Eigenschaft kann der Wert ermittelt werden, um den der Verteidigungswert des Helden verändert wird, sofern dieses Item benutzt wird. Der Wert dieser Eigenschaft ist teilweise vom Item-Typ abhängig. So gibt es beispielsweise Item-Typen (z. B. Switch) bei denen der Wert dieser Eigenschaft ungültig ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Cost
Weiter >
Eigenschaft: Item[].Description

Eigenschaft: Item[].Defense


Item[].Description

Eigenschaft: Item[].Description

Syntax

Item[Item-Id].Description

Beschreibung

Mit der Description-Eigenschaft kann der Beschreibungstext zu dem Item ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Defense
Weiter >
Methode: Item[].HasAttribute()

Eigenschaft: Item[].Description


Item[].HasAttribute()

Methode: Item[].HasAttribute()

Syntax

Item[Item-Id].HasAttribute(AttributeId)

Beschreibung

Mit der HasAttribute-Methode kann geprüft werden, ob ein Item einen bestimmten Attribut-Wert aufweist (True) oder nicht (False).

Liste der Parameter

Parameter: AttributeId

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id des zu prüfenden Attributs.

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt an, ob das Item über das Attribut verfügt oder nicht.

Mögliche Fehler

DESTINYERROR_VALUE
< Zurück
Eigenschaft: Item[].Description
Weiter >
Methode: Item[].HasCondition()

Methode: Item[].HasAttribute()


Item[].HasCondition()

Methode: Item[].HasCondition()

Syntax

Item[Item-Id].HasCondition(ConditionId)

Beschreibung

Mit der HasCondition-Methode kann geprüft werden, ob ein Item einen bestimmten Konditions-Wert aufweist (True) oder nicht (False).

Liste der Parameter

Parameter: ConditionId

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id der zu prüfenden Kondition.

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt an, ob das Item über die Kondition verfügt oder nicht.

Mögliche Fehler

DESTINYERROR_VALUE
< Zurück
Methode: Item[].HasAttribute()
Weiter >
Eigenschaft: Item[].Mind

Methode: Item[].HasCondition()


Item[].Mind

Eigenschaft: Item[].Mind

Syntax

Item[Item-Id].Mind

Beschreibung

Mit der Mind-Eigenschaft kann der Wert ermittelt werden, um den der Intelligenzwert des Helden verändert wird, sofern dieses Item benutzt wird. Der Wert dieser Eigenschaft ist teilweise vom Item-Typ abhängig. So gibt es beispielsweise Item-Typen (z. B. Switch) bei denen der Wert dieser Eigenschaft ungültig ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Methode: Item[].HasCondition()
Weiter >
Eigenschaft: Item[].Name

Eigenschaft: Item[].Mind


Item[].Name

Eigenschaft: Item[].Name

Syntax

Item[Item-Id].Name

Beschreibung

Mit der Name-Eigenschaft kann der Name eines Items ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Mind
Weiter >
Eigenschaft: Item[].NumberOfUses

Eigenschaft: Item[].Name


Item[].NumberOfUses

Eigenschaft: Item[].NumberOfUses

Syntax

Item[Item-Id].NumberOfUses

Beschreibung

Mit der NumberOfUses-Eigenschaft kann ermittelt werden, wie oft ein Item maximal verwendet werden kann. Hat diese Eigenschaft den Wert der INFINITE_USES-Konstante, dann bedeutet dies, dass ein Item unendlich oft verwendet werden kann.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Name
Weiter >
Eigenschaft: Item[].Type

Eigenschaft: Item[].NumberOfUses


Item[].Type

Eigenschaft: Item[].Type

Syntax

Item[Item-Id].Type

Beschreibung

Mit der Type-Eigenschaft kann der Typ eines Items ermittelt werden. Um diesen Wert zu Identifizieren können die ItemType-Konstanten verwendet werden.
  • Ist der Wert dieser Eigenschaft ITEMTYPE_COMMON, so sind nur die Eigenschaften der Kategorie Allgemein gültig.
  • Ist der Wert dieser Eigenschaft ITEMTYPE_WEAPON, so sind zu den Eigenschaften der Kategorie Allgemein auch die Eigenschaften des untergeordneten Objektes Weapon gültig.
  • Ist der Wert dieser Eigenschaft ITEMTYPE_SHIELD, ITEMTYPE_ARMOR, ITEMTYPE_HELMET oder ITEMTYPE_ACCESSORY, so sind zu den Eigenschaften der Kategorie Allgemein auch die Eigenschaften des untergeordneten Objektes Protection gültig.
  • Ist der Wert dieser Eigenschaft ITEMTYPE_MEDICINE, so sind zu den Eigenschaften der Kategorie Allgemein auch die Eigenschaften des untergeordneten Objektes Medicine gültig.
  • Ist der Wert dieser Eigenschaft ITEMTYPE_BOOK oder ITEMTYPE_UNIQUE, so sind zu den Eigenschaften der Kategorie Allgemein auch die Eigenschaften des untergeordneten Objektes Scroll gültig.
  • Ist der Wert dieser Eigenschaft ITEMTYPE_MATERIAL, so sind zu den Eigenschaften der Kategorie Allgemein auch die Eigenschaften des untergeordneten Objektes Material gültig.
  • Ist der Wert dieser Eigenschaft ITEMTYPE_SWITCH, so sind zu den Eigenschaften der Kategorie Allgemein auch die Eigenschaften des untergeordneten Objektes Switch gültig.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].NumberOfUses
Weiter >
Methode: Item[].UsableByActor()

Eigenschaft: Item[].Type


Item[].UsableByActor()

Methode: Item[].UsableByActor()

Syntax

Item[Item-Id].UsableByActor(ActorId)

Beschreibung

Mit der UsableByActor-Eigenschaft kann geprüft werden, ob das jeweilige Item von dem angegebenen Helden verwendet werden kann (True) oder nicht (False).

Liste der Parameter

Parameter: ActorId

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Id des zu prüfenden Helden.

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt an, ob der Held das Item benutzen kann (True) oder nicht (False)

Mögliche Fehler

DESTINYERROR_VALUE
< Zurück
Eigenschaft: Item[].Type
Weiter >
Objekt: Item[].Material

Methode: Item[].UsableByActor()


Item[].Material

Objekt: Item[].Material

Syntax

Item[Item-Id].Material

Beschreibung

Das Material-Objekt bündelt alle materialspezifischen Eigenschaften des Item-Objekts zusammen. Die Werte dieses Objekts sind nur dann gültig, wenn das Item auch ein Material ist. Mit Material sind permanent attributverändernde Gegenstände gemeint.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AgilityDiff | Eigenschaft | Veränderung der maximalen Beweglichkeitspunkte des Materials
AttackDiff | Eigenschaft | Veränderung der maximalen Angriffspunkte des Materials
DefenseDiff | Eigenschaft | Veränderung der maximalen Verteidigungspunkte des Materials
MaxHpDiff | Eigenschaft | Veränderung der maximalen Lebenspunkte des Materials
MaxMpDiff | Eigenschaft | Veränderung der maximalen Magiepunkte des Materials
MindDiff | Eigenschaft | Veränderung der maximalen Intelligenzpunkte des Materials
< Zurück
Methode: Item[].UsableByActor()
Weiter >
Eigenschaft: Item[].Material.AgilityDiff

Objekt: Item[].Material


Item[].Material.AgilityDiff

Eigenschaft: Item[].Material.AgilityDiff

Syntax

Item[Item-Id].Material.AgilityDiff

Beschreibung

Mit der AgilityDiff-Eigenschaft kann die Anzahl der Beweglichkeitspunkte ermittelt werden, die der Spieler beim Gebrauch dieses Gegenstand dazu erhält (dieser Wert kann auch negativ sein).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Objekt: Item[].Material
Weiter >
Eigenschaft: Item[].Material.AttackDiff

Eigenschaft: Item[].Material.AgilityDiff


Item[].Material.AttackDiff

Eigenschaft: Item[].Material.AttackDiff

Syntax

Item[Item-Id].Material.AttackDiff

Beschreibung

Mit der AttackDiff-Eigenschaft kann die Anzahl der Angriffspunkte ermittelt werden, die der Spieler beim Gebrauch dieses Gegenstand dazu erhält (dieser Wert kann auch negativ sein).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Material.AgilityDiff
Weiter >
Eigenschaft: Item[].Material.DefenseDiff

Eigenschaft: Item[].Material.AttackDiff


Item[].Material.DefenseDiff

Eigenschaft: Item[].Material.DefenseDiff

Syntax

Item[Item-Id].Material.DefenseDiff

Beschreibung

Mit der DefenseDiff-Eigenschaft kann die Anzahl der Verteidigungspunkte ermittelt werden, die der Spieler beim Gebrauch dieses Gegenstand dazu erhält (dieser Wert kann auch negativ sein).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Material.AttackDiff
Weiter >
Eigenschaft: Item[].Material.MaxHpDiff

Eigenschaft: Item[].Material.DefenseDiff


Item[].Material.MaxHpDiff

Eigenschaft: Item[].Material.MaxHpDiff

Syntax

Item[Item-Id].Material.MaxHpDiff

Beschreibung

Mit der MaxHpDiff-Eigenschaft kann die Anzahl der maximalen Lebenspunkte ermittelt werden, die der Spieler beim Gebrauch dieses Gegenstand dazu erhält (dieser Wert kann auch negativ sein).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Material.DefenseDiff
Weiter >
Eigenschaft: Item[].Material.MaxMpDiff

Eigenschaft: Item[].Material.MaxHpDiff


Item[].Material.MaxMpDiff

Eigenschaft: Item[].Material.MaxMpDiff

Syntax

Item[Item-Id].Material.MaxMpDiff

Beschreibung

Mit der MaxMpDiff-Eigenschaft kann die Anzahl der maximalen Magiepunkte ermittelt werden, die der Spieler beim Gebrauch dieses Gegenstand dazu erhält (dieser Wert kann auch negativ sein).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Material.MaxHpDiff
Weiter >
Eigenschaft: Item[].Material.MindDiff

Eigenschaft: Item[].Material.MaxMpDiff


Item[].Material.MindDiff

Eigenschaft: Item[].Material.MindDiff

Syntax

Item[Item-Id].Material.MindDiff

Beschreibung

Mit der MindDiff-Eigenschaft kann die Anzahl der Intelligenzpunkte ermittelt werden, die der Spieler beim Gebrauch dieses Gegenstand dazu erhält (dieser Wert kann auch negativ sein).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Material.MaxMpDiff
Weiter >
Objekt: Item[].Medicine

Eigenschaft: Item[].Material.MindDiff


Item[].Medicine

Objekt: Item[].Medicine

Syntax

Item[Item-Id].Medicine

Beschreibung

Das Medicine-Objekt bündelt alle medizinspezifischen Eigenschaften des Item-Objekts zusammen. Die Werte dieses Objekts sind nur dann gültig, wenn das Item auch eine Medizin ist.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
EffectiveOnlyOnDeathHeroes | Eigenschaft | "Nur bei toten Helden benutzbar"-Eigenschaft der Medizin
PercentRecoveryHp | Eigenschaft | HP-Prozentheilung der Medizin
PercentRecoveryMp | Eigenschaft | MP-Prozentheilung der Medizin
PointRecoveryHp | Eigenschaft | HP-Punktheilung der Medizin
PointRecoveryMp | Eigenschaft | MP-Punktheilung der Medizin
Scope | Eigenschaft | Wirkungsbereich der Medizin
UseOnFieldOnly | Eigenschaft | "Nur auf der Karte benutzbar"-Eigenschaft der Medizin
< Zurück
Eigenschaft: Item[].Material.MindDiff
Weiter >
Eigenschaft: Item[].Medicine.EffectiveOnlyOnDeathHeroes

Objekt: Item[].Medicine


Item[].Medicine.EffectiveOnlyOnDeathHeroes

Eigenschaft: Item[].Medicine.EffectiveOnlyOnDeathHeroes

Syntax

Item[Item-Id].Medicine.EffectiveOnlyOnDeathHeroes

Beschreibung

Mit der EffectiveOnlyOnDeathHeroes-Eigenschaft kann ermittelt werden, ob die Medizin nur bei toten Helden angewandt werden kann.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Objekt: Item[].Medicine
Weiter >
Eigenschaft: Item[].Medicine.PercentRecoveryHp

Eigenschaft: Item[].Medicine.EffectiveOnlyOnDeathHeroes


Item[].Medicine.PercentRecoveryHp

Eigenschaft: Item[].Medicine.PercentRecoveryHp

Syntax

Item[Item-Id].Medicine.PercentRecoveryHp

Beschreibung

Mit der PercentRecoveryHp-Eigenschaft kann die Anzahl der Prozente der Lebenspunkte (HP) ermittelt werden, die der Held beim Gebrauch dieser Medizin zurückerhält. Der Prozentwert bezieht sich hierbei auf die aktuellen maximalen Lebenspunkte (MaxHP) des Helden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Medicine.EffectiveOnlyOnDeathHeroes
Weiter >
Eigenschaft: Item[].Medicine.PercentRecoveryMp

Eigenschaft: Item[].Medicine.PercentRecoveryHp


Item[].Medicine.PercentRecoveryMp

Eigenschaft: Item[].Medicine.PercentRecoveryMp

Syntax

Item[Item-Id].Medicine.PercentRecoveryMp

Beschreibung

Mit der PercentRecoveryMp-Eigenschaft kann die Anzahl der Prozente der Magiepunkte (MP) ermittelt werden, die der Held beim Gebrauch dieser Medizin zurückerhält. Der Prozentwert bezieht sich hierbei auf die aktuellen maximalen Magiepunkte (MaxMP) des Helden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Medicine.PercentRecoveryHp
Weiter >
Eigenschaft: Item[].Medicine.PointRecoveryHp

Eigenschaft: Item[].Medicine.PercentRecoveryMp


Item[].Medicine.PointRecoveryHp

Eigenschaft: Item[].Medicine.PointRecoveryHp

Syntax

Item[Item-Id].Medicine.PointRecoveryHp

Beschreibung

Mit der PointRecoveryHp-Eigenschaft kann die Anzahl der Lebenspunkte (HP) ermittelt werden, die der Held beim Gebrauch dieser Medizin zurückerhält.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Medicine.PercentRecoveryMp
Weiter >
Eigenschaft: Item[].Medicine.PointRecoveryMp

Eigenschaft: Item[].Medicine.PointRecoveryHp


Item[].Medicine.PointRecoveryMp

Eigenschaft: Item[].Medicine.PointRecoveryMp

Syntax

Item[Item-Id].Medicine.PointRecoveryMp

Beschreibung

Mit der PointRecoveryMp-Eigenschaft kann die Anzahl der Magiepunkte (MP) ermittelt werden, die der Held beim Gebrauch dieser Medizin zurückerhält.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Medicine.PointRecoveryHp
Weiter >
Eigenschaft: Item[].Medicine.Scope

Eigenschaft: Item[].Medicine.PointRecoveryMp


Item[].Medicine.Scope

Eigenschaft: Item[].Medicine.Scope

Syntax

Item[Item-Id].Medicine.Scope

Beschreibung

Mit der Scope-Eigenschaft kann der Wirkungsbereich der Medizin ermittelt werden. Ist der Wert dieser Eigenschaft gleich ITEMSCOPE_SINGLEALLY, so kann nur ein Held von dieser Medizin geheilt werden. Ist der Wert hingegen ITEMSCOPE_ALLALLIES, so werden bei Gebrauch alle Mitglieder der Party geheilt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Medicine.PointRecoveryMp
Weiter >
Eigenschaft: Item[].Medicine.UseOnFieldOnly

Eigenschaft: Item[].Medicine.Scope


Item[].Medicine.UseOnFieldOnly

Eigenschaft: Item[].Medicine.UseOnFieldOnly

Syntax

Item[Item-Id].Medicine.UseOnFieldOnly

Beschreibung

Mit der UseOnFieldOnly-Eigenschaft kann ermittelt werden, ob die Medizin nur auf der Karte (also nicht im Kampfsystem) verwendet werden kann.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Medicine.Scope
Weiter >
Objekt: Item[].Protection

Eigenschaft: Item[].Medicine.UseOnFieldOnly


Item[].Protection

Objekt: Item[].Protection

Syntax

Item[Item-Id].Protection

Beschreibung

Das Protection-Objekt bündelt alle ausrüfstungsspezifischen Eigenschaften des Item-Objekts zusammen. Die Werte dieses Objekts sind nur dann gültig, wenn das Item auch ein Ausrüstungsgegenstand (Schild, Rüstung, Helm oder Accessoir) ist.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AvoidPhysicalAttack | Eigenschaft | "Physische Angriffe verhindern"-Eigenschaft der Rüstung
HalfMp | Eigenschaft | "MP halbieren"-Eigenschaft der Rüstung
PreventCriticalHit | Eigenschaft | Chance einen kritischen Treffer zu verhindern der Rüstung
PreventTerrainDamage | Eigenschaft | "Terrainschaden verhindern"-Eigenschaft der Rüstung
< Zurück
Eigenschaft: Item[].Medicine.UseOnFieldOnly
Weiter >
Eigenschaft: Item[].Protection.AvoidPhysicalAttack

Objekt: Item[].Protection


Item[].Protection.AvoidPhysicalAttack

Eigenschaft: Item[].Protection.AvoidPhysicalAttack

Syntax

Item[Item-Id].Protection.AvoidPhysicalAttack

Beschreibung

Mit der AvoidPhysicalAttack-Eigenschaft kann ermittelt werden, ob durch das Tragen dieses Ausrüstungsgegenstandes physische Angriffe verhindert bzw. gemindert werden.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Objekt: Item[].Protection
Weiter >
Eigenschaft: Item[].Protection.HalfMp

Eigenschaft: Item[].Protection.AvoidPhysicalAttack


Item[].Protection.HalfMp

Eigenschaft: Item[].Protection.HalfMp

Syntax

Item[Item-Id].Protection.HalfMp

Beschreibung

Mit der HalfMp-Eigenschaft kann ermittelt werden, ob durch das Tragen dieses Ausrüstungsgegenstandes die Magiepunkte des Trägers halbiert werden.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Protection.AvoidPhysicalAttack
Weiter >
Eigenschaft: Item[].Protection.PreventCriticalHit

Eigenschaft: Item[].Protection.HalfMp


Item[].Protection.PreventCriticalHit

Eigenschaft: Item[].Protection.PreventCriticalHit

Syntax

Item[Item-Id].Protection.PreventCriticalHit

Beschreibung

Mit der PreventCriticalHit-Eigenschaft kann ermittelt werden, ob durch das Tragen dieses Ausrüstungsgegenstandes kritische Treffer verhindert werden.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Protection.HalfMp
Weiter >
Eigenschaft: Item[].Protection.PreventTerrainDamage

Eigenschaft: Item[].Protection.PreventCriticalHit


Item[].Protection.PreventTerrainDamage

Eigenschaft: Item[].Protection.PreventTerrainDamage

Syntax

Item[Item-Id].Protection.PreventTerrainDamage

Beschreibung

Mit der PreventTerrainDamage-Eigenschaft kann ermittelt werden, ob durch das Tragen dieses Ausrüstungsgegenstandes Schadenpunkte, welche durch das Terrain der Karte verursacht würden, verhindert werden.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Protection.PreventCriticalHit
Weiter >
Objekt: Item[].Scroll

Eigenschaft: Item[].Protection.PreventTerrainDamage


Item[].Scroll

Objekt: Item[].Scroll

Syntax

Item[Item-Id].Scroll

Beschreibung

Das Scroll-Objekt bündelt alle technikspezifischen Eigenschaften des Item-Objekts zusammen. Die Werte dieses Objekts sind nur dann gültig, wenn das Item auch mit Techniken zu tun hat. Dieses Objekt wird daher sowohl bei "Büchern" (Items, die einem Spieler eine Technik beibringen) als auch bei "Spruchrollen" (Items, die die Technik ausführen) verwendet.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
ShowUseMessage | Eigenschaft | Gibt an ob beim Gebrauch eine Item-benutzen Nachricht erscheint
Skill | Eigenschaft | Die Skill-Id der entsprechenden Technik
< Zurück
Eigenschaft: Item[].Protection.PreventTerrainDamage
Weiter >
Eigenschaft: Item[].Scroll.ShowUseMessage

Objekt: Item[].Scroll


Item[].Scroll.ShowUseMessage

Eigenschaft: Item[].Scroll.ShowUseMessage

Syntax

Item[Item-Id].Scroll.ShowUseMessage

Beschreibung

Mit der ShowUseMessage-Eigenschaft kann ermittelt werden, ob beim Gebrauch dieses Items die gewöhnliche Item-benutzen-Nachricht erscheint oder die Nachricht der damit verbundenen Technik. Diese Eigenschaft ist nur bei "Spruchrollen" (Items, die eine Technik ausführen) relevant.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Objekt: Item[].Scroll
Weiter >
Eigenschaft: Item[].Scroll.Skill

Eigenschaft: Item[].Scroll.ShowUseMessage


Item[].Scroll.Skill

Eigenschaft: Item[].Scroll.Skill

Syntax

Item[Item-Id].Scroll.Skill

Beschreibung

Mit der Skill-Eigenschaft kann ermittelt werden, welche Skill-Id mit diesem Item verbunden ist.
  • Bei "Spruchrollen" ist dies die Technik, die beim Gebrauch ausgeführt wird.
  • Bei "Büchern" ist dies die Technik, die beim Gebrauch einem Helden beigebracht wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Scroll.ShowUseMessage
Weiter >
Objekt: Item[].Switch

Eigenschaft: Item[].Scroll.Skill


Item[].Switch

Objekt: Item[].Switch

Syntax

Item[Item-Id].Switch

Beschreibung

Das Switch-Objekt bündelt alle schalterspezifischen Eigenschaften des Item-Objekts zusammen. Die Werte dieses Objekts sind nur dann gültig, wenn das Item auch einen Schalter betätigt.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AvailableOnBattle | Eigenschaft | "Verfügbar im Kampf"-Eigenschaft des Schalters
AvailableOnField | Eigenschaft | "Verfügbar auf Karte"-Eigenschaft des Schalters
Switch | Eigenschaft | Die Switch-Id des entsprechenden Schalters
< Zurück
Eigenschaft: Item[].Scroll.Skill
Weiter >
Eigenschaft: Item[].Switch.AvailableOnBattle

Objekt: Item[].Switch


Item[].Switch.AvailableOnBattle

Eigenschaft: Item[].Switch.AvailableOnBattle

Syntax

Item[Item-Id].Switch.AvailableOnBattle

Beschreibung

Mit der AvailableOnBattle-Eigenschaft kann ermittelt werden, ob dieses Item auch während des Kampfes gebraucht werden kann.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Objekt: Item[].Switch
Weiter >
Eigenschaft: Item[].Switch.AvailableOnField

Eigenschaft: Item[].Switch.AvailableOnBattle


Item[].Switch.AvailableOnField

Eigenschaft: Item[].Switch.AvailableOnField

Syntax

Item[Item-Id].Switch.AvailableOnField

Beschreibung

Mit der AvailableOnField-Eigenschaft kann ermittelt werden, ob dieses Item auch auf der Karte gebraucht werden kann.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Switch.AvailableOnBattle
Weiter >
Eigenschaft: Item[].Switch.Switch

Eigenschaft: Item[].Switch.AvailableOnField


Item[].Switch.Switch

Eigenschaft: Item[].Switch.Switch

Syntax

Item[Item-Id].Switch.Switch

Beschreibung

Mit der Switch-Eigenschaft kann die Switch-Id des Schalters ermittelt werden, der beim Gebrauch des Items betätigt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Switch.AvailableOnField
Weiter >
Objekt: Item[].Weapon

Eigenschaft: Item[].Switch.Switch


Item[].Weapon

Objekt: Item[].Weapon

Syntax

Item[Item-Id].Weapon

Beschreibung

Das Weapon-Objekt bündelt alle waffenspezifischen Eigenschaften des Item[]-Objekts zusammen. Die Werte dieses Objekts sind nur dann gültig, wenn das Item auch eine Waffe ist.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AttackAllEnemies | Eigenschaft | "Alle Gegner angreifen"-Eigenschaft einer Waffe
AttackTwice | Eigenschaft | Doppelangriff-Eigenschaft einer Waffe
BattleAnimation | Eigenschaft | Die BattleAnimation-Id einer Waffe
CriticalHitChance | Eigenschaft | Die Trefferquote für kritische Treffer einer Waffe
HitChance | Eigenschaft | Die Trefferquote einer Waffe
IgnoreMonsterEvasion | Eigenschaft | "Gegner können nicht Ausweichen"-Eigenschaft einer Waffe
MpCost | Eigenschaft | Die MP-Kosten einer Waffe
PreemptiveAttack | Eigenschaft | "Bevorzugter Angriff"-Eigenschaft einer Waffe
TwoHanded | Eigenschaft | Die Zweihänder-Eigenschaft einer Waffe
< Zurück
Eigenschaft: Item[].Switch.Switch
Weiter >
Eigenschaft: Item[].Weapon.AttackAllEnemies

Objekt: Item[].Weapon


Item[].Weapon.AttackAllEnemies

Eigenschaft: Item[].Weapon.AttackAllEnemies

Syntax

Item[Item-Id].Weapon.AttackAllEnemies

Beschreibung

Mit der AttackAllEnemies-Eigenschaft kann ermittelt werden, ob bei einem Angriff mit der Waffe alle Gegner getroffen werden (True) oder nur einer (False).

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Objekt: Item[].Weapon
Weiter >
Eigenschaft: Item[].Weapon.AttackTwice

Eigenschaft: Item[].Weapon.AttackAllEnemies


Item[].Weapon.AttackTwice

Eigenschaft: Item[].Weapon.AttackTwice

Syntax

Item[Item-Id].Weapon.AttackTwice

Beschreibung

Mit der AttackTwice-Eigenschaft kann ermittelt werden, ob der Träger der Waffe zweimal zuschlägt (True) oder nur einmal (False).

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Weapon.AttackAllEnemies
Weiter >
Eigenschaft: Item[].Weapon.BattleAnimation

Eigenschaft: Item[].Weapon.AttackTwice


Item[].Weapon.BattleAnimation

Eigenschaft: Item[].Weapon.BattleAnimation

Syntax

Item[Item-Id].Weapon.BattleAnimation

Beschreibung

Mit der BattleAnimation-Eigenschaft kann die BattleAnimation-Id der Waffe ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Weapon.AttackTwice
Weiter >
Eigenschaft: Item[].Weapon.CriticalHitChance

Eigenschaft: Item[].Weapon.BattleAnimation


Item[].Weapon.CriticalHitChance

Eigenschaft: Item[].Weapon.CriticalHitChance

Syntax

Item[Item-Id].Weapon.CriticalHitChance

Beschreibung

Mit der CriticalHitChance-Eigenschaft kann ermittelt werden wie hoch die Chance ist einen kritischen Treffer zu erzielen. Dieser Wert stellt einen Prozentwert (0 ... 100%) dar.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Weapon.BattleAnimation
Weiter >
Eigenschaft: Item[].Weapon.HitChance

Eigenschaft: Item[].Weapon.CriticalHitChance


Item[].Weapon.HitChance

Eigenschaft: Item[].Weapon.HitChance

Syntax

Item[Item-Id].Weapon.HitChance

Beschreibung

Mit der HitChance-Eigenschaft kann ermittelt werden wie hoch die Trefferquote der Waffe ist. Dieser Wert stellt einen Prozentwert (0 ... 100%) dar.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Weapon.CriticalHitChance
Weiter >
Eigenschaft: Item[].Weapon.IgnoreMonsterEvasion

Eigenschaft: Item[].Weapon.HitChance


Item[].Weapon.IgnoreMonsterEvasion

Eigenschaft: Item[].Weapon.IgnoreMonsterEvasion

Syntax

Item[Item-Id].Weapon.IgnoreMonsterEvasion

Beschreibung

Mit der IgnoreMonsterEvasion-Eigenschaft kann ermittelt werden, ob es einem Gegner unmöglich ist einem Angriff mit dieser Waffe zu entweichen.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Weapon.HitChance
Weiter >
Eigenschaft: Item[].Weapon.MpCost

Eigenschaft: Item[].Weapon.IgnoreMonsterEvasion


Item[].Weapon.MpCost

Eigenschaft: Item[].Weapon.MpCost

Syntax

Item[Item-Id].Weapon.MpCost

Beschreibung

Mit der MpCost-Eigenschaft kann ermittelt werden wie hoch die MP-Kosten für den Gebrauch der Waffe sind. Besitzt ein Held nicht genügend MP, so kann er diese Waffe im Standardkampfsystem nicht verwenden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Weapon.IgnoreMonsterEvasion
Weiter >
Eigenschaft: Item[].Weapon.PreemptiveAttack

Eigenschaft: Item[].Weapon.MpCost


Item[].Weapon.PreemptiveAttack

Eigenschaft: Item[].Weapon.PreemptiveAttack

Syntax

Item[Item-Id].Weapon.PreemptiveAttack

Beschreibung

Mit der PreemptiveAttack-Eigenscahft kann ermittelt werden, ob der Träger der Waffe bevorzugt (also vor allen anderen) angreifen kann oder nicht.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Weapon.MpCost
Weiter >
Eigenschaft: Item[].Weapon.TwoHanded

Eigenschaft: Item[].Weapon.PreemptiveAttack


Item[].Weapon.TwoHanded

Eigenschaft: Item[].Weapon.TwoHanded

Syntax

Item[Item-Id].Weapon.TwoHanded

Beschreibung

Mit der TwoHanded-Eigenschaft kann ermittelt werden, ob eine Waffe eine Zweihandwaffe ist. Ist dies der Fall, dann kann ein Held nicht gleichzeitig diese Waffe und ein Schild (bzw. eine weitere Waffe) tragen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Item[].Weapon.PreemptiveAttack
Weiter >
Objekt: Keyboard

Eigenschaft: Item[].Weapon.TwoHanded


Keyboard

Objekt: Keyboard

Syntax

Keyboard

Beschreibung

Mit dem Keyboard-Objekt können Tasten abgefragt und gesetzt werden. Die Maustasten (Links, Mitte, Rechts) werden hiermit ebenfalls abgefragt (dazu werden die Konstanten der Maustasten (VK_LBUTTON, VK_MBUTTON oder VK_RBUTTON) verwendet).

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
GetKey() | Methode | Fragt die zuletzt betätigte Taste ab
GetKeyState() | Methode | Fragt den Status einer bestimmten Taste ab
GetKeyText() | Methode | Fragt die zuletzt betätigte Taste unter anbetracht der Zeichenwiederholung ab
SetKeyState() | Methode | Setzt den Status einer Taste
< Zurück
Eigenschaft: Item[].Weapon.TwoHanded
Weiter >
Methode: Keyboard.GetKey()

Objekt: Keyboard


Keyboard.GetKey()

Methode: Keyboard.GetKey()

Syntax

Keyboard.GetKey([Taste])

Beschreibung

Fragt alle Tasten von 1 bis 254 ab und gibt die erste zutreffende Tastennummer zurück, welche gedrückt ist. Ist keine Taste gedrückt, dann wird 0 zurückgegeben. Als Parameter kann optional angegeben werden, wo die Suche beginnt. Auf diesen Wert wird zu Beginn 1 hinzuaddiert.

Liste der Parameter

Parameter: Taste

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Gibt die Tastennummer an, bei der die Suche begonnen werden soll. Dies ist sinnvoll um mehrere Tastendrücke gleichzeitig zuzulassen. Hierbei wird dann der Ergebniswert des letzten Aufrufs übergeben. Ist dieser Parameter nicht angegeben, dann beginnt die Suche der aktiven Tastennummer bei wieder 0.

Rückgabewert

Datentyp: | dword
Beschreibung: | Gibt 0 zurück, wenn keine Taste gedrückt ist. Andernfalls ist das Ergebnis ein virtueller Tastencode.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Warten bis eine Taste gedrückt wurde (die Nummer der gedrückten Taste steht hinterher in v[1])
v[1] = 0;
do while(v[1] == 0)
  v[1] = Keyboard.GetKey();
loop;

Siehe auch

Keyboard.GetKeyState(), Keyboard.GetKeyText(), Keyboard.SetKeyState()
< Zurück
Objekt: Keyboard
Weiter >
Methode: Keyboard.GetKeyState()

Methode: Keyboard.GetKey()


Keyboard.GetKeyState()

Methode: Keyboard.GetKeyState()

Syntax

Keyboard.GetKeyState(Taste)

Beschreibung

Mit dieser Funktion wird der aktuelle Status einer bestimmten Taste abgefragt. Hierfür können die Konstanten der virtuellen Tastencodes verwendet werden. Diese Funktion gibt einen Wert ungleich Null zurück, wenn die Taste gedrückt ist/wurde.
Information:
Diese Funktion ist äquivalent zu der Windows-Funktion GetAsyncKeyState.

Liste der Parameter

Parameter: Taste

Datentyp: | dword
Optional: | nein
Beschreibung: | Gibt die Nummer der abzufragenden Taste an. Hierzu werden die virtuellen Tastencodes verwendet.

Rückgabewert

Datentyp: word
Beschreibung:
Rückgabewert | Beschreibung
0 | Die Taste ist momentan nicht gedrückt und wurde seit der letzten Abfrage auch nicht betätigt.
1 | Die Taste ist momentan nicht gedrückt, wurde aber seit der letzten Abfrage betätigt.
-32767 | Die Taste ist momentan gedrückt, wurde aber seit der letzten Abfrage betätigt.
-32768 | Die Taste ist momentan gedrückt und die Zeichenwiederholung trifft zu.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Prüfen, ob die Tasten "Pfeil runter" gedrückt ist
if(Keyboard.GetKeyState(VK_DOWN))
  // ... (Die Taste ist gedrückt)
else
  // ... (Die Taste ist nicht gedrückt)
endif;

Siehe auch

Keyboard.GetKey(), Keyboard.GetKeyText(), Keyboard.SetKeyState()
< Zurück
Methode: Keyboard.GetKey()
Weiter >
Methode: Keyboard.GetKeyText()

Methode: Keyboard.GetKeyState()


Keyboard.GetKeyText()

Methode: Keyboard.GetKeyText()

Syntax

Keyboard.GetKeyText([Taste])

Beschreibung

Fragt alle Tasten von 1 bis 254 ab und gibt die erste zutreffende Tastennummer zurück, welche unter anbetracht der Zeichenwiederholung gedrückt ist oder war. Ist/wurde keine Taste gedrückt, dann wird 0 zurückgegeben. Als Parameter kann optional angegeben werden, wo die Suche beginnt. Auf diesen Wert wird zu Beginn 1 hinzuaddiert.

Liste der Parameter

Parameter: Taste

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Beschreibung: | Gibt die Tastennummer an, bei der die Suche begonnen werden soll. Dies ist sinnvoll um mehrere Tastendrücke gleichzeitig zuzulassen. Hierbei wird dann der Ergebniswert des letzten Aufrufs übergeben. Ist dieser Parameter nicht angegeben, dann beginnt die Suche der aktiven Tastennummer bei wieder 0.

Rückgabewert

Datentyp: | dword
Beschreibung: | Gibt 0 zurück, wenn keine Taste gedrückt ist. Andernfalls ist das Ergebnis ein virtueller Tastencode.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Einen 10-zeichen langen Text eingeben lassen
v[1] = 0;
do while(String.Length(a[1]) < 10)
  v[1] = Keyboard.GetKey(v[1]);
  a[1] ..= String.Chr(v[1]);
loop;

Siehe auch

Keyboard.GetKeyState(), Keyboard.GetKeyText(), Keyboard.SetKeyState(), String.Chr(), String.Length()
< Zurück
Methode: Keyboard.GetKeyState()
Weiter >
Methode: Keyboard.SetKeyState()

Methode: Keyboard.GetKeyText()


Keyboard.SetKeyState()

Methode: Keyboard.SetKeyState()

Syntax

Keyboard.SetKeyState(Taste, Status)

Beschreibung

Mit dieser Funktion kann der Status einer bestimmten Taste gesetzt werden.
Information:
Diese Funktion ist äquivalent zu der Windows-Funktion keybd_event.
Information:
Der Plural von Status ist Status. Daher ist das hier in der Hilfe kein Rechtschreibfehler...

Liste der Parameter

Parameter: Taste

Datentyp: | dword
Optional: | nein
Beschreibung: | Gibt die Nummer der zu setzenden Taste an. Hierzu werden die virtuellen Tastencodes verwendet.

Parameter: Status

Datentyp: | dword
Optional: | nein
Beschreibung: | Der Status der Taste. Hierzu werden die Konstanten der Tastenereignisse verwendet.

Beispiel

Am Ende würde der Spieler versuchen nach Rechts zu gehen, weil der Computer davon ausgeht, dass die rechte Pfeiltaste gedrückt ist. Erst wenn die rechte Pfeiltaste losgelassen wird (in diesem Fall müsste man sie in der Realität sogar erst drücken!) wird der Spieler nicht mehr versuchen nach Rechts zu gehen. Um die Rechte Pfeiltaste im Code "loszulassen" kann statt der Konstante KEYEVENTF_KEYDOWN die Konstante KEYEVENTF_KEYUP verwendet werden.

In die Zwischenablage kopieren
1 2 3
$ // Einen Tastendruck der rechten Pfeiltaste simulieren Keyboard.SetKeyState(VK_RIGHT, KEYEVENTF_KEYDOWN);

Siehe auch

Keyboard.GetKeyState(), Keyboard.GetKey(), Keyboard.GetKeyText()
< Zurück
Methode: Keyboard.GetKeyText()
Weiter >
Objekt: Logic

Methode: Keyboard.SetKeyState()


Logic

Objekt: Logic

Syntax

Logic

Beschreibung

Mit dem Logic-Objekt können logische Verknüpfungen und Vergleiche durchgeführt werden. Die meisten der Fähigkeiten des Logic-Objekts werden inzwischen schon durch die Skriptsprache erfüllt, wodurch die meisten Methoden veraltet sind und nicht mehr verwendet werden sollten.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Logische Verknüpfungen | Kategorie | Beinhaltet alle logischen Verknüpfungen
Grundverknüpfungen | Kategorie | Beinhaltet die Grundverknüpfungen
And() | Methode | Führt eine UND-Verknüpfung zwischen zwei Booleans aus
Not() | Methode | Kehrt einen Boolean um
Or() | Methode | Führt eine ODER-Verknüpfung zwischen zwei Booleans aus
Zusammengesetzte Verknüpfungen | Kategorie | Beinhaltet zusammengesetzte, logische Verknüpfungen
And3() | Methode | Führt eine UND-Verknüpfung zwischen drei Booleans aus
Imp() | Methode | Führt eine Implikation-Verknüpfung zwischen zwei Booleans aus
Inh() | Methode | Führt eine Inhibit-Verknüpfung zwischen zwei Booleans aus
Nand() | Methode | Führt eine NAND-Verknüpfung zwischen zwei Booleans aus
Nand3() | Methode | Führt eine NAND-Verknüpfung zwischen drei Booleans aus
Nor() | Methode | Führt eine NOR-Verknüpfung zwischen zwei Booleans aus
Nor3() | Methode | Führt eine NOR-Verknüpfung zwischen drei Booleans aus
Or3() | Methode | Führt eine ODER-Verknüpfung zwischen drei Booleans aus
Xnor() | Methode | Führt eine Äquivalenz-Verknüpfung zwischen zwei Booleans aus
Xnor3() | Methode | Führt eine Äquivalenz-Verknüpfung zwischen drei Booleans aus
Xor() | Methode | Führt eine EXKLUSIV-ODER-Verknüpfung zwischen zwei Booleans aus
Xor3() | Methode | Führt eine EXKLUSIV-ODER-Verknüpfung zwischen drei Booleans aus
Vergleiche | Kategorie | Beinhaltet alle Vergleiche
Above() | Methode | Prüft ob ein Wert größer als ein anderer ist
AboveEqual() | Methode | Prüft ob ein Wert größer/gleich einem anderen ist
Below() | Methode | Prüft ob ein Wert kleiner als ein anderer ist
BelowEqual() | Methode | Prüft ob ein Wert kleiner/gleich einem anderen ist
Equal() | Methode | Prüft ob ein Wert gleich einem anderen ist
If() | Methode | Gibt abhängig von einem Boolean einen von zwei Werten zurück
Unequal() | Methode | Prüft ob ein Wert ungleich einem anderen ist
< Zurück
Methode: Keyboard.SetKeyState()
Weiter >
Kategorie: Logische Verknüpfungen

Objekt: Logic


Logic--cat_LogicalOperations

Kategorie: Logische Verknüpfungen

Beschreibung

In dieser Kategorie sind alle logischen Verknüpfungen des Logic-Objekts zusammengefasst. Die Grundverknüpfungen Und, Oder und Nicht werden bereits durch die Skriptsprache selbst unterstützt und sind daher eigentlich nicht mehr notwendig. Beim Aufruf jener Methoden wird daher das Gleiche ausgeführt, wie bei den entsprechenden Operatoren.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Grundverknüpfungen | Kategorie | Beinhaltet die Grundverknüpfungen
And() | Methode | Führt eine UND-Verknüpfung zwischen zwei Booleans aus
Not() | Methode | Kehrt einen Boolean um
Or() | Methode | Führt eine ODER-Verknüpfung zwischen zwei Booleans aus
Zusammengesetzte Verknüpfungen | Kategorie | Beinhaltet zusammengesetzte, logische Verknüpfungen
And3() | Methode | Führt eine UND-Verknüpfung zwischen drei Booleans aus
Imp() | Methode | Führt eine Implikation-Verknüpfung zwischen zwei Booleans aus
Inh() | Methode | Führt eine Inhibit-Verknüpfung zwischen zwei Booleans aus
Nand() | Methode | Führt eine NAND-Verknüpfung zwischen zwei Booleans aus
Nand3() | Methode | Führt eine NAND-Verknüpfung zwischen drei Booleans aus
Nor() | Methode | Führt eine NOR-Verknüpfung zwischen zwei Booleans aus
Nor3() | Methode | Führt eine NOR-Verknüpfung zwischen drei Booleans aus
Or3() | Methode | Führt eine ODER-Verknüpfung zwischen drei Booleans aus
Xnor() | Methode | Führt eine Äquivalenz-Verknüpfung zwischen zwei Booleans aus
Xnor3() | Methode | Führt eine Äquivalenz-Verknüpfung zwischen drei Booleans aus
Xor() | Methode | Führt eine EXKLUSIV-ODER-Verknüpfung zwischen zwei Booleans aus
Xor3() | Methode | Führt eine EXKLUSIV-ODER-Verknüpfung zwischen drei Booleans aus
< Zurück
Objekt: Logic
Weiter >
Kategorie: Grundverknüpfungen

Kategorie: Logische Verknüpfungen


Logic--cat_BasicalLogicalOperations

Kategorie: Grundverknüpfungen

Beschreibung

Beinhaltet die Grundverknüpfungen, aus denen alle anderen logischen Verknüpfungen zusammengesetzt sind.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
And() | Methode | Führt eine UND-Verknüpfung zwischen zwei Booleans aus
Not() | Methode | Kehrt einen Boolean um
Or() | Methode | Führt eine ODER-Verknüpfung zwischen zwei Booleans aus
< Zurück
Kategorie: Logische Verknüpfungen
Weiter >
Methode: Logic.And()

Kategorie: Grundverknüpfungen


Logic.And()

Methode: Logic.And()

Syntax

Logic.And(Wert1, Wert2)

Beschreibung

Betrachtet den Wert der Parameter "Wert1" und "Wert2" als boole'sche Werte und führt eine UND-Verknüpfung zwischen diesen beiden Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der UND-Verknüpfung von Wert1 und Wert2

Wahrheitstabelle

Wert1 | Wert2 | Rückgabewert
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine UND-Verknüpfung zwischen den ersten beiden Schaltern ausführen und in s[3] speichern s[3] = Logic.And(s[1], s[2]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den logischen Und-Operator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Den Wert der ersten beiden Schalter über den logischen Und-Operator verrechnen und in s[3] speichern s[3] = s[1] && s[2];

Siehe auch

Logic.And3(), Logic.Or(), Logic.Not()
< Zurück
Kategorie: Grundverknüpfungen
Weiter >
Methode: Logic.Not()

Methode: Logic.And()


Logic.Not()

Methode: Logic.Not()

Syntax

Logic.Not(Wert1)

Beschreibung

Betrachtet den Wert des Parameters "Wert1" als Boolean und kehrt den Wert dieses Booleanes um.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert, dessen boole'scher Zustand (an/aus) umgekehrt werden soll

Rückgabewert

Datentyp: | bool
Beschreibung: | Der umgekehrte Wert des Parameters Wert1

Wahrheitstabelle

Wert1 | Rückgabewert
0 | 1
1 | 0

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Wert des ersten Schalters umkehren und wieder in s[2] speichern s[2] = Logic.Not(s[1]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den logischen Negierungsoperator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Den Wert des ersten Schalters über den logischen Negierungsoperator umkehren und in s[2] speichern s[2] = !s[1];

Siehe auch

Logic.And(), Logic.Or()
< Zurück
Methode: Logic.And()
Weiter >
Methode: Logic.Or()

Methode: Logic.Not()


Logic.Or()

Methode: Logic.Or()

Syntax

Logic.Or(Wert1, Wert2)

Beschreibung

Betrachtet den Wert der Parameter "Wert1" und "Wert2" als boole'sche Werte und führt eine ODER-Verknüpfung zwischen diesen beiden Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der ODER-Verknüpfung von Wert1 und Wert2

Wahrheitstabelle

Wert1 | Wert2 | Rückgabewert
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine ODER-Verknüpfung zwischen den ersten beiden Schaltern ausführen und in s[3] speichern s[3] = Logic.Or(s[1], s[2]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den logischen Oder-Operator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Den Wert der ersten beiden Schalter über den logischen Oder-Operator verrechnen und in s[3] speichern s[3] = s[1] || s[2];

Siehe auch

Logic.Or3(), Logic.And(), Logic.Not()
< Zurück
Methode: Logic.Not()
Weiter >
Kategorie: Zusammengesetzte Verknüpfungen

Methode: Logic.Or()


Logic--cat_ComposedLogicalOperations

Kategorie: Zusammengesetzte Verknüpfungen

Beschreibung

Beinhaltet logische Verknüpfungen, welche aus den Grundverknüpfungen zusammengesetzt sind.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
And3() | Methode | Führt eine UND-Verknüpfung zwischen drei Booleans aus
Imp() | Methode | Führt eine Implikation-Verknüpfung zwischen zwei Booleans aus
Inh() | Methode | Führt eine Inhibit-Verknüpfung zwischen zwei Booleans aus
Nand() | Methode | Führt eine NAND-Verknüpfung zwischen zwei Booleans aus
Nand3() | Methode | Führt eine NAND-Verknüpfung zwischen drei Booleans aus
Nor() | Methode | Führt eine NOR-Verknüpfung zwischen zwei Booleans aus
Nor3() | Methode | Führt eine NOR-Verknüpfung zwischen drei Booleans aus
Or3() | Methode | Führt eine ODER-Verknüpfung zwischen drei Booleans aus
Xnor() | Methode | Führt eine Äquivalenz-Verknüpfung zwischen zwei Booleans aus
Xnor3() | Methode | Führt eine Äquivalenz-Verknüpfung zwischen drei Booleans aus
Xor() | Methode | Führt eine EXKLUSIV-ODER-Verknüpfung zwischen zwei Booleans aus
Xor3() | Methode | Führt eine EXKLUSIV-ODER-Verknüpfung zwischen drei Booleans aus
< Zurück
Methode: Logic.Or()
Weiter >
Methode: Logic.And3()

Kategorie: Zusammengesetzte Verknüpfungen


Logic.And3()

Methode: Logic.And3()

Syntax

Logic.And3(Wert1, Wert2, Wert3)

Beschreibung

Betrachtet den Wert der Parameter "Wert1", "Wert2" und "Wert3" als boole'sche Werte und führt eine UND-Verknüpfung zwischen diesen drei Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert3

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der UND-Verknüpfung von Wert1, Wert2 und Wert3

Wahrheitstabelle

Wert1 | Wert2 | Wert3 | Rückgabewert
0 | 0 | 0 | 0
0 | 0 | 1 | 0
0 | 1 | 0 | 0
0 | 1 | 1 | 0
1 | 0 | 0 | 0
1 | 0 | 1 | 0
1 | 1 | 0 | 0
1 | 1 | 1 | 1

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine UND-Verknüpfung zwischen den ersten drei Schaltern ausführen und in s[4] speichern s[4] = Logic.And3(s[1], s[2], s[3]);

Siehe auch

Logic.And(), Logic.Or3(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Kategorie: Zusammengesetzte Verknüpfungen
Weiter >
Methode: Logic.Imp()

Methode: Logic.And3()


Logic.Imp()

Methode: Logic.Imp()

Syntax

Logic.Imp(Wert1, Wert2)

Beschreibung

Betrachtet den Wert der Parameter "Wert1" und "Wert2" als boole'sche Werte und führt eine Implikation-Verknüpfung zwischen diesen beiden Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der Implikation-Verknüpfung von Wert1 und Wert2

Wahrheitstabelle

Wert1 | Wert2 | Rückgabewert
0 | 0 | 1
0 | 1 | 1
1 | 0 | 0
1 | 1 | 1

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine Implikation-Verknüpfung zwischen den ersten beiden Schaltern ausführen und in s[3] speichern s[3] = Logic.Imp(s[1], s[2]);

Siehe auch

Logic.Inh(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.And3()
Weiter >
Methode: Logic.Inh()

Methode: Logic.Imp()


Logic.Inh()

Methode: Logic.Inh()

Syntax

Logic.Inh(Wert1, Wert2)

Beschreibung

Betrachtet den Wert der Parameter "Wert1" und "Wert2" als boole'sche Werte und führt eine Inhibit-Verknüpfung zwischen diesen beiden Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der Inhibit-Verknüpfung von Wert1 und Wert2

Wahrheitstabelle

Wert1 | Wert2 | Rückgabewert
0 | 0 | 0
0 | 1 | 1
1 | 0 | 0
1 | 1 | 0

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine Inhibit-Verknüpfung zwischen den ersten beiden Schaltern ausführen und in s[3] speichern s[3] = Logic.Inh(s[1], s[2]);

Siehe auch

Logic.Imp(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Imp()
Weiter >
Methode: Logic.Nand()

Methode: Logic.Inh()


Logic.Nand()

Methode: Logic.Nand()

Syntax

Logic.Nand(Wert1, Wert2)

Beschreibung

Betrachtet den Wert der Parameter "Wert1" und "Wert2" als boole'sche Werte und führt eine NAND-Verknüpfung zwischen diesen beiden Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der NAND-Verknüpfung von Wert1 und Wert2

Wahrheitstabelle

Wert1 | Wert2 | Rückgabewert
0 | 0 | 1
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine NAND-Verknüpfung zwischen den ersten beiden Schaltern ausführen und in s[3] speichern s[3] = Logic.Nand(s[1], s[2]);

Siehe auch

Logic.Nand3(), Logic.Nor(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Inh()
Weiter >
Methode: Logic.Nand3()

Methode: Logic.Nand()


Logic.Nand3()

Methode: Logic.Nand3()

Syntax

Logic.Nand3(Wert1, Wert2, Wert3)

Beschreibung

Betrachtet den Wert der Parameter "Wert1", "Wert2" und "Wert3" als boole'sche Werte und führt eine NAND-Verknüpfung zwischen diesen drei Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert3

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der NAND-Verknüpfung von Wert1, Wert2 und Wert3

Wahrheitstabelle

Wert1 | Wert2 | Wert3 | Rückgabewert
0 | 0 | 0 | 1
0 | 0 | 1 | 1
0 | 1 | 0 | 1
0 | 1 | 1 | 1
1 | 0 | 0 | 1
1 | 0 | 1 | 1
1 | 1 | 0 | 1
1 | 1 | 1 | 0

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine NAND-Verknüpfung zwischen den ersten drei Schaltern ausführen und in s[4] speichern s[4] = Logic.Nand3(s[1], s[2], s[3]);

Siehe auch

Logic.Nand(), Logic.Nor3(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Nand()
Weiter >
Methode: Logic.Nor()

Methode: Logic.Nand3()


Logic.Nor()

Methode: Logic.Nor()

Syntax

Logic.Nor(Wert1, Wert2)

Beschreibung

Betrachtet den Wert der Parameter "Wert1" und "Wert2" als boole'sche Werte und führt eine NOR-Verknüpfung zwischen diesen beiden Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der NOR-Verknüpfung von Wert1 und Wert2

Wahrheitstabelle

Wert1 | Wert2 | Rückgabewert
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 0

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine NOR-Verknüpfung zwischen den ersten beiden Schaltern ausführen und in s[3] speichern s[3] = Logic.Nor(s[1], s[2]);

Siehe auch

Logic.Nor3(), Logic.Nand(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Nand3()
Weiter >
Methode: Logic.Nor3()

Methode: Logic.Nor()


Logic.Nor3()

Methode: Logic.Nor3()

Syntax

Logic.Nor3(Wert1, Wert2, Wert3)

Beschreibung

Betrachtet den Wert der Parameter "Wert1", "Wert2" und "Wert3" als boole'sche Werte und führt eine NOR-Verknüpfung zwischen diesen drei Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert3

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der NOR-Verknüpfung von Wert1, Wert2 und Wert3

Wahrheitstabelle

Wert1 | Wert2 | Wert3 | Rückgabewert
0 | 0 | 0 | 1
0 | 0 | 1 | 0
0 | 1 | 0 | 0
0 | 1 | 1 | 0
1 | 0 | 0 | 0
1 | 0 | 1 | 0
1 | 1 | 0 | 0
1 | 1 | 1 | 0

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine NOR-Verknüpfung zwischen den ersten drei Schaltern ausführen und in s[4] speichern s[4] = Logic.Nor3(s[1], s[2], s[3]);

Siehe auch

Logic.Nor(), Logic.Nand3(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Nor()
Weiter >
Methode: Logic.Or3()

Methode: Logic.Nor3()


Logic.Or3()

Methode: Logic.Or3()

Syntax

Logic.Or3(Wert1, Wert2, Wert3)

Beschreibung

Betrachtet den Wert der Parameter "Wert1", "Wert2" und "Wert3" als boole'sche Werte und führt eine ODER-Verknüpfung zwischen diesen drei Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert3

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der ODER-Verknüpfung von Wert1, Wert2 und Wert3

Wahrheitstabelle

Wert1 | Wert2 | Wert3 | Rückgabewert
0 | 0 | 0 | 0
0 | 0 | 1 | 1
0 | 1 | 0 | 1
0 | 1 | 1 | 1
1 | 0 | 0 | 1
1 | 0 | 1 | 1
1 | 1 | 0 | 1
1 | 1 | 1 | 1

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine ODER-Verknüpfung zwischen den ersten drei Schaltern ausführen und in s[4] speichern s[4] = Logic.Or3(s[1], s[2], s[3]);

Siehe auch

Logic.Or(), Logic.And3(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Nor3()
Weiter >
Methode: Logic.Xnor()

Methode: Logic.Or3()


Logic.Xnor()

Methode: Logic.Xnor()

Syntax

Logic.Xnor(Wert1, Wert2)

Beschreibung

Betrachtet den Wert der Parameter "Wert1" und "Wert2" als boole'sche Werte und führt eine Äquivalenz-Verknüpfung zwischen diesen beiden Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der Äquivalenz-Verknüpfung von Wert1 und Wert2

Wahrheitstabelle

Wert1 | Wert2 | Rückgabewert
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine Äquivalenz-Verknüpfung zwischen den ersten beiden Schaltern ausführen und in s[3] speichern s[3] = Logic.Xnor(s[1], s[2]);

Siehe auch

Logic.Xnor3(), Logic.Xor(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Or3()
Weiter >
Methode: Logic.Xnor3()

Methode: Logic.Xnor()


Logic.Xnor3()

Methode: Logic.Xnor3()

Syntax

Logic.Xnor3(Wert1, Wert2, Wert3)

Beschreibung

Betrachtet den Wert der Parameter "Wert1", "Wert2" und "Wert3" als boole'sche Werte und führt eine Äquivalenz-Verknüpfung zwischen diesen drei Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert3

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der Äquivalenz-Verknüpfung von Wert1, Wert2 und Wert3

Wahrheitstabelle

Wert1 | Wert2 | Wert3 | Rückgabewert
0 | 0 | 0 | 1
0 | 0 | 1 | 0
0 | 1 | 0 | 0
0 | 1 | 1 | 0
1 | 0 | 0 | 0
1 | 0 | 1 | 0
1 | 1 | 0 | 0
1 | 1 | 1 | 1

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine Äquivalenz-Verknüpfung zwischen den ersten drei Schaltern ausführen und in s[4] speichern s[4] = Logic.Xnor3(s[1], s[2], s[3]);

Siehe auch

Logic.Xnor(), Logic.Xor3(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Xnor()
Weiter >
Methode: Logic.Xor()

Methode: Logic.Xnor3()


Logic.Xor()

Methode: Logic.Xor()

Syntax

Logic.Xor(Wert1, Wert2)

Beschreibung

Betrachtet den Wert der Parameter "Wert1" und "Wert2" als boole'sche Werte und führt eine EXKLUSIV-ODER-Verknüpfung (auch Antivalenz genannt) zwischen diesen beiden Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der EXKLUSIV-ODER-Verknüpfung von Wert1 und Wert2

Wahrheitstabelle

Wert1 | Wert2 | Rückgabewert
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine EXKLUSIV-ODER-Verknüpfung zwischen den ersten beiden Schaltern ausführen und in s[3] speichern s[3] = Logic.Xor(s[1], s[2]);

Siehe auch

Logic.Xor3(), Logic.Xnor(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Xnor3()
Weiter >
Methode: Logic.Xor3()

Methode: Logic.Xor()


Logic.Xor3()

Methode: Logic.Xor3()

Syntax

Logic.Xor3(Wert1, Wert2, Wert3)

Beschreibung

Betrachtet den Wert der Parameter "Wert1", "Wert2" und "Wert3" als boole'sche Werte und führt eine EXKLUSIV-ODER-Verknüpfung (auch Antivalenz genannt) zwischen diesen drei Werten aus.
Änderung zum DestinyPatch 1.0:
Wird hier als Parameter ein String angegeben, dann gilt ein leerer String als Falsch (false) und ein nicht leerer String als Wahr (true). Sollte also ein String "0" beinhalten, so wird dies auch als Wahr gewertet. Ist dies nicht gewünscht, dann sollte der String zuerst in eine Zahl konvertiert werden. Dies kann mit dem Convert-Objekt erreicht werden.

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert3

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Das Ergebnis der EXKLUSIV-ODER-Verknüpfung von Wert1, Wert2 und Wert3

Wahrheitstabelle

Wert1 | Wert2 | Wert3 | Rückgabewert
0 | 0 | 0 | 0
0 | 0 | 1 | 1
0 | 1 | 0 | 1
0 | 1 | 1 | 0
1 | 0 | 0 | 1
1 | 0 | 1 | 0
1 | 1 | 0 | 0
1 | 1 | 1 | 0

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine EXKLUSIV-ODER-Verknüpfung zwischen den ersten drei Schaltern ausführen und in s[4] speichern s[4] = Logic.Xor3(s[1], s[2], s[3]);

Siehe auch

Logic.Xor(), Logic.Xnor3(), Logic.And(), Logic.Or(), Logic.Not()
< Zurück
Methode: Logic.Xor()
Weiter >
Kategorie: Vergleiche

Methode: Logic.Xor3()


Logic--cat_Comparisons

Kategorie: Vergleiche

Beschreibung

In dieser Kategorie sind alle Vergleiche des Logic-Objekts zusammengefasst. Sämtliche Vergleichsmethoden in dieser Kategorie werden inzwischen durch die Skriptsprache unterstützt und sind daher als veraltet anzusehen, denn beim Aufruf jener Methoden wird der selbe Code ausgeführt, wie bei den entsprechenden Vergleichsoperatoren. Die einzige nützliche Methode dieser Kategorie ist die einfache Verzweigung mittels Logic.If().

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Above() | Methode | Prüft ob ein Wert größer als ein anderer ist
AboveEqual() | Methode | Prüft ob ein Wert größer/gleich einem anderen ist
Below() | Methode | Prüft ob ein Wert kleiner als ein anderer ist
BelowEqual() | Methode | Prüft ob ein Wert kleiner/gleich einem anderen ist
Equal() | Methode | Prüft ob ein Wert gleich einem anderen ist
If() | Methode | Gibt abhängig von einem Boolean einen von zwei Werten zurück
Unequal() | Methode | Prüft ob ein Wert ungleich einem anderen ist
< Zurück
Methode: Logic.Xor3()
Weiter >
Methode: Logic.Above()

Kategorie: Vergleiche


Logic.Above()

Methode: Logic.Above()

Syntax

Logic.Above(Wert1, Wert2)

Beschreibung

Vergleicht "Wert1" mit "Wert2" und gibt true zurück, falls "Wert1" größer als "Wert2" ist.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt true zurück, falls der erste Wert größer als der zweite ist; andernfalls false.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen Größer-Vergleich zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = Logic.Above(v[1], v[2]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den Größer-Vergleichsoperator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Einen Größer-Vergleich mittels Operator zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = v[1] > v[2];

Siehe auch

Logic.AboveEqual(), Logic.Below(), Logic.BelowEqual(), Logic.Equal(), Logic.Unequal()
< Zurück
Kategorie: Vergleiche
Weiter >
Methode: Logic.AboveEqual()

Methode: Logic.Above()


Logic.AboveEqual()

Methode: Logic.AboveEqual()

Syntax

Logic.AboveEqual(Wert1, Wert2)

Beschreibung

Vergleicht "Wert1" mit "Wert2" und gibt true zurück, falls "Wert1" größer/gleich "Wert2" ist.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt true zurück, falls der erste Wert größer/gleich dem zweiten ist; andernfalls false.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen Größer/Gleich-Vergleich zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = Logic.AboveEqual(v[1], v[2]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den Größer/Gleich-Vergleichsoperator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Einen Größer/Gleich-Vergleich mittels Operator zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = v[1] >= v[2];

Siehe auch

Logic.Above(), Logic.Below(), Logic.BelowEqual(), Logic.Equal(), Logic.Unequal()
< Zurück
Methode: Logic.Above()
Weiter >
Methode: Logic.Below()

Methode: Logic.AboveEqual()


Logic.Below()

Methode: Logic.Below()

Syntax

Logic.Below(Wert1, Wert2)

Beschreibung

Vergleicht "Wert1" mit "Wert2" und gibt true zurück, falls "Wert1" kleiner als "Wert2" ist.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt true zurück, falls der erste Wert kleiner als der zweite ist; andernfalls false.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen Kleiner-Vergleich zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = Logic.Below(v[1], v[2]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den Kleiner-Vergleichsoperator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Einen Kleiner-Vergleich mittels Operator zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = v[1] < v[2];

Siehe auch

Logic.Above(), Logic.AboveEqual(), Logic.BelowEqual(), Logic.Equal(), Logic.Unequal()
< Zurück
Methode: Logic.AboveEqual()
Weiter >
Methode: Logic.BelowEqual()

Methode: Logic.Below()


Logic.BelowEqual()

Methode: Logic.BelowEqual()

Syntax

Logic.BelowEqual(Wert1, Wert2)

Beschreibung

Vergleicht "Wert1" mit "Wert2" und gibt true zurück, falls "Wert1" kleiner/gleich "Wert2" ist.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt true zurück, falls der erste Wert kleiner/gleich dem zweiten ist; andernfalls false.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen Kleiner/Gleich-Vergleich zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = Logic.BelowEqual(v[1], v[2]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den Kleiner/Gleich-Vergleichsoperator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Einen Kleiner/Gleich-Vergleich mittels Operator zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = v[1] <= v[2];

Siehe auch

Logic.Above(), Logic.AboveEqual(), Logic.Below(), Logic.Equal(), Logic.Unequal()
< Zurück
Methode: Logic.Below()
Weiter >
Methode: Logic.Equal()

Methode: Logic.BelowEqual()


Logic.Equal()

Methode: Logic.Equal()

Syntax

Logic.Equal(Wert1, Wert2)

Beschreibung

Vergleicht "Wert1" mit "Wert2" und gibt true zurück, falls "Wert1" gleich "Wert2" ist.
Änderung zum DestinyPatch 1.0:
Hiermit können jetzt auch Strings und Booleans verglichen werden, da hierfür der selbe Code ausgeführt wird, wie beim entsprechenden Vergleichsoperator.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt true zurück, falls der erste Wert gleich dem zweiten ist; andernfalls false.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen Gleich-Vergleich zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = Logic.Equal(v[1], v[2]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den Gleich-Vergleichsoperator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Einen Gleich-Vergleich mittels Operator zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = v[1] == v[2];

Siehe auch

Logic.Above(), Logic.AboveEqual(), Logic.Below(), Logic.BelowEqual(), Logic.Unequal()
< Zurück
Methode: Logic.BelowEqual()
Weiter >
Methode: Logic.If()

Methode: Logic.Equal()


Logic.If()

Methode: Logic.If()

Syntax

Logic.If(Ausdruck, WahrWert, FalschWert)

Beschreibung

Gibt abhängig vom boole'schen Zustand des Parameters "Ausdruck" entweder den Parameter "WahrWert" oder den Parameter "FalschWert" zurück. Als Parameter "Ausdruck" kann auch ein Vergleichsausdruck benutzt werden (siehe Beispiel).
Information:
Die Daten der Parameter werden samt Datentyp übernommen. Allerdings eignet sich diese Methode nicht für den Schreibzugriff.
Information:
Da die angegebenen Parameter immer vor dem Aufruf der Methode ausgewertet werden, kann diese Methode nicht vor Rechenfehlern schützen. Hierzu sollte die If-Verzweigung verwendet werden.

Liste der Parameter

Parameter: Ausdruck

Datentyp: | bool
Optional: | nein
Beschreibung: | Ein beliebiger boole'scher Wert, der entscheidet, ob der Parameter Wahrwert oder Falschwert zurückgegeben wird.

Parameter: WahrWert

Datentyp: | any
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: FalschWert

Datentyp: | any
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | any
Beschreibung: | Entweder der Parameter WahrWert oder FalschWert.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen Vergleich zwischen v[1] und v[2] durchführen und abhängig vom Ergebnis entweder "Kaffee" oder "Kuchen" in a[1] speichern a[1] = Logic.If(v[1] > v[2], "Kaffee", "Kuchen"); // Gibt "Kaffee" zurück, wenn v[1] größer als v[2] ist; andernfalls "Kuchen"

Sonstiges

Diese Methode dient nur dazu kleine Vergleiche zwischen zwei Werten auszuführen. Für komplexere Unterscheidungen mit mehreren auszuführenden Befehlen sollte die If-Verzweigung oder die Switch-Verzweigung verwendet werden.

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Einen Vergleich zwischen v[1] und v[2] durchführen und abhängig vom Ergebnis entweder "Kaffee" oder "Kuchen" in a[1] speichern
if(v[1] > v[2])
  a[1] = "Kaffee";
else
  a[1] = "Kuchen";
endif;
< Zurück
Methode: Logic.Equal()
Weiter >
Methode: Logic.Unequal()

Methode: Logic.If()


Logic.Unequal()

Methode: Logic.Unequal()

Syntax

Logic.Unequal(Wert1, Wert2)

Beschreibung

Vergleicht "Wert1" mit "Wert2" und gibt true zurück, falls "Wert1" ungleich "Wert2" ist.
Änderung zum DestinyPatch 1.0:
Hiermit können jetzt auch Strings und Booleans verglichen werden, da hierfür der selbe Code ausgeführt wird, wie beim entsprechenden Vergleichsoperator.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: Wert1

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Parameter: Wert2

Datentyp: | scalar
Optional: | nein
Beschreibung: | Ein beliebiger Wert

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt true zurück, falls der erste Wert ungleich dem zweiten ist; andernfalls false.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen Ungleich-Vergleich zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = Logic.Unequal(v[1], v[2]);

Sonstiges

Diese Methode ist als veraltet anzusehen, da der gleiche Effekt durch den Ungleich-Vergleichsoperator erreicht werden kann.

In die Zwischenablage kopieren
1 2 3
$ // Einen Ungleich-Vergleich mittels Operator zwischen v[1] und v[2] durchführen und das Ergebnis in s[1] speichern s[1] = v[1] != v[2];

Siehe auch

Logic.Above(), Logic.AboveEqual(), Logic.Below(), Logic.BelowEqual(), Logic.Equal()
< Zurück
Methode: Logic.If()
Weiter >
Objekt: Map

Methode: Logic.Unequal()


Map

Objekt: Map

Syntax

Map

Beschreibung

Das Map-Objekt dient dazu auf die aktuelle Karte des Spiels zu zugreifen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Chipset der Karte | Kategorie | Enthält alles zum verwendeten Chipset der Karte
AuroraSheet | Objekt | Die Grafik des verwendeten Chipsets der Karte
Chipset | Eigenschaft | Die verwendete Chipset-Id der Karte
Generelle Informationen zur Karte | Kategorie | Enthält alle generellen Informationen zur Karte
Height | Eigenschaft | Die Höhe der Karte
HeroX | Eigenschaft | Die aktuelle X-Koordinate des Helden auf der Karte
HeroY | Eigenschaft | Die aktuelle Y-Koordinate des Helden auf der Karte
Id | Eigenschaft | Die Map-Id der Karte
NumberOfSaves | Eigenschaft | Die Anzahl der Speicherungen der Karte mit dem Maker
ScreenX | Eigenschaft | Die aktuelle X-Koordinate des Bildschirms auf der Karte
ScreenY | Eigenschaft | Die aktuelle Y-Koordinate des Bildschirms auf der Karte
ScrollType | Eigenschaft | Der Scroll-Eigenschaften der Karte
Width | Eigenschaft | Die Breite der Karte
Karteninhalt | Kategorie | Enthält alles zum Inhalt der Karte
EventCount | Eigenschaft | Die Anzahl der Events auf der Karte
Lower[] | Eigenschaft | Das Lower-Chip an einer bestimmten Position der Karte
Upper[] | Eigenschaft | Das Upper-Chip an einer bestimmten Position der Karte
< Zurück
Methode: Logic.Unequal()
Weiter >
Kategorie: Chipset der Karte

Objekt: Map


Map--cat_Chipset

Kategorie: Chipset der Karte

Beschreibung

Enthält alles zum verwendeten Chipset der Karte.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AuroraSheet | Objekt | Die Grafik des verwendeten Chipsets der Karte
Chipset | Eigenschaft | Die verwendete Chipset-Id der Karte
< Zurück
Objekt: Map
Weiter >
Objekt: Map.AuroraSheet

Kategorie: Chipset der Karte


Map.AuroraSheet

Objekt: Map.AuroraSheet

Syntax

Map.AuroraSheet

Beschreibung

Mit dem AuroraSheet-Objekt des Map-Objekts kann die aktuell geladene Grafik für das Chipset bearbeitet werden. Da das einheitliche AuroraSheet-Objekt bei mehreren Objekten als Unterobjekt verfügbar ist, wurde die Beschreibung nur einmal verfasst und dem Picture[]-Objekt untergeordnet. Die Beschreibung findet sich hier: Picture[].AuroraSheet.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Die einzelnen Felder des verwendeten Chipsets horizontal spiegeln
for(v[1] = 0; v[1] < Map.AuroraSheet.Width; v[1] += 16)
  for(v[2] = 0; v[2] < Map.AuroraSheet.Height; v[2]++)
    for(v[3] = 0; v[3] < 8; v[3]++)
      v[4] = Map.AuroraSheet.Pixel[v[1] + 15 - v[3], v[2]];
      Map.AuroraSheet.Pixel[v[1] + 15 - v[3], v[2]] = Map.AuroraSheet.Pixel[v[1] + v[3], v[2]];
      Map.AuroraSheet.Pixel[v[1] + v[3], v[2]] = v[4];
    next;
  next;
next;

Siehe auch

Map, Picture[].AuroraSheet
< Zurück
Kategorie: Chipset der Karte
Weiter >
Eigenschaft: Map.Chipset

Objekt: Map.AuroraSheet


Map.Chipset

Eigenschaft: Map.Chipset

Syntax

Map.Chipset

Beschreibung

Mit der Chipset-Eigenschaft kann die Id des aktuell verwendeten Chipsets gelesen/geschrieben werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
< Zurück
Objekt: Map.AuroraSheet
Weiter >
Kategorie: Generelle Informationen zur Karte

Eigenschaft: Map.Chipset


Map--cat_General

Kategorie: Generelle Informationen zur Karte

Beschreibung

Enthält alle generellen Informationen zur Karte.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Height | Eigenschaft | Die Höhe der Karte
HeroX | Eigenschaft | Die aktuelle X-Koordinate des Helden auf der Karte
HeroY | Eigenschaft | Die aktuelle Y-Koordinate des Helden auf der Karte
Id | Eigenschaft | Die Map-Id der Karte
NumberOfSaves | Eigenschaft | Die Anzahl der Speicherungen der Karte mit dem Maker
ScreenX | Eigenschaft | Die aktuelle X-Koordinate des Bildschirms auf der Karte
ScreenY | Eigenschaft | Die aktuelle Y-Koordinate des Bildschirms auf der Karte
ScrollType | Eigenschaft | Der Scroll-Eigenschaften der Karte
Width | Eigenschaft | Die Breite der Karte
< Zurück
Eigenschaft: Map.Chipset
Weiter >
Eigenschaft: Map.Height

Kategorie: Generelle Informationen zur Karte


Map.Height

Eigenschaft: Map.Height

Syntax

Map.Height

Beschreibung

Mit der Height-Eigenschaft kann die Höhe der Karte ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Kategorie: Generelle Informationen zur Karte
Weiter >
Eigenschaft: Map.HeroX

Eigenschaft: Map.Height


Map.HeroX

Eigenschaft: Map.HeroX

Syntax

Map.HeroX

Beschreibung

Mit der HeroX-Eigenschaft kann die aktuelle X-Koordinate des Helden ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Flüchtig: | ja
< Zurück
Eigenschaft: Map.Height
Weiter >
Eigenschaft: Map.HeroY

Eigenschaft: Map.HeroX


Map.HeroY

Eigenschaft: Map.HeroY

Syntax

Map.HeroY

Beschreibung

Mit der HeroY-Eigenschaft kann die aktuelle Y-Koordinate des Helden ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Map.HeroX
Weiter >
Eigenschaft: Map.Id

Eigenschaft: Map.HeroY


Map.Id

Eigenschaft: Map.Id

Syntax

Map.Id

Beschreibung

Mit der Id-Eigenschaft kann die aktuelle Map-Id ermittelt werden. Diese beginnt bei 1 und wird vom RPG-Maker vergeben.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Map.HeroY
Weiter >
Eigenschaft: Map.NumberOfSaves

Eigenschaft: Map.Id


Map.NumberOfSaves

Eigenschaft: Map.NumberOfSaves

Syntax

Map.NumberOfSaves

Beschreibung

Gibt an, wie oft die Karte bereits mit dem Maker gespeichert wurde.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Map.Id
Weiter >
Eigenschaft: Map.ScreenX

Eigenschaft: Map.NumberOfSaves


Map.ScreenX

Eigenschaft: Map.ScreenX

Syntax

Map.ScreenX

Beschreibung

Mit der ScreenX-Eigenschaft kann die aktuelle X-Koordinate des Bildschirms auf der Karte gelesen/geschrieben werden. Die Koordinaten beziehen sich hierbei auf die obere linke Ecke der Karte (siehe Grafik):

Beispiel für Bildschirmkoordinaten

In dieser Grafik hätte der Bildschirm beispielsweise den Wert 48.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die aktuelle Bildschirmposition um 1 Feld nach rechts verschieben Map.ScreenX += 16;

Siehe auch

Map, Map.ScreenY
< Zurück
Eigenschaft: Map.NumberOfSaves
Weiter >
Eigenschaft: Map.ScreenY

Eigenschaft: Map.ScreenX


Map.ScreenY

Eigenschaft: Map.ScreenY

Syntax

Map.ScreenY

Beschreibung

Mit der ScreenY-Eigenschaft kann die aktuelle Y-Koordinate des Bildschirms auf der Karte gelesen/geschrieben werden. Die Koordinaten beziehen sich hierbei auf die obere linke Ecke der Karte (siehe Grafik):

Beispiel für Bildschirmkoordinaten

In dieser Grafik hätte der Bildschirm beispielsweise den Wert 80.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die aktuelle Bildschirmposition um 1 Feld nach oben verschieben Map.ScreenY -= 16;

Siehe auch

Map, Map.ScreenX
< Zurück
Eigenschaft: Map.ScreenX
Weiter >
Eigenschaft: Map.ScrollType

Eigenschaft: Map.ScreenY


Map.ScrollType

Eigenschaft: Map.ScrollType

Syntax

Map.ScrollType

Beschreibung

Mit der ScrollType-Eigenschaft kann das Verhalten gelesen/geschrieben werden, wie die Ränder der Karte dargestellt werden. Hierzu werden die ScrollType-Konstanten verwendet:
  • SCROLLTYPE_NORMAL: Die Karte wird ganz normal dargestellt; erreicht man den Rand der Karte, dann geht es nicht weiter
  • SCROLLTYPE_VERTICAL: Die Karte wird an den horizontalen Rändern normal dargestellt, doch bilden die vertikalen Ränder eine Schleife
  • SCROLLTYPE_HORIZONTAL: Die Karte wird an den vertikalen Rändern normal dargestellt, doch bilden die horizontalen Ränder eine Schleife
  • SCROLLTYPE_BOTH: Die Karte wird an allen Rändern wie eine Schleife dargestellt

Eigenschaften

Datentyp: | byte
Schreibgeschützt: | nein
Wertebereich: | 0 ... 3
Flüchtig: | ja

Siehe auch

Map
< Zurück
Eigenschaft: Map.ScreenY
Weiter >
Eigenschaft: Map.Width

Eigenschaft: Map.ScrollType


Map.Width

Eigenschaft: Map.Width

Syntax

Map.Width

Beschreibung

Mit der Width-Eigenschaft kann die Breite der Karte ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Map.ScrollType
Weiter >
Kategorie: Karteninhalt

Eigenschaft: Map.Width


Map--cat_Content

Kategorie: Karteninhalt

Beschreibung

Enthält alles zum Inhalt der Karte.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
EventCount | Eigenschaft | Die Anzahl der Events auf der Karte
Lower[] | Eigenschaft | Das Lower-Chip an einer bestimmten Position der Karte
Upper[] | Eigenschaft | Das Upper-Chip an einer bestimmten Position der Karte
< Zurück
Eigenschaft: Map.Width
Weiter >
Eigenschaft: Map.EventCount

Kategorie: Karteninhalt


Map.EventCount

Eigenschaft: Map.EventCount

Syntax

Map.EventCount

Beschreibung

Mit der EventCount-Eigenschaft kann die Anzahl der Events auf der Karte ermittelt werden. Diese Eigenschaft kann zusammen mit dem MapEvent-Objekt benutzt werden um eine Schleife über alle Events der Karte auszuführen. Bei der EventCount-Eigenschaft sind die Spezialevents wie der Held oder die Fahrzeuge nicht mit imbegriffen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Kategorie: Karteninhalt
Weiter >
Eigenschaft: Map.Lower[]

Eigenschaft: Map.EventCount


Map.Lower[]

Eigenschaft: Map.Lower[]

Syntax

Map.Lower[X, Y]

Beschreibung

Mit der Lower-Eigenschaft kann das Lower-Chip an einer bestimmten Position der Karte gelesen/geschrieben werden. Die Berechnung der Lower-/Upper-Chips kann im Anhang nachgelesen werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | nein
Flüchtig: | ja

Liste der Parameter

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Map.Width - 1)
Beschreibung: | X-Koordinate im Bereich von 0 ... (Map.Width - 1)

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Map.Height - 1)
Beschreibung: | Y-Koordinate im Bereich von 0 ... (Map.Height - 1)

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Map.EventCount
Weiter >
Eigenschaft: Map.Upper[]

Eigenschaft: Map.Lower[]


Map.Upper[]

Eigenschaft: Map.Upper[]

Syntax

Map.Upper[X, Y]

Beschreibung

Mit der Upper-Eigenschaft kann das Upper-Chip an einer bestimmten Position der Karte gelesen/geschrieben werden. Die Berechnung der Lower-/Upper-Chips kann im Anhang nachgelesen werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | nein
Flüchtig: | ja

Liste der Parameter

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Map.Width - 1)
Beschreibung: | X-Koordinate im Bereich von 0 ... (Map.Width - 1)

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Map.Height - 1)
Beschreibung: | Y-Koordinate im Bereich von 0 ... (Map.Height - 1)

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Map.Lower[]
Weiter >
Objekt: MapEvent

Eigenschaft: Map.Upper[]


MapEvent

Objekt: MapEvent

Syntax

MapEvent

Beschreibung

Das MapEvent-Objekt dient dazu die Events der Karte zugänglich zu machen. Im Gegensatz zum Event-Objekt wird ein nullbasierter, kontinuerlicher Index zum Zugriff auf ein einzelnes Event der Karte genutzt.
Da alle Eigenschaften und Methoden des MapEvent-Objekts mit denen des Event-Objekts identisch sind, muss dort für die Beschreibungen geschaut werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Events auf der aktuellen Karte
[] | Objekt | Ein bestimmtes Event dieser Aufzählung
AuroraSheet | Objekt | Das AuroraSheet-Objekt des verwendeten Charsets/Chipsets
CanMoveTo() | Methode | Prüft, ob sich das Event in eine bestimmte Richtung bewegen kann
Charframe | Eigenschaft | Das aktuell verwendete Charset eines Events
Charset | Eigenschaft | Das aktuell verwendete Charset eines Events
Dir1 | Eigenschaft | Die Bewegungsrichtung des Events
Dir2 | Eigenschaft | Die Blickrichtung des Events
DirFlags | Eigenschaft | Die Blick- und Bewegungsrichtung des Events
DirLook | Eigenschaft | Die Blickrichtung des Events
DirMove | Eigenschaft | Die Bewegungsrichtung des Events
Exists | Eigenschaft | Die Existiert-Status des Events
FixDir | Eigenschaft | Die "feste Blickrichtung"-Eigenschaft eines Events
Frame | Eigenschaft | Die aktuelle Bewegungsframe des Events
FrameSimple | Eigenschaft | Die aktuelle, vereinfachte Bewegungsframe des Events
Frequency | Eigenschaft | Die Bewegungsfrequenz eines Events
Id | Eigenschaft | Die Event-Id des Events
JumpTime | Eigenschaft | Die Aktionszeit eines Events
MapId | Eigenschaft | Die Map-Id des Events
MoveRoute | Objekt | Die individuelle Bewegungsstrecke eines Events
Active | Eigenschaft | Bestimmt ob die MoveRoute verwendet wird
Count | Eigenschaft | Die Anzahl der Bewegungen innerhalb der MoveRoute
CurrentIndex | Eigenschaft | Die aktuelle Bewegung innerhalb der MoveRoute
IgnoreIfCantMove | Eigenschaft | Nicht ausführbare Schritte ignorieren
Repeat | Eigenschaft | Wiederholung der MoveRoute
[] | Objekt | Ein einzelnes Element der MoveRoute
Charframe | Eigenschaft | Der Charframe bei SetChar
Charset | Eigenschaft | Das Charset bei SetChar
Command | Eigenschaft | Der Befehl der Bewegung
Panpot | Eigenschaft | Die Balance bei PlaySound
Sound | Eigenschaft | Der Sound bei PlaySound
Switch | Eigenschaft | Die Switch-Id bei Switch-Befehlen
Tempo | Eigenschaft | Die Geschwindigkeit bei PlaySound
Volume | Eigenschaft | Die Lautstärke bei PlaySound
Name | Eigenschaft | Die Name des Events
Offset | Eigenschaft | Die Abstand des Events zum nächsten Feld auf der Karte
Phasing | Eigenschaft | Die "durch Wände gehen"-Eigenschaft eines Events
ScreenX | Eigenschaft | Die X-Koordinate des Events auf dem Bildschirm
ScreenY | Eigenschaft | Die Y-Koordinate des Events auf dem Bildschirm
Speed | Eigenschaft | Die Geschwindigkeit eines Events
StopAnimation | Eigenschaft | Die "keine Bewegungsanimation"-Eigenschaft eines Events
Transparency | Eigenschaft | Die Transparenz eines Events
X | Eigenschaft | Die X-Koordinate des Events auf der Karte
Y | Eigenschaft | Die Y-Koordinate des Events auf der Karte

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Eine Schleife über alle Events der Karte (außer Held, Boot, Schiff und Luftschiff) machen
// und den Exists-Status umkippen
for(v[1] = 0; v[1] < MapEvent.Count; v[1]++)
  MapEvent[v[1]].Exists = !MapEvent[v[1]].Exists;
next;

Siehe auch

Event, Event[]
< Zurück
Eigenschaft: Map.Upper[]
Weiter >
Objekt: Math

Objekt: MapEvent


Math

Objekt: Math

Syntax

Math

Beschreibung

Mit dem Math-Objekt können diverse mathematische Operationen (Trigonometrie, Logarithmieren, Radizieren, Runden, ...) durchgeführt werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Konstanten | Kategorie | Enthält verschiedene mathematische Konstanten
E | Eigenschaft | Gibt die Euler'sche Zahl (e = 2,718281828...) zurück
Pi | Eigenschaft | Gibt die Ludolf'sche Zahl (π = 3,141592653589...) zurück
Potenzfunktionen | Kategorie | Enthält Funktionen, die mit Potenzen arbeiten
Exp() | Methode | Potenziert die Zahl 10 mit einer Zahl
Lb() | Methode | Berechnet den Logarithmus zur Basis 2
Lg() | Methode | Berechnet den Logarithmus zur Basis 10
Ln() | Methode | Berechnet den Logarithmus zur Basis e
Log() | Methode | Berechnet den Logarithmus zu einer beliebigen Basis
Power() | Methode | Potenziert eine Basis mit einem Exponenten
Sqrt() | Methode | Berechnet die (Quadrat-)Wurzel einer Zahl
Rundungsfunktionen | Kategorie | Enthält Funktionen zum Runden
Ceil() | Methode | Rundet eine Zahl gegen +∞
Dec() | Methode | Schneidet den Vorkommateil einer Zahl ab
Decimal() | Methode | Schneidet den Vorkommateil einer Zahl ab
Floor() | Methode | Rundet eine Zahl gegen -∞
Int() | Methode | Schneidet den Nachkommateil einer Zahl ab
Integer() | Methode | Schneidet den Nachkommateil einer Zahl ab
Round() | Methode | Rundet eine Zahl kaufmännisch
RoundDown() | Methode | Rundet eine Zahl gegen -∞
RoundUp() | Methode | Rundet eine Zahl gegen +∞
Scale() | Methode | Schneidet den Vorkommateil einer Zahl ab
Sonstige Funktionen | Kategorie | Enthält alle sonstigen mathematischen Funktionen
Abs() | Methode | Gibt den absoluten Wert einer Zahl zurück
Cmp() | Methode | Vergleicht zwei Zahlen miteinander
Winkelfunktionen | Kategorie | Enthält Winkelfunktionen
Hyperbolische Areafunktionen | Kategorie | Enthält hyperbolische Areafunktionen
ACosH() | Methode | Berechnet den Areacosinus Hyperbolicus
ACotH() | Methode | Berechnet den Areacotangens Hyperbolicus
ACscH() | Methode | Berechnet den Area Cosekans Hyperbolicus
ASecH() | Methode | Berechnet den Area Sekans Hyperbolicus
ASinH() | Methode | Berechnet den Areasinus Hyperbolicus
ATanH() | Methode | Berechnet den Areatangens Hyperbolicus
Hyperbolische Funktionen | Kategorie | Enthält hyperbolische Funktionen
CosH() | Methode | Berechnet den Cosinus Hyperbolicus
CotH() | Methode | Berechnet den Cotangens Hyperbolicus
CscH() | Methode | Berechnet den Cosekans Hyperbolicus
SecH() | Methode | Berechnet den Sekans Hyperbolicus
SinH() | Methode | Berechnet den Sinus Hyperbolicus
TanH() | Methode | Berechnet den Tangens Hyperbolicus
Trigonometrische Arkusfunktionen | Kategorie | Enthält trigonometrische Arkusfunktionen
ACos() | Methode | Berechnet den Winkel eines Cosinus
ACot() | Methode | Berechnet den Winkel eines Cotangens
ACsc() | Methode | Berechnet den Winkel eines Cosekans
ASec() | Methode | Berechnet den Winkel eines Sekans
ASin() | Methode | Berechnet den Winkel eines Sinus
ATan() | Methode | Berechnet den Winkel eines Tangens
Trigonometrische Funktionen | Kategorie | Enthält trigonometrische Funktionen
Cos() | Methode | Berechnet den Cosinus eines Winkels
Cot() | Methode | Berechnet den Cotangens eines Winkels
Csc() | Methode | Berechnet den Cosekans eines Winkels
Sec() | Methode | Berechnet den Sekans eines Winkels
Sin() | Methode | Berechnet den Sinus eines Winkels
Tan() | Methode | Berechnet den Tangens eines Winkels
Zufallszahlen | Kategorie | Enthält Funktionen zum Erzeugen von Zufallszahlen
Rand() | Methode | Erzeugt eine Zufallszahl
RandSeed | Eigenschaft | Gibt den Grundwert zur Berechnung von Zufallszahlen an
< Zurück
Objekt: MapEvent
Weiter >
Kategorie: Konstanten

Objekt: Math


Math--cat_Constants

Kategorie: Konstanten

Beschreibung

Enthält verschiedene mathematische Konstanten.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
E | Eigenschaft | Gibt die Euler'sche Zahl (e = 2,718281828...) zurück
Pi | Eigenschaft | Gibt die Ludolf'sche Zahl (π = 3,141592653589...) zurück
< Zurück
Objekt: Math
Weiter >
Eigenschaft: Math.E

Kategorie: Konstanten


Math.E

Eigenschaft: Math.E

Syntax

Math.E

Beschreibung

Diese Eigenschaft repräsentiert die Euler'sche Zahl (e = 2,718281828...).

Eigenschaften

Datentyp: | float
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2
$ f[1] = Math.E; // f[1] = 2.718281828...

Mögliche Fehler

DESTINYERROR_FLOATERROR
< Zurück
Kategorie: Konstanten
Weiter >
Eigenschaft: Math.Pi

Eigenschaft: Math.E


Math.Pi

Eigenschaft: Math.Pi

Syntax

Math.Pi

Beschreibung

Diese Eigenschaft repräsentiert die Ludolf'sche Zahl (π = 3,141592653589...).

Eigenschaften

Datentyp: | float
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2
$ f[1] = Math.Pi; // f[1] = 3.141592653589...

Mögliche Fehler

DESTINYERROR_FLOATERROR
< Zurück
Eigenschaft: Math.E
Weiter >
Kategorie: Potenzfunktionen

Eigenschaft: Math.Pi


Math--cat_Power

Kategorie: Potenzfunktionen

Beschreibung

Enthält Funktionen, die mit Potenzen arbeiten.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Exp() | Methode | Potenziert die Zahl 10 mit einer Zahl
Lb() | Methode | Berechnet den Logarithmus zur Basis 2
Lg() | Methode | Berechnet den Logarithmus zur Basis 10
Ln() | Methode | Berechnet den Logarithmus zur Basis e
Log() | Methode | Berechnet den Logarithmus zu einer beliebigen Basis
Power() | Methode | Potenziert eine Basis mit einem Exponenten
Sqrt() | Methode | Berechnet die (Quadrat-)Wurzel einer Zahl
< Zurück
Eigenschaft: Math.Pi
Weiter >
Methode: Math.Exp()

Kategorie: Potenzfunktionen


Math.Exp()

Methode: Math.Exp()

Syntax

Math.Exp(Exponent)

Beschreibung

Berechnet die Potenz aus 10 hoch Exponent.

Liste der Parameter

Parameter: Exponent

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Exponenten zur Basis 10 an.

Rückgabewert

Datentyp: | float
Beschreibung: | Das Ergebnis aus 10 hoch Exponent

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Zahl 10 mit 6 potenzieren f[1] = Math.Exp(6); // = 1000000

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Power(), Math.Log(), Math.Lg(), Math.Ln(), Math.Lb(), Math.Sqrt()
< Zurück
Kategorie: Potenzfunktionen
Weiter >
Methode: Math.Lb()

Methode: Math.Exp()


Math.Lb()

Methode: Math.Lb()

Syntax

Math.Lb(Zahl)

Beschreibung

Berechnet den binären Logarithmus (Basis ist 2).

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Wertebereich: | > 0
Beschreibung: | Gibt die Zahl an, aus welcher der Logarithmus berechnet werden soll. Diese Zahl muss größer als 0 sein, da der DestinyPatch nicht mit Komplexen Zahlen rechnen kann.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Exponent zur Basis 2, welcher nötig ist um die Zahl zu bilden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Logarithmus der Zahl 1024 zur Basis 2 bestimmen f[1] = Math.Lb(1024); // = 10

Mögliche Fehler

DESTINYERROR_FLOATERROR, DESTINYERROR_VALUE

Siehe auch

Math.Power(), Math.Exp(), Math.Log(), Math.Lg(), Math.Ln(), Math.Sqrt()
< Zurück
Methode: Math.Exp()
Weiter >
Methode: Math.Lg()

Methode: Math.Lb()


Math.Lg()

Methode: Math.Lg()

Syntax

Math.Lg(Zahl)

Beschreibung

Berechnet den dekadischen Logarithmus (Basis ist 10).

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Wertebereich: | > 0
Beschreibung: | Gibt die Zahl an, aus welcher der Logarithmus berechnet werden soll. Diese Zahl muss größer als 0 sein, da der DestinyPatch nicht mit Komplexen Zahlen rechnen kann.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Exponent zur Basis 10, welcher nötig ist um die Zahl zu bilden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Logarithmus der Zahl 10000 zur Basis 10 bestimmen f[1] = Math.Lg(10000.0); // = 4 (denn 10 ^ 4 = 10000)

Mögliche Fehler

DESTINYERROR_FLOATERROR, DESTINYERROR_VALUE

Siehe auch

Math.Power(), Math.Exp(), Math.Log(), Math.Lb(), Math.Ln(), Math.Sqrt()
< Zurück
Methode: Math.Lb()
Weiter >
Methode: Math.Ln()

Methode: Math.Lg()


Math.Ln()

Methode: Math.Ln()

Syntax

Math.Ln(Zahl)

Beschreibung

Berechnet den natürlichen Logarithmus (Basis ist die Euler'sche Zahl).

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Wertebereich: | > 0
Beschreibung: | Gibt die Zahl an, aus welcher der Logarithmus berechnet werden soll. Diese Zahl muss größer als 0 sein, da der DestinyPatch nicht mit Komplexen Zahlen rechnen kann.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Exponent zur Basis e, welcher nötig ist um die Zahl zu bilden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Logarithmus der Zahl 1 / e zur Basis e bestimmen f[1] = Math.Ln(1 / Math.E); // = -1

Mögliche Fehler

DESTINYERROR_FLOATERROR, DESTINYERROR_VALUE

Siehe auch

Math.Power(), Math.Exp(), Math.Log(), Math.Lg(), Math.Lb(), Math.Sqrt()
< Zurück
Methode: Math.Lg()
Weiter >
Methode: Math.Log()

Methode: Math.Ln()


Math.Log()

Methode: Math.Log()

Syntax

Math.Log(Zahl, Basis)

Beschreibung

Berechnet den Logarithmus zu einer beliebigen Basis.

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Wertebereich: | > 0
Beschreibung: | Gibt die Zahl an, aus welcher der Logarithmus berechnet werden soll. Diese Zahl muss größer als 0 sein, da der DestinyPatch nicht mit Komplexen Zahlen rechnen kann.

Parameter: Basis

Datentyp: | float
Optional: | nein
Wertebereich: | > 0
Beschreibung: | Gibt die Basis an, zu der sich der Logarithmus beziehen soll. Diese Zahl muss größer als 0 sein, da der DestinyPatch nicht mit Komplexen Zahlen rechnen kann.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Exponent zur Basis, welcher nötig ist um die Zahl zu bilden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Logarithmus der Zahl 25 zur Basis 5 bestimmen f[1] = Math.Log(25.0, 5.0); // = 2 (denn 5 ^ 2 = 25)

Sonstiges

Um den Logarithmus zur Basis 10, 2 oder e zu berechnen sollten die Methoden Math.Lg(), Math.Lb() und Math.Ln() verwendet werden, da diese aufgrund der geringeren Parametrierung schneller sind.

Mögliche Fehler

DESTINYERROR_FLOATERROR, DESTINYERROR_VALUE

Siehe auch

Math.Power(), Math.Exp(), Math.Lg(), Math.Lb(), Math.Ln(), Math.Sqrt()
< Zurück
Methode: Math.Ln()
Weiter >
Methode: Math.Power()

Methode: Math.Log()


Math.Power()

Methode: Math.Power()

Syntax

Math.Power(Basis, Exponent)

Beschreibung

Potenziert eine Basis mit einem Exponenten.

Liste der Parameter

Parameter: Basis

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt die Basis der Rechnung an.

Parameter: Exponent

Datentyp: float
Optional: nein
Wertebereich: bei 0 als Basis > 0, bei negativen Zahlen als Basis jede Zahl ohne Nachkommateil
Beschreibung: Gibt den Exponenten der Rechnung an. Der Wertebereich dieses Parameters hängt von der verwendeten Basis ab:
  • Bei positiver Basis muss der Exponent größer als -∞ und kleiner als +∞ sein (es sind also alle Zahlen erlaubt)
  • Bei Null als Basis muss der Exponent größer als 0 sein. Das Ergebnis ist dann immer 0. (0 ^ 0 ist also, wie in der Mathematik üblich, nicht erlaubt)!
  • Bei negativer Basis darf der Exponent keinen Nachkommateil haben, da das Ergebnis sonst im Komplexen Zahlenraum liegen würde.

Rückgabewert

Datentyp: | float
Beschreibung: | Das Ergebnis aus Basis hoch Exponent

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Zahl 3 mit 4 potenzieren
f[1] = Math.Power(3.0, 4.0);        // = 81 (= 3 * 3 * 3 * 3)
// Die dritte Wurzel aus 8 berechnen
f[2] = Math.Power(8.0, 1.0 / 3.0);  // = 2 (denn 2 * 2 * 2 ist 8)

Sonstiges

Ist der Exponent ein Bruch, dann wird eine Wurzel berechnet. Z. B. 0,5 für die zweite Wurzel, 0,125 für die achte Wurzel, usw. Die wievielte Wurzel berechnet wird, ergibt sich aus der Zahl des Nenners des Exponenten, wenn der Zähler gleich 1 ist.
Einfachheitshalber kann man aber auch bei Math.Sqrt() den optionalen Parameter angeben. Dabei wird dann automatisch der Kehrbruch berechnet, sodass man leicht angeben kann, die wievielte Wurzel man haben möchte.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Exp(), Math.Log(), Math.Lg(), Math.Lb(), Math.Ln(), Math.Sqrt()
< Zurück
Methode: Math.Log()
Weiter >
Methode: Math.Sqrt()

Methode: Math.Power()


Math.Sqrt()

Methode: Math.Sqrt()

Syntax

Math.Sqrt(Zahl, [Exponent])

Beschreibung

Berechnet die (Quadrat-)Wurzel einer Zahl (Radizieren).

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt die Zahl an, aus welcher die Wurzel berechnet werden soll.

Parameter: Exponent

Datentyp: float
Optional: ja
Standardwert: 2.0
Wertebereich: != 0
Beschreibung: Gibt den Exponenten an, zu dem die Wurzel berechnet wird. Der Standardwert ist 2, weshalb im Normalfall die Quadratwurzel berechnet wird. Dieser Wert darf nicht 0 sein, da jede Zahl (außer 0) hoch 0 gleich 1 ergibt. Der Wertebereich dieses Parameters hängt außerdem von der verwendeten Zahl ab, aus der die Wurzel gezogen wird:
  • Bei positiver Zahl muss der Exponent größer als -∞ und kleiner als +∞ sein (es sind also alle Zahlen erlaubt)
  • Bei Null als Zahl muss der Exponent größer als 0 sein. Das Ergebnis ist dann immer 0. (0 ^ 0 ist also, wie in der Mathematik üblich, nicht erlaubt)!
  • Bei negativer Zahl darf der Kehrwert des Exponents keinen Nachkommateil haben, da das Ergebnis sonst im Komplexen Zahlenraum liegen würde.

Rückgabewert

Datentyp: | float
Beschreibung: | Die Basis zum Exponenten, welche nötig ist um die Zahl zu bilden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Quadratwurzel aus 1000000 berechnen
f[1] = Math.Sqrt(1000000.0);       // = 1000.0
// Die Kubikwurzel aus 1000000 berechnen
f[2] = Math.Sqrt(1000000.0, 3.0);  // = 100.0

Sonstiges

Wird der optionale Parameter "Exponent" angegeben, dann aus diesem der Kehrwert gebildet und die Parameter an die Math.Power()-Methode weitergereicht.

Mögliche Fehler

DESTINYERROR_FLOATERROR, DESTINYERROR_VALUE

Siehe auch

Math.Power(), Math.Exp(), Math.Log(), Math.Lg(), Math.Ln(), Math.Lb()
< Zurück
Methode: Math.Power()
Weiter >
Kategorie: Rundungsfunktionen

Methode: Math.Sqrt()


Math--cat_Round

Kategorie: Rundungsfunktionen

Beschreibung

Enthält Funktionen zum Runden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Ceil() | Methode | Rundet eine Zahl gegen +∞
Dec() | Methode | Schneidet den Vorkommateil einer Zahl ab
Decimal() | Methode | Schneidet den Vorkommateil einer Zahl ab
Floor() | Methode | Rundet eine Zahl gegen -∞
Int() | Methode | Schneidet den Nachkommateil einer Zahl ab
Integer() | Methode | Schneidet den Nachkommateil einer Zahl ab
Round() | Methode | Rundet eine Zahl kaufmännisch
RoundDown() | Methode | Rundet eine Zahl gegen -∞
RoundUp() | Methode | Rundet eine Zahl gegen +∞
Scale() | Methode | Schneidet den Vorkommateil einer Zahl ab
< Zurück
Methode: Math.Sqrt()
Weiter >
Methode: Math.Decimal()

Kategorie: Rundungsfunktionen


Math.Decimal()

Methode: Math.Decimal()

Syntax

Math.Decimal(Zahl)

Beschreibung

Schneidet den Vorkommateil einer Zahl ab.

Synonyme

  • Scale()
  • Dec()

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Beschreibung: | Die Zahl, von der der Vorkommateil entfernt werden soll

Rückgabewert

Datentyp: | float
Beschreibung: | Der Nachkommateil der angegebenen Zahl

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Mehrere Vorkommateile abschneiden
f[1] = Math.Decimal( 1273.48);     // =  0.48
f[2] = Math.Decimal(-1273.48);     // = -0.48

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Integer(), Math.Round(), Math.RoundUp(), Math.RoundDown()
< Zurück
Kategorie: Rundungsfunktionen
Weiter >
Methode: Math.Integer()

Methode: Math.Decimal()


Math.Integer()

Methode: Math.Integer()

Syntax

Math.Integer(Zahl)

Beschreibung

Schneidet den Nachkommateil einer Zahl ab.

Synonyme

  • Int()

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Beschreibung: | Die Zahl, von der der Nachkommateil entfernt werden soll

Rückgabewert

Datentyp: | float
Beschreibung: | Der Vorkommateil der angegebenen Zahl

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Mehrere Nachkommateile abschneiden
f[1] = Math.Integer( 1273.48);     // =  1273.0
f[2] = Math.Integer(-1273.48);     // = -1273.0

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Decimal(), Math.Round(), Math.RoundUp(), Math.RoundDown()
< Zurück
Methode: Math.Decimal()
Weiter >
Methode: Math.Round()

Methode: Math.Integer()


Math.Round()

Methode: Math.Round()

Syntax

Math.Round(Zahl, [Stelle])

Beschreibung

Rundet eine Zahl kaufmännisch (d. h. von 5 bis 9 wird aufgerundet) auf die bestimmte Stelle.

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Beschreibung: | Die zu rundende Zahl

Parameter: Stelle

Datentyp: float
Optional: ja
Standardwert: 0.0
Beschreibung: Gibt den Abstand der Stelle zum Komma an, auf die gerundet wird.
  • Werte < 0 geben an, dass auf die entsprechende Vorkommastelle gerundet wird (z. B. -1 für die zweite Stelle vor dem Komma)
  • Der Wert 0 gibt an, dass der Nachkommateil auf den Vorkommateil gerundet wird (0 für die erste Stelle vor dem Komma)
  • Werte > 0 geben an, dass auf die entsprechende Nachkommastelle gerundet wird (z. B. 1 für die erste Stelle nach dem Komma)

Rückgabewert

Datentyp: | float
Beschreibung: | Die kaufmännisch gerundete Zahl

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Verschiedene Zahlen runden
f[1] = Math.Round(1273.48);     // = 1273.0 (abgerundet)
f[2] = Math.Round(1273.58);     // = 1274.0 (aufgerundet)
f[3] = Math.Round(1273.48, -1); // = 1270.0 (abgerundet auf zweite Vorkommastelle)
f[4] = Math.Round(1273.48, -2); // = 1300.0 (aufgerundet auf dritte Vorkommastelle)
f[5] = Math.Round(1273.48, 1);  // = 1273.5 (aufgerundet auf erste Nachkommastelle)

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.RoundUp(), Math.RoundDown(), Math.Integer(), Math.Decimal()
< Zurück
Methode: Math.Integer()
Weiter >
Methode: Math.RoundDown()

Methode: Math.Round()


Math.RoundDown()

Methode: Math.RoundDown()

Syntax

Math.RoundDown(Zahl, [Stelle])

Beschreibung

Rundet eine Zahl in Richtung -∞ (d. h. von 1 bis 9 wird abgerundet) auf die bestimmte Stelle. Negative Zahlen werden hierbei am Ende negativer (oder bleiben gleich).

Synonyme

  • Floor()

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Beschreibung: | Die zu rundende Zahl

Parameter: Stelle

Datentyp: dword
Optional: ja
Standardwert: 0
Beschreibung: Gibt den Abstand der Stelle zum Komma an, auf die gerundet wird.
  • Werte < 0 geben an, dass auf die entsprechende Vorkommastelle gerundet wird (z. B. -1 für die zweite Stelle vor dem Komma)
  • Der Wert 0 gibt an, dass der Nachkommateil auf den Vorkommateil gerundet wird (0 für die erste Stelle vor dem Komma)
  • Werte > 0 geben an, dass auf die entsprechende Nachkommastelle gerundet wird (z. B. 1 für die erste Stelle nach dem Komma)

Rückgabewert

Datentyp: | float
Beschreibung: | Die abgerundete Zahl

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Verschiedene Zahlen abrunden
f[1] = Math.RoundDown( 1273.48);     // =  1273.0
f[2] = Math.RoundDown(-1273.48);     // = -1274.0
f[3] = Math.RoundDown( 1273.48, -1); // =  1270.0 (abgerundet auf zweite Vorkommastelle)
f[4] = Math.RoundDown( 1273.48, -2); // =  1200.0 (abgerundet auf dritte Vorkommastelle)
f[5] = Math.RoundDown( 1273.48,  1); // =  1273.4 (abgerundet auf erste Nachkommastelle)

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.RoundUp(), Math.Round(), Math.Integer(), Math.Decimal()
< Zurück
Methode: Math.Round()
Weiter >
Methode: Math.RoundUp()

Methode: Math.RoundDown()


Math.RoundUp()

Methode: Math.RoundUp()

Syntax

Math.RoundUp(Zahl, [Stelle])

Beschreibung

Rundet eine Zahl in Richtung +∞ (d. h. von 1 bis 9 wird aufgerundet) auf die bestimmte Stelle. Negative Zahlen werden hierbei am Ende positiver (oder bleiben gleich).

Synonyme

  • Ceil()

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Beschreibung: | Die zu rundende Zahl

Parameter: Stelle

Datentyp: dword
Optional: ja
Standardwert: 0
Beschreibung: Gibt den Abstand der Stelle zum Komma an, auf die gerundet wird.
  • Werte < 0 geben an, dass auf die entsprechende Vorkommastelle gerundet wird (z. B. -1 für die zweite Stelle vor dem Komma)
  • Der Wert 0 gibt an, dass der Nachkommateil auf den Vorkommateil gerundet wird (0 für die erste Stelle vor dem Komma)
  • Werte > 0 geben an, dass auf die entsprechende Nachkommastelle gerundet wird (z. B. 1 für die erste Stelle nach dem Komma)

Rückgabewert

Datentyp: | float
Beschreibung: | Die aufgerundete Zahl

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Verschiedene Zahlen aufrunden
f[1] = Math.RoundUp( 1273.48);     // =  1274.0
f[2] = Math.RoundUp(-1273.48);     // = -1273.0
f[3] = Math.RoundUp( 1273.48, -1); // =  1280.0 (aufgerundet auf zweite Vorkommastelle)
f[4] = Math.RoundUp( 1273.48, -2); // =  1300.0 (aufgerundet auf dritte Vorkommastelle)
f[5] = Math.RoundUp( 1273.48,  1); // =  1273.5 (aufgerundet auf erste Nachkommastelle)

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.RoundDown(), Math.Round(), Math.Integer(), Math.Decimal()
< Zurück
Methode: Math.RoundDown()
Weiter >
Kategorie: Sonstige Funktionen

Methode: Math.RoundUp()


Math--cat_Miscellaneous

Kategorie: Sonstige Funktionen

Beschreibung

Enthält alle sonstigen mathematischen Funktionen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Abs() | Methode | Gibt den absoluten Wert einer Zahl zurück
Cmp() | Methode | Vergleicht zwei Zahlen miteinander
< Zurück
Methode: Math.RoundUp()
Weiter >
Methode: Math.Abs()

Kategorie: Sonstige Funktionen


Math.Abs()

Methode: Math.Abs()

Syntax

Math.Abs(Zahl)

Beschreibung

Gibt den absoluten Wert einer Zahl zurück (d. h. das Vorzeichen der Zahl wird immer auf Plus gesetzt).

Liste der Parameter

Parameter: Zahl

Datentyp: | float
Optional: | nein
Beschreibung: | Die zu konvertierende Zahl

Rückgabewert

Datentyp: | float
Beschreibung: | Der absolute Wert der Zahl

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Mehrere Absolutwerte bilden
f[1] = Math.Abs(-2);   // = 2
f[2] = Math.Abs(-1);   // = 1
f[3] = Math.Abs(0);    // = 0
f[4] = Math.Abs(1);    // = 1
f[5] = Math.Abs(2);    // = 2

Mögliche Fehler

DESTINYERROR_FLOATERROR
< Zurück
Kategorie: Sonstige Funktionen
Weiter >
Methode: Math.Cmp()

Methode: Math.Abs()


Math.Cmp()

Methode: Math.Cmp()

Syntax

Math.Cmp(Zahl1, Zahl2)

Beschreibung

Vergleicht zwei Zahlen miteinander. Das Ergebnis dieser Funktion kann gut dazu benutzt werden, um im RPG-Maker über eine Verzweigung den Wert einer Variable mit 0 zu vergleichen. Für Vergleiche innerhalb eines DestinyScripts ist diese Methode eher als rudimentär anzusehen, da bei der Version 1.0 des Patches keine Vergleichsoperatoren zur Verfügung standen.

Liste der Parameter

Parameter: Zahl1

Datentyp: | float
Optional: | nein
Beschreibung: | Die erste zu vergleichende Zahl

Parameter: Zahl2

Datentyp: | float
Optional: | nein
Beschreibung: | Die zweite zu vergleichende Zahl

Rückgabewert

Datentyp: dword
Beschreibung:
  • Ergibt -1, falls Zahl1 < Zahl2
  • Ergibt 0, falls Zahl1 = Zahl2
  • Ergibt 1, falls Zahl1 > Zahl2

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Zahl 10.0 mit der Zahl 11.0 vergleichen und das Ergebnis in v[1] speichern v[1] = Math.Cmp(10.0, 11.0); // = -1

Sonstiges

Für Vergleiche innerhalb eines DestinyScripts sollten die Vergleichsoperatoren verwendet werden:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
if(f[1] < f[2])
  // ...
elseif(f[1] == f[2])
  // ...
else // if(f[1] > f[2])
  // ...
endif;

Mögliche Fehler

DESTINYERROR_FLOATERROR
< Zurück
Methode: Math.Abs()
Weiter >
Kategorie: Winkelfunktionen

Methode: Math.Cmp()


Math--cat_Angle

Kategorie: Winkelfunktionen

Beschreibung

Enthält Winkelfunktionen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Hyperbolische Areafunktionen | Kategorie | Enthält hyperbolische Areafunktionen
ACosH() | Methode | Berechnet den Areacosinus Hyperbolicus
ACotH() | Methode | Berechnet den Areacotangens Hyperbolicus
ACscH() | Methode | Berechnet den Area Cosekans Hyperbolicus
ASecH() | Methode | Berechnet den Area Sekans Hyperbolicus
ASinH() | Methode | Berechnet den Areasinus Hyperbolicus
ATanH() | Methode | Berechnet den Areatangens Hyperbolicus
Hyperbolische Funktionen | Kategorie | Enthält hyperbolische Funktionen
CosH() | Methode | Berechnet den Cosinus Hyperbolicus
CotH() | Methode | Berechnet den Cotangens Hyperbolicus
CscH() | Methode | Berechnet den Cosekans Hyperbolicus
SecH() | Methode | Berechnet den Sekans Hyperbolicus
SinH() | Methode | Berechnet den Sinus Hyperbolicus
TanH() | Methode | Berechnet den Tangens Hyperbolicus
Trigonometrische Arkusfunktionen | Kategorie | Enthält trigonometrische Arkusfunktionen
ACos() | Methode | Berechnet den Winkel eines Cosinus
ACot() | Methode | Berechnet den Winkel eines Cotangens
ACsc() | Methode | Berechnet den Winkel eines Cosekans
ASec() | Methode | Berechnet den Winkel eines Sekans
ASin() | Methode | Berechnet den Winkel eines Sinus
ATan() | Methode | Berechnet den Winkel eines Tangens
Trigonometrische Funktionen | Kategorie | Enthält trigonometrische Funktionen
Cos() | Methode | Berechnet den Cosinus eines Winkels
Cot() | Methode | Berechnet den Cotangens eines Winkels
Csc() | Methode | Berechnet den Cosekans eines Winkels
Sec() | Methode | Berechnet den Sekans eines Winkels
Sin() | Methode | Berechnet den Sinus eines Winkels
Tan() | Methode | Berechnet den Tangens eines Winkels
< Zurück
Methode: Math.Cmp()
Weiter >
Kategorie: Hyperbolische Areafunktionen

Kategorie: Winkelfunktionen


Math--cat_AreaHyperbolic

Kategorie: Hyperbolische Areafunktionen

Beschreibung

Enthält hyperbolische Areafunktionen. Diese sind die Gegenfunktionen zu den hyperbolischen Funktionen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
ACosH() | Methode | Berechnet den Areacosinus Hyperbolicus
ACotH() | Methode | Berechnet den Areacotangens Hyperbolicus
ACscH() | Methode | Berechnet den Area Cosekans Hyperbolicus
ASecH() | Methode | Berechnet den Area Sekans Hyperbolicus
ASinH() | Methode | Berechnet den Areasinus Hyperbolicus
ATanH() | Methode | Berechnet den Areatangens Hyperbolicus
< Zurück
Kategorie: Winkelfunktionen
Weiter >
Methode: Math.ACosH()

Kategorie: Hyperbolische Areafunktionen


Math.ACosH()

Methode: Math.ACosH()

Syntax

Math.ACosH(CosH)

Beschreibung

Berechnet den Area Cosinus Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: CosH

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Cosinus Hyperbolicus an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Area Cosinus Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Area Cosinus Hyperbolicus aus 10.0676619957777 berechnen f[1] = Math.ACosH(10.0676619957777); // = 3

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.CosH()
< Zurück
Kategorie: Hyperbolische Areafunktionen
Weiter >
Methode: Math.ACotH()

Methode: Math.ACosH()


Math.ACotH()

Methode: Math.ACotH()

Syntax

Math.ACotH(CotH)

Beschreibung

Berechnet den Area Cotangens Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: CotH

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Cotangens Hyperbolicus an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Area Cotangens Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Area Cotangens Hyperbolicus aus 1.00496982331368 berechnen f[1] = Math.ACotH(1.00496982331368); // = 3

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.CotH()
< Zurück
Methode: Math.ACosH()
Weiter >
Methode: Math.ACscH()

Methode: Math.ACotH()


Math.ACscH()

Methode: Math.ACscH()

Syntax

Math.ACscH(CscH)

Beschreibung

Berechnet den Area Cosekans Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: CscH

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Cosekans Hyperbolicus an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Area Cosekans Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Area Cosekans Hyperbolicus aus 0.0998215696688227 berechnen f[1] = Math.ACscH(0.0998215696688227); // = 3

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.CscH()
< Zurück
Methode: Math.ACotH()
Weiter >
Methode: Math.ASecH()

Methode: Math.ACscH()


Math.ASecH()

Methode: Math.ASecH()

Syntax

Math.ASecH(SecH)

Beschreibung

Berechnet den Area Sekans Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: SecH

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Sekans Hyperbolicus an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Area Sekans Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Area Sekans Hyperbolicus aus 0.0993279274194332 berechnen f[1] = Math.ASecH(0.0993279274194332); // = 3

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.SecH()
< Zurück
Methode: Math.ACscH()
Weiter >
Methode: Math.ASinH()

Methode: Math.ASecH()


Math.ASinH()

Methode: Math.ASinH()

Syntax

Math.ASinH(SinH)

Beschreibung

Berechnet den Area Sinus Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: SinH

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Sinus Hyperbolicus an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Area Sinus Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Area Sinus Hyperbolicus aus 10.0178749274099 berechnen f[1] = Math.ASinH(10.0178749274099); // = 3

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.SinH()
< Zurück
Methode: Math.ASecH()
Weiter >
Methode: Math.ATanH()

Methode: Math.ASinH()


Math.ATanH()

Methode: Math.ATanH()

Syntax

Math.ATanH(TanH)

Beschreibung

Berechnet den Area Tangens Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: TanH

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Tangens Hyperbolicus an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Area Tangens Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Area Tangens Hyperbolicus aus 0.99505475368673 berechnen f[1] = Math.ATanH(0.99505475368673); // = 3

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.TanH()
< Zurück
Methode: Math.ASinH()
Weiter >
Kategorie: Hyperbolische Funktionen

Methode: Math.ATanH()


Math--cat_Hyperbolic

Kategorie: Hyperbolische Funktionen

Beschreibung

Enthält hyperbolische Funktionen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
CosH() | Methode | Berechnet den Cosinus Hyperbolicus
CotH() | Methode | Berechnet den Cotangens Hyperbolicus
CscH() | Methode | Berechnet den Cosekans Hyperbolicus
SecH() | Methode | Berechnet den Sekans Hyperbolicus
SinH() | Methode | Berechnet den Sinus Hyperbolicus
TanH() | Methode | Berechnet den Tangens Hyperbolicus
< Zurück
Methode: Math.ATanH()
Weiter >
Methode: Math.CosH()

Kategorie: Hyperbolische Funktionen


Math.CosH()

Methode: Math.CosH()

Syntax

Math.CosH(Wert)

Beschreibung

Berechnet den Cosinus Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: Wert

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Wert an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Cosinus Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Cosinus Hyperbolicus aus 3 berechnen f[1] = Math.CosH(3.0); // = 10.0676619957777

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.ACosH()
< Zurück
Kategorie: Hyperbolische Funktionen
Weiter >
Methode: Math.CotH()

Methode: Math.CosH()


Math.CotH()

Methode: Math.CotH()

Syntax

Math.CotH(Wert)

Beschreibung

Berechnet den Cotangens Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: Wert

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Wert an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Cotangens Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Cotangens Hyperbolicus aus 3 berechnen f[1] = Math.CotH(3.0); // = 1.00496982331368

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.ACotH()
< Zurück
Methode: Math.CosH()
Weiter >
Methode: Math.CscH()

Methode: Math.CotH()


Math.CscH()

Methode: Math.CscH()

Syntax

Math.CscH(Wert)

Beschreibung

Berechnet den Cosekans Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: Wert

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Wert an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Cosekans Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Cosekans Hyperbolicus aus 3 berechnen f[1] = Math.CscH(3.0); // = 0.0998215696688227

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.ACscH()
< Zurück
Methode: Math.CotH()
Weiter >
Methode: Math.SecH()

Methode: Math.CscH()


Math.SecH()

Methode: Math.SecH()

Syntax

Math.SecH(Wert)

Beschreibung

Berechnet den Sekans Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: Wert

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Wert an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Sekans Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Sekans Hyperbolicus aus 3 berechnen f[1] = Math.SecH(3.0); // = 0.0993279274194332

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.ASecH()
< Zurück
Methode: Math.CscH()
Weiter >
Methode: Math.SinH()

Methode: Math.SecH()


Math.SinH()

Methode: Math.SinH()

Syntax

Math.SinH(Wert)

Beschreibung

Berechnet den Sinus Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: Wert

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Wert an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Sinus Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Sinus Hyperbolicus aus 3 berechnen f[1] = Math.SinH(3.0); // = 10.0178749274099

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.ASinH()
< Zurück
Methode: Math.SecH()
Weiter >
Methode: Math.TanH()

Methode: Math.SinH()


Math.TanH()

Methode: Math.TanH()

Syntax

Math.TanH(Wert)

Beschreibung

Berechnet den Tangens Hyperbolicus aus einem Wert.

Liste der Parameter

Parameter: Wert

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Wert an, der umgerechnet werden soll.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Tangens Hyperbolicus des angegebenen Wertes

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3
$ // Den Tangens Hyperbolicus aus 3 berechnen f[1] = Math.TanH(3.0); // = 0.99505475368673

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.ATanH()
< Zurück
Methode: Math.SinH()
Weiter >
Kategorie: Trigonometrische Arkusfunktionen

Methode: Math.TanH()


Math--cat_Arcus

Kategorie: Trigonometrische Arkusfunktionen

Beschreibung

Enthält trigonometrische Arkusfunktionen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
ACos() | Methode | Berechnet den Winkel eines Cosinus
ACot() | Methode | Berechnet den Winkel eines Cotangens
ACsc() | Methode | Berechnet den Winkel eines Cosekans
ASec() | Methode | Berechnet den Winkel eines Sekans
ASin() | Methode | Berechnet den Winkel eines Sinus
ATan() | Methode | Berechnet den Winkel eines Tangens
< Zurück
Methode: Math.TanH()
Weiter >
Methode: Math.ACos()

Kategorie: Trigonometrische Arkusfunktionen


Math.ACos()

Methode: Math.ACos()

Syntax

Math.ACos(Cosinus, [Format])

Beschreibung

Berechnet den Winkel aus einem Cosinus (= Arkuscosinus).

Liste der Parameter

Parameter: Cosinus

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Cosinus an, der umgerechnet werden soll.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel ausgegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Winkel des angegebenen Cosinus

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Cosinus in Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.ACos(Math.Cos(  0.0, DEG), DEG);   // =   90.0
f[2]  = Math.ACos(Math.Cos( 90.0, DEG), DEG);   // =    0.0
f[3]  = Math.ACos(Math.Cos(180.0, DEG), DEG);   // =  -90.0
f[4]  = Math.ACos(Math.Cos(270.0, DEG), DEG);   // =    0.0
f[5]  = Math.ACos(Math.Cos(  0.0, DEG), RAD);   // =    0.5 * Math.Pi
f[6]  = Math.ACos(Math.Cos( 90.0, DEG), RAD);   // =    0.0 * Math.Pi
f[7]  = Math.ACos(Math.Cos(180.0, DEG), RAD);   // =   -0.5 * Math.Pi
f[8]  = Math.ACos(Math.Cos(270.0, DEG), RAD);   // =    0.0 * Math.Pi
f[9]  = Math.ACos(Math.Cos(  0.0, DEG), GRAD);  // =  100.0
f[10] = Math.ACos(Math.Cos( 90.0, DEG), GRAD);  // =    0.0
f[11] = Math.ACos(Math.Cos(180.0, DEG), GRAD);  // = -100.0
f[12] = Math.ACos(Math.Cos(270.0, DEG), GRAD);  // =    0.0
f[13] = Math.ACos(Math.Cos(  0.0, DEG), RPG);   // =   64.0
f[14] = Math.ACos(Math.Cos( 90.0, DEG), RPG);   // =    0.0
f[15] = Math.ACos(Math.Cos(180.0, DEG), RPG);   // =  -64.0
f[16] = Math.ACos(Math.Cos(270.0, DEG), RPG);   // =    0.0
Hinweis: Um Winkel zu konvertieren sollte die Angle-Methode des Convert-Objekts verwendet werden.

Sonstiges

Bei der zugrunde liegenden Berechnung wird mit dem partialen Arkustangens gerechnet. Dies unterliegt einigen Beschränkungen, da beispielsweise Math.Cos(90.0, DEG) das Gleiche ist wie Math.Cos(270.0, DEG) und somit nicht unterschieden werden kann, was bei solchen Extremwerten der ursprüngliche Winkel war.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Cos(), Math.Pi, Convert.Angle()
< Zurück
Kategorie: Trigonometrische Arkusfunktionen
Weiter >
Methode: Math.ACot()

Methode: Math.ACos()


Math.ACot()

Methode: Math.ACot()

Syntax

Math.ACot(Cotangens, [Format])

Beschreibung

Berechnet den Winkel aus einem Cotangens (= Arkuscotangens).

Liste der Parameter

Parameter: Cotangens

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Cotangens an, der umgerechnet werden soll.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel ausgegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Winkel des angegebenen Cotangens

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Cotangens in Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.ACot(Math.Cot( 45.0, DEG), DEG);   // =   45.0
f[2]  = Math.ACot(Math.Cot( 90.0, DEG), DEG);   // =   90.0
f[3]  = Math.ACot(Math.Cot(135.0, DEG), DEG);   // =  -45.0
f[4]  = Math.ACot(Math.Cot(270.0, DEG), DEG);   // =   90.0
f[5]  = Math.ACot(Math.Cot( 45.0, DEG), RAD);   // =    0.25 * Math.Pi
f[6]  = Math.ACot(Math.Cot( 90.0, DEG), RAD);   // =    0.50 * Math.Pi
f[7]  = Math.ACot(Math.Cot(135.0, DEG), RAD);   // =   -0.25 * Math.Pi
f[8]  = Math.ACot(Math.Cot(270.0, DEG), RAD);   // =    0.50 * Math.Pi
f[9]  = Math.ACot(Math.Cot( 45.0, DEG), GRAD);  // =   50.0
f[10] = Math.ACot(Math.Cot( 90.0, DEG), GRAD);  // =  100.0
f[11] = Math.ACot(Math.Cot(135.0, DEG), GRAD);  // =  -50.0
f[12] = Math.ACot(Math.Cot(270.0, DEG), GRAD);  // =  100.0
f[13] = Math.ACot(Math.Cot( 45.0, DEG), RPG);   // =   32.0
f[14] = Math.ACot(Math.Cot( 90.0, DEG), RPG);   // =   64.0
f[15] = Math.ACot(Math.Cot(135.0, DEG), RPG);   // =  -32.0
f[16] = Math.ACot(Math.Cot(270.0, DEG), RPG);   // =   64.0
Hinweis: Um Winkel zu konvertieren sollte die Angle-Methode des Convert-Objekts verwendet werden.

Sonstiges

Bei der zugrunde liegenden Berechnung wird mit dem partialen Arkustangens gerechnet. Dies unterliegt einigen Beschränkungen, da beispielsweise Math.Cot(90.0, DEG) das Gleiche ist wie Math.Cot(270.0, DEG) und somit nicht unterschieden werden kann, was bei solchen Extremwerten der ursprüngliche Winkel war.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Cot(), Math.Pi, Convert.Angle()
< Zurück
Methode: Math.ACos()
Weiter >
Methode: Math.ACsc()

Methode: Math.ACot()


Math.ACsc()

Methode: Math.ACsc()

Syntax

Math.ACsc(Cosekans, [Format])

Beschreibung

Berechnet den Winkel aus einem Cosekans (= Arkuscosekans).

Liste der Parameter

Parameter: Cosekans

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Cosekans an, der umgerechnet werden soll.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel ausgegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Winkel des angegebenen Cosekans

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Cosekans in Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.ACsc(Math.Csc( 30.0, DEG), DEG);   // =   30.0
f[2]  = Math.ACsc(Math.Csc( 90.0, DEG), DEG);   // =   90.0
f[3]  = Math.ACsc(Math.Csc(210.0, DEG), DEG);   // =  -30.0
f[4]  = Math.ACsc(Math.Csc(270.0, DEG), DEG);   // =  -90.0
f[5]  = Math.ACsc(Math.Csc( 30.0, DEG), RAD);   // =    0.1666 * Math.Pi
f[6]  = Math.ACsc(Math.Csc( 90.0, DEG), RAD);   // =    0.5000 * Math.Pi
f[7]  = Math.ACsc(Math.Csc(210.0, DEG), RAD);   // =   -0.1666 * Math.Pi
f[8]  = Math.ACsc(Math.Csc(270.0, DEG), RAD);   // =   -0.5000 * Math.Pi
f[9]  = Math.ACsc(Math.Csc( 30.0, DEG), GRAD);  // =   33.3
f[10] = Math.ACsc(Math.Csc( 90.0, DEG), GRAD);  // =  100.0
f[11] = Math.ACsc(Math.Csc(210.0, DEG), GRAD);  // =  -33.3
f[12] = Math.ACsc(Math.Csc(270.0, DEG), GRAD);  // = -100.3
f[13] = Math.ACsc(Math.Csc( 30.0, DEG), RPG);   // =   21.3
f[14] = Math.ACsc(Math.Csc( 90.0, DEG), RPG);   // =   64.0
f[15] = Math.ACsc(Math.Csc(210.0, DEG), RPG);   // =  -21.3
f[16] = Math.ACsc(Math.Csc(270.0, DEG), RPG);   // =  -64.0
Hinweis: Um Winkel zu konvertieren sollte die Angle-Methode des Convert-Objekts verwendet werden.

Sonstiges

Bei der zugrunde liegenden Berechnung wird mit dem partialen Arkustangens gerechnet. Dies unterliegt einigen Beschränkungen, da beispielsweise Math.Csc(45.0, DEG) das Gleiche ist wie Math.Csc(135.0, DEG) und somit nicht unterschieden werden kann, was bei solchen Extremwerten der ursprüngliche Winkel war.

Der Cosekans 0 kann nicht in einen Winkel umgerechnet werden, da dies rechnerisch eine Division durch 0 erfordern würde.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Csc(), Math.Pi, Convert.Angle()
< Zurück
Methode: Math.ACot()
Weiter >
Methode: Math.ASec()

Methode: Math.ACsc()


Math.ASec()

Methode: Math.ASec()

Syntax

Math.ASec(Sekans, [Format])

Beschreibung

Berechnet den Winkel aus einem Sekans (= Arkussekans).

Liste der Parameter

Parameter: Sekans

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Sekans an, der umgerechnet werden soll.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel ausgegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Winkel des angegebenen Sekans

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Sekans in Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.ASec(Math.Sec(  0.0, DEG), DEG);   // =    0.0
f[2]  = Math.ASec(Math.Sec( 60.0, DEG), DEG);   // =   60.0
f[3]  = Math.ASec(Math.Sec(180.0, DEG), DEG);   // =  180.0
f[4]  = Math.ASec(Math.Sec(240.0, DEG), DEG);   // =  120.0
f[5]  = Math.ASec(Math.Sec(  0.0, DEG), RAD);   // =    0.0000 * Math.Pi
f[6]  = Math.ASec(Math.Sec( 60.0, DEG), RAD);   // =    0.3333 * Math.Pi
f[7]  = Math.ASec(Math.Sec(180.0, DEG), RAD);   // =    1.0000 * Math.Pi
f[8]  = Math.ASec(Math.Sec(240.0, DEG), RAD);   // =    0.6666 * Math.Pi
f[9]  = Math.ASec(Math.Sec(  0.0, DEG), GRAD);  // =    0.0
f[10] = Math.ASec(Math.Sec( 60.0, DEG), GRAD);  // =   66.6
f[11] = Math.ASec(Math.Sec(180.0, DEG), GRAD);  // =  200.0
f[12] = Math.ASec(Math.Sec(240.0, DEG), GRAD);  // =  133.3
f[13] = Math.ASec(Math.Sec(  0.0, DEG), RPG);   // =    0.0
f[14] = Math.ASec(Math.Sec( 60.0, DEG), RPG);   // =   42.6
f[15] = Math.ASec(Math.Sec(180.0, DEG), RPG);   // =  128.0
f[16] = Math.ASec(Math.Sec(240.0, DEG), RPG);   // =   85.3
Hinweis: Um Winkel zu konvertieren sollte die Angle-Methode des Convert-Objekts verwendet werden.

Sonstiges

Bei der zugrunde liegenden Berechnung wird mit dem partialen Arkustangens gerechnet. Dies unterliegt einigen Beschränkungen, da beispielsweise Math.Sec(120.0, DEG) das Gleiche ist wie Math.Sec(240.0, DEG) und somit nicht unterschieden werden kann, was bei solchen Extremwerten der ursprüngliche Winkel war.

Der Sekans 0 kann nicht in einen Winkel umgerechnet werden, da dies rechnerisch eine Division durch 0 erfordern würde.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Sec(), Math.Pi, Convert.Angle()
< Zurück
Methode: Math.ACsc()
Weiter >
Methode: Math.ASin()

Methode: Math.ASec()


Math.ASin()

Methode: Math.ASin()

Syntax

Math.ASin(Sinus, [Format])

Beschreibung

Berechnet den Winkel aus einem Sinus (= Arkussinus).

Liste der Parameter

Parameter: Sinus

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Sinus an, der umgerechnet werden soll.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel ausgegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Winkel des angegebenen Sinus

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Sinus in Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.ASin(Math.Sin(  0.0, DEG), DEG);   // =    0.0
f[2]  = Math.ASin(Math.Sin( 90.0, DEG), DEG);   // =   90.0
f[3]  = Math.ASin(Math.Sin(180.0, DEG), DEG);   // =    0.0
f[4]  = Math.ASin(Math.Sin(270.0, DEG), DEG);   // =  -90.0
f[5]  = Math.ASin(Math.Sin(  0.0, DEG), RAD);   // =    0.0 * Math.Pi
f[6]  = Math.ASin(Math.Sin( 90.0, DEG), RAD);   // =    0.5 * Math.Pi
f[7]  = Math.ASin(Math.Sin(180.0, DEG), RAD);   // =    0.0 * Math.Pi
f[8]  = Math.ASin(Math.Sin(270.0, DEG), RAD);   // =   -0.5 * Math.Pi
f[9]  = Math.ASin(Math.Sin(  0.0, DEG), GRAD);  // =    0.0
f[10] = Math.ASin(Math.Sin( 90.0, DEG), GRAD);  // =  100.0
f[11] = Math.ASin(Math.Sin(180.0, DEG), GRAD);  // =    0.0
f[12] = Math.ASin(Math.Sin(270.0, DEG), GRAD);  // = -100.0
f[13] = Math.ASin(Math.Sin(  0.0, DEG), RPG);   // =    0.0
f[14] = Math.ASin(Math.Sin( 90.0, DEG), RPG);   // =   64.0
f[15] = Math.ASin(Math.Sin(180.0, DEG), RPG);   // =    0.0
f[16] = Math.ASin(Math.Sin(270.0, DEG), RPG);   // =  -64.0
Hinweis: Um Winkel zu konvertieren sollte die Angle-Methode des Convert-Objekts verwendet werden.

Sonstiges

Bei der zugrunde liegenden Berechnung wird mit dem partialen Arkustangens gerechnet. Dies unterliegt einigen Beschränkungen, da beispielsweise Math.Sin(0.0, DEG) das Gleiche ist wie Math.Sin(180.0, DEG) und somit nicht unterschieden werden kann, was bei solchen Extremwerten der ursprüngliche Winkel war.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Sin(), Math.Pi, Convert.Angle()
< Zurück
Methode: Math.ASec()
Weiter >
Methode: Math.ATan()

Methode: Math.ASin()


Math.ATan()

Methode: Math.ATan()

Syntax

Math.ATan(Tangens, [Format])

Beschreibung

Berechnet den Winkel aus einem Tangens (= Arkustangens).

Liste der Parameter

Parameter: Tangens

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Tangens an, der umgerechnet werden soll.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel ausgegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Winkel des angegebenen Tangens

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Tangens in Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.ATan(Math.Tan(  0.0, DEG), DEG);   // =    0.0
f[2]  = Math.ATan(Math.Tan( 45.0, DEG), DEG);   // =   45.0
f[3]  = Math.ATan(Math.Tan(135.0, DEG), DEG);   // =  -45.0
f[4]  = Math.ATan(Math.Tan(180.0, DEG), DEG);   // =    0.0
f[5]  = Math.ATan(Math.Tan(  0.0, DEG), RAD);   // =    0.00 * Math.Pi
f[6]  = Math.ATan(Math.Tan( 45.0, DEG), RAD);   // =    0.25 * Math.Pi
f[7]  = Math.ATan(Math.Tan(135.0, DEG), RAD);   // =   -0.25 * Math.Pi
f[8]  = Math.ATan(Math.Tan(180.0, DEG), RAD);   // =    0.00 * Math.Pi
f[9]  = Math.ATan(Math.Tan(  0.0, DEG), GRAD);  // =    0.0
f[10] = Math.ATan(Math.Tan( 45.0, DEG), GRAD);  // =   50.0
f[11] = Math.ATan(Math.Tan(135.0, DEG), GRAD);  // =  -50.0
f[12] = Math.ATan(Math.Tan(180.0, DEG), GRAD);  // =    0.0
f[13] = Math.ATan(Math.Tan(  0.0, DEG), RPG);   // =    0.0
f[14] = Math.ATan(Math.Tan( 45.0, DEG), RPG);   // =   32.0
f[15] = Math.ATan(Math.Tan(135.0, DEG), RPG);   // =  -32.0
f[16] = Math.ATan(Math.Tan(180.0, DEG), RPG);   // =    0.0
Hinweis: Um Winkel zu konvertieren sollte die Angle-Methode des Convert-Objekts verwendet werden.

Sonstiges

Bei der zugrunde liegenden Berechnung wird mit dem partialen Arkustangens gerechnet. Dies unterliegt einigen Beschränkungen, da beispielsweise Math.Tan(0.0, DEG) das Gleiche ist wie Math.Tan(180.0, DEG) und somit nicht unterschieden werden kann, was bei solchen Extremwerten der ursprüngliche Winkel war.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Tan(), Math.Pi, Convert.Angle()
< Zurück
Methode: Math.ASin()
Weiter >
Kategorie: Trigonometrische Funktionen

Methode: Math.ATan()


Math--cat_Trigononometry

Kategorie: Trigonometrische Funktionen

Beschreibung

Enthält trigonometrische Funktionen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Cos() | Methode | Berechnet den Cosinus eines Winkels
Cot() | Methode | Berechnet den Cotangens eines Winkels
Csc() | Methode | Berechnet den Cosekans eines Winkels
Sec() | Methode | Berechnet den Sekans eines Winkels
Sin() | Methode | Berechnet den Sinus eines Winkels
Tan() | Methode | Berechnet den Tangens eines Winkels
< Zurück
Methode: Math.ATan()
Weiter >
Methode: Math.Cos()

Kategorie: Trigonometrische Funktionen


Math.Cos()

Methode: Math.Cos()

Syntax

Math.Cos(Winkel, [Format])

Beschreibung

Berechnet den Cosinus eines Winkels (= Ankathete / Hypotenuse).

Liste der Parameter

Parameter: Winkel

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Winkel an, der umgerechnet werden soll. Das Format, in dem der Winkel angegeben ist, wird durch den zweiten Parameter bestimmt.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel angegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Cosinus des angegebenen Winkels

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.Cos(  0.0, DEG);          // =  1.0
f[2]  = Math.Cos( 90.0, DEG);          // =  0.0
f[3]  = Math.Cos(180.0, DEG);          // = -1.0
f[4]  = Math.Cos(270.0, DEG);          // =  0.0
f[5]  = Math.Cos(Math.Pi * 0.0, RAD);  // =  1.0
f[6]  = Math.Cos(Math.Pi * 0.5, RAD);  // =  0.0
f[7]  = Math.Cos(Math.Pi * 1.0, RAD);  // = -1.0
f[8]  = Math.Cos(Math.Pi * 1.5, RAD);  // =  0.0
f[9]  = Math.Cos(  0.0, GRAD);         // =  1.0
f[10] = Math.Cos(100.0, GRAD);         // =  0.0
f[11] = Math.Cos(200.0, GRAD);         // = -1.0
f[12] = Math.Cos(300.0, GRAD);         // =  0.0
f[13] = Math.Cos(  0.0, RPG);          // =  1.0
f[14] = Math.Cos( 64.0, RPG);          // =  0.0
f[15] = Math.Cos(128.0, RPG);          // = -1.0
f[16] = Math.Cos(192.0, RPG);          // =  0.0
Einen Kreis zeichnen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$
// Ein leeres Picture der Größe 100 x 100 erzeugen
Picture[1].AuroraSheet.Create(100, 100);          // Bild der Größe 100 x 100 Pixel erzeugen
Picture[1].AuroraSheet.Palette[0] = 0xFFFFFF;     // Farbe 0 ist Weiß
Picture[1].AuroraSheet.Palette[1] = 0x000000;     // Farbe 1 ist Schwarz
Picture[1].AuroraSheet.FlushPalette();            // Änderungen der Palette übernehmen
Picture[1].AuroraSheet.UseMaskColor = false;      // Bild verwendet keine Maskenfarbe (Farbe 0 wird nicht ausgeblendet)
Picture[1].X = 160;                               // Bild horizontal zentrieren
Picture[1].Y = 120;                               // Bild vertikal zentrieren
Picture[1].Transparency = 0;                      // Bild ist nicht transparent
Picture[1].Magnification = 100;                   // Bild ist nicht vergrößert/verkleinert
// Einen Kreis in das Bild zeichnen (zentriert; Radius ist 30 Pixel; 0,5° Schritte werden verwendet)
for(f[1] = 0.0; f[1] < 360.0; f[1] += 0.5)
  f[2] = Math.Cos(f[1], DEG) * 30.0 + 50.0;       // X-Koordinate (= Cos * Radius + Mittelpunkt)
  f[3] = Math.Sin(f[1], DEG) * 30.0 + 50.0;       // Y-Koordinate (= Sin * Radius + Mittelpunkt)
  Picture[1].AuroraSheet.Pixel[f[2], f[3]] = 1;   // Paletteneintrag 1 (= Schwarz) eintragen
next;

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Sin(), Math.ACos(), Math.Pi, Picture, Convert.Angle()
< Zurück
Kategorie: Trigonometrische Funktionen
Weiter >
Methode: Math.Cot()

Methode: Math.Cos()


Math.Cot()

Methode: Math.Cot()

Syntax

Math.Cot(Winkel, [Format])

Beschreibung

Berechnet den Cotangens eines Winkels (= Ankathete / Gegenkathete).

Liste der Parameter

Parameter: Winkel

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Winkel an, der umgerechnet werden soll. Das Format, in dem der Winkel angegeben ist, wird durch den zweiten Parameter bestimmt.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel angegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Cotangens des angegebenen Winkels

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.Cot( 45.0, DEG);          // =  1.0
f[2]  = Math.Cot( 90.0, DEG);          // =  0.0
f[3]  = Math.Cot(135.0, DEG);          // = -1.0
f[4]  = Math.Cot(270.0, DEG);          // =  0.0
f[5]  = Math.Cot(Math.Pi * 0.25, RAD); // =  1.0
f[6]  = Math.Cot(Math.Pi * 0.50, RAD); // =  0.0
f[7]  = Math.Cot(Math.Pi * 0.75, RAD); // = -1.0
f[8]  = Math.Cot(Math.Pi * 1.50, RAD); // =  0.0
f[9]  = Math.Cot( 50.0, GRAD);         // =  1.0
f[10] = Math.Cot(100.0, GRAD);         // =  0.0
f[11] = Math.Cot(150.0, GRAD);         // = -1.0
f[12] = Math.Cot(300.0, GRAD);         // =  0.0
f[13] = Math.Cot( 32.0, RPG);          // =  1.0
f[14] = Math.Cot( 64.0, RPG);          // =  0.0
f[15] = Math.Cot( 96.0, RPG);          // = -1.0
f[16] = Math.Cot(192.0, RPG);          // =  0.0

Sonstiges

Die Winkel 0° und 180° (o. ä.) können nicht in einen Cotangens umgerechnet werden, da dies rechnerisch eine Division durch 0 erfordern würde.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Tan(), Math.ACot(), Math.Pi, Convert.Angle()
< Zurück
Methode: Math.Cos()
Weiter >
Methode: Math.Csc()

Methode: Math.Cot()


Math.Csc()

Methode: Math.Csc()

Syntax

Math.Csc(Winkel, [Format])

Beschreibung

Berechnet den Cosekans eines Winkels (= Hypotenuse / Gegenkathete).

Liste der Parameter

Parameter: Winkel

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Winkel an, der umgerechnet werden soll. Das Format, in dem der Winkel angegeben ist, wird durch den zweiten Parameter bestimmt.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel angegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Cosekans des angegebenen Winkels

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.Csc( 30.0, DEG);             // =  2.0
f[2]  = Math.Csc( 90.0, DEG);             // =  1.0
f[3]  = Math.Csc(210.0, DEG);             // = -2.0
f[4]  = Math.Csc(270.0, DEG);             // = -1.0
f[5]  = Math.Csc(Math.Pi * 0.1666, RAD);  // =  2.0
f[6]  = Math.Csc(Math.Pi * 0.5,    RAD);  // =  1.0
f[7]  = Math.Csc(Math.Pi * 1.1666, RAD);  // = -2.0
f[8]  = Math.Csc(Math.Pi * 1.5,    RAD);  // = -1.0
f[9]  = Math.Csc( 33.3, GRAD);            // =  2.0
f[10] = Math.Csc(100.0, GRAD);            // =  1.0
f[11] = Math.Csc(233.3, GRAD);            // = -2.0
f[12] = Math.Csc(300.0, GRAD);            // = -1.0
f[13] = Math.Csc( 21.3, RPG);             // =  2.0
f[14] = Math.Csc( 64.0, RPG);             // =  1.0
f[15] = Math.Csc(149.3, RPG);             // = -2.0
f[16] = Math.Csc(192.0, RPG);             // = -1.0

Sonstiges

Die Winkel 0° und 180° (o. ä.) können nicht in einen Cosekans umgerechnet werden, da dies rechnerisch eine Division durch 0 erfordern würde.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Cos(), Math.ASin(), Convert.Angle()
< Zurück
Methode: Math.Cot()
Weiter >
Methode: Math.Sec()

Methode: Math.Csc()


Math.Sec()

Methode: Math.Sec()

Syntax

Math.Sec(Winkel, [Format])

Beschreibung

Berechnet den Sekans eines Winkels (= Hypotenuse / Ankathete).

Liste der Parameter

Parameter: Winkel

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Winkel an, der umgerechnet werden soll. Das Format, in dem der Winkel angegeben ist, wird durch den zweiten Parameter bestimmt.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel angegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Sekans des angegebenen Winkels

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.Sec(  0.0, DEG);             // =  1.0
f[2]  = Math.Sec( 60.0, DEG);             // =  2.0
f[3]  = Math.Sec(180.0, DEG);             // = -1.0
f[4]  = Math.Sec(240.0, DEG);             // = -2.0
f[5]  = Math.Sec(Math.Pi * 0.0,    RAD);  // =  1.0
f[6]  = Math.Sec(Math.Pi * 0.3333, RAD);  // =  2.0
f[7]  = Math.Sec(Math.Pi * 1.0,    RAD);  // = -1.0
f[8]  = Math.Sec(Math.Pi * 1.3333, RAD);  // = -2.0
f[9]  = Math.Sec(  0.0, GRAD);            // =  1.0
f[10] = Math.Sec( 66.6, GRAD);            // =  2.0
f[11] = Math.Sec(200.0, GRAD);            // = -1.0
f[12] = Math.Sec(266.6, GRAD);            // = -2.0
f[13] = Math.Sec(  0.0, RPG);             // =  1.0
f[14] = Math.Sec( 42.6, RPG);             // =  2.0
f[15] = Math.Sec(128.0, RPG);             // = -1.0
f[16] = Math.Sec(170.6, RPG);             // = -2.0

Sonstiges

Die Winkel 90° und 270° (o. ä.) können nicht in einen Sekans umgerechnet werden, da dies rechnerisch eine Division durch 0 erfordern würde.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Csc(), Math.ASec(), Math.Pi, Convert.Angle()
< Zurück
Methode: Math.Csc()
Weiter >
Methode: Math.Sin()

Methode: Math.Sec()


Math.Sin()

Methode: Math.Sin()

Syntax

Math.Sin(Winkel, [Format])

Beschreibung

Berechnet den Sinus eines Winkels (= Gegenkathete / Hypotenuse).

Liste der Parameter

Parameter: Winkel

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Winkel an, der umgerechnet werden soll. Das Format, in dem der Winkel angegeben ist, wird durch den zweiten Parameter bestimmt.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel angegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Sinus des angegebenen Winkels

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.Sin(  0.0, DEG);          // =  0.0
f[2]  = Math.Sin( 90.0, DEG);          // =  1.0
f[3]  = Math.Sin(180.0, DEG);          // =  0.0
f[4]  = Math.Sin(270.0, DEG);          // = -1.0
f[5]  = Math.Sin(Math.Pi * 0.0, RAD);  // =  0.0
f[6]  = Math.Sin(Math.Pi * 0.5, RAD);  // =  1.0
f[7]  = Math.Sin(Math.Pi * 1.0, RAD);  // =  0.0
f[8]  = Math.Sin(Math.Pi * 1.5, RAD);  // = -1.0
f[9]  = Math.Sin(  0.0, GRAD);         // =  0.0
f[10] = Math.Sin(100.0, GRAD);         // =  1.0
f[11] = Math.Sin(200.0, GRAD);         // =  0.0
f[12] = Math.Sin(300.0, GRAD);         // = -1.0
f[13] = Math.Sin(  0.0, RPG);          // =  0.0
f[14] = Math.Sin( 64.0, RPG);          // =  1.0
f[15] = Math.Sin(128.0, RPG);          // =  0.0
f[16] = Math.Sin(192.0, RPG);          // = -1.0
Einen Kreis zeichnen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$
// Ein leeres Picture der Größe 100 x 100 erzeugen
Picture[1].AuroraSheet.Create(100, 100);          // Bild der Größe 100 x 100 Pixel erzeugen
Picture[1].AuroraSheet.Palette[0] = 0xFFFFFF;     // Farbe 0 ist Weiß
Picture[1].AuroraSheet.Palette[1] = 0x000000;     // Farbe 1 ist Schwarz
Picture[1].AuroraSheet.FlushPalette();            // Änderungen der Palette übernehmen
Picture[1].AuroraSheet.UseMaskColor = false;      // Bild verwendet keine Maskenfarbe (Farbe 0 wird nicht ausgeblendet)
Picture[1].X = 160;                               // Bild horizontal zentrieren
Picture[1].Y = 120;                               // Bild vertikal zentrieren
Picture[1].Transparency = 0;                      // Bild ist nicht transparent
Picture[1].Magnification = 100;                   // Bild ist nicht vergrößert/verkleinert
// Einen Kreis in das Bild zeichnen (zentriert; Radius ist 30 Pixel; 0,5° Schritte werden verwendet)
for(f[1] = 0.0; f[1] < 360.0; f[1] += 0.5)
  f[2] = Math.Cos(f[1], DEG) * 30.0 + 50.0;       // X-Koordinate (= Cos * Radius + Mittelpunkt)
  f[3] = Math.Sin(f[1], DEG) * 30.0 + 50.0;       // Y-Koordinate (= Sin * Radius + Mittelpunkt)
  Picture[1].AuroraSheet.Pixel[f[2], f[3]] = 1;   // Paletteneintrag 1 (= Schwarz) eintragen
next;

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Cos(), Math.ASin(), Math.Pi, Picture, Convert.Angle()
< Zurück
Methode: Math.Sec()
Weiter >
Methode: Math.Tan()

Methode: Math.Sin()


Math.Tan()

Methode: Math.Tan()

Syntax

Math.Tan(Winkel, [Format])

Beschreibung

Berechnet den Tangens eines Winkels (= Gegenkathete / Ankathete).

Liste der Parameter

Parameter: Winkel

Datentyp: | float
Optional: | nein
Beschreibung: | Gibt den Winkel an, der umgerechnet werden soll. Das Format, in dem der Winkel angegeben ist, wird durch den zweiten Parameter bestimmt.

Parameter: Format

Datentyp: dword
Optional: ja
Standardwert: 2 (= RAD)
Wertebereich: 1 ... 4
Beschreibung: Gibt das Format an, in dem der Winkel angegeben wird. Hierzu werden die Winkelformatkonstanten verwendet.
Folgende Formate sind definiert:
  1. DEG: Steht für Degree und bezeichnet die Winkelangabe von 0 bis 360° (360° = ein voller Kreis)
  2. RAD: Steht für Radiant (= Bogenmaß) und bezeichnet die Winkelangabe von 0 bis 2 * π (2 * π = ein voller Kreis)
  3. GRAD: Steht für Neugrad und bezeichnet die Winkelangabe von 0 bis 400 (400 = ein voller Kreis)
  4. RPG: Steht für ein RPG-Maker spezifisches Format und bezeichnet die Winkelangabe von 0 bis 256 (256 = ein voller Kreis)
Der Winkel selbst kann auch außerhalb dieses Bereiches sein. Dann wird dieser so gewertet, als ob er in dem Bereich eines vollen Kreises wäre. Um sich dies besser vorzustellen kann man den Wert so lange eines vollen Kreises hinzuaddieren/abziehen, bis der entsprechende Bereich wieder erreicht ist.
Z. B. -1° entspricht 359°, 361° entspricht 1°, usw.

Rückgabewert

Datentyp: | float
Beschreibung: | Der Tangens des angegebenen Winkels

Beispiel

Methode aufrufen:
In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Verschiedene Winkel umrechnen (DEG, RAD, GRAD und RPG)
f[1]  = Math.Tan(  0.0, DEG);          // =  0.0
f[2]  = Math.Tan( 45.0, DEG);          // =  1.0
f[3]  = Math.Tan(135.0, DEG);          // = -1.0
f[4]  = Math.Tan(180.0, DEG);          // =  0.0
f[5]  = Math.Tan(Math.Pi * 0.00, RAD); // =  0.0
f[6]  = Math.Tan(Math.Pi * 0.25, RAD); // =  1.0
f[7]  = Math.Tan(Math.Pi * 0.75, RAD); // = -1.0
f[8]  = Math.Tan(Math.Pi * 1.00, RAD); // =  0.0
f[9]  = Math.Tan(  0.0, GRAD);         // =  0.0
f[10] = Math.Tan( 50.0, GRAD);         // =  1.0
f[11] = Math.Tan(150.0, GRAD);         // = -1.0
f[12] = Math.Tan(200.0, GRAD);         // =  0.0
f[13] = Math.Tan(  0.0, RPG);          // =  0.0
f[14] = Math.Tan( 32.0, RPG);          // =  1.0
f[15] = Math.Tan( 96.0, RPG);          // = -1.0
f[16] = Math.Tan(128.0, RPG);          // =  0.0

Sonstiges

Die Winkel 90° und 270° (o. ä.) können nicht in einen Tangens umgerechnet werden, da dies rechnerisch eine Division durch 0 erfordern würde.

Mögliche Fehler

DESTINYERROR_FLOATERROR

Siehe auch

Math.Cot(), Math.ATan(), Math.Pi, Convert.Angle()
< Zurück
Methode: Math.Sin()
Weiter >
Kategorie: Zufallszahlen

Methode: Math.Tan()


Math--cat_Random

Kategorie: Zufallszahlen

Beschreibung

Enthält Funktionen zum Erzeugen von Zufallszahlen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Rand() | Methode | Erzeugt eine Zufallszahl
RandSeed | Eigenschaft | Gibt den Grundwert zur Berechnung von Zufallszahlen an
< Zurück
Methode: Math.Tan()
Weiter >
Methode: Math.Rand()

Kategorie: Zufallszahlen


Math.Rand()

Methode: Math.Rand()

Syntax

Math.Rand(Minimum, Maximum)

Beschreibung

Erzeugt eine Zufallszahl zwischen einem Minimum und Maximum (Minimum und Maximum können auch als Ergebnis zurückgegeben werden). Da diese Zahlen berechnet werden, sind sie nur Pseudozufällig. Die Berechnung basiert auf dem Wert von Math.RandSeed, welcher beim Start der Destiny.dll auf Time.Tick initialisiert wird.

Liste der Parameter

Parameter: Minimum

Datentyp: | dword
Optional: | nein
Beschreibung: | Der kleinstmögliche Wert der erzeugten Zufallszahl

Parameter: Maximum

Datentyp: | dword
Optional: | nein
Beschreibung: | Der größtmögliche Wert der erzeugten Zufallszahl

Rückgabewert

Datentyp: | dword
Beschreibung: | Die erzeugte Zufallszahl zwischen Minimum und Maximum

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Mehrere Zufallszahlen erzeugen
v[1] = Math.Rand(1, 100);   // = ? (eine Zahl zwischen 1 und 100)
v[2] = Math.Rand(5, 5);     // = 5 (da kein Spielraum zwischen Minimum und Maximum existiert)

Sonstiges

Ist Minimum größer als Maximum, dann werden die Werte einfach getauscht.

Siehe auch

Math.RandSeed
< Zurück
Kategorie: Zufallszahlen
Weiter >
Eigenschaft: Math.RandSeed

Methode: Math.Rand()


Math.RandSeed

Eigenschaft: Math.RandSeed

Syntax

Math.RandSeed

Beschreibung

Gibt den Grundwert zur Berechnung von Zufallszahlen an. Dieser Wert wird nach jedem Aufruf von Math.Rand() geändert. Der Wert dieser Eigenschaft wird beim Start der Destiny.dll auf Time.Tick initialisiert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Flüchtig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Den "Zufall" berechenbar machen
Math.RandSeed = 1;
v[1] = Math.Rand(1, 100);   // = 8 (bei Math.RandSeed = 1 und Math.Rand(1, 100) kommt immer 8 raus)
Math.RandSeed = 1;
v[2] = Math.Rand(1, 100);   // = 8 (bei Math.RandSeed = 1 und Math.Rand(1, 100) kommt immer 8 raus)

Sonstiges

Normalerweise muss der Wert dieser Eigenschaft nicht verändert werden. Die Möglichkeit soll jedoch offen gehalten werden um z. B. einen bestimmten Zufall abspeichern und später fortsetzen zu können.

Siehe auch

Math.Rand()
< Zurück
Methode: Math.Rand()
Weiter >
Objekt: Mouse

Eigenschaft: Math.RandSeed


Mouse

Objekt: Mouse

Das Mouse-Objekt dient dazu die aktuellen Eigenschaften der Maus (wie z. B. die Position des Mauszeigers) zu ermitteln oder zu verändern.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
X | Eigenschaft | Die X-Koordinate des Mauszeigers
Y | Eigenschaft | Die Y-Koordinate des Mauszeigers

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Setzt die aktuelle Position des ersten Pictures auf die Position des Mauscursors.
// (Da die Positionierung eines Bildes beim RPG-Maker standardmäßig zentriert erfolgt,
// wird hier noch die Breite bzw. Höhe des Bildes zur Hälfte abgezogen.)
Picture[1].X = Mouse.X - Picture[1].Width / 2;
Picture[1].Y = Mouse.Y - Picture[1].Height / 2;
< Zurück
Eigenschaft: Math.RandSeed
Weiter >
Eigenschaft: Mouse.X

Objekt: Mouse


Mouse.X

Eigenschaft: Mouse.X

Mit der X-Eigenschaft kann die aktuelle X-Koordinate des Mauszeigers gelesen/geschrieben werden. Der Wert dieser Eigenschaft wird in Pixel angegeben und bezieht sich auf Pixel im Spielfeld. Wenn das Spiel beispielsweise im Fenstermodus ausgeführt wird, dann werden die Bildschirmpixel automatisch in Spielpixel umgerechnet. Da dieser Wert vom linken Bildschirmrand (bzw. Spielfensterrand) gemessen wird, gilt: "Je kleiner der Wert desto weiter links ist der Mauszeiger."

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die aktuelle X-Koordinate des Mauszeigers in v[1] speichern
v[1] = Mouse.X;
// Die aktuelle X-Koordinate des Mauszeigers auf 100 setzen
Mouse.X = 100;
< Zurück
Objekt: Mouse
Weiter >
Eigenschaft: Mouse.Y

Eigenschaft: Mouse.X


Mouse.Y

Eigenschaft: Mouse.Y

Mit der Y-Eigenschaft kann die aktuelle Y-Koordinate des Mauszeigers gelesen/geschrieben werden. Der Wert dieser Eigenschaft wird in Pixel angegeben und bezieht sich auf Pixel im Spielfeld. Wenn das Spiel beispielsweise im Fenstermodus ausgeführt wird, dann werden die Bildschirmpixel automatisch in Spielpixel umgerechnet. Da dieser Wert vom oberen Bildschirmrand (bzw. Spielfensterrand) gemessen wird, gilt: "Je kleiner der Wert desto weiter oben ist der Mauszeiger."

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die aktuelle Y-Koordinate des Mauszeigers in v[1] speichern
v[1] = Mouse.Y;
// Die aktuelle Y-Koordinate des Mauszeigers auf 50 setzen
Mouse.Y = 50;
< Zurück
Eigenschaft: Mouse.X
Weiter >
Objekt: Panorama

Eigenschaft: Mouse.Y


Panorama

Objekt: Panorama

Syntax

Panorama

Beschreibung

Das Panorama-Objekt dient dazu die Eigenschaften des Panoramas (Hintergrundbild) der Karte zugänglich zu machen. Über das AuroraSheet-Unterobjekt ist es außerdem möglich das Panorama zu verändern.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AuroraSheet | Objekt | Das AuroraSheet-Objekt des geladenen Panoramas
Height | Eigenschaft | Die Höhe des aktuell verwendeten Panoramas
LoadFromFile() | Methode | Lädt ein Panorama aus dem Panorama-Verzeichnis
Name | Eigenschaft | Der Dateiname des aktuell verwendeten Panoramas
PanHorizontal | Eigenschaft | Gibt an, ob das Panorama beim horizontalen Scrollen der Karte stehenbleibt
PanVertical | Eigenschaft | Gibt an, ob das Panorama beim vertikalen Scrollen der Karte stehenbleibt
PanX | Eigenschaft | Gibt an, ob das Panorama beim horizontalen Scrollen der Karte stehenbleibt
PanY | Eigenschaft | Gibt an, ob das Panorama beim vertikalen Scrollen der Karte stehenbleibt
ScrollPosHorizontal | Eigenschaft | Die aktuelle, horizontale Position der Panoramagrafik
ScrollPosVertical | Eigenschaft | Die aktuelle, vertikale Position der Panoramagrafik
ScrollPosX | Eigenschaft | Die aktuelle, horizontale Position der Panoramagrafik
ScrollPosY | Eigenschaft | Die aktuelle, vertikale Position der Panoramagrafik
ScrollSpeedHorizontal | Eigenschaft | Die Geschwindigkeit, mit der sich das Panorama in horizontaler Richtung bewegt
ScrollSpeedVertical | Eigenschaft | Die Geschwindigkeit, mit der sich das Panorama in vertikaler Richtung bewegt
ScrollSpeedX | Eigenschaft | Die Geschwindigkeit, mit der sich das Panorama in horizontaler Richtung bewegt
ScrollSpeedY | Eigenschaft | Die Geschwindigkeit, mit der sich das Panorama in vertikaler Richtung bewegt
Used | Eigenschaft | Gibt an, ob das Panorama derzeit verwendet wird
Width | Eigenschaft | Die Breite des aktuell verwendeten Panoramas
< Zurück
Eigenschaft: Mouse.Y
Weiter >
Objekt: Panorama.AuroraSheet

Objekt: Panorama


Panorama.AuroraSheet

Objekt: Panorama.AuroraSheet

Syntax

Panorama.AuroraSheet

Beschreibung

Mit dem AuroraSheet-Objekt kann auf die Grafik des aktuell geladenen Panoramas zugegriffen werden. Da das einheitliche AuroraSheet-Objekt bei mehreren Objekten als Unterobjekt verfügbar ist, wurde die Beschreibung nur einmal verfasst und dem Picture[]-Objekt untergeordnet. Die Beschreibung findet sich hier: Picture[].AuroraSheet.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Horizontale Striche ins Panorama zeichnen
for(v[1] = 0; v[1] < Panorama.AuroraSheet.Height; v[1] += 2)
  Panorama.AuroraSheet.DrawLine(0, v[1], Panorama.AuroraSheet.Width - 1, v[1], 0);
  Panorama.AuroraSheet.DrawLine(0, v[1] + 1, Panorama.AuroraSheet.Width - 1, v[1] + 1, 255);
next;

Siehe auch

Panorama, Picture[].AuroraSheet
< Zurück
Objekt: Panorama
Weiter >
Eigenschaft: Panorama.Height

Objekt: Panorama.AuroraSheet


Panorama.Height

Eigenschaft: Panorama.Height

Syntax

Panorama.Height

Beschreibung

Mit der Height-Eigenschaft ist es möglich die Höhe des Panoramas zu ermitteln. Im Gegensatz zur Panorama.AuroraSheet.Height-Eigenschaft ist hier noch der Wert 16 subtrahiert, da die RPG_RT beim Laden eines Panoramas immer kleinere Veränderungen vornimmt, damit das Scrollen einfacher ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Breite des Panoramas ermitteln und in v[1] speichern
v[1] = Panorama.Width;
// Die Höhe des Panoramas ermitteln und in v[2] speichern
v[2] = Panorama.Height;

Siehe auch

Panorama, Panorama.Width, Picture[].AuroraSheet, Panorama.AuroraSheet.Height
< Zurück
Objekt: Panorama.AuroraSheet
Weiter >
Methode: Panorama.LoadFromFile()

Eigenschaft: Panorama.Height


Panorama.LoadFromFile()

Methode: Panorama.LoadFromFile()

Syntax

Panorama.LoadFromFile(Dateiname)

Beschreibung

Mit der LoadFromFile()-Methode kann ein bestimmtes Panorama geladen werden. Hierbei werden sämtliche Zusatzeigenschaften (Panorama.PanHorizontal, ...) zurückgesetzt.

Liste der Parameter

Parameter: Dateiname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen des Panoramas (ohne Pfad/Endung) an. Dieser Pfad ist relativ und kann daher prinzipiell auch dazu genutzt werden um Grafiken außerhalb des Panorama-Verzeichnisses zu laden. Soll eine Datei mit einer bestimmten Endung geladen werden, so kann die Endung inklusive NULL-Zeichen angegeben werden um explizit diese Datei zu laden (siehe Beispiel).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
// Erster Aufruf mit Panorama.LoadFromFile()
Panorama.LoadFromFile("Dawn1");
// Zweiter (vollkommen identischer) Aufruf mit Command.SetPanorama()
Command.SetPanorama("Dawn1", False, False, 0, 0);
// Dritter Aufruf mit Panorama.AuroraSheet.LoadFromFile()
// Hierbei werden keine Eigenschaften zurückgesetzt, das Panorama nicht für's Scrollen vorbereitet
// und der Dateiname weder angepasst noch gespeichert; außerdem kann die Datei nicht aus dem RTP genommen werden.
// Diese Variante ist daher auf gar keinen Fall zu empfehlen!
Panorama.AuroraSheet.LoadFromFile("Panorama\Dawn1.png");
Um ein ganz bestimmtes Panorama zu laden, kann ein NULL-Zeichen ans Ende des Dateinamens angehangen werden:

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Datei Panorama\Bild.bmp laden
Panorama.LoadFromFile("Bild.bmp" .. String.Chr(0));
// Die Datei Picture\Bild.bmp laden (anderes Verzeichnis)
Panorama.LoadFromFile("..\Picture\Bild.bmp" .. String.Chr(0));

Mögliche Fehler

DESTINYERROR_EXCEPTION

Siehe auch

Panorama, Panorama.Name, Command.SetPanorama()
< Zurück
Eigenschaft: Panorama.Height
Weiter >
Eigenschaft: Panorama.Name

Methode: Panorama.LoadFromFile()


Panorama.Name

Eigenschaft: Panorama.Name

Syntax

Panorama.Name

Beschreibung

Mit der Name-Eigenschaft ist es möglich auf den Dateinamen (ohne Pfad/Endung) des aktuell verwendeten Panoramas zuzugreifen.
Information:
Diese Eigenschaft kann zusammen mit der Panorama.LoadFromFile()-Methode genutzt werden, um das Panorama neu zu laden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den Namen des aktuell verwendeten Panoramas ermitteln und in a[1] speichern
a[1] = Panorama.Name;
// Ein neues Panorama laden
Panorama.LoadFromFile("Dawn1");
// Das alte Panorama wieder laden (diesmal über das Command-Objekt)
Command.SetPanorama(a[1], False, False, 0, 0);

Siehe auch

Panorama, Panorama.LoadFromFile(), Command.SetPanorama()
< Zurück
Methode: Panorama.LoadFromFile()
Weiter >
Eigenschaft: Panorama.PanHorizontal

Eigenschaft: Panorama.Name


Panorama.PanHorizontal

Eigenschaft: Panorama.PanHorizontal

Syntax

Panorama.PanHorizontal

Beschreibung

Mit der PanHorizontal-Eigenschaft kann gelesen/geschrieben werden, ob das Panorama beim horizontalen Scrollen der Karte stehenbleibt (True) oder es sich mitbewegt (False).
Information:
Dieser Wert muss auf True stehen, damit Panorama.ScrollSpeedHorizontal eine Wirkung zeigt.

Synonyme

  • PanX

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Prüfen, ob das Panorama beim horizontalen Scrollen stehen bleibt
if(Panorama.PanHorizontal)
  // Die Scroll-Geschwindigkeit in horizontaler Richtung erhöhen
  Panorama.ScrollSpeedHorizontal++;
endif;

Siehe auch

Panorama, Panorama.PanVertical, Panorama.ScrollSpeedHorizontal
< Zurück
Eigenschaft: Panorama.Name
Weiter >
Eigenschaft: Panorama.PanVertical

Eigenschaft: Panorama.PanHorizontal


Panorama.PanVertical

Eigenschaft: Panorama.PanVertical

Syntax

Panorama.PanVertical

Beschreibung

Mit der PanVertical-Eigenschaft kann gelesen/geschrieben werden, ob das Panorama beim vertikalen Scrollen der Karte stehenbleibt (True) oder es sich mitbewegt (False).
Information:
Dieser Wert muss auf True stehen, damit Panorama.ScrollSpeedVertical eine Wirkung zeigt.

Synonyme

  • PanY

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Prüfen, ob das Panorama beim vertikalen Scrollen stehen bleibt
if(Panorama.PanVertical)
  // Die Scroll-Geschwindigkeit in vertikaler Richtung erhöhen
  Panorama.ScrollSpeedVertical++;
endif;

Siehe auch

Panorama, Panorama.PanHorizontal, Panorama.ScrollSpeedVertical
< Zurück
Eigenschaft: Panorama.PanHorizontal
Weiter >
Eigenschaft: Panorama.ScrollPosHorizontal

Eigenschaft: Panorama.PanVertical


Panorama.ScrollPosHorizontal

Eigenschaft: Panorama.ScrollPosHorizontal

Syntax

Panorama.ScrollPosHorizontal

Beschreibung

Mit der ScrollPosHorizontal-Eigenschaft kann gelesen/geschrieben werden, an welcher Position sich das Panorama in horizontaler Richtung befindet. Die Angabe erfolgt in Pixel.
  • Werte > 0 bedeuten, dass das Panorama weiter links ist
  • Der Wert = 0 bedeutet, dass das Panorama in der horizontalen Standardposition ist
  • Werte < 0 bedeuten, dass das Panorama weiter rechts ist

Synonyme

  • ScrollPosX

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das Panorama um 1 Pixel nach links verschieben Panorama.ScrollPosHorizontal++;

Siehe auch

Panorama, Panorama.ScrollPosVertical, Panorama.ScrollSpeedHorizontal, Panorama.PanHorizontal
< Zurück
Eigenschaft: Panorama.PanVertical
Weiter >
Eigenschaft: Panorama.ScrollPosVertical

Eigenschaft: Panorama.ScrollPosHorizontal


Panorama.ScrollPosVertical

Eigenschaft: Panorama.ScrollPosVertical

Syntax

Panorama.ScrollPosVertical

Beschreibung

Mit der ScrollPosVertical-Eigenschaft kann gelesen/geschrieben werden, an welcher Position sich das Panorama in vertikaler Richtung befindet. Die Angabe erfolgt in Pixel.
  • Werte > 0 bedeuten, dass das Panorama weiter oben ist
  • Der Wert = 0 bedeutet, dass das Panorama in der vertikalen Standardposition ist
  • Werte < 0 bedeuten, dass das Panorama weiter unten ist

Synonyme

  • ScrollPosY

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das Panorama um 1 Pixel nach oben verschieben Panorama.ScrollPosVertical++;

Siehe auch

Panorama, Panorama.ScrollPosHorizontal, Panorama.ScrollSpeedVertical, Panorama.PanVertical
< Zurück
Eigenschaft: Panorama.ScrollPosHorizontal
Weiter >
Eigenschaft: Panorama.ScrollSpeedHorizontal

Eigenschaft: Panorama.ScrollPosVertical


Panorama.ScrollSpeedHorizontal

Eigenschaft: Panorama.ScrollSpeedHorizontal

Syntax

Panorama.ScrollSpeedHorizontal

Beschreibung

Mit der ScrollSpeedHorizontal-Eigenschaft kann gelesen/geschrieben werden, wie schnell sich das Panorama in horizontaler Richtung bewegt.
  • Werte > 0 bedeuten, dass sich das Panorama nach rechts bewegt
  • Der Wert = 0 bedeutet, dass sich das Panorama horizontal nicht bewegt
  • Werte < 0 bedeuten, dass sich das Panorama nach links bewegt
Information:
Panorama.PanHorizontal muss auf True stehen, damit diese Eigenschaft eine Wirkung zeigt.

Synonyme

  • ScrollSpeedX

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Prüfen, ob das Panorama beim horizontalen Scrollen stehen bleibt
if(Panorama.PanHorizontal)
  // Die Scroll-Geschwindigkeit in horizontaler Richtung erhöhen
  Panorama.ScrollSpeedHorizontal++;
endif;

Siehe auch

Panorama, Panorama.ScrollSpeedVertical, Panorama.PanHorizontal, Panorama.ScrollPosHorizontal
< Zurück
Eigenschaft: Panorama.ScrollPosVertical
Weiter >
Eigenschaft: Panorama.ScrollSpeedVertical

Eigenschaft: Panorama.ScrollSpeedHorizontal


Panorama.ScrollSpeedVertical

Eigenschaft: Panorama.ScrollSpeedVertical

Syntax

Panorama.ScrollSpeedVertical

Beschreibung

Mit der ScrollSpeedVertical-Eigenschaft kann gelesen/geschrieben werden, wie schnell sich das Panorama in vertikaler Richtung bewegt.
  • Werte > 0 bedeuten, dass sich das Panorama nach unten bewegt
  • Der Wert = 0 bedeutet, dass sich das Panorama vertikal nicht bewegt
  • Werte < 0 bedeuten, dass sich das Panorama nach oben bewegt
Information:
Panorama.PanVertical muss auf True stehen, damit diese Eigenschaft eine Wirkung zeigt.

Synonyme

  • ScrollSpeedY

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Prüfen, ob das Panorama beim vertikalen Scrollen stehen bleibt
if(Panorama.PanVertical)
  // Die Scroll-Geschwindigkeit in vertikaler Richtung erhöhen
  Panorama.ScrollSpeedVertical++;
endif;

Siehe auch

Panorama, Panorama.ScrollSpeedHorizontal, Panorama.PanVertical, Panorama.ScrollPosVertical
< Zurück
Eigenschaft: Panorama.ScrollSpeedHorizontal
Weiter >
Eigenschaft: Panorama.Used

Eigenschaft: Panorama.ScrollSpeedVertical


Panorama.Used

Eigenschaft: Panorama.Used

Syntax

Panorama.Used

Beschreibung

Mit der Used-Eigenschaft kann gelesen/geschrieben werden, ob das Panorama überhaupt verwendet wird.
Information:
Wird dieser Wert auf False gesetzt, dann wird kein Panorama mehr angezeigt. Der Inhalt des AuroraSheets bleibt dabei jedoch unverändert. Es ist somit also möglich das Panorama an und aus zu schalten ohne dabei den Inhalt des AuroraSheets zu verwerfen.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den aktuellen Anzeigestatus des Panoramas umkehren Panorama.Used = !Panorama.Used;

Siehe auch

Panorama, Picture[].AuroraSheet
< Zurück
Eigenschaft: Panorama.ScrollSpeedVertical
Weiter >
Eigenschaft: Panorama.Width

Eigenschaft: Panorama.Used


Panorama.Width

Eigenschaft: Panorama.Width

Syntax

Panorama.Width

Beschreibung

Mit der Width-Eigenschaft ist es möglich die Breite des Panoramas zu ermitteln. Im Gegensatz zur Panorama.AuroraSheet.Width-Eigenschaft ist hier noch der Wert 16 subtrahiert, da die RPG_RT beim Laden eines Panoramas immer kleinere Veränderungen vornimmt, damit das Scrollen einfacher ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | >= 0

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Breite des Panoramas ermitteln und in v[1] speichern
v[1] = Panorama.Width;
// Die Höhe des Panoramas ermitteln und in v[2] speichern
v[2] = Panorama.Height;

Siehe auch

Panorama, Panorama.Height, Picture[].AuroraSheet, Panorama.AuroraSheet.Width
< Zurück
Eigenschaft: Panorama.Used
Weiter >
Objekt: Picture

Eigenschaft: Panorama.Width


Picture

Objekt: Picture

Syntax

Picture

Beschreibung

Das Picture-Objekt dient dazu die Pictures des Spiels zugänglich zu machen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Gibt die Anzahl der Pictures an
[] | Objekt | Beinhaltet alle Eigenschaften und Methoden eines Pictures
Action | Eigenschaft | Die Aktion eines Pictures
ActionStrength | Eigenschaft | Die Aktionsstärke eines Pictures
ActionValue | Eigenschaft | Der Aktionswert eines Pictures
AuroraSheet | Objekt | Das AuroraSheet eines Pictures
Clone() | Methode | Kopiert den Inhalt und die Palette eines anderen AuroraSheets
CopyPalette() | Methode | Kopiert die Palette eines anderen AuroraSheets
Create() | Methode | Erstellt ein neues AuroraSheet
FlushPalette() | Methode | Übernimmt die aktuelle Palette eines AuroraSheets als effektive Palette
Free() | Methode | Leert den Inhalt eines AuroraSheets
Handle | Eigenschaft | Das Handle des AuroraSheets
Height | Eigenschaft | Die Höhe des AuroraSheets
IsEmpty() | Methode | Prüft, ob ein AuroraSheet leer ist
LoadFromFile() | Methode | Lädt eine Grafikdatei in das AuroraSheets
Palette | Objekt | Enthält die Paletteneinträge des AuroraSheets
Count | Eigenschaft | Die Anzahl der Farben in einer Palette
[] | Eigenschaft | Enthält einen bestimmten Paletteneintrag des AuroraSheets
Pixel[] | Eigenschaft | Die Pixel des AuroraSheets
SaveAs() | Methode | Speichert den Inhalt des AuroraSheets als Bitmap ab
UseMaskColor | Eigenschaft | Gibt an, ob die RPG_RT die Farbe 0 als Maskenfarbe verwendet
Width | Eigenschaft | Die Breite des AuroraSheets
Zeichenfunktionen | Kategorie | Beinhaltet die Zeichenfunktionen von AuroraSheets
BltRect() | Methode | Kopiert einen Bildbereich aus einem AuroraSheet und lässt dabei eine Farbe aus
CopyRect() | Methode | Kopiert einen Bildbereich aus einem AuroraSheet
DrawLine() | Methode | Zeichnet eine Linie
FillRect() | Methode | Zeichnet ein gefülltes Rechteck
BltRect() | Methode | Kopiert einen Bildbereich aus einem Picture in ein anderes und lässt dabei eine bestimmte Farbe aus
Blue | Eigenschaft | Die Blaufärbung eines Pictures
Chroma | Eigenschaft | Die Chrominanz eines Pictures
CopyRect() | Methode | Kopiert einen Bildbereich aus einem Picture in ein anderes
DrawLine() | Methode | Zeichnet eine Linie
Filename | Eigenschaft | Der Dateiname des Pictures
FillRect() | Methode | Zeichnet ein gefülltes Rechteck
FlushPalette() | Methode | Übernimmt die aktuelle Palette eines AuroraSheets als effektive Palette
Green | Eigenschaft | Die Grünfärbung eines Pictures
Height | Eigenschaft | Die Höhe eines Pictures
LoadFromFile() | Methode | Lädt ein Picture aus einer Datei im Picture-Verzeichnis
Magnification | Eigenschaft | Der Vergrößerungsfaktor eines Pictures
MapMove | Eigenschaft | Die MoveWithMap-Eigenschaft eines Pictures
MapX | Eigenschaft | Der Bezugspunkt der kartengebundenen X-Koordinate eines Pictures
MapY | Eigenschaft | Der Bezugspunkt der kartengebundenen Y-Koordinate eines Pictures
MoveX | Eigenschaft | Die X-Koordinate eines Pictures während der Bewegung
MoveY | Eigenschaft | Die Y-Koordinate eines Pictures während der Bewegung
Palette[] | Eigenschaft | Enthält einen bestimmten Paletteneintrag des AuroraSheets
Pixel[] | Eigenschaft | Ein Pixel des Pictures
Red | Eigenschaft | Die Rotfärbung eines Pictures
SaveAs() | Methode | Speichert ein Picture in eine Bitmap-Datei im Picture-Verzeichnis
Transparency | Eigenschaft | Die Transparenz eines Pictures
UseMaskColor | Eigenschaft | Gibt an, ob die RPG_RT die Farbe 0 als Maskenfarbe verwendet
Width | Eigenschaft | Die Breite eines Pictures
X | Eigenschaft | Die X-Koordinate des Pictures
Y | Eigenschaft | Die Y-Koordinate des Pictures

Siehe auch

Picture[]
< Zurück
Eigenschaft: Panorama.Width
Weiter >
Eigenschaft: Picture.Count

Objekt: Picture


Picture.Count

Eigenschaft: Picture.Count

Syntax

Picture.Count

Beschreibung

Mit der Count-Eigenschaft kann die Anzahl der Pictures in diesem Array ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

Im folgenden Beispiel gehen wir davon aus, dass das Spiel mit den Standardeinstellungen des RPG-Maker 2000 verwendet wird.

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Die Anzahl der Pictures ermitteln und in v[1] speichern
v[1] = Picture.Count;              // 20
// Eine Schleife über alle Pictures ausführen und den Inhalt löschen
for(v[2] = 1; v[2] < Picture.Count; v[2]++)
  Picture[v[2]].AuroraSheet.Free();
next;

Siehe auch

Picture, Picture[], Picture[].AuroraSheet.Free()
< Zurück
Objekt: Picture
Weiter >
Objekt: Picture[]

Eigenschaft: Picture.Count


Picture[]

Objekt: Picture[]

Syntax

Picture[Picture-Id]

Beschreibung

Das Picture[]-Objekt dient dazu alle Eigenschaften eines Pictures zusammenzufassen. Dieses wird über die Picture-Id identifiziert. Zusätzlich ist es möglich über verschiedene Methoden den Inhalt des Pictures zu verändern.

Liste der Parameter

Parameter: Picture-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Picture.Count
Beschreibung: | Die Id des Pictures

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Action | Eigenschaft | Die Aktion eines Pictures
ActionStrength | Eigenschaft | Die Aktionsstärke eines Pictures
ActionValue | Eigenschaft | Der Aktionswert eines Pictures
AuroraSheet | Objekt | Das AuroraSheet eines Pictures
Clone() | Methode | Kopiert den Inhalt und die Palette eines anderen AuroraSheets
CopyPalette() | Methode | Kopiert die Palette eines anderen AuroraSheets
Create() | Methode | Erstellt ein neues AuroraSheet
FlushPalette() | Methode | Übernimmt die aktuelle Palette eines AuroraSheets als effektive Palette
Free() | Methode | Leert den Inhalt eines AuroraSheets
Handle | Eigenschaft | Das Handle des AuroraSheets
Height | Eigenschaft | Die Höhe des AuroraSheets
IsEmpty() | Methode | Prüft, ob ein AuroraSheet leer ist
LoadFromFile() | Methode | Lädt eine Grafikdatei in das AuroraSheets
Palette | Objekt | Enthält die Paletteneinträge des AuroraSheets
Count | Eigenschaft | Die Anzahl der Farben in einer Palette
[] | Eigenschaft | Enthält einen bestimmten Paletteneintrag des AuroraSheets
Pixel[] | Eigenschaft | Die Pixel des AuroraSheets
SaveAs() | Methode | Speichert den Inhalt des AuroraSheets als Bitmap ab
UseMaskColor | Eigenschaft | Gibt an, ob die RPG_RT die Farbe 0 als Maskenfarbe verwendet
Width | Eigenschaft | Die Breite des AuroraSheets
Zeichenfunktionen | Kategorie | Beinhaltet die Zeichenfunktionen von AuroraSheets
BltRect() | Methode | Kopiert einen Bildbereich aus einem AuroraSheet und lässt dabei eine Farbe aus
CopyRect() | Methode | Kopiert einen Bildbereich aus einem AuroraSheet
DrawLine() | Methode | Zeichnet eine Linie
FillRect() | Methode | Zeichnet ein gefülltes Rechteck
BltRect() | Methode | Kopiert einen Bildbereich aus einem Picture in ein anderes und lässt dabei eine bestimmte Farbe aus
Blue | Eigenschaft | Die Blaufärbung eines Pictures
Chroma | Eigenschaft | Die Chrominanz eines Pictures
CopyRect() | Methode | Kopiert einen Bildbereich aus einem Picture in ein anderes
DrawLine() | Methode | Zeichnet eine Linie
Filename | Eigenschaft | Der Dateiname des Pictures
FillRect() | Methode | Zeichnet ein gefülltes Rechteck
FlushPalette() | Methode | Übernimmt die aktuelle Palette eines AuroraSheets als effektive Palette
Green | Eigenschaft | Die Grünfärbung eines Pictures
Height | Eigenschaft | Die Höhe eines Pictures
LoadFromFile() | Methode | Lädt ein Picture aus einer Datei im Picture-Verzeichnis
Magnification | Eigenschaft | Der Vergrößerungsfaktor eines Pictures
MapMove | Eigenschaft | Die MoveWithMap-Eigenschaft eines Pictures
MapX | Eigenschaft | Der Bezugspunkt der kartengebundenen X-Koordinate eines Pictures
MapY | Eigenschaft | Der Bezugspunkt der kartengebundenen Y-Koordinate eines Pictures
MoveX | Eigenschaft | Die X-Koordinate eines Pictures während der Bewegung
MoveY | Eigenschaft | Die Y-Koordinate eines Pictures während der Bewegung
Palette[] | Eigenschaft | Enthält einen bestimmten Paletteneintrag des AuroraSheets
Pixel[] | Eigenschaft | Ein Pixel des Pictures
Red | Eigenschaft | Die Rotfärbung eines Pictures
SaveAs() | Methode | Speichert ein Picture in eine Bitmap-Datei im Picture-Verzeichnis
Transparency | Eigenschaft | Die Transparenz eines Pictures
UseMaskColor | Eigenschaft | Gibt an, ob die RPG_RT die Farbe 0 als Maskenfarbe verwendet
Width | Eigenschaft | Die Breite eines Pictures
X | Eigenschaft | Die X-Koordinate des Pictures
Y | Eigenschaft | Die Y-Koordinate des Pictures

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Picture.Count
Weiter >
Eigenschaft: Picture[].Action

Objekt: Picture[]


Picture[].Action

Eigenschaft: Picture[].Action

Syntax

Picture[Picture-Id].Action

Beschreibung

Mit der Action-Eigenschaft kann die Aktion eines Pictures gelesen/geschrieben werden. Hierzu können die Aktionskonstanten verwendet werden. Zusammen mit den Eigenschaften Picture[].ActionStrength und Picture[].ActionValue können die verschiedenen Aktionseinstellungen gelesen/geschrieben werden.
  • ACTION_NONE: Das Picture führt keine Aktion durch.
  • ACTION_ROTATION: Das Picture rotiert um die eigene Achse.
  • ACTION_RIPPLE: Das Picture führt einen Welleneffekt durch.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 2
Flüchtig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die aktuelle Aktion des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Action;

// Die Aktion des ersten Pictures auf Rotation stellen und den Winkel fest auf 90° stellen
Picture[1].Action         = ACTION_ROTATION;
Picture[1].ActionStrength = 0;                 // Keine automatische Veränderung des Winkels
Picture[1].ActionValue    = Convert.Angle(90, DEG, RPG);

Siehe auch

Picture, Picture[], Picture[].ActionStrength, Picture[].ActionValue, Convert.Angle()
< Zurück
Objekt: Picture[]
Weiter >
Eigenschaft: Picture[].ActionStrength

Eigenschaft: Picture[].Action


Picture[].ActionStrength

Eigenschaft: Picture[].ActionStrength

Syntax

Picture[Picture-Id].ActionStrength

Beschreibung

Mit der ActionStrength-Eigenschaft kann die Aktionsstärke eines Pictures gelesen/geschrieben werden. Die Bedeutung dieses Wertes ist von Picture[].Action abhängig. Zusammen mit den Eigenschaften Picture[].Action und Picture[].ActionValue können die verschiedenen Aktionseinstellungen gelesen/geschrieben werden. Der Wert dieser Eigenschaft wird ungefähr 60 mal pro Sekunde zu Picture[].ActionValue hinzuaddiert.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Flüchtig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die aktuelle Aktionsstärke des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].ActionStrength;

// Die Aktion des ersten Pictures auf Rotation stellen und den Winkel fest auf 90° stellen
Picture[1].Action         = ACTION_ROTATION;
Picture[1].ActionStrength = 0;                 // Keine automatische Veränderung des Winkels
Picture[1].ActionValue    = Convert.Angle(90, DEG, RPG);

Siehe auch

Picture, Picture[], Picture[].Action, Picture[].ActionValue, Convert.Angle()
< Zurück
Eigenschaft: Picture[].Action
Weiter >
Eigenschaft: Picture[].ActionValue

Eigenschaft: Picture[].ActionStrength


Picture[].ActionValue

Eigenschaft: Picture[].ActionValue

Syntax

Picture[Picture-Id].ActionValue

Beschreibung

Mit der ActionValue-Eigenschaft kann der Aktionswert eines Pictures gelesen/geschrieben werden. Die Bedeutung dieses Wertes ist von Picture[].Action abhängig. Zusammen mit den Eigenschaften Picture[].Action und Picture[].ActionStrength können die verschiedenen Aktionseinstellungen gelesen/geschrieben werden. Bei dem Aktionstyp gibt dieser Wert den Winkel des Pictures an, wobei das RPG-Maker spezifische Winkelformat verwendet wird. Um einen normalen Winkel in dieses Format zu konvertieren kann die Convert.Angle()-Methode verwendet werden. Bei Picture[].Action mit dem Wert ACTION_RIPPLE hat dieser Wert keine Bedeutung.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Flüchtig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Den aktuellen Aktionswert des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].ActionValue;

// Die Aktion des ersten Pictures auf Rotation stellen und den Winkel fest auf 90° stellen
Picture[1].Action         = ACTION_ROTATION;
Picture[1].ActionStrength = 0;                 // Keine automatische Veränderung des Winkels
Picture[1].ActionValue    = Convert.Angle(90, DEG, RPG);

Siehe auch

Picture, Picture[], Picture[].Action, Picture[].ActionStrength, Convert.Angle()
< Zurück
Eigenschaft: Picture[].ActionStrength
Weiter >
Objekt: Picture[].AuroraSheet

Eigenschaft: Picture[].ActionValue


Picture[].AuroraSheet

Objekt: Picture[].AuroraSheet

Syntax

Picture[Picture-Id].AuroraSheet

Beschreibung

Mit dem AuroraSheet-Objekt innerhalb des Picture[] kann auf die Grafik des Pictures zugegriffen werden. Die in diesem Objekt dokumentierten Methoden/Eigenschaften gelten gleichermaßen für alle AuroraSheet-Objekte. Über das AuroraSheet-Handle können Bildbereiche von AuroraSheets, die zu anderen Objekten gehören, übernommen werden (z. B. Teile des aktuellen Facesets in ein Picture kopieren).
AuroraSheet-Objekte sind bei folgenden Objekten als Unterobjekte definiert:
  • Event[] / MapEvent[]
  • Faceset
  • Map
  • Panorama
  • Picture[]

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Clone() | Methode | Kopiert den Inhalt und die Palette eines anderen AuroraSheets
CopyPalette() | Methode | Kopiert die Palette eines anderen AuroraSheets
Create() | Methode | Erstellt ein neues AuroraSheet
FlushPalette() | Methode | Übernimmt die aktuelle Palette eines AuroraSheets als effektive Palette
Free() | Methode | Leert den Inhalt eines AuroraSheets
Handle | Eigenschaft | Das Handle des AuroraSheets
Height | Eigenschaft | Die Höhe des AuroraSheets
IsEmpty() | Methode | Prüft, ob ein AuroraSheet leer ist
LoadFromFile() | Methode | Lädt eine Grafikdatei in das AuroraSheets
Palette | Objekt | Enthält die Paletteneinträge des AuroraSheets
Count | Eigenschaft | Die Anzahl der Farben in einer Palette
[] | Eigenschaft | Enthält einen bestimmten Paletteneintrag des AuroraSheets
Pixel[] | Eigenschaft | Die Pixel des AuroraSheets
SaveAs() | Methode | Speichert den Inhalt des AuroraSheets als Bitmap ab
UseMaskColor | Eigenschaft | Gibt an, ob die RPG_RT die Farbe 0 als Maskenfarbe verwendet
Width | Eigenschaft | Die Breite des AuroraSheets
Zeichenfunktionen | Kategorie | Beinhaltet die Zeichenfunktionen von AuroraSheets
BltRect() | Methode | Kopiert einen Bildbereich aus einem AuroraSheet und lässt dabei eine Farbe aus
CopyRect() | Methode | Kopiert einen Bildbereich aus einem AuroraSheet
DrawLine() | Methode | Zeichnet eine Linie
FillRect() | Methode | Zeichnet ein gefülltes Rechteck

Siehe auch

Picture, Picture[], Picture[].AuroraSheet.Handle
< Zurück
Eigenschaft: Picture[].ActionValue
Weiter >
Methode: Picture[].AuroraSheet.Clone()

Objekt: Picture[].AuroraSheet


Picture[].AuroraSheet.Clone()

Methode: Picture[].AuroraSheet.Clone()

Syntax

Picture[Picture-Id].AuroraSheet.Clone(Quell-AuroraSheet)

Beschreibung

Mit der Clone-Methode können der Inhalt und die Palette eines anderen AuroraSheet kopiert werden. Nach dem kopieren der Palette wird automatisch die FlushPalette-Methode aufgerufen. Zusatzinformation wie z. B. UseMaskColor werden nicht mitkopiert.

Liste der Parameter

Parameter: Quell-AuroraSheet

Datentyp: | handle
Optional: | nein
Beschreibung: | Gibt das AuroraSheet-Handle des AuroraSheets an, dessen Inhalt und Palette kopiert werden sollen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$ // Kopiert das zweite Picture in das erste Picture[1].AuroraSheet.Clone(Picture[2].AuroraSheet.Handle);

Mögliche Fehler

DESTINYERROR_INVALIDHANDLE, DESTINYERROR_PICTURE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Free(), Picture[].AuroraSheet.IsEmpty()
< Zurück
Objekt: Picture[].AuroraSheet
Weiter >
Methode: Picture[].AuroraSheet.CopyPalette()

Methode: Picture[].AuroraSheet.Clone()


Picture[].AuroraSheet.CopyPalette()

Methode: Picture[].AuroraSheet.CopyPalette()

Syntax

Picture[Picture-Id].AuroraSheet.CopyPalette(Quell-AuroraSheet)

Beschreibung

Mit der CopyPalette-Methode kann die Palette eines anderen AuroraSheet kopiert werden. Nach dem Kopieren der Palette wird automatisch die FlushPalette-Methode aufgerufen.

Liste der Parameter

Parameter: Quell-AuroraSheet

Datentyp: | handle
Optional: | nein
Beschreibung: | Gibt das AuroraSheet-Handle des AuroraSheets an, dessen Palette kopiert werden soll.

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$ // Kopiert die Palette des zweiten Pictures in das erste Picture Picture[1].AuroraSheet.CopyPalette(Picture[2].AuroraSheet.Handle);

Mögliche Fehler

DESTINYERROR_INVALIDHANDLE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette()
< Zurück
Methode: Picture[].AuroraSheet.Clone()
Weiter >
Methode: Picture[].AuroraSheet.Create()

Methode: Picture[].AuroraSheet.CopyPalette()


Picture[].AuroraSheet.Create()

Methode: Picture[].AuroraSheet.Create()

Syntax

Picture[Picture-Id].AuroraSheet.Create(Breite, Height)

Beschreibung

Mit der Create-Methode kann ein neues AuroraSheet erstellt werden. Das vorherige AuroraSheet wird dabei ersetzt. Das neu erstellte AuroraSheet ist durchgehend mit dem Palettenindex 0 initialisiert.

Liste der Parameter

Parameter: Breite

Datentyp: | dword
Optional: | nein
Wertebereich: | > 0
Beschreibung: | Gibt die Breite des AuroraSheets an. Dieser Wert muss größer als 0 sein.

Parameter: Height

Datentyp: | dword
Optional: | nein
Wertebereich: | > 0
Beschreibung: | Gibt die Höhe des AuroraSheets an. Dieser Wert muss größer als 0 sein.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
$

// Das AuroraSheet erstellen und im ersten Picture anzeigen
Picture[1].AuroraSheet.Create(8 * 8, 8);

// Die häufigsten Farben definieren
Picture[1].AuroraSheet.Palette[0] = 0x000000;  // schwarz
Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF;  // weiß
Picture[1].AuroraSheet.Palette[2] = 0x0000FF;  // rot
Picture[1].AuroraSheet.Palette[3] = 0x00FF00;  // grün
Picture[1].AuroraSheet.Palette[4] = 0xFF0000;  // blau
Picture[1].AuroraSheet.Palette[5] = 0xFF00FF;  // magenta
Picture[1].AuroraSheet.Palette[6] = 0x00FFFF;  // gelb
Picture[1].AuroraSheet.Palette[7] = 0xFFFF00;  // cyan (a.k.a. türkis)
Picture[1].AuroraSheet.FlushPalette();

// Die Farben (0 ... 7) darstellen
for(v[1] = 0; v[1] < 8; v[1]++)  // Paletteneintrag
  for(v[2] = 0; v[2] < 8; v[2]++)  // X
    for(v[3] = 0; v[3] < 8; v[3]++)  // Y
      Picture[1].AuroraSheet.Pixel[v[1] * 8 + v[2], v[3]] = v[1];
    next;
  next;
next;

// Die Maskenfarbe NICHT verwenden
Picture[1].AuroraSheet.UseMaskColor = false;

// Das erste Picture mittig anzeigen
Picture[1].X = 160;
Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_VALUE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Clone(), Picture[].AuroraSheet.Free(), Picture[].AuroraSheet.IsEmpty()
< Zurück
Methode: Picture[].AuroraSheet.CopyPalette()
Weiter >
Methode: Picture[].AuroraSheet.FlushPalette()

Methode: Picture[].AuroraSheet.Create()


Picture[].AuroraSheet.FlushPalette()

Methode: Picture[].AuroraSheet.FlushPalette()

Syntax

Picture[Picture-Id].AuroraSheet.FlushPalette()

Beschreibung

Mit der FlushPalette-Methode kann die aktuelle Palette als effektive Palette übernommen werden. Diese Methode muss aufgerufen werden, nachdem alle Änderungen an der Palette[]-Eigenschaft vorgenommen sind.
Information:
Wenn ein Paletteneintrag geändert wird, dann ist die Änderung erst aktiv, nachdem diese Methode aufgerufen wurde. Dies hat den technischen Hintergrund, dass die RPG_RT die Palette zweimal speichert, damit Farbänderungen (z. B. wenn die Grafik farbentsättigt dargestellt wird) nur bei der effektiven Palette durchgeführt werden müssen. In der Regel passt man zuerst über die Palette[]-Eigenschaft erst die Palette so an, wie man sie haben will und führt zum Abschluss diese Methode aus.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
$

// Das AuroraSheet erstellen und im ersten Picture anzeigen
Picture[1].AuroraSheet.Create(8 * 8, 8);

// Die häufigsten Farben definieren
Picture[1].AuroraSheet.Palette[0] = 0x000000;  // schwarz
Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF;  // weiß
Picture[1].AuroraSheet.Palette[2] = 0x0000FF;  // rot
Picture[1].AuroraSheet.Palette[3] = 0x00FF00;  // grün
Picture[1].AuroraSheet.Palette[4] = 0xFF0000;  // blau
Picture[1].AuroraSheet.Palette[5] = 0xFF00FF;  // magenta
Picture[1].AuroraSheet.Palette[6] = 0x00FFFF;  // gelb
Picture[1].AuroraSheet.Palette[7] = 0xFFFF00;  // cyan (a.k.a. türkis)
Picture[1].AuroraSheet.FlushPalette();

// Die Farben (0 ... 7) darstellen
for(v[1] = 0; v[1] < 8; v[1]++)  // Paletteneintrag
  for(v[2] = 0; v[2] < 8; v[2]++)  // X
    for(v[3] = 0; v[3] < 8; v[3]++)  // Y
      Picture[1].AuroraSheet.Pixel[v[1] * 8 + v[2], v[3]] = v[1];
    next;
  next;
next;

// Die Maskenfarbe NICHT verwenden
Picture[1].AuroraSheet.UseMaskColor = false;

// Das erste Picture mittig anzeigen
Picture[1].X = 160;
Picture[1].Y = 120;

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Pixel[], Picture[].AuroraSheet.UseMaskColor
< Zurück
Methode: Picture[].AuroraSheet.Create()
Weiter >
Methode: Picture[].AuroraSheet.Free()

Methode: Picture[].AuroraSheet.FlushPalette()


Picture[].AuroraSheet.Free()

Methode: Picture[].AuroraSheet.Free()

Syntax

Picture[Picture-Id].AuroraSheet.Free()

Beschreibung

Mit der Free-Methode kann der Inhalt eines AuroraSheet geleert werden. Um danach auf den Inhalt des AuroraSheets wieder zugreifen zu können, muss es entweder erstellt werden (Picture[].AuroraSheet.Create()), kopiert werden (Picture[].AuroraSheet.Clone()), aus einer Datei geladen werden (Picture[].AuroraSheet.LoadFromFile()) oder durch die RPG_RT erstellt werden.
Information:
Über die IsEmpty-Methode kann geprüft werden, ob ein AuroraSheet leer ist.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$

// Gibt den Inhalt des AuroraSheets des ersten Pictures frei
Picture[1].AuroraSheet.Free();

// Prüfen, ob das AuroraSheet des ersten Pictures leer ist
if(Picture[1].AuroraSheet.IsEmpty())  // Bedingung ist erfüllt
  // ...
endif;

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Clone(), Picture[].AuroraSheet.IsEmpty()
< Zurück
Methode: Picture[].AuroraSheet.FlushPalette()
Weiter >
Eigenschaft: Picture[].AuroraSheet.Handle

Methode: Picture[].AuroraSheet.Free()


Picture[].AuroraSheet.Handle

Eigenschaft: Picture[].AuroraSheet.Handle

Syntax

Picture[Picture-Id].AuroraSheet.Handle

Beschreibung

Mit der Handle-Eigenschaft kann das Handle eines AuroraSheets ermittelt werden. Dieses Handle wird mit anderen AuroraSheet-Methoden verwendet (z. B. um Bildbereiche aus diesem AuroraSheet zu kopieren).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$

// Das aktuelle Faceset in das erste Picture kopieren
// (es wird alles kopiert, inkl. Palette)
Picture[1].AuroraSheet.Clone(Faceset.AuroraSheet.Handle);
// Noch die Koordinaten des Pictures setzen (Mitte des Bildschirms)
Picture[1].X = 160;
Picture[1].Y = 120;

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Width, Picture[].AuroraSheet.Height
< Zurück
Methode: Picture[].AuroraSheet.Free()
Weiter >
Eigenschaft: Picture[].AuroraSheet.Height

Eigenschaft: Picture[].AuroraSheet.Handle


Picture[].AuroraSheet.Height

Eigenschaft: Picture[].AuroraSheet.Height

Syntax

Picture[Picture-Id].AuroraSheet.Height

Beschreibung

Mit der Height-Eigenschaft kann die Höhe eines AuroraSheets ermittelt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$

// Das erste Picture schwarz färben
Picture[1].AuroraSheet.Create(80, 80);
Picture[1].AuroraSheet.Palette[1] = 0x000000;  // = Scharz
Picture[1].AuroraSheet.FlushPalette();
for(v[1] = 0; v[1] < Picture[1].AuroraSheet.Width; v[1]++)
  for(v[2] = 0; v[2] < Picture[2].AuroraSheet.Height; v[2]++)
    Picture[1].AuroraSheet.Pixel[v[1], v[2]] = 1;
  next;
next;

// Noch die Koordinaten des Pictures setzen (Mitte des Bildschirms)
Picture[1].X = 160;
Picture[1].Y = 120;

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Width, Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.Pixel[], Picture[].AuroraSheet.Handle
< Zurück
Eigenschaft: Picture[].AuroraSheet.Handle
Weiter >
Methode: Picture[].AuroraSheet.IsEmpty()

Eigenschaft: Picture[].AuroraSheet.Height


Picture[].AuroraSheet.IsEmpty()

Methode: Picture[].AuroraSheet.IsEmpty()

Syntax

Picture[Picture-Id].AuroraSheet.IsEmpty()

Beschreibung

Mit der IsEmpty-Methode kann geprüft werden, ob ein AuroraSheet derzeit leer ist. Dies ist sinnvoll um zu prüfen, ob der Zugriff auf Eigenschaften wie z. B. Pixel[] fehlschlagen würde.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$

// Gibt den Inhalt des AuroraSheets des ersten Pictures frei
Picture[1].AuroraSheet.Free();

// Prüfen, ob das AuroraSheet des ersten Pictures leer ist
if(Picture[1].AuroraSheet.IsEmpty())  // Bedingung ist erfüllt
  // ...
endif;

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Clone(), Picture[].AuroraSheet.Free()
< Zurück
Eigenschaft: Picture[].AuroraSheet.Height
Weiter >
Methode: Picture[].AuroraSheet.LoadFromFile()

Methode: Picture[].AuroraSheet.IsEmpty()


Picture[].AuroraSheet.LoadFromFile()

Methode: Picture[].AuroraSheet.LoadFromFile()

Syntax

Picture[Picture-Id].AuroraSheet.LoadFromFile(Dateiname)

Beschreibung

Mit der LoadFromFile-Methode kann eine Datei in das AuroraSheet geladen werden. Die zu ladende Datei kann eine BMP (Bitmap), eine PNG oder eine XYZ sein. Zugriffe außerhalb des Spielverzeichnisses sind ungültig.

Liste der Parameter

Parameter: Dateiname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen (inkl. relativem Pfad/Endung) an. Der Pfad ist relativ zum Spielverzeichnis. Um die Grafik beispielsweise aus dem Picture-Verzeichnis zu laden, muss vorne ein "Picture\" angehangen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
$

// Das AuroraSheet erstellen und im ersten Picture anzeigen
Picture[1].AuroraSheet.Create(8 * 8, 8);

// Die häufigsten Farben definieren
Picture[1].AuroraSheet.Palette[0] = 0x000000;  // schwarz
Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF;  // weiß
Picture[1].AuroraSheet.Palette[2] = 0x0000FF;  // rot
Picture[1].AuroraSheet.Palette[3] = 0x00FF00;  // grün
Picture[1].AuroraSheet.Palette[4] = 0xFF0000;  // blau
Picture[1].AuroraSheet.Palette[5] = 0xFF00FF;  // magenta
Picture[1].AuroraSheet.Palette[6] = 0x00FFFF;  // gelb
Picture[1].AuroraSheet.Palette[7] = 0xFFFF00;  // cyan (a.k.a. türkis)
Picture[1].AuroraSheet.FlushPalette();

// Die Farben (0 ... 7) darstellen
for(v[1] = 0; v[1] < 8; v[1]++)  // Paletteneintrag
  for(v[2] = 0; v[2] < 8; v[2]++)  // X
    for(v[3] = 0; v[3] < 8; v[3]++)  // Y
      Picture[1].AuroraSheet.Pixel[v[1] * 8 + v[2], v[3]] = v[1];
    next;
  next;
next;

// Das AuroraSheet als Bitmap im Picture-Verzeichnis speichern
Picture[1].AuroraSheet.SaveAs("Picture\Beispielpalette.bmp");

// Das AuroraSheet löschen
Picture[1].AuroraSheet.Free();

// Die Bitmap in das AuroraSheet laden
Picture[1].AuroraSheet.LoadFromFile("Picture\Beispielpalette.bmp");

// Die Maskenfarbe NICHT verwenden
Picture[1].AuroraSheet.UseMaskColor = false;

// Das erste Picture mittig anzeigen
Picture[1].X = 160;
Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH, DESTINYERROR_MEMORY

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.SaveAs(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette(), Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Pixel[], Picture[].AuroraSheet.UseMaskColor
< Zurück
Methode: Picture[].AuroraSheet.IsEmpty()
Weiter >
Objekt: Picture[].AuroraSheet.Palette

Methode: Picture[].AuroraSheet.LoadFromFile()


Picture[].AuroraSheet.Palette

Objekt: Picture[].AuroraSheet.Palette

Syntax

Picture[Picture-Id].AuroraSheet.Palette

Beschreibung

Das Palette-Objekt enthält die Palette eines AuroraSheets.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Farben in einer Palette
[] | Eigenschaft | Enthält einen bestimmten Paletteneintrag des AuroraSheets

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette()
< Zurück
Methode: Picture[].AuroraSheet.LoadFromFile()
Weiter >
Eigenschaft: Picture[].AuroraSheet.Palette.Count

Objekt: Picture[].AuroraSheet.Palette


Picture[].AuroraSheet.Palette.Count

Eigenschaft: Picture[].AuroraSheet.Palette.Count

Syntax

Picture[Picture-Id].AuroraSheet.Palette.Count

Beschreibung

Die Count-Eigenschaft gibt immer 256 zurück, da dies die Anzahl der Farben in der Palette eines AuroraSheets ist.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Palette, Picture[].AuroraSheet.Palette[]
< Zurück
Objekt: Picture[].AuroraSheet.Palette
Weiter >
Eigenschaft: Picture[].AuroraSheet.Palette[]

Eigenschaft: Picture[].AuroraSheet.Palette.Count


Picture[].AuroraSheet.Palette[]

Eigenschaft: Picture[].AuroraSheet.Palette[]

Syntax

Picture[Picture-Id].AuroraSheet.Palette[Index]

Beschreibung

Mit der Palette[]-Eigenschaft kann ein bestimmter Paletteneintrag gelesen/geschrieben werden. Die Angabe erfolgt per RGB (Rot, Grün, Blau) in Little-Endian-Schreibweise. Das letzte Byte steht also für rot, das vorletzte für grün und das vorvorletzte für blau. Das erste (vorvorvorletzte) Byte wird nicht benutzt und sollte 0 sein.
Information:
Die Angabe einer Farbe erfolgt meist hexadezimal (z. B. 0xFFFFFF für weiß). Kopiert man eine Farbangabe aus HTML/CSS (z. B. #123456), dann muss diese von der Leserichtung in die Little-Endian-Schreibweise korrigiert werden (also 0x563412).
Information:
Wenn ein Paletteneintrag geändert wird, dann ist die Änderung erst aktiv, nachdem die FlushPalette-Methode des AuroraSheets aufgerufen wurde. Dies hat den technischen Hintergrund, dass die RPG_RT die Palette zweimal speichert, damit Farbänderungen (z. B. wenn die Grafik farbentsättigt dargestellt wird) nur bei der effektiven Palette durchgeführt werden müssen. In der Regel passt man zuerst über diese Eigenschaft erst die Palette so an, wie man sie haben will und führt zum Abschluss die FlushPalette-Methode aus.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Liste der Parameter

Parameter: Index

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 255
Beschreibung: | Der Index des Paletteneintrag. Dieser Wert muss im Bereich von 0 bis 255 liegen. Die Angaben im Pixel[]-Array verweisen auf diesen Index.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
$

// Das AuroraSheet erstellen und im ersten Picture anzeigen
Picture[1].AuroraSheet.Create(8 * 8, 8);

// Die häufigsten Farben definieren
Picture[1].AuroraSheet.Palette[0] = 0x000000;  // schwarz
Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF;  // weiß
Picture[1].AuroraSheet.Palette[2] = 0x0000FF;  // rot
Picture[1].AuroraSheet.Palette[3] = 0x00FF00;  // grün
Picture[1].AuroraSheet.Palette[4] = 0xFF0000;  // blau
Picture[1].AuroraSheet.Palette[5] = 0xFF00FF;  // magenta
Picture[1].AuroraSheet.Palette[6] = 0x00FFFF;  // gelb
Picture[1].AuroraSheet.Palette[7] = 0xFFFF00;  // cyan (a.k.a. türkis)
Picture[1].AuroraSheet.FlushPalette();

// Die Farben (0 ... 7) darstellen
for(v[1] = 0; v[1] < 8; v[1]++)  // Paletteneintrag
  for(v[2] = 0; v[2] < 8; v[2]++)  // X
    for(v[3] = 0; v[3] < 8; v[3]++)  // Y
      Picture[1].AuroraSheet.Pixel[v[1] * 8 + v[2], v[3]] = v[1];
    next;
  next;
next;

// Die Maskenfarbe NICHT verwenden
Picture[1].AuroraSheet.UseMaskColor = false;

// Das erste Picture mittig anzeigen
Picture[1].X = 160;
Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_PALETTERANGE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Palette, Picture[].AuroraSheet.FlushPalette(), Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Pixel[], Picture[].AuroraSheet.UseMaskColor
< Zurück
Eigenschaft: Picture[].AuroraSheet.Palette.Count
Weiter >
Eigenschaft: Picture[].AuroraSheet.Pixel[]

Eigenschaft: Picture[].AuroraSheet.Palette[]


Picture[].AuroraSheet.Pixel[]

Eigenschaft: Picture[].AuroraSheet.Pixel[]

Syntax

Picture[Picture-Id].AuroraSheet.Pixel[X, Y]

Beschreibung

Mit der Pixel-Eigenschaft können die Pixel eines AuroraSheets gelesen/geschrieben werden. Der Wert eines Pixels liegt im Bereich von 0 bis 255 und verweist auf den verwendeten Paletteneintrag. Als Maskenfarbe wird (abhängig von der Verwendung des AuroraSheets) normalerweise die Farbe mit dem Paletteneintrag 0 verwendet.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$

// Das erste Picture schwarz färben
Picture[1].AuroraSheet.Create(80, 80);
Picture[1].AuroraSheet.Palette[1] = 0x000000;  // = Scharz
Picture[1].AuroraSheet.FlushPalette();
for(v[1] = 0; v[1] < Picture[1].AuroraSheet.Width; v[1]++)
  for(v[2] = 0; v[2] < Picture[2].AuroraSheet.Height; v[2]++)
    Picture[1].AuroraSheet.Pixel[v[1], v[2]] = 1;
  next;
next;

// Noch die Koordinaten des Pictures setzen (Mitte des Bildschirms)
Picture[1].X = 160;
Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_PICTURE, DESTINYERROR_PIXELRANGE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Width, Picture[].AuroraSheet.Height, Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette(), Picture[].AuroraSheet.Handle
< Zurück
Eigenschaft: Picture[].AuroraSheet.Palette[]
Weiter >
Methode: Picture[].AuroraSheet.SaveAs()

Eigenschaft: Picture[].AuroraSheet.Pixel[]


Picture[].AuroraSheet.SaveAs()

Methode: Picture[].AuroraSheet.SaveAs()

Syntax

Picture[Picture-Id].AuroraSheet.SaveAs(Dateiname)

Beschreibung

Mit der SaveAs-Methode kann der Inhalt eines AuroraSheets in eine Bitmap abgespeichert werden. Zugriffe außerhalb des Spielverzeichnisses sind ungültig.

Liste der Parameter

Parameter: Dateiname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen (inkl. relativem Pfad/Endung) an. Der Pfad ist relativ zum Spielverzeichnis. Um die Grafik beispielsweise im Picture-Verzeichnis zu speichern, muss vorne ein "Picture\" angehangen werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
$

// Das AuroraSheet erstellen und im ersten Picture anzeigen
Picture[1].AuroraSheet.Create(8 * 8, 8);

// Die häufigsten Farben definieren
Picture[1].AuroraSheet.Palette[0] = 0x000000;  // schwarz
Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF;  // weiß
Picture[1].AuroraSheet.Palette[2] = 0x0000FF;  // rot
Picture[1].AuroraSheet.Palette[3] = 0x00FF00;  // grün
Picture[1].AuroraSheet.Palette[4] = 0xFF0000;  // blau
Picture[1].AuroraSheet.Palette[5] = 0xFF00FF;  // magenta
Picture[1].AuroraSheet.Palette[6] = 0x00FFFF;  // gelb
Picture[1].AuroraSheet.Palette[7] = 0xFFFF00;  // cyan (a.k.a. türkis)
Picture[1].AuroraSheet.FlushPalette();

// Die Farben (0 ... 7) darstellen
for(v[1] = 0; v[1] < 8; v[1]++)  // Paletteneintrag
  for(v[2] = 0; v[2] < 8; v[2]++)  // X
    for(v[3] = 0; v[3] < 8; v[3]++)  // Y
      Picture[1].AuroraSheet.Pixel[v[1] * 8 + v[2], v[3]] = v[1];
    next;
  next;
next;

// Das AuroraSheet als Bitmap im Picture-Verzeichnis speichern
Picture[1].AuroraSheet.SaveAs("Picture\Beispielpalette.bmp");

// Das AuroraSheet löschen
Picture[1].AuroraSheet.Free();

// Die Bitmap in das AuroraSheet laden
Picture[1].AuroraSheet.LoadFromFile("Picture\Beispielpalette.bmp");

// Die Maskenfarbe NICHT verwenden
Picture[1].AuroraSheet.UseMaskColor = false;

// Das erste Picture mittig anzeigen
Picture[1].X = 160;
Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_CANTOPENFILE, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTRESOLVEPATH, DESTINYERROR_MEMORY, DESTINYERROR_PICTURE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.LoadFromFile(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette(), Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Pixel[], Picture[].AuroraSheet.UseMaskColor
< Zurück
Eigenschaft: Picture[].AuroraSheet.Pixel[]
Weiter >
Eigenschaft: Picture[].AuroraSheet.UseMaskColor

Methode: Picture[].AuroraSheet.SaveAs()


Picture[].AuroraSheet.UseMaskColor

Eigenschaft: Picture[].AuroraSheet.UseMaskColor

Syntax

Picture[Picture-Id].AuroraSheet.UseMaskColor

Beschreibung

Mit der UseMaskColor-Eigenschaft kann gelesen/geschrieben werden, ob die RPG_RT beim Zeichnen des AuroraSheets den Paletteneintrag 0 als Maskenfarbe verwendet (true) oder nicht (false). Dieser Wert wird seitens der RPG_RT nicht bei allen AuroraSheet-Objekten beachtet. Ob dieser Wert beachtet wird und wie das Standardverhalten ist, kann der folgenden Tabelle entnommen werden:

AuroraSheet-Objekt | Funktioniert?
Event[] / MapEvent[] | nein (Der Wert dieser Eigenschaft wird ignoriert, stattdessen wird die Maskenfarbe immer verwendet)
Faceset | ja
Map | teilweise (Die RPG_RT prüft nur einmalig, ob ein Chip transparent ist. Wird dies nachträglich geändert, dann wird das Panorama darunter nicht gezeichnet)
Panorama | ja (Sofern die Blitting-Reihenfolge nicht verändert wurde, ist dies jedoch zu ignorieren, da das Panorama sonst als erstes gezeichnet wird)
Picture[] | ja

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$

// Das AuroraSheet erstellen und im ersten Picture anzeigen
Picture[1].AuroraSheet.Create(100, 100);

// Die Farben weiß (Index = 0) und schwarz (Index = 1) definieren
Picture[1].AuroraSheet.Palette[0] = 0xFFFFFF;  // weiß
Picture[1].AuroraSheet.Palette[1] = 0x000000;  // schwarz
Picture[1].AuroraSheet.FlushPalette();

// Den Inhalt des AuroraSheets weiß färben
Picture[1].AuroraSheet.FillRect(0, 0, 100, 100, 0);

// Ein schwarz gefülltes Quadrat zeichnen
Picture[1].AuroraSheet.FillRect(10, 10, 90, 90, 1);

// Die Maskenfarbe verwenden (Farbe 0 (hier weiß) wird unsichtbar)
Picture[1].AuroraSheet.UseMaskColor = true;

// Das erste Picture mittig anzeigen
Picture[1].X = 160;
Picture[1].Y = 120;

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.FillRect(), Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette()
< Zurück
Methode: Picture[].AuroraSheet.SaveAs()
Weiter >
Eigenschaft: Picture[].AuroraSheet.Width

Eigenschaft: Picture[].AuroraSheet.UseMaskColor


Picture[].AuroraSheet.Width

Eigenschaft: Picture[].AuroraSheet.Width

Syntax

Picture[Picture-Id].AuroraSheet.Width

Beschreibung

Mit der Width-Eigenschaft kann die Breite eines AuroraSheets ermittelt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$

// Das erste Picture schwarz färben
Picture[1].AuroraSheet.Create(80, 80);
Picture[1].AuroraSheet.Palette[1] = 0x000000;  // = Scharz
Picture[1].AuroraSheet.FlushPalette();
for(v[1] = 0; v[1] < Picture[1].AuroraSheet.Width; v[1]++)
  for(v[2] = 0; v[2] < Picture[2].AuroraSheet.Height; v[2]++)
    Picture[1].AuroraSheet.Pixel[v[1], v[2]] = 1;
  next;
next;

// Noch die Koordinaten des Pictures setzen (Mitte des Bildschirms)
Picture[1].X = 160;
Picture[1].Y = 120;

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.Height, Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.Pixel[], Picture[].AuroraSheet.Handle
< Zurück
Eigenschaft: Picture[].AuroraSheet.UseMaskColor
Weiter >
Kategorie: Zeichenfunktionen

Eigenschaft: Picture[].AuroraSheet.Width


Picture[].AuroraSheet--cat_Draw

Kategorie: Zeichenfunktionen

Beschreibung

In dieser Kategorie sind alle Zeichenfunktionen der AuroraSheet-Objekte zusammengefasst.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
BltRect() | Methode | Kopiert einen Bildbereich aus einem AuroraSheet und lässt dabei eine Farbe aus
CopyRect() | Methode | Kopiert einen Bildbereich aus einem AuroraSheet
DrawLine() | Methode | Zeichnet eine Linie
FillRect() | Methode | Zeichnet ein gefülltes Rechteck

Siehe auch

Picture, Picture[], Picture[].AuroraSheet
< Zurück
Eigenschaft: Picture[].AuroraSheet.Width
Weiter >
Methode: Picture[].AuroraSheet.BltRect()

Kategorie: Zeichenfunktionen


Picture[].AuroraSheet.BltRect()

Methode: Picture[].AuroraSheet.BltRect()

Syntax

Picture[Picture-Id].AuroraSheet.BltRect(X, Y, Quell-AuroraSheet, Links, Oben, Rechts, Unten, Maskenfarbe)

Beschreibung

Mit der BltRect-Methode wird ein Bildbereich eines AuroraSheet an eine bestimmte Position dieses AuroraSheets kopiert ohne dabei eine bestimmte Farbe mitzukopieren.
Information:
Der kopierte Bildbereich kann auch aus demselben AuroraSheet stammen, allerdings dürfen sich die Koordinaten dann nicht überschneiden.

Liste der Parameter

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width - 1)
Beschreibung: | Die X-Koordinate in dem AuroraSheet. Dort wird der Bildbereich eingefügt. Die Breite des Quellbereichs (Rechts - Links) muss verfügbar sein.

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height - 1)
Beschreibung: | Die Y-Koordinate in dem AuroraSheet. Dort wird der Bildbereich eingefügt. Die Höhe des Quellbereichs (Unten - Oben) muss verfügbar sein.

Parameter: Quell-AuroraSheet

Datentyp: | handle
Optional: | nein
Beschreibung: | Das Quell-AuroraSheet, aus dem die Grafik kopiert werden soll.

Parameter: Links

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width - 1)
Beschreibung: | Die X-Koordinate des linken, oberen Punktes des Rechtecks des Quell-AuroraSheets. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Width - 1) (ganz rechts) liegen.

Parameter: Oben

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height - 1)
Beschreibung: | Die Y-Koordinate des linken, oberen Punktes des Rechtecks des Quell-AuroraSheets. Diese muss im Bereich von 0 (ganz oben) bis (Picture[].AuroraSheet.Height - 1) (ganz unten) liegen.

Parameter: Rechts

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width)
Beschreibung: | Die X-Koordinate des rechten, unteren Punktes des Quell-AuroraSheets. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Width) (ganz rechts + 1) liegen und größer/gleich Links sein. Diese Koordinate ist die Summe von der linken Koordinate und der Breite des zu kopierenden Bildbereichs.

Parameter: Unten

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height)
Beschreibung: | Die Y-Koordinate des rechten, unteren Punktes des Quell-AuroraSheets. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Height) (ganz unten + 1) liegen und größer/gleich Oben sein. Diese Koordinate ist die Summe von der oberen Koordinate und der Höhe des zu kopierenden Bildbereichs.

Parameter: Maskenfarbe

Datentyp: | byte
Optional: | nein
Beschreibung: | Gibt den Palettenindex der auszulassenden Farbe (= Maskenfarbe) an. Alle Pixel im zu kopierenden Bildbereich, welche diesen Paletteneintrag benutzen, werden nicht mitkopiert.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$

// Das AuroraSheet erstellen und im ersten Picture anzeigen
Picture[1].AuroraSheet.Create(100, 100);

// Die Farben weiß (Index = 1) und schwarz (Index = 2) definieren
Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF;  // weiß
Picture[1].AuroraSheet.Palette[2] = 0x000000;  // schwarz
Picture[1].AuroraSheet.FlushPalette();

// Den Inhalt des AuroraSheets weiß färben
Picture[1].AuroraSheet.FillRect(0, 0, 100, 100, 1);

// Ein schwarz gefülltes Quadrat zeichnen
Picture[1].AuroraSheet.FillRect(10, 10, 90, 90, 2);

// Das obere, linke Viertel in das untere, rechte Viertel kopieren (weiße Pixel werden ausgelassen)
Picture[1].AuroraSheet.BltRect(75, 75, Picture[1].AuroraSheet.Handle, 0, 0, 25, 25, 1);

// Das erste Picture mittig anzeigen
Picture[1].X = 160;
Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_PICTURE, DESTINYERROR_PIXELRANGE, DESTINYERROR_SAMEPICTURE, DESTINYERROR_INVALIDHANDLE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.CopyRect(), Picture[].AuroraSheet.FillRect(), Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette()
< Zurück
Kategorie: Zeichenfunktionen
Weiter >
Methode: Picture[].AuroraSheet.CopyRect()

Methode: Picture[].AuroraSheet.BltRect()


Picture[].AuroraSheet.CopyRect()

Methode: Picture[].AuroraSheet.CopyRect()

Syntax

Picture[Picture-Id].AuroraSheet.CopyRect(X, Y, Quell-AuroraSheet, Links, Oben, Rechts, Unten)

Beschreibung

Mit der CopyRect-Methode wird ein Bildbereich eines AuroraSheet an eine bestimmte Position dieses AuroraSheets kopiert.
Information:
Der kopierte Bildbereich kann auch aus demselben AuroraSheet stammen, allerdings dürfen sich die Koordinaten dann nicht überschneiden.

Liste der Parameter

Parameter: X

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width - 1)
Beschreibung: | Die X-Koordinate in dem AuroraSheet. Dort wird der Bildbereich eingefügt. Die Breite des Quellbereichs (Rechts - Links) muss verfügbar sein.

Parameter: Y

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height - 1)
Beschreibung: | Die Y-Koordinate in dem AuroraSheet. Dort wird der Bildbereich eingefügt. Die Höhe des Quellbereichs (Unten - Oben) muss verfügbar sein.

Parameter: Quell-AuroraSheet

Datentyp: | handle
Optional: | nein
Beschreibung: | Das Quell-AuroraSheet, aus dem die Grafik kopiert werden soll.

Parameter: Links

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width - 1)
Beschreibung: | Die X-Koordinate des linken, oberen Punktes des Rechtecks des Quell-AuroraSheets. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Width - 1) (ganz rechts) liegen.

Parameter: Oben

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height - 1)
Beschreibung: | Die Y-Koordinate des linken, oberen Punktes des Rechtecks des Quell-AuroraSheets. Diese muss im Bereich von 0 (ganz oben) bis (Picture[].AuroraSheet.Height - 1) (ganz unten) liegen.

Parameter: Rechts

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width)
Beschreibung: | Die X-Koordinate des rechten, unteren Punktes des Quell-AuroraSheets. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Width) (ganz rechts + 1) liegen und größer/gleich Links sein. Diese Koordinate ist die Summe von der linken Koordinate und der Breite des zu kopierenden Bildbereichs.

Parameter: Unten

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height)
Beschreibung: | Die Y-Koordinate des rechten, unteren Punktes des Quell-AuroraSheets. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Height) (ganz unten + 1) liegen und größer/gleich Oben sein. Diese Koordinate ist die Summe von der oberen Koordinate und der Höhe des zu kopierenden Bildbereichs.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$

// Das AuroraSheet erstellen und im ersten Picture anzeigen
Picture[1].AuroraSheet.Create(100, 100);

// Die Farben weiß (Index = 1) und schwarz (Index = 2) definieren
Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF;  // weiß
Picture[1].AuroraSheet.Palette[2] = 0x000000;  // schwarz
Picture[1].AuroraSheet.FlushPalette();

// Den Inhalt des AuroraSheets weiß färben
Picture[1].AuroraSheet.FillRect(0, 0, 100, 100, 1);

// Ein schwarz gefülltes Quadrat zeichnen
Picture[1].AuroraSheet.FillRect(10, 10, 90, 90, 2);

// Das obere, linke Viertel in das untere, rechte Viertel kopieren
Picture[1].AuroraSheet.CopyRect(75, 75, Picture[1].AuroraSheet.Handle, 0, 0, 25, 25);

// Das erste Picture mittig anzeigen
Picture[1].X = 160;
Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_PICTURE, DESTINYERROR_PIXELRANGE, DESTINYERROR_SAMEPICTURE, DESTINYERROR_INVALIDHANDLE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.BltRect(), Picture[].AuroraSheet.FillRect(), Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette()
< Zurück
Methode: Picture[].AuroraSheet.BltRect()
Weiter >
Methode: Picture[].AuroraSheet.DrawLine()

Methode: Picture[].AuroraSheet.CopyRect()


Picture[].AuroraSheet.DrawLine()

Methode: Picture[].AuroraSheet.DrawLine()

Syntax

Picture[Picture-Id].AuroraSheet.DrawLine(X1, Y1, X2, Y2, Farbe)

Beschreibung

Mit der DrawLine-Methode wird eine gerade Linie zwischen zwei Punkten gezeichnet. Hierbei werden stets beide Punkte mit der angegebenen Farbe versehen.

Liste der Parameter

Parameter: X1

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width - 1)
Beschreibung: | Die X-Koordinate des ersten Punkts. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Width - 1) (ganz rechts) liegen.

Parameter: Y1

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height - 1)
Beschreibung: | Die Y-Koordinate des ersten Punkts. Diese muss im Bereich von 0 (ganz oben) bis (Picture[].AuroraSheet.Height - 1) (ganz unten) liegen.

Parameter: X2

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width - 1)
Beschreibung: | Die X-Koordinate des zweiten Punkts. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Width - 1) (ganz rechts) liegen.

Parameter: Y2

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height - 1)
Beschreibung: | Die Y-Koordinate des zweiten Punkts. Diese muss im Bereich von 0 (ganz oben) bis (Picture[].AuroraSheet.Height - 1) (ganz unten) liegen.

Parameter: Farbe

Datentyp: | byte
Optional: | nein
Beschreibung: | Der Index des verwendeten Paletteneintrag (= die verwendete Farbe). Die Farbe selbst kann über Picture[].AuroraSheet.Palette[] bestimmt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
$ // Das AuroraSheet erstellen und im ersten Picture anzeigen Picture[1].AuroraSheet.Create(100, 100); // Die Farben weiß (Index = 1) und rot (Index = 2) definieren Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF; // weiß Picture[1].AuroraSheet.Palette[2] = 0x0000FF; // rot Picture[1].AuroraSheet.FlushPalette(); // Den Inhalt des AuroraSheets weiß färben Picture[1].AuroraSheet.FillRect(0, 0, Picture[1].AuroraSheet.Width, Picture[1].AuroraSheet.Height, 1); // Ein rotes Quadrat zeichnen Picture[1].AuroraSheet.DrawLine(5, 5, Picture[1].AuroraSheet.Width - 5, 5, 2); Picture[1].AuroraSheet.DrawLine(Picture[1].AuroraSheet.Width - 5, 5, Picture[1].AuroraSheet.Width - 5, Picture[1].AuroraSheet.Height - 5, 2); Picture[1].AuroraSheet.DrawLine(Picture[1].AuroraSheet.Width - 5, Picture[1].AuroraSheet.Height - 5, 5, Picture[1].AuroraSheet.Height - 5, 2); Picture[1].AuroraSheet.DrawLine(5, Picture[1].AuroraSheet.Height - 5, 5, 5, 2); // Das erste Picture mittig anzeigen Picture[1].X = 160; Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_PICTURE, DESTINYERROR_PIXELRANGE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.FillRect(), Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette()
< Zurück
Methode: Picture[].AuroraSheet.CopyRect()
Weiter >
Methode: Picture[].AuroraSheet.FillRect()

Methode: Picture[].AuroraSheet.DrawLine()


Picture[].AuroraSheet.FillRect()

Methode: Picture[].AuroraSheet.FillRect()

Syntax

Picture[Picture-Id].AuroraSheet.FillRect(Links, Oben, Rechts, Unten, Farbe)

Beschreibung

Mit der FillRect-Methode wird eine gefülltes Rechteck gezeichnet. Dieses Rechteck beginnt bei Links/Oben und endet bei (Rechts - 1)/(Unten - 1).

Liste der Parameter

Parameter: Links

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width - 1)
Beschreibung: | Die X-Koordinate des linken, oberen Punktes des Rechtecks. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Width - 1) (ganz rechts) liegen.

Parameter: Oben

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height - 1)
Beschreibung: | Die Y-Koordinate des linken, oberen Punktes des Rechtecks. Diese muss im Bereich von 0 (ganz oben) bis (Picture[].AuroraSheet.Height - 1) (ganz unten) liegen.

Parameter: Rechts

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Width)
Beschreibung: | Die X-Koordinate des rechten, unteren Punktes. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Width) (ganz rechts + 1) liegen und größer/gleich Links sein. Diese Koordinate ist die Summe von der linken Koordinate und der Breite des Rechtecks. Die hier angegebene Koordinate wird nicht miteingefärbt.

Parameter: Unten

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... (Picture[].AuroraSheet.Height)
Beschreibung: | Die Y-Koordinate des rechten, unteren Punktes. Diese muss im Bereich von 0 (ganz links) bis (Picture[].AuroraSheet.Height) (ganz unten + 1) liegen und größer/gleich Oben sein. Diese Koordinate ist die Summe von der oberen Koordinate und der Höhe des Rechtecks. Die hier angegebene Koordinate wird nicht miteingefärbt.

Parameter: Farbe

Datentyp: | byte
Optional: | nein
Beschreibung: | Der Index des verwendeten Paletteneintrag (= die verwendete Farbe). Die Farbe selbst kann über Picture[].AuroraSheet.Palette[] bestimmt werden.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
$ // Das AuroraSheet erstellen und im ersten Picture anzeigen Picture[1].AuroraSheet.Create(100, 100); // Die Farben weiß (Index = 1) und rot (Index = 2) definieren Picture[1].AuroraSheet.Palette[1] = 0xFFFFFF; // weiß Picture[1].AuroraSheet.Palette[2] = 0x0000FF; // rot Picture[1].AuroraSheet.FlushPalette(); // Den Inhalt des AuroraSheets weiß färben Picture[1].AuroraSheet.FillRect(0, 0, Picture[1].AuroraSheet.Width, Picture[1].AuroraSheet.Height, 1); // Ein rotes Quadrat zeichnen Picture[1].AuroraSheet.DrawLine(5, 5, Picture[1].AuroraSheet.Width - 5, 5, 2); Picture[1].AuroraSheet.DrawLine(Picture[1].AuroraSheet.Width - 5, 5, Picture[1].AuroraSheet.Width - 5, Picture[1].AuroraSheet.Height - 5, 2); Picture[1].AuroraSheet.DrawLine(Picture[1].AuroraSheet.Width - 5, Picture[1].AuroraSheet.Height - 5, 5, Picture[1].AuroraSheet.Height - 5, 2); Picture[1].AuroraSheet.DrawLine(5, Picture[1].AuroraSheet.Height - 5, 5, 5, 2); // Das erste Picture mittig anzeigen Picture[1].X = 160; Picture[1].Y = 120;

Mögliche Fehler

DESTINYERROR_PICTURE, DESTINYERROR_PIXELRANGE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet, Picture[].AuroraSheet.DrawLine(), Picture[].AuroraSheet.Create(), Picture[].AuroraSheet.Palette[], Picture[].AuroraSheet.FlushPalette()
< Zurück
Methode: Picture[].AuroraSheet.DrawLine()
Weiter >
Methode: Picture[].BltRect()

Methode: Picture[].AuroraSheet.FillRect()


Picture[].BltRect()

Methode: Picture[].BltRect()

Syntax

Picture[Picture-Id].BltRect(X, Y, QuellPicture-Id, Links, Oben, Rechts, Unten, Maskenfarbe)

Beschreibung

Mit der BltRect-Methode kann ein Bildbereich aus einem anderen Picture in dieses Picture kopiert werden, ohne dabei die angegebene Maskenfarbe mitzukopieren. Diese Methode ist nur zur Kompatiblität mit dem DestinyPatch V1.0 erhalten geblieben. Es empfiehlt sich daher die Picture[].AuroraSheet.BltRect()-Methode zu verwenden, da diese mit allen AuroraSheet-Objekten arbeiten kann. Der Unterschied dieser Methode zur standardisierten AuroraSheet-Methode besteht darin, dass statt eines AuroraSheet-Handles die Picture-Id des Quell-Pictures übergeben wird.
Zur Beschreibung dieser Methode siehe daher die Beschreibung der BltRect()-Methode des AuroraSheet-Unterobjekts.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: X

Datentyp: | dword
Optional: | nein
Beschreibung: | Die X-Koordinate der oberen linken Ecke, wo der Bildbereich in diesem Picture hinkopiert werden soll.

Parameter: Y

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Y-Koordinate der oberen linken Ecke, wo der Bildbereich in diesem Picture hinkopiert werden soll.

Parameter: QuellPicture-Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Picture-Id des Pictures, aus dem der Bildbereich kopiert werden soll.

Parameter: Links

Datentyp: | dword
Optional: | nein
Beschreibung: | Die linke Koordinate des zu kopierenden Bildbereichs aus dem Quell-Picture.

Parameter: Oben

Datentyp: | dword
Optional: | nein
Beschreibung: | Die obere Koordinate des zu kopierenden Bildbereichs aus dem Quell-Picture.

Parameter: Rechts

Datentyp: | dword
Optional: | nein
Beschreibung: | Die rechte Koordinate des zu kopierenden Bildbereichs aus dem Quell-Picture.

Parameter: Unten

Datentyp: | dword
Optional: | nein
Beschreibung: | Die untere Koordinate des zu kopierenden Bildbereichs aus dem Quell-Picture.

Parameter: Maskenfarbe

Datentyp: | dword
Optional: | nein
Beschreibung: | Der Palettenindex der Farbe, die nicht mitkopiert werden soll.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Einen 32 x 32 Pixel großen Bildbereich aus dem zweiten Picture in das erste kopieren und dabei Farbe 255 auslassen
Picture[1].BltRect(0, 0, 2, 0, 0, 32, 32, 255);
// Vollkommen gleichwertiger Aufruf über AuroraSheet-Methoden
Picture[1].AuroraSheet.BltRect(0, 0, Picture[2].AuroraSheet.Handle, 0, 0, 32, 32, 255);

Mögliche Fehler

DESTINYERROR_PICTURE, DESTINYERROR_PIXELRANGE, DESTINYERROR_SAMEPICTURE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet.CopyRect(), Picture[].BltRect(), Picture[].AuroraSheet.BltRect()
< Zurück
Methode: Picture[].AuroraSheet.FillRect()
Weiter >
Eigenschaft: Picture[].Blue

Methode: Picture[].BltRect()


Picture[].Blue

Eigenschaft: Picture[].Blue

Syntax

Picture[Picture-Id].Blue

Beschreibung

Mit der Blue-Eigenschaft kann die Blaufärbung eines Pictures in Prozent gelesen/geschrieben werden.
  • Der Wert 0 bedeutet, dass das Picture die Farbe blau nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe blau normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Blautönen dargestellt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 200

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Blaufärbung des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Blue;

// Die Blaufärbung des ersten Pictures um 1% verringern, sofern dies nicht 0% unterschreitet
if(Picture[1].Blue > 0)
  Picture[1].Blue--;
endif;

Siehe auch

Picture, Picture[], Picture[].Red, Picture[].Green, Picture[].Chroma
< Zurück
Methode: Picture[].BltRect()
Weiter >
Eigenschaft: Picture[].Chroma

Eigenschaft: Picture[].Blue


Picture[].Chroma

Eigenschaft: Picture[].Chroma

Syntax

Picture[Picture-Id].Chroma

Beschreibung

Mit der Chroma-Eigenschaft kann die Chrominanz (Farbsättigung) eines Pictures in Prozent gelesen/geschrieben werden.
  • Der Wert 0 bedeutet, dass das Picture farbentsättigt dargestellt wird.
  • Der Wert 100 bedeutet, dass das Picture normal dargestellt wird.
  • Der Wert 200 bedeutet, dass das Picture mit besonders großen Farbunterschieden dargestellt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 200

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Chrominanz des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Chroma;

// Die Chrominanz des ersten Pictures um 1% verringern, sofern dies nicht 0% unterschreitet
if(Picture[1].Chroma > 0)
  Picture[1].Chroma--;
endif;

Siehe auch

Picture, Picture[], Picture[].Red, Picture[].Green, Picture[].Blue
< Zurück
Eigenschaft: Picture[].Blue
Weiter >
Methode: Picture[].CopyRect()

Eigenschaft: Picture[].Chroma


Picture[].CopyRect()

Methode: Picture[].CopyRect()

Syntax

Picture[Picture-Id].CopyRect(X, Y, QuellPicture-Id, Links, Oben, Rechts, Unten)

Beschreibung

Mit der CopyRect-Methode kann ein Bildbereich aus einem anderen Picture in dieses Picture kopiert werden. Diese Methode ist nur zur Kompatiblität mit dem DestinyPatch V1.0 erhalten geblieben. Es empfiehlt sich daher die Picture[].AuroraSheet.CopyRect()-Methode zu verwenden, da diese mit allen AuroraSheet-Objekten arbeiten kann. Der Unterschied dieser Methode zur standardisierten AuroraSheet-Methode besteht darin, dass statt eines AuroraSheet-Handles die Picture-Id des Quell-Pictures übergeben wird.
Zur Beschreibung dieser Methode siehe daher die Beschreibung der CopyRect()-Methode des AuroraSheet-Unterobjekts.

Eigenschaften

Veraltet: ja

Liste der Parameter

Parameter: X

Datentyp: | dword
Optional: | nein
Beschreibung: | Die X-Koordinate der oberen linken Ecke, wo der Bildbereich in diesem Picture hinkopiert werden soll.

Parameter: Y

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Y-Koordinate der oberen linken Ecke, wo der Bildbereich in diesem Picture hinkopiert werden soll.

Parameter: QuellPicture-Id

Datentyp: | dword
Optional: | nein
Beschreibung: | Die Picture-Id des Pictures, aus dem der Bildbereich kopiert werden soll.

Parameter: Links

Datentyp: | dword
Optional: | nein
Beschreibung: | Die linke Koordinate des zu kopierenden Bildbereichs aus dem Quell-Picture.

Parameter: Oben

Datentyp: | dword
Optional: | nein
Beschreibung: | Die obere Koordinate des zu kopierenden Bildbereichs aus dem Quell-Picture.

Parameter: Rechts

Datentyp: | dword
Optional: | nein
Beschreibung: | Die rechte Koordinate des zu kopierenden Bildbereichs aus dem Quell-Picture.

Parameter: Unten

Datentyp: | dword
Optional: | nein
Beschreibung: | Die untere Koordinate des zu kopierenden Bildbereichs aus dem Quell-Picture.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Einen 32 x 32 Pixel großen Bildbereich aus dem zweiten Picture in das erste kopieren
Picture[1].CopyRect(0, 0, 2, 0, 0, 32, 32);
// Vollkommen gleichwertiger Aufruf über AuroraSheet-Methoden
Picture[1].AuroraSheet.CopyRect(0, 0, Picture[2].AuroraSheet.Handle, 0, 0, 32, 32);

Mögliche Fehler

DESTINYERROR_PICTURE, DESTINYERROR_PIXELRANGE, DESTINYERROR_SAMEPICTURE

Siehe auch

Picture, Picture[], Picture[].AuroraSheet.CopyRect(), Picture[].BltRect(), Picture[].AuroraSheet.BltRect()
< Zurück
Eigenschaft: Picture[].Chroma
Weiter >
Methode: Picture[].DrawLine()

Methode: Picture[].CopyRect()


Picture[].DrawLine()

Methode: Picture[].DrawLine()

Syntax

Picture[Picture-Id].DrawLine(X1, Y1, X2, Y2, Farbe)

Beschreibung

Mit der DrawLine-Methode kann ein Linie in diesem Picture gezeichnet werden. Diese Methode ist nur zur Kompatiblität mit dem DestinyPatch V1.0 erhalten geblieben. Es empfiehlt sich daher die Picture[].AuroraSheet.DrawLine()-Methode zu verwenden, da diese bei allen AuroraSheet-Objekten zur Verfügung steht. Die Dokumentation dieser Methode ist auch dort zu finden.
< Zurück
Methode: Picture[].CopyRect()
Weiter >
Eigenschaft: Picture[].Filename

Methode: Picture[].DrawLine()


Picture[].Filename

Eigenschaft: Picture[].Filename

Syntax

Picture[Picture-Id].Filename

Beschreibung

Mit der Filename-Eigenschaft kann der Dateiname des Pictures ermittelt werden. Der Wert dieser Eigenschaft wird durch den ShowPicture-Befehl gesetzt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Die RTP-Wolkengrafik als Picture 1 laden und in der Mitte des Bildschirms anzeigen
Command.ShowPicture(1, "CLOUD", 160, 120);

// Den Dateinamen des ersten Pictures abfragen und in a[1] speichern
a[1] = Picture[1].Filename;  // "CLOUD"

Siehe auch

Picture, Picture[], Command.ShowPicture()
< Zurück
Methode: Picture[].DrawLine()
Weiter >
Methode: Picture[].FillRect()

Eigenschaft: Picture[].Filename


Picture[].FillRect()

Methode: Picture[].FillRect()

Syntax

Picture[Picture-Id].FillRect(Links, Oben, Rechts, Unten, Farbe)

Beschreibung

Mit der FillRect-Methode wird eine gefülltes Rechteck gezeichnet. Dieses Rechteck beginnt bei Links/Oben und endet bei (Rechts - 1)/(Unten - 1). Diese Methode ist nur zur Kompatiblität mit dem DestinyPatch V1.0 erhalten geblieben. Es empfiehlt sich daher die Picture[].AuroraSheet.FillRect()-Methode zu verwenden, da diese bei allen AuroraSheet-Objekten zur Verfügung steht. Die Dokumentation dieser Methode ist auch dort zu finden.
< Zurück
Eigenschaft: Picture[].Filename
Weiter >
Methode: Picture[].FlushPalette()

Methode: Picture[].FillRect()


Picture[].FlushPalette()

Methode: Picture[].FlushPalette()

Syntax

Picture[Picture-Id].FlushPalette()

Beschreibung

Mit der FlushPalette-Methode kann die aktuelle Palette als effektive Palette übernommen werden. Diese Methode ist nur zur Kompatiblität mit dem DestinyPatch V1.0 erhalten geblieben. Es empfiehlt sich daher die Picture[].AuroraSheet.FlushPalette()-Methode zu verwenden, da diese bei allen AuroraSheet-Objekten zur Verfügung steht. Die Dokumentation dieser Methode ist auch dort zu finden.
< Zurück
Methode: Picture[].FillRect()
Weiter >
Eigenschaft: Picture[].Green

Methode: Picture[].FlushPalette()


Picture[].Green

Eigenschaft: Picture[].Green

Syntax

Picture[Picture-Id].Green

Beschreibung

Mit der Green-Eigenschaft kann die Grünfärbung eines Pictures in Prozent gelesen/geschrieben werden.
  • Der Wert 0 bedeutet, dass das Picture die Farbe grün nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe grün normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Grüntönen dargestellt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 200

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Grünfärbung des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Green;

// Die Grünfärbung des ersten Pictures um 1% verringern, sofern dies nicht 0% unterschreitet
if(Picture[1].Green > 0)
  Picture[1].Green--;
endif;

Siehe auch

Picture, Picture[], Picture[].Red, Picture[].Blue, Picture[].Chroma
< Zurück
Methode: Picture[].FlushPalette()
Weiter >
Eigenschaft: Picture[].Height

Eigenschaft: Picture[].Green


Picture[].Height

Eigenschaft: Picture[].Height

Syntax

Picture[Picture-Id].Height

Beschreibung

Mit der Height-Eigenschaft kann die Höhe eines Pictures in Pixel ermittelt werden. Ist momentan keine Grafik im Picture geladen, so ist dieser Wert 0.
Information:
Diese Eigenschaft existiert nur zur Kompatiblität mit dem DestinyPatch V1.0. Ihr Wert ist identisch mit der Height-Eigenschaft des AuroraSheet-Unterobjekts (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Veraltet: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Die Höhe des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Height;

// Die Höhe des ersten Pictures über das AuroraSheet ermitteln und in v[2] speichern
v[2] = Picture[1].AuroraSheet.Height;

Siehe auch

Picture, Picture[], Picture[].Width, Picture[].AuroraSheet.Height
< Zurück
Eigenschaft: Picture[].Green
Weiter >
Methode: Picture[].LoadFromFile()

Eigenschaft: Picture[].Height


Picture[].LoadFromFile()

Methode: Picture[].LoadFromFile()

Syntax

Picture[Picture-Id].LoadFromFile(Dateiname)

Beschreibung

Mit der LoadFromFile-Methode kann ein Picture aus einer Bilddatei geladen werden. Hierbei werden sämtliche anderen Einstellungen des Pictures, die nicht mit der Grafik zusammenhängen, beibehalten.

Liste der Parameter

Parameter: Dateiname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen des Pictures (ohne Pfad/Endung) an. Dieser Pfad ist relativ und kann daher prinzipiell auch dazu genutzt werden um Grafiken außerhalb des Picture-Verzeichnisses zu laden. Soll eine Datei mit einer bestimmten Endung geladen werden, so kann die Endung inklusive NULL-Zeichen angegeben werden um explizit diese Datei zu laden (siehe Beispiel).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Erster Aufruf mit Picture[].LoadFromFile()
Picture[1].LoadFromFile("Bild");
// Zweiter (vollkommen identischer) Aufruf mit Command.ShowPicture()
Command.ShowPicture(1, "Bild", Picture[1].X, Picture[1].Y, Picture[1].MoveWithMap,
                    Picture[1].Magnification, Picture[1].Transparency, Picture[1].UseMaskColor,
                    Picture[1].Red, Picture[1].Green, Picture[1].Blue, Picture[1].Chroma,
                    Picture[1].Action, Picture[1].ActionStrength);
// Dritter Aufruf mit Picture[].AuroraSheet.LoadFromFile()
// Hierbei werden keine Eigenschaften zurückgesetzt; außerdem kann die Datei nicht aus dem RTP genommen werden.
Picture[1].AuroraSheet.LoadFromFile("Picture\Dawn1.png");
Um ein ganz bestimmtes Picture zu laden, kann ein NULL-Zeichen ans Ende des Dateinamens angehangen werden:

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Datei Picture\Bild.bmp laden
Picture[1].LoadFromFile("Bild.bmp" .. String.Chr(0));
// Die Datei Panorama\Bild.bmp laden (anderes Verzeichnis)
Picture[1].LoadFromFile("..\Panorama\Bild.bmp" .. String.Chr(0));

Mögliche Fehler

DESTINYERROR_EXCEPTION

Siehe auch

Picture, Picture[], Command.ShowPicture(), Picture[].AuroraSheet.LoadFromFile(), Picture[].SaveAs()
< Zurück
Eigenschaft: Picture[].Height
Weiter >
Eigenschaft: Picture[].Magnification

Methode: Picture[].LoadFromFile()


Picture[].Magnification

Eigenschaft: Picture[].Magnification

Syntax

Picture[Picture-Id].Magnification

Beschreibung

Mit der Magnification-Eigenschaft kann der Vergrößerungsfaktor eines Pictures in Prozent gelesen/geschrieben werden.
Achtung:
Wird diese Eigenschaft auf 0 gesetzt, dann kann dies zu einem Absturz der RPG_RT führen. Dies ist kein Fehler des DestinyPatches, sondern der RPG_RT.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | >= 1

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Den Vergrößerungsfaktor des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Magnification;

// Den Vergrößerungsfaktor des ersten Pictures um 1% erhöhen
Picture[1].Magnification++;

Siehe auch

Picture, Picture[], Picture[].Transparency
< Zurück
Methode: Picture[].LoadFromFile()
Weiter >
Eigenschaft: Picture[].MapMove

Eigenschaft: Picture[].Magnification


Picture[].MapMove

Eigenschaft: Picture[].MapMove

Syntax

Picture[Picture-Id].MapMove

Beschreibung

Mit der MapMove-Eigenschaft kann die MoveWithMap-Eigenschaft eines Pictures gelesen/geschrieben werden.
  • Ist dieser Wert true, so bewegt sich das Picture mit der Karte.
  • Ist dieser Wert false, so bleibt das Picture an der Bildschirmposition, selbst wenn die Karte scrollt.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Das erste Picture an die Karte binden Picture[1].MapMove = true;

Siehe auch

Picture, Picture[], Picture[].MapX, Picture[].MapY
< Zurück
Eigenschaft: Picture[].Magnification
Weiter >
Eigenschaft: Picture[].MapX

Eigenschaft: Picture[].MapMove


Picture[].MapX

Eigenschaft: Picture[].MapX

Syntax

Picture[Picture-Id].MapX

Beschreibung

Mit der MapX-Eigenschaft kann die X-Koordinate des Bezugspunktes eines Pictures, das sich mit der Karte bewegt, gelesen/geschrieben werden. Dies der Wert, der bei bem ShowPicture-Befehl benutzt wurde um die Grafik ursprünglich anzuzeigen.
Information:
Ist die Picturebewegung wie beim RPG-Maker 2003, so ist der Wert dieser Eigenschaft ziemlich bedeutungslos.

Eigenschaften

Datentyp: | float
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die ursprünglichen X- und Y-Koordinaten vom ersten Picture beim
// ShowPicture-Befehl ermitteln und in v[1] und v[2] speichern
v[1] = Picture[1].MapX;
v[2] = Picture[1].MapY;

Siehe auch

Picture, Picture[], Picture[].MapY, Picture[].MapMove
< Zurück
Eigenschaft: Picture[].MapMove
Weiter >
Eigenschaft: Picture[].MapY

Eigenschaft: Picture[].MapX


Picture[].MapY

Eigenschaft: Picture[].MapY

Syntax

Picture[Picture-Id].MapY

Beschreibung

Mit der MapY-Eigenschaft kann die Y-Koordinate des Bezugspunktes eines Pictures, das sich mit der Karte bewegt, gelesen/geschrieben werden. Dies der Wert, der bei bem ShowPicture-Befehl benutzt wurde um die Grafik ursprünglich anzuzeigen.
Information:
Ist die Picturebewegung wie beim RPG-Maker 2003, so ist der Wert dieser Eigenschaft ziemlich bedeutungslos.

Eigenschaften

Datentyp: | float
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die ursprünglichen X- und Y-Koordinaten vom ersten Picture beim
// ShowPicture-Befehl ermitteln und in v[1] und v[2] speichern
v[1] = Picture[1].MapX;
v[2] = Picture[1].MapY;

Siehe auch

Picture, Picture[], Picture[].MapX, Picture[].MapMove
< Zurück
Eigenschaft: Picture[].MapX
Weiter >
Eigenschaft: Picture[].MoveX

Eigenschaft: Picture[].MapY


Picture[].MoveX

Eigenschaft: Picture[].MoveX

Syntax

Picture[Picture-Id].MoveX

Beschreibung

Mit der MoveX-Eigenschaft kann die aktuelle X-Koordinate eines Pictures während der Bewegung gelesen/geschrieben werden.

Eigenschaften

Datentyp: | float
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Die aktuellen X- und Y-Koordinaten vom ersten Picture während der Bewegung ermitteln und in v[1] und v[2] speichern
v[1] = Picture[1].MoveX;
v[2] = Picture[1].MoveY;

Siehe auch

Picture, Picture[], Picture[].MoveY, Picture[].X, Picture[].Y
< Zurück
Eigenschaft: Picture[].MapY
Weiter >
Eigenschaft: Picture[].MoveY

Eigenschaft: Picture[].MoveX


Picture[].MoveY

Eigenschaft: Picture[].MoveY

Syntax

Picture[Picture-Id].MoveY

Beschreibung

Mit der MoveY-Eigenschaft kann die aktuelle Y-Koordinate eines Pictures während der Bewegung gelesen/geschrieben werden.

Eigenschaften

Datentyp: | float
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Die aktuellen X- und Y-Koordinaten vom ersten Picture während der Bewegung ermitteln und in v[1] und v[2] speichern
v[1] = Picture[1].MoveX;
v[2] = Picture[1].MoveY;

Siehe auch

Picture, Picture[], Picture[].MoveX, Picture[].X, Picture[].Y
< Zurück
Eigenschaft: Picture[].MoveX
Weiter >
Eigenschaft: Picture[].Palette[]

Eigenschaft: Picture[].MoveY


Picture[].Palette[]

Eigenschaft: Picture[].Palette[]

Syntax

Picture[Picture-Id].Palette[Index]

Beschreibung

Mit der Palette-Eigenschaft kann ein bestimmter Paletteneintrag des Pictures gelesen/geschrieben werden. Diese Eigenschaft ist nur zur Kompatiblität mit dem DestinyPatch V1.0 erhalten geblieben. Es empfiehlt sich daher die Picture[].AuroraSheet.Palette[]-Eigenschaft zu verwenden, da diese bei allen AuroraSheet-Objekten zur Verfügung steht. Die Dokumentation dieser Eigenschaft ist auch dort zu finden.
< Zurück
Eigenschaft: Picture[].MoveY
Weiter >
Eigenschaft: Picture[].Pixel[]

Eigenschaft: Picture[].Palette[]


Picture[].Pixel[]

Eigenschaft: Picture[].Pixel[]

Syntax

Picture[Picture-Id].Pixel[X, Y]

Beschreibung

Mit der Pixel-Eigenschaft kann ein Pixel des Pictures gelesen/geschrieben werden. Diese Eigenschaft ist nur zur Kompatiblität mit dem DestinyPatch V1.0 erhalten geblieben. Es empfiehlt sich daher die Picture[].AuroraSheet.Pixel[]-Eigenschaft zu verwenden, da diese bei allen AuroraSheet-Objekten zur Verfügung steht. Die Dokumentation dieser Eigenschaft ist auch dort zu finden.
< Zurück
Eigenschaft: Picture[].Palette[]
Weiter >
Eigenschaft: Picture[].Red

Eigenschaft: Picture[].Pixel[]


Picture[].Red

Eigenschaft: Picture[].Red

Syntax

Picture[Picture-Id].Red

Beschreibung

Mit der Red-Eigenschaft kann die Rotfärbung eines Pictures in Prozent gelesen/geschrieben werden.
  • Der Wert 0 bedeutet, dass das Picture die Farbe rot nicht aufweist.
  • Der Wert 100 bedeutet, dass das Picture die Farbe rot normal dargestellt.
  • Der Wert 200 bedeutet, dass das Picture mit besonders starken Rottönen dargestellt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 200

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Rotfärbung des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Red;

// Die Rotfärbung des ersten Pictures um 1% verringern, sofern dies nicht 0% unterschreitet
if(Picture[1].Red > 0)
  Picture[1].Red--;
endif;

Siehe auch

Picture, Picture[], Picture[].Green, Picture[].Blue, Picture[].Chroma
< Zurück
Eigenschaft: Picture[].Pixel[]
Weiter >
Methode: Picture[].SaveAs()

Eigenschaft: Picture[].Red


Picture[].SaveAs()

Methode: Picture[].SaveAs()

Syntax

Picture[Picture-Id].SaveAs(Dateiname)

Beschreibung

Mit der SaveAs-Methode kann der aktuelle Inhalt des Pictures gespeichert werden. Dies geschieht standardmäßig im Picture-Verzeichnis des Spiels. Die Dateiendung ".bmp" muss mitangegeben werden (siehe Beispiel).

Liste der Parameter

Parameter: Dateiname

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt den Dateinamen der Zieldatei (ohne Pfad, aber mit Endung!) an. Dieser Pfad ist relativ und kann daher prinzipiell auch dazu genutzt werden um Grafiken außerhalb des Picture-Verzeichnisses zu speichern.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Das erste Picture in der Datei "Ergebnis.bmp" speichern (diese liegt später im Picture-Verzeichnis)
Picture[1].SaveAs("Ergebnis.bmp");

// Später lässt sich das Picture über die LoadFromFile-Methode wieder laden
Picture[1].LoadFromFile("Ergebnis");

Mögliche Fehler

DESTINYERROR_PICTURE, DESTINYERROR_MEMORY, DESTINYERROR_CANTRESOLVEPATH, DESTINYERROR_NOPERMISSION, DESTINYERROR_CANTOPENFILE

Siehe auch

Picture, Picture[], Picture[].LoadFromFile(), Picture[].AuroraSheet.SaveAs()
< Zurück
Eigenschaft: Picture[].Red
Weiter >
Eigenschaft: Picture[].Transparency

Methode: Picture[].SaveAs()


Picture[].Transparency

Eigenschaft: Picture[].Transparency

Syntax

Picture[Picture-Id].Transparency

Beschreibung

Mit der Transparency-Eigenschaft kann die Transparenz eines Pictures in Prozent gelesen/geschrieben werden. Bei Werten größer als 100 treten interessante Berechnungsfehler auf.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein
Wertebereich: | 0 ... 100

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Transparenz des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Transparency;

// Die Transparenz des ersten Pictures um 1% erhöhen, sofern dies nicht 100% übersteigt
if(Picture[1].Transparency < 100)
  Picture[1].Transparency++;
endif;

Siehe auch

Picture, Picture[], Picture[].Magnification
< Zurück
Methode: Picture[].SaveAs()
Weiter >
Eigenschaft: Picture[].UseMaskColor

Eigenschaft: Picture[].Transparency


Picture[].UseMaskColor

Eigenschaft: Picture[].UseMaskColor

Syntax

Picture[Picture-Id].UseMaskColor

Beschreibung

Mit der UseMaskColor-Eigenschaft kann gelesen/geschrieben werden, ob die RPG_RT beim Zeichnen des Pictures den Paletteneintrag 0 als Maskenfarbe verwendet (true) oder nicht (false). Diese Eigenschaft ist nur zur Kompatiblität mit dem DestinyPatch V1.0 erhalten geblieben. Es empfiehlt sich daher die Picture[].AuroraSheet.UseMaskColor-Eigenschaft zu verwenden, da diese bei allen AuroraSheet-Objekten zur Verfügung steht. Die Dokumentation dieser Eigenschaft ist auch dort zu finden.
< Zurück
Eigenschaft: Picture[].Transparency
Weiter >
Eigenschaft: Picture[].Width

Eigenschaft: Picture[].UseMaskColor


Picture[].Width

Eigenschaft: Picture[].Width

Syntax

Picture[Picture-Id].Width

Beschreibung

Mit der Width-Eigenschaft kann die Breite eines Pictures in Pixel ermittelt werden. Ist momentan keine Grafik im Picture geladen, so ist dieser Wert 0.
Information:
Diese Eigenschaft existiert nur zur Kompatiblität mit dem DestinyPatch V1.0. Ihr Wert ist identisch mit der Width-Eigenschaft des AuroraSheet-Unterobjekts (siehe Beispiel).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Veraltet: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Die Breite des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].Width;

// Die Breite des ersten Pictures über das AuroraSheet ermitteln und in v[2] speichern
v[2] = Picture[1].AuroraSheet.Width;

Siehe auch

Picture, Picture[], Picture[].Height, Picture[].AuroraSheet.Width
< Zurück
Eigenschaft: Picture[].UseMaskColor
Weiter >
Eigenschaft: Picture[].X

Eigenschaft: Picture[].Width


Picture[].X

Eigenschaft: Picture[].X

Syntax

Picture[Picture-Id].X

Beschreibung

Mit der X-Eigenschaft kann die X-Koordinate des Pictures gelesen/geschrieben werden. Beim RPG-Maker 2000 bezieht sich diese Koordinate stets auf den Mittelpunkt des Pictures.
Information:
  • Picture[].X bezieht sich stets auf die Zielkoordinate eines Pictures. Bewegt sich ein Picture nicht, so ist dies ebenfalls die aktuelle Koordinate.
  • Picture[].MoveX bezieht sich auf die aktuelle Koordinate eines Pictures während einer Bewegung.
  • Picture[].MapX bezieht sich immer auf den ursprünglich verwendete Angabe beim ShowPicture-Befehl. Dieser Wert ist nur für den RPG-Maker 2000 relevant, sofern die "MoveWithMap"-Bewegung von Pictures nicht wie beim RPG-Maker 2003 abläuft.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die X-Koordinate des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].X;
// Die Y-Koordinate des ersten Pictures ermitteln und in v[2] speichern
v[2] = Picture[1].Y;
// Das erste Picture mittig platzieren (Breite des Bildschirms ist 320 und Höhe ist 240)
Picture[1].X = (320 - Picture[1].Width) / 2;
Picture[1].Y = (240 - Picture[1].Height) / 2;

Siehe auch

Picture, Picture[], Picture[].Y, Picture[].Width, Picture[].Height, Picture[].MoveX, Picture[].MapX
< Zurück
Eigenschaft: Picture[].Width
Weiter >
Eigenschaft: Picture[].Y

Eigenschaft: Picture[].X


Picture[].Y

Eigenschaft: Picture[].Y

Syntax

Picture[Picture-Id].Y

Beschreibung

Mit der Y-Eigenschaft kann die Y-Koordinate des Pictures gelesen/geschrieben werden. Beim RPG-Maker 2000 bezieht sich diese Koordinate stets auf den Mittelpunkt des Pictures.
Information:
  • Picture[].Y bezieht sich stets auf die Zielkoordinate eines Pictures. Bewegt sich ein Picture nicht, so ist dies ebenfalls die aktuelle Koordinate.
  • Picture[].MoveY bezieht sich auf die aktuelle Koordinate eines Pictures während einer Bewegung.
  • Picture[].MapY bezieht sich immer auf den ursprünglich verwendete Angabe beim ShowPicture-Befehl. Dieser Wert ist nur für den RPG-Maker 2000 relevant, sofern die "MoveWithMap"-Bewegung von Pictures nicht wie beim RPG-Maker 2003 abläuft.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die X-Koordinate des ersten Pictures ermitteln und in v[1] speichern
v[1] = Picture[1].X;
// Die Y-Koordinate des ersten Pictures ermitteln und in v[2] speichern
v[2] = Picture[1].Y;
// Das erste Picture mittig platzieren (Breite des Bildschirms ist 320 und Höhe ist 240)
Picture[1].X = (320 - Picture[1].Width) / 2;
Picture[1].Y = (240 - Picture[1].Height) / 2;

Siehe auch

Picture, Picture[], Picture[].X, Picture[].Width, Picture[].Height, Picture[].MoveY, Picture[].MapY
< Zurück
Eigenschaft: Picture[].X
Weiter >
Objekt: s

Eigenschaft: Picture[].Y


s

Objekt: s

Syntax

s

Beschreibung

Das s-Objekt dient dazu die Schalter (boole'sche Werte ("ja" / "nein")) der RPG_RT zugänglich zu machen. Die Schalter des s-Objekts werden von der RPG_RT verwaltet.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Schalter
[] | Eigenschaft | Eine bestimmter Schalter des s-Objekts

Siehe auch

a, d, f, v
< Zurück
Eigenschaft: Picture[].Y
Weiter >
Eigenschaft: s.Count

Objekt: s


s.Count

Eigenschaft: s.Count

Syntax

s.Count

Beschreibung

Gibt die Anzahl der Schalter im s-Objekt zurück. Diese kann verwendet werden um eine Schleife über alle Schalter zu machen.
Information:
Die Anzahl der Schalter, die zur Verfügung stehen, wird erst zur Laufzeit des Spiels festgelegt. Erst wenn auf einen Schalter (oder einer mit höherer Switch-Id) zugegriffen wird, wird dieser erstmalig angelegt (mit dem Wert false). Dieses Verhalten stammt von der RPG_RT und wurde bei dem DestinyPatch so beibehalten. Aus diesem Grunde gibt es beim s-Objekt auch keine ReAlloc-Methode.

Beispiel:
  • Wird nach Spielbeginn auf den dritten Schalter zugegriffen, dann gibt es ab diesem Moment drei Schalter (s.Count = 3).
  • Wird danach auf den fünften Schalter zugegriffen, dann gibt es ab diesem Moment fünf Schalter (s.Count = 5).
  • Wird danach erneut auf den dritten Schalter zugegriffen, dann gibt es weiterhin fünf Schalter (s.Count = 5).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Schalter auf true setzen
for(v[1] = 1; v[1] <= s.Count; v[1]++)
  s[v[1]] = true;
next;

Siehe auch

s, s[]
< Zurück
Objekt: s
Weiter >
Eigenschaft: s[]

Eigenschaft: s.Count


s[]

Eigenschaft: s[]

Syntax

s[Switch-Id]

Beschreibung

Ermöglicht den Zugriff auf einen bestimmten Schalter des s-Objekts.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | nein

Liste der Parameter

Parameter: Switch-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1 && <= 100000000
Beschreibung: | Die Switch-Id des Schalters. Dieser Wert muss größer/gleich 1 sein. Wird eine Switch-Id größer als s.Count angegeben, dann erhöht sich die Anzahl der Schalter automatisch.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Wert des ersten Schalters auf false setzen s[1] = false;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

s, s.Count
< Zurück
Eigenschaft: s.Count
Weiter >
Objekt: Screen

Eigenschaft: s[]


Screen

Objekt: Screen

Syntax

Screen

Beschreibung

Das Screen-Objekt dient dazu den aktuellen Bildschirm des Spiels zur Verfügung zu stellen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Blue | Eigenschaft | Die Blaufärbung des Bildschirms
Chroma | Eigenschaft | Die Chrominanz des Bildschirms
Green | Eigenschaft | Die Grünfärbung des Bildschirms
HighColor | Eigenschaft | Gibt an, ob der Bildschirm 16-Bit Farbtiefe hat
Red | Eigenschaft | Die Rotfärbung des Bildschirms
TrueColor | Eigenschaft | Gibt an, ob der Bildschirm 32-Bit Farbtiefe hat
< Zurück
Eigenschaft: s[]
Weiter >
Eigenschaft: Screen.Blue

Objekt: Screen


Screen.Blue

Eigenschaft: Screen.Blue

Syntax

Screen.Blue

Beschreibung

Mit der Blue-Eigenschaft kann die Blaufärbung des Bildschirms in Prozent gelesen/geschrieben werden.
  • Der Wert 0 bedeutet, dass der Bildschirm die Farbe blau nicht aufweist.
  • Der Wert 100 bedeutet, dass der Bildschirm die Farbe blau normal dargestellt.
  • Der Wert 200 bedeutet, dass der Bildschirm mit besonders starken Blautönen dargestellt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Blaufärbung des Bildschirms ermitteln und in v[1] speichern
v[1] = Screen.Blue;

// Die Blaufärbung des Bildschirms um 1% verringern, sofern dies nicht 0% unterschreitet
if(Screen.Blue > 0)
  Screen.Blue--;
endif;

Siehe auch

Screen, Screen.Red, Screen.Green, Screen.Chroma, Command.SetScreenTone()
< Zurück
Objekt: Screen
Weiter >
Eigenschaft: Screen.Chroma

Eigenschaft: Screen.Blue


Screen.Chroma

Eigenschaft: Screen.Chroma

Syntax

Screen.Chroma

Beschreibung

Mit der Chroma-Eigenschaft kann die Chrominanz (Farbsättigung) des Bildschirms in Prozent gelesen/geschrieben werden.
  • Der Wert 0 bedeutet, dass der Bildschirm farbentsättigt dargestellt wird.
  • Der Wert 100 bedeutet, dass der Bildschirm normal dargestellt wird.
  • Der Wert 200 bedeutet, dass der Bildschirm mit besonders großen Farbunterschieden dargestellt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Chrominanz des Bildschirms ermitteln und in v[1] speichern
v[1] = Screen.Chroma;

// Die Chrominanz des Bildschirms um 1% verringern, sofern dies nicht 0% unterschreitet
if(Screen.Chroma > 0)
  Screen.Chroma--;
endif;

Siehe auch

Screen, Screen.Red, Screen.Green, Screen.Blue, Command.SetScreenTone()
< Zurück
Eigenschaft: Screen.Blue
Weiter >
Eigenschaft: Screen.Green

Eigenschaft: Screen.Chroma


Screen.Green

Eigenschaft: Screen.Green

Syntax

Screen.Green

Beschreibung

Mit der Green-Eigenschaft kann die Grünfärbung des Bildschirms in Prozent gelesen/geschrieben werden.
  • Der Wert 0 bedeutet, dass der Bildschirm die Farbe grün nicht aufweist.
  • Der Wert 100 bedeutet, dass der Bildschirm die Farbe grün normal dargestellt.
  • Der Wert 200 bedeutet, dass der Bildschirm mit besonders starken Grüntönen dargestellt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Grünfärbung des Bildschirms ermitteln und in v[1] speichern
v[1] = Screen.Green;

// Die Grünfärbung des Bildschirms um 1% verringern, sofern dies nicht 0% unterschreitet
if(Screen.Green > 0)
  Screen.Green--;
endif;

Siehe auch

Screen, Screen.Red, Screen.Blue, Screen.Chroma, Command.SetScreenTone()
< Zurück
Eigenschaft: Screen.Chroma
Weiter >
Eigenschaft: Screen.HighColor

Eigenschaft: Screen.Green


Screen.HighColor

Eigenschaft: Screen.HighColor

Syntax

Screen.HighColor

Beschreibung

Mit der HighColor-Eigenschaft kann ermittelt werden, ob der Bildschirm eine Farbtiefe von 16-Bit hat (565-Modus).
  • False: Die Farbtiefe beträgt 32-Bit.
  • True: Die Farbtiefe beträgt 16-Bit.
Information:
Die Farbtiefe des Spiels beeinflusst nicht die Anzahl der Farben pro Grafik (256), sondern nur deren Anzeigequalität.
Information:
Die Farbtiefe kann über den DestinyPatcher geändert werden.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Prüfen, ob der Bildschirm eine Farbtiefe von 16-Bit hat
if(Screen.HighColor)
  // ...
endif;

Siehe auch

Screen, Screen.TrueColor
< Zurück
Eigenschaft: Screen.Green
Weiter >
Eigenschaft: Screen.Red

Eigenschaft: Screen.HighColor


Screen.Red

Eigenschaft: Screen.Red

Syntax

Screen.Red

Beschreibung

Mit der Red-Eigenschaft kann die Rotfärbung des Bildschirms in Prozent gelesen/geschrieben werden.
  • Der Wert 0 bedeutet, dass der Bildschirm die Farbe rot nicht aufweist.
  • Der Wert 100 bedeutet, dass der Bildschirm die Farbe rot normal dargestellt.
  • Der Wert 200 bedeutet, dass der Bildschirm mit besonders starken Rottönen dargestellt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8
$
// Die Rotfärbung des Bildschirms ermitteln und in v[1] speichern
v[1] = Screen.Red;

// Die Rotfärbung des Bildschirms um 1% verringern, sofern dies nicht 0% unterschreitet
if(Screen.Red > 0)
  Screen.Red--;
endif;

Siehe auch

Screen, Screen.Green, Screen.Blue, Screen.Chroma, Command.SetScreenTone()
< Zurück
Eigenschaft: Screen.HighColor
Weiter >
Eigenschaft: Screen.TrueColor

Eigenschaft: Screen.Red


Screen.TrueColor

Eigenschaft: Screen.TrueColor

Syntax

Screen.TrueColor

Beschreibung

Mit der TrueColor-Eigenschaft kann ermittelt werden, ob der Bildschirm eine Farbtiefe von 32-Bit hat (XRGB-Modus).
  • False: Die Farbtiefe beträgt 16-Bit.
  • True: Die Farbtiefe beträgt 32-Bit.
Information:
Die Farbtiefe des Spiels beeinflusst nicht die Anzahl der Farben pro Grafik (256), sondern nur deren Anzeigequalität.
Information:
Die Farbtiefe kann über den DestinyPatcher geändert werden.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Prüfen, ob der Bildschirm eine Farbtiefe von 32-Bit hat
if(Screen.TrueColor)
  // ...
endif;

Siehe auch

Screen, Screen.HighColor
< Zurück
Eigenschaft: Screen.Red
Weiter >
Objekt: Server

Eigenschaft: Screen.TrueColor


Server

Objekt: Server

Syntax

Server

Beschreibung

Das Server-Objekt dient dazu eingehende Verbindungen über das Internet oder das Netzwerk anzunehmen. Wurde eine Verbindung angenommen, so wird diese später über das Client[]-Objekt angesprochen.
Information:
Bei eingehenden Verbindungen über das Internet kann es Probleme geben, wenn man eine Firewall oder einen Router benutzt.
Wie man seine Firewall/seinen Router so konfiguriert, dass diese(r) eingehende Verbindungen durchlässt, kann man über das Internet erfahren.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Accept() | Methode | Lässt das Server-Objekt eine eingehende Verbindung annehmen
Close() | Methode | Schließt das Server-Objekt, sodass es nicht mehr auf eingehende Verbindungen wartet
Listen() | Methode | Lässt das Server-Objekt auf eingehende Verbindungen warten
State | Eigenschaft | Der aktuelle Verbindungsstatus der Servers
Type | Eigenschaft | Der verwendete Sockettyp angenommener Verbindungen

Siehe auch

Client
< Zurück
Eigenschaft: Screen.TrueColor
Weiter >
Methode: Server.Accept()

Objekt: Server


Server.Accept()

Methode: Server.Accept()

Syntax

Server.Accept([Client-Index])

Beschreibung

Mit der Accept-Methode kann das Server-Objekt eine eingehende Verbindung anzunehmen. Hierzu muss das Server-Objekt zuvor mittels Server.Listen() in den Zustand versetzt werden auf eingehende Verbindungen zu warten.
Angenommene Verbindungen werden über das Client[]-Objekt angesprochen. Mit dieser Methode wird ebenfalls geprüft, ob eine eingehende Verbindung ansteht. Ist dies nicht der Fall, so endet der Aufruf sofort und es wird -1 zurückgegeben.
Information:
Bei eingehenden Verbindungen über das Internet kann es Probleme geben, wenn man eine Firewall oder einen Router benutzt.
Wie man seine Firewall/seinen Router so konfiguriert, dass diese(r) eingehende Verbindungen durchlässt, kann man über das Internet erfahren.

Liste der Parameter

Parameter: Client-Index

Datentyp: | dword
Optional: | ja
Standardwert: | NEXT_FREE_SOCKET
Wertebereich: | -1 ... (Client.Count - 1)
Beschreibung: | Gibt den Index des Client-Sockets innerhalb des Client[]-Objekts an, über welches die Verbindung angenommen werden soll. Ist das jeweilige Client-Socket nicht geschlossen, so wird es automatisch vor der Annahme der Verbindung geschlossen. Statt eines Client-Indizes kann auch die Konstante NEXT_FREE_SOCKET (= -1) angegeben werden, damit automatisch ein freies Client-Socket gewählt wird (sofern vorhanden). Gibt es kein freies Client-Socket, so wird ein Fehler geworfen. Der Wertebereich dieses Parameters liegt somit im Bereich von -1 bis (Client.Count - 1). Um die maximale Anzahl der anzunehmenden Verbindungen dynamisch zu halten, kann auch der Rückgabewert der NextFree-Methode des Client-Objekts als Parameter benutzt werden.

Rückgabewert

Datentyp: | dword
Beschreibung: | Der Index innerhalb des Client[]-Objekts oder -1, falls keine eingehende Verbindung anstand.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$
// Eingehende Verbindungen auf dem Port 80 akzeptieren (Typ: RAW)
Server.Listen(80, SOCK_RAW);

// Auf eine eingehende Verbindung warten
do
  v[1] = Server.Accept(Client.NextFree());
loop until (v[1] != -1);

// Eine eingehende Verbindung wurde angenommen. Das zu verwendende Socket steht in v[1]
// -> "hallo" an den Client senden
Client[v[1]].SendRawData("hallo");
Client[v[1]].Close();

// Den Server wieder schließen
Server.Close();

Mögliche Fehler

DESTINYERROR_NOFREESOCKET, DESTINYERROR_SOCKETERROR, DESTINYERROR_SOCKETNOTOPEN, DESTINYERROR_VALUE

Siehe auch

Server, Server.Listen(), Server.Close(), Sockettyp, Client[], Client[].SendRawData(), Client[].Close(), Client.NextFree()
< Zurück
Objekt: Server
Weiter >
Methode: Server.Close()

Methode: Server.Accept()


Server.Close()

Methode: Server.Close()

Syntax

Server.Close()

Beschreibung

Mit der Close-Methode kann das Server-Objekt geschlossen werden. Wurde das Server-Objekt zuvor mittels Server.Listen() in den Zustand versetzt auf eingehende Verbindungen zu warten, so endet dieser Zustand mit dem Aufruf dieser Methode. Mittels Server.Accept() bereits angenommene Verbindungen bleiben bestehen und müssen ggf. separat via Client[].Close() oder Client.CloseAll() geschlossen werden. Wird ein bereits geschlossener Server geschlossen, so passiert nichts (es ist also nicht tragisch am Anfang eines Skriptes das Server-Objekt sicherheitshalber zu schließen).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$
// Eingehende Verbindungen auf dem Port 80 akzeptieren (Typ: RAW)
Server.Listen(80, SOCK_RAW);

// Auf eine eingehende Verbindung warten
do
  v[1] = Server.Accept(Client.NextFree());
loop until (v[1] != -1);

// Eine eingehende Verbindung wurde angenommen. Das zu verwendende Socket steht in v[1]
// -> "hallo" an den Client senden
Client[v[1]].SendRawData("hallo");
Client[v[1]].Close();

// Den Server wieder schließen
Server.Close();

Siehe auch

Server, Server.Listen(), Server.Accept(), Sockettyp, Client[], Client[].SendRawData(), Client[].Close(), Client.NextFree(), Client.CloseAll()
< Zurück
Methode: Server.Accept()
Weiter >
Methode: Server.Listen()

Methode: Server.Close()


Server.Listen()

Methode: Server.Listen()

Syntax

Server.Listen(Port, [Sockettyp])

Beschreibung

Mit der Listen-Methode kann das Server-Objekt dazu gebracht werden auf eingehende Verbindungen zu warten. Eingehende Verbindungen werden später über die Accept-Methode angenommen.
Information:
Bei eingehenden Verbindungen über das Internet kann es Probleme geben, wenn man eine Firewall oder einen Router benutzt.
Wie man seine Firewall/seinen Router so konfiguriert, dass diese(r) eingehende Verbindungen durchlässt, kann man über das Internet erfahren.

Liste der Parameter

Parameter: Port

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... 65535
Beschreibung: | Der Port auf dem auf eingehende Verbindungen gewartet werden soll. Hier sollten, bei frei gewählten Protokollen, Ports größer als 1000 gewählt werden.

Parameter: Sockettyp

Datentyp: dword
Optional: ja
Standardwert: 0
Wertebereich: 0 ... 1
Beschreibung: Der Sockettyp, den die Client-Sockets bei angenommenen Verbindungen haben werden. Hierzu werden die Sockettyp-Konstanten verwendet.
  • SOCK_DESTINY: Das Destiny-Protokoll wird verwendet (einfach zu bedienendes Protokoll, das speziell für den RPG-Maker entworfen wurde).
  • SOCK_RAW: Es wird kein spezielles Protokoll verwendet. Der Anwender kann Rohdaten (i. d. R. Strings - es gehen aber auch andere Datentypen) versenden und empfangen. Dies wird z. B. für Web-Anfragen verwendet.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$
// Eingehende Verbindungen auf dem Port 80 akzeptieren (Typ: RAW)
Server.Listen(80, SOCK_RAW);

// Auf eine eingehende Verbindung warten
do
  v[1] = Server.Accept(Client.NextFree());
loop until (v[1] != -1);

// Eine eingehende Verbindung wurde angenommen. Das zu verwendende Socket steht in v[1]
// -> "hallo" an den Client senden
Client[v[1]].SendRawData("hallo");
Client[v[1]].Close();

// Den Server wieder schließen
Server.Close();

Mögliche Fehler

DESTINYERROR_CANTCREATESOCKET, DESTINYERROR_SOCKETSTILLOPEN, DESTINYERROR_SOCKETSTARTUP, DESTINYERROR_VALUE

Siehe auch

Server, Server.Accept(), Server.Close(), Sockettyp, Client[], Client[].SendRawData(), Client[].Close(), Client.NextFree()
< Zurück
Methode: Server.Close()
Weiter >
Eigenschaft: Server.State

Methode: Server.Listen()


Server.State

Eigenschaft: Server.State

Syntax

Server.State

Beschreibung

Mit der State-Eigenschaft kann der aktuelle Verbindungsstatus des Servers ermittelt werden. Hierzu werden die Socketstatus-Konstanten verwendet.
  • STATE_ERROR: Es ist ein Fehler aufgetreten. In der Regel sollte man dann die Close-Methode aufrufen, da die Verbindung des Objektes nicht mehr genutzt werden kann.
  • STATE_CLOSED: Das Server-Objekt wartet derzeit nicht auf eingehende Verbindungen. Um es auf Verbindungen warten zu lassen, muss die Listen-Methode dieses Objekts aufgerufen werden.
  • STATE_LISTENING: Das Server-Objekt wartet derzeit auf eingehende Verbindungen.
    • Eingehende Verbindungen können über die Accept-Methode angenommen werden.
    • Damit das Objekt nicht mehr auf eingehende Verbindungen wartet, muss die Close-Methode aufgerufen werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | -1; 0; 2

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
$
// Eingehende Verbindungen auf dem Port 80 akzeptieren (Typ: RAW)
Server.Listen(80, SOCK_RAW);

// Auf eine eingehende Verbindung warten
do
  v[1] = Server.Accept(Client.NextFree());
loop until (v[1] != -1);

// Eine eingehende Verbindung wurde angenommen. Das zu verwendende Socket steht in v[1]
// -> "hallo" an den Client senden
Client[v[1]].SendRawData("hallo");
Client[v[1]].Close();

// Den Server wieder schließen
Server.Close();

Siehe auch

Server, Server.Listen(), Server.Accept(), Server.Close(), Server.Type, Client[], Client[].SendRawData(), Client[].Close(), Client.NextFree()
< Zurück
Methode: Server.Listen()
Weiter >
Eigenschaft: Server.Type

Eigenschaft: Server.State


Server.Type

Eigenschaft: Server.Type

Syntax

Server.Type

Beschreibung

Mit der Type-Eigenschaft kann der Sockettyp angenommener Verbindungen ermittelt werden. Hierzu werden die Sockettyp-Konstanten verwendet. Der Wert dieser Eigenschaft wird beim Aufruf der Listen-Methode dieses Objekts festgelegt.
  • SOCK_DESTINY: Das Destiny-Protokoll wird verwendet (einfach zu bedienendes Protokoll, das speziell für den RPG-Maker entworfen wurde).
  • SOCK_RAW: Es wird kein spezielles Protokoll verwendet. Der Anwender kann Rohdaten (i. d. R. Strings - es gehen aber auch andere Datentypen) versenden und empfangen. Dies wird z. B. gerne für Web-Anfragen verwendet.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Wertebereich: | 0 ... 1

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$
// Eingehende Verbindungen auf dem Port 80 akzeptieren (Typ: RAW)
Server.Listen(80, SOCK_RAW);

// Den Sockettyp abfragen
if(Server.Type == SOCK_RAW)
  // Bedingung ist stets erfüllt
  // ...
endif;

// Den Server wieder schließen
Server.Close();

Siehe auch

Server, Server.Listen(), Server.Accept(), Server.Close(), Server.State, Sockettyp, Client[]
< Zurück
Eigenschaft: Server.State
Weiter >
Objekt: Skill

Eigenschaft: Server.Type


Skill

Objekt: Skill

Syntax

Skill

Beschreibung

Das Skill-Objekt dient dazu alle Eigenschaften einer Technik zusammenzufassen. Allgemeine Eigenschaften sind dabei unter der Kategorie Allgemein zusammengefasst. Spezielle Eigenschaften (welche z. B. nur für Angriffstechniken gelten) sind in einem entsprechenden Unterobjekt zusammengefasst. Um zu entscheiden, um was für eine Sorte von Technik es sich handelt muss die Type-Eigenschaft verwendet werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Gibt die Anzahl der Techniken zurück
[] | Objekt | Eine bestimmte Technik
Allgemein | Kategorie | Fasst alle Eigenschaften einer Technik zusammen, die für jeden Techniktyp gelten
Description | Eigenschaft | Der Beschreibungstext einer Technik
FailureMessage | Eigenschaft | Die Fehlschlagsnachricht einer Technik
MpCost | Eigenschaft | Die benötigten Magiepunkte für eine Technik
Name | Eigenschaft | Der Name einer Technik
Sound | Eigenschaft | Der Soundeffekt beim Gebrauch einer Technik
Type | Eigenschaft | Der Typ einer Technik
UseMessage | Eigenschaft | Die Benutzen-Nachricht einer Technik
UseMessage2 | Eigenschaft | Die zweite Zeile der Benutzen-Nachricht einer Technik
Normal | Objekt | Beinhaltet alle Eigenschaften für gewöhnliche Techniken
Absorption | Eigenschaft | Gibt an ob bei Gebrauch der Technik vom Gegner Punkte adsorbiert werden
Agility | Eigenschaft | Beweglichkeitspunkte werden verändert
Attack | Eigenschaft | Angriffspunkte werden verändert
BaseEffect | Eigenschaft | Der Grundwert zur Berechnung der Schadenspunkte dieser Technik
BaseSuccessRate | Eigenschaft | Der Grundwert der Erfolgsquote dieser Technik
BattleAnimation | Eigenschaft | Die BattleAnimation-Id der Technik
ChangeAttributeEffect | Eigenschaft | Gibt an ob beim Gebrauch der Technik die Attributeffektstufe verändert wird
Defense | Eigenschaft | Verteidigungspunkte werden verändert
HasAttribute() | Methode | Überprüft ob die Technik ein bestimmtes Attribut hat
HasCondition() | Methode | Überprüft ob die Technik eine bestimmte Kondition hat
HitChance | Eigenschaft | Die Trefferquote dieser Technik
HP | Eigenschaft | Lebenspunkte werden verändert
IgnoreDefense | Eigenschaft | Gibt an ob bei Gebrauch der Technik die Verteidigungspunkte des Gegners ignoriert werden
Mind | Eigenschaft | Intelligenzpunkte werden verändert
MindChance | Eigenschaft | Trefferquote für magische Angriffe
MP | Eigenschaft | Magiepunkte werden verändert
Scope | Eigenschaft | Der Wirkungsbereich der Technik
Variance | Eigenschaft | Die Varianz bei der Berechnung der Schadenspunkte der Technik
Switch | Objekt | Beinhaltet alle schalterspezifischen Eigenschaften einer Technik
AvailableOnBattle | Eigenschaft | Die "im Kampf verfügbar"-Eigenschaft dieser Technik
AvailableOnField | Eigenschaft | Die "auf Karte verfügbar"-Eigenschaft dieser Technik
Switch | Eigenschaft | Die Switch-Id des Schalters dieser Technik
< Zurück
Eigenschaft: Server.Type
Weiter >
Eigenschaft: Skill.Count

Objekt: Skill


Skill.Count

Eigenschaft: Skill.Count

Syntax

Skill.Count

Beschreibung

Gibt die Anzahl der Techniken zurück.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Objekt: Skill
Weiter >
Objekt: Skill[]

Eigenschaft: Skill.Count


Skill[]

Objekt: Skill[]

Syntax

Skill[Skill-Id]

Beschreibung

Liste der Parameter

Parameter: Skill-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Skill.Count
Beschreibung: | Die Skill-Id der Technik. Diese muss im Bereich von 1 ... Skill.Count liegen.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Allgemein | Kategorie | Fasst alle Eigenschaften einer Technik zusammen, die für jeden Techniktyp gelten
Description | Eigenschaft | Der Beschreibungstext einer Technik
FailureMessage | Eigenschaft | Die Fehlschlagsnachricht einer Technik
MpCost | Eigenschaft | Die benötigten Magiepunkte für eine Technik
Name | Eigenschaft | Der Name einer Technik
Sound | Eigenschaft | Der Soundeffekt beim Gebrauch einer Technik
Type | Eigenschaft | Der Typ einer Technik
UseMessage | Eigenschaft | Die Benutzen-Nachricht einer Technik
UseMessage2 | Eigenschaft | Die zweite Zeile der Benutzen-Nachricht einer Technik
Normal | Objekt | Beinhaltet alle Eigenschaften für gewöhnliche Techniken
Absorption | Eigenschaft | Gibt an ob bei Gebrauch der Technik vom Gegner Punkte adsorbiert werden
Agility | Eigenschaft | Beweglichkeitspunkte werden verändert
Attack | Eigenschaft | Angriffspunkte werden verändert
BaseEffect | Eigenschaft | Der Grundwert zur Berechnung der Schadenspunkte dieser Technik
BaseSuccessRate | Eigenschaft | Der Grundwert der Erfolgsquote dieser Technik
BattleAnimation | Eigenschaft | Die BattleAnimation-Id der Technik
ChangeAttributeEffect | Eigenschaft | Gibt an ob beim Gebrauch der Technik die Attributeffektstufe verändert wird
Defense | Eigenschaft | Verteidigungspunkte werden verändert
HasAttribute() | Methode | Überprüft ob die Technik ein bestimmtes Attribut hat
HasCondition() | Methode | Überprüft ob die Technik eine bestimmte Kondition hat
HitChance | Eigenschaft | Die Trefferquote dieser Technik
HP | Eigenschaft | Lebenspunkte werden verändert
IgnoreDefense | Eigenschaft | Gibt an ob bei Gebrauch der Technik die Verteidigungspunkte des Gegners ignoriert werden
Mind | Eigenschaft | Intelligenzpunkte werden verändert
MindChance | Eigenschaft | Trefferquote für magische Angriffe
MP | Eigenschaft | Magiepunkte werden verändert
Scope | Eigenschaft | Der Wirkungsbereich der Technik
Variance | Eigenschaft | Die Varianz bei der Berechnung der Schadenspunkte der Technik
Switch | Objekt | Beinhaltet alle schalterspezifischen Eigenschaften einer Technik
AvailableOnBattle | Eigenschaft | Die "im Kampf verfügbar"-Eigenschaft dieser Technik
AvailableOnField | Eigenschaft | Die "auf Karte verfügbar"-Eigenschaft dieser Technik
Switch | Eigenschaft | Die Switch-Id des Schalters dieser Technik

Mögliche Fehler

DESTINYERROR_ARRAYBOUND
< Zurück
Eigenschaft: Skill.Count
Weiter >
Kategorie: Allgemein

Objekt: Skill[]


Skill[]--cat_Common

Kategorie: Allgemein

Beschreibung

Die Kategorie Allgemein fasst alle Eigenschaften einer Technik zusammen, die für jeden Techniktyp gelten.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Description | Eigenschaft | Der Beschreibungstext einer Technik
FailureMessage | Eigenschaft | Die Fehlschlagsnachricht einer Technik
MpCost | Eigenschaft | Die benötigten Magiepunkte für eine Technik
Name | Eigenschaft | Der Name einer Technik
Sound | Eigenschaft | Der Soundeffekt beim Gebrauch einer Technik
Type | Eigenschaft | Der Typ einer Technik
UseMessage | Eigenschaft | Die Benutzen-Nachricht einer Technik
UseMessage2 | Eigenschaft | Die zweite Zeile der Benutzen-Nachricht einer Technik
< Zurück
Objekt: Skill[]
Weiter >
Eigenschaft: Skill[].Description

Kategorie: Allgemein


Skill[].Description

Eigenschaft: Skill[].Description

Syntax

Skill[Skill-Id].Description

Beschreibung

Mit der Description-Eigenschaft kann der Beschreibungstext einer Technik ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Kategorie: Allgemein
Weiter >
Eigenschaft: Skill[].FailureMessage

Eigenschaft: Skill[].Description


Skill[].FailureMessage

Eigenschaft: Skill[].FailureMessage

Syntax

Skill[Skill-Id].FailureMessage

Beschreibung

Mit der FailureMessage-Eigenschaft kann die Fehlschlagsnachricht einer Technik ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Description
Weiter >
Eigenschaft: Skill[].MpCost

Eigenschaft: Skill[].FailureMessage


Skill[].MpCost

Eigenschaft: Skill[].MpCost

Syntax

Skill[Skill-Id].MpCost

Beschreibung

Mit der MpCost-Eigenschaft kann die Anzahl der benötigten Magiepunkte für eine Technik ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].FailureMessage
Weiter >
Eigenschaft: Skill[].Name

Eigenschaft: Skill[].MpCost


Skill[].Name

Eigenschaft: Skill[].Name

Syntax

Skill[Skill-Id].Name

Beschreibung

Mit der Name-Eigenschaft kann der Name einer Technik ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].MpCost
Weiter >
Eigenschaft: Skill[].Sound

Eigenschaft: Skill[].Name


Skill[].Sound

Eigenschaft: Skill[].Sound

Syntax

Skill[Skill-Id].Sound

Beschreibung

Mit der Sound-Eigenschaft kann der Soundeffekt ermittelt werden, der beim Gebrauch einer Technik abgespielt wird.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Name
Weiter >
Eigenschaft: Skill[].Type

Eigenschaft: Skill[].Sound


Skill[].Type

Eigenschaft: Skill[].Type

Syntax

Skill[Skill-Id].Type

Beschreibung

Mit der Type-Eigenschaft kann der Typ einer Technik ermittelt werden. Um diesen Wert zu Identifizieren können die SkillType-Konstanten verwendet werden:

Konstante | Beschreibung
SKILLTYPE_NORMAL | Die Technik ist eine normale Kampftechnik
SKILLTYPE_TELEPORT | Die Technik führt eine Teleportation aus
SKILLTYPE_ESCAPE | Die Technik führt eine Flucht im Kampf aus
SKILLTYPE_SWITCH | Die Technik aktiviert bei Benutzung einen Switch

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Sound
Weiter >
Eigenschaft: Skill[].UseMessage

Eigenschaft: Skill[].Type


Skill[].UseMessage

Eigenschaft: Skill[].UseMessage

Syntax

Skill[Skill-Id].UseMessage

Beschreibung

Mit der UseMessage-Eigenschaft kann die erste Zeile der Benutzen-Nachricht einer Technik ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Type
Weiter >
Eigenschaft: Skill[].UseMessage2

Eigenschaft: Skill[].UseMessage


Skill[].UseMessage2

Eigenschaft: Skill[].UseMessage2

Syntax

Skill[Skill-Id].UseMessage2

Beschreibung

Mit der UseMessage2-Eigenschaft kann die zweite Zeile der Benutzen-Nachricht einer Technik ermittelt werden.

Eigenschaften

Datentyp: | string
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].UseMessage
Weiter >
Objekt: Skill[].Normal

Eigenschaft: Skill[].UseMessage2


Skill[].Normal

Objekt: Skill[].Normal

Syntax

Skill[Skill-Id].Normal

Beschreibung

Das Normal-Objekt bündelt alle Eigenschaften des Skill-Objekts zusammen, die für gewöhnliche Techniken des Kampfssystems gelten. Die Werte dieses Objektes sind nur dann gültig, wenn die Technik auch eine gewöhnliche Kampfsystemtechnik ist.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Absorption | Eigenschaft | Gibt an ob bei Gebrauch der Technik vom Gegner Punkte adsorbiert werden
Agility | Eigenschaft | Beweglichkeitspunkte werden verändert
Attack | Eigenschaft | Angriffspunkte werden verändert
BaseEffect | Eigenschaft | Der Grundwert zur Berechnung der Schadenspunkte dieser Technik
BaseSuccessRate | Eigenschaft | Der Grundwert der Erfolgsquote dieser Technik
BattleAnimation | Eigenschaft | Die BattleAnimation-Id der Technik
ChangeAttributeEffect | Eigenschaft | Gibt an ob beim Gebrauch der Technik die Attributeffektstufe verändert wird
Defense | Eigenschaft | Verteidigungspunkte werden verändert
HasAttribute() | Methode | Überprüft ob die Technik ein bestimmtes Attribut hat
HasCondition() | Methode | Überprüft ob die Technik eine bestimmte Kondition hat
HitChance | Eigenschaft | Die Trefferquote dieser Technik
HP | Eigenschaft | Lebenspunkte werden verändert
IgnoreDefense | Eigenschaft | Gibt an ob bei Gebrauch der Technik die Verteidigungspunkte des Gegners ignoriert werden
Mind | Eigenschaft | Intelligenzpunkte werden verändert
MindChance | Eigenschaft | Trefferquote für magische Angriffe
MP | Eigenschaft | Magiepunkte werden verändert
Scope | Eigenschaft | Der Wirkungsbereich der Technik
Variance | Eigenschaft | Die Varianz bei der Berechnung der Schadenspunkte der Technik
< Zurück
Eigenschaft: Skill[].UseMessage2
Weiter >
Eigenschaft: Skill[].Normal.Absorption

Objekt: Skill[].Normal


Skill[].Normal.Absorption

Eigenschaft: Skill[].Normal.Absorption

Syntax

Skill[Skill-Id].Normal.Absorption

Beschreibung

Mit der Absorption-Eigenschaft kann ermittelt werden, ob beim Gebrauch dieses Skills die entsprechenden Eigenschaftspunkte des Gegners adsorbiert werden.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Objekt: Skill[].Normal
Weiter >
Eigenschaft: Skill[].Normal.Agility

Eigenschaft: Skill[].Normal.Absorption


Skill[].Normal.Agility

Eigenschaft: Skill[].Normal.Agility

Syntax

Skill[Skill-Id].Normal.Agility

Beschreibung

Mit der Agility-Eigenschaft kann die Anzahl der Beweglichkeitspunkte ermittelt werden, die der Skill je nach Typ wirken lässt.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.Absorption
Weiter >
Eigenschaft: Skill[].Normal.Attack

Eigenschaft: Skill[].Normal.Agility


Skill[].Normal.Attack

Eigenschaft: Skill[].Normal.Attack

Syntax

Skill[Skill-Id].Normal.Attack

Beschreibung

Mit der Attack-Eigenschaft kann die Anzahl der Angriffspunkte ermittelt werden, die der Skill je nach Typ wirken lässt.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.Agility
Weiter >
Eigenschaft: Skill[].Normal.BaseEffect

Eigenschaft: Skill[].Normal.Attack


Skill[].Normal.BaseEffect

Eigenschaft: Skill[].Normal.BaseEffect

Syntax

Skill[Skill-Id].Normal.BaseEffect

Beschreibung

Mit der BaseEffect-Eigenschaft kann der Grundwert zur Berechnung der Schadenspunkte der Technik ermittelt werden. Dieser Wert ist in Lebenspunkten angegeben.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.Attack
Weiter >
Eigenschaft: Skill[].Normal.BaseSuccessRate

Eigenschaft: Skill[].Normal.BaseEffect


Skill[].Normal.BaseSuccessRate

Eigenschaft: Skill[].Normal.BaseSuccessRate

Syntax

Skill[Skill-Id].Normal.BaseSuccessRate

Beschreibung

Mit der BaseSuccessRate-Eigenschaft kann der Grundwert zur Erfolgsbestimmung der Technik ermittelt werden. Dieser Wert ist in Prozent (0 ... 100%) angegeben und gibt im Grund an, wie hoch die Chance ist, dass die Technik gelingt.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.BaseEffect
Weiter >
Eigenschaft: Skill[].Normal.BattleAnimation

Eigenschaft: Skill[].Normal.BaseSuccessRate


Skill[].Normal.BattleAnimation

Eigenschaft: Skill[].Normal.BattleAnimation

Syntax

Skill[Skill-Id].Normal.BattleAnimation

Beschreibung

Mit der BattleAnimation-Eigenschaft kann die BattleAnimation-Id der Technik ermittelt werden.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.BaseSuccessRate
Weiter >
Eigenschaft: Skill[].Normal.ChangeAttributeEffect

Eigenschaft: Skill[].Normal.BattleAnimation


Skill[].Normal.ChangeAttributeEffect

Eigenschaft: Skill[].Normal.ChangeAttributeEffect

Syntax

Skill[Skill-Id].Normal.ChangeAttributeEffect

Beschreibung

Mit der ChangeAttributeEffect-Eigenschaft kann ermittelt werden, ob beim Gebrauch des Skills die Effektstufen der jeweiligen Attribute des Gegners/Helden verändert werden können.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.BattleAnimation
Weiter >
Eigenschaft: Skill[].Normal.Defense

Eigenschaft: Skill[].Normal.ChangeAttributeEffect


Skill[].Normal.Defense

Eigenschaft: Skill[].Normal.Defense

Syntax

Skill[Skill-Id].Normal.Defense

Beschreibung

Mit der Defense-Eigenschaft kann die Anzahl der Verteidigungspunkte ermittelt werden, die der Skill je nach Typ wirken lässt.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.ChangeAttributeEffect
Weiter >
Methode: Skill[].Normal.HasAttribute()

Eigenschaft: Skill[].Normal.Defense


Skill[].Normal.HasAttribute()

Methode: Skill[].Normal.HasAttribute()

Syntax

Skill[Skill-Id].Normal.HasAttribute(Attribute-Id)

Beschreibung

Mit der HasAttribute-Methode kann ermittelt werden, ob der Skill über ein bestimmtes Attribut verfügt.

Liste der Parameter

Parameter: Attribute-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Attribute.Count
Beschreibung: | Gibt die Id des Attributs an.

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt an, ob der Skill über das Attribut verfügt oder nicht.

Mögliche Fehler

DESTINYERROR_VALUE
< Zurück
Eigenschaft: Skill[].Normal.Defense
Weiter >
Methode: Skill[].Normal.HasCondition()

Methode: Skill[].Normal.HasAttribute()


Skill[].Normal.HasCondition()

Methode: Skill[].Normal.HasCondition()

Syntax

Skill[Skill-Id].Normal.HasCondition(Condition-Id)

Beschreibung

Mit der HasCondition-Methode kann ermittelt werden, ob der Skill eine bestimmte Kondition heilen oder verursachen kann.

Liste der Parameter

Parameter: Condition-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... Condition.Count
Beschreibung: | Gibt die Id der Kondition an.

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt an, ob der Skill über die Kondition verfügt oder nicht.

Mögliche Fehler

DESTINYERROR_VALUE
< Zurück
Methode: Skill[].Normal.HasAttribute()
Weiter >
Eigenschaft: Skill[].Normal.HitChance

Methode: Skill[].Normal.HasCondition()


Skill[].Normal.HitChance

Eigenschaft: Skill[].Normal.HitChance

Syntax

Skill[Skill-Id].Normal.HitChance

Beschreibung

Mit der HitChance-Eigenschaft kann die Trefferquote dieser Technik ermittelt werden. Dieser Wert gibt normalerweise an, wie sehr die Angriffspunkte des Helden in den Angriff mit einfließen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Methode: Skill[].Normal.HasCondition()
Weiter >
Eigenschaft: Skill[].Normal.HP

Eigenschaft: Skill[].Normal.HitChance


Skill[].Normal.HP

Eigenschaft: Skill[].Normal.HP

Syntax

Skill[Skill-Id].Normal.HP

Beschreibung

Mit der HP-Eigenschaft kann die Anzahl der Lebenspunkte ermittelt werden, die der Skill je nach Typ entweder heilt oder als Schaden abzieht.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.HitChance
Weiter >
Eigenschaft: Skill[].Normal.IgnoreDefense

Eigenschaft: Skill[].Normal.HP


Skill[].Normal.IgnoreDefense

Eigenschaft: Skill[].Normal.IgnoreDefense

Syntax

Skill[Skill-Id].Normal.IgnoreDefense

Beschreibung

Mit der IgnoreDefense-Eigenschaft kann ermittelt werden, ob beim Gebrauch dieses Skills die Verteidigungspunkte des Gegners ignoriert werden.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.HP
Weiter >
Eigenschaft: Skill[].Normal.Mind

Eigenschaft: Skill[].Normal.IgnoreDefense


Skill[].Normal.Mind

Eigenschaft: Skill[].Normal.Mind

Syntax

Skill[Skill-Id].Normal.Mind

Beschreibung

Mit der Mind-Eigenschaft kann die Anzahl der Intelligenzpunkte ermittelt werden, die der Skill je nach Typ wirken lässt.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.IgnoreDefense
Weiter >
Eigenschaft: Skill[].Normal.MindChance

Eigenschaft: Skill[].Normal.Mind


Skill[].Normal.MindChance

Eigenschaft: Skill[].Normal.MindChance

Syntax

Skill[Skill-Id].Normal.MindChance

Beschreibung

Mit der MindChance-Eigenschaft kann die Trefferquote für magische Angriffe ermittelt werden. Dieser Wert gibt normalerweise an, wie sehr die Intelligenzpunkte des Helden in den Angriff mit einfließen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.Mind
Weiter >
Eigenschaft: Skill[].Normal.MP

Eigenschaft: Skill[].Normal.MindChance


Skill[].Normal.MP

Eigenschaft: Skill[].Normal.MP

Syntax

Skill[Skill-Id].Normal.MP

Beschreibung

Mit der MP-Eigenschaft kann die Anzahl der Magiepunkte ermittelt werden, die der Skill je nach Typ entweder heilt oder als Schaden abzieht.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.MindChance
Weiter >
Eigenschaft: Skill[].Normal.Scope

Eigenschaft: Skill[].Normal.MP


Skill[].Normal.Scope

Eigenschaft: Skill[].Normal.Scope

Syntax

Skill[Skill-Id].Normal.Scope

Beschreibung

Mit der Scope-Eigenschaft kann der Wirkungsbereich der Technik ermittelt werden.

Konstante | Beschreibung
SKILLSCOPE_SINGLEENEMY | Das Ziel der Technik ist ein einzelner Gegner
SKILLSCOPE_ALLENEMIES | Das Ziel der Technik sind alle Gegner
SKILLSCOPE_SELF | Das Ziel der Technik ist der Held, der diese Technik ausführt
SKILLSCOPE_SINGLEALLY | Das Ziel der Technik ist ein einzelner Held
SKILLSCOPE_ALLALLIES | Das Ziel der Technik sind alle Helden

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.MP
Weiter >
Eigenschaft: Skill[].Normal.Variance

Eigenschaft: Skill[].Normal.Scope


Skill[].Normal.Variance

Eigenschaft: Skill[].Normal.Variance

Syntax

Skill[Skill-Id].Normal.Variance

Beschreibung

Mit der Variance-Eigenschaft kann die Varianz (der Spielraum) zur Berechnung der Schadenspunkte der Technik ermittelt werden.
  • Ein Wert von 0 bedeutet normalerweise, dass keine Varianz zur Verfügung steht
  • Ein Wert von 1 bedeutet normalerweise, dass ±5% Schaden zugefügt werden
  • Ein Wert von 2 bedeutet normalerweise, dass ±10% Schaden zugefügt werden

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Normal.Scope
Weiter >
Objekt: Skill[].Switch

Eigenschaft: Skill[].Normal.Variance


Skill[].Switch

Objekt: Skill[].Switch

Syntax

Skill[Skill-Id].Switch

Beschreibung

Das Switch-Objekt bündelt alle schalterspezifischen Eigenschaften des Skill-Objekts zusammen. Die Werte dieses Objekts sind nur dann gültig, wenn die Technik auch einen Schalter betätigt. (Skill[].Type muss SKILLTYPE_SWITCH sein).

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
AvailableOnBattle | Eigenschaft | Die "im Kampf verfügbar"-Eigenschaft dieser Technik
AvailableOnField | Eigenschaft | Die "auf Karte verfügbar"-Eigenschaft dieser Technik
Switch | Eigenschaft | Die Switch-Id des Schalters dieser Technik
< Zurück
Eigenschaft: Skill[].Normal.Variance
Weiter >
Eigenschaft: Skill[].Switch.AvailableOnBattle

Objekt: Skill[].Switch


Skill[].Switch.AvailableOnBattle

Eigenschaft: Skill[].Switch.AvailableOnBattle

Syntax

Skill[Skill-Id].Switch.AvailableOnBattle

Beschreibung

Mit der AvailableOnBattle-Eigenschaft kann ermittelt werden, ob diese Technik auch während des Kampfes gebraucht werden kann.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Objekt: Skill[].Switch
Weiter >
Eigenschaft: Skill[].Switch.AvailableOnField

Eigenschaft: Skill[].Switch.AvailableOnBattle


Skill[].Switch.AvailableOnField

Eigenschaft: Skill[].Switch.AvailableOnField

Syntax

Skill[Skill-Id].Switch.AvailableOnField

Beschreibung

Mit der AvailableOnField-Eigenschaft kann ermittelt werden, ob diese Technik auch auf der Karte gebraucht werden kann.

Eigenschaften

Datentyp: | bool
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Switch.AvailableOnBattle
Weiter >
Eigenschaft: Skill[].Switch.Switch

Eigenschaft: Skill[].Switch.AvailableOnField


Skill[].Switch.Switch

Eigenschaft: Skill[].Switch.Switch

Syntax

Skill[Skill-Id].Switch.Switch

Beschreibung

Mit der Switch-Eigenschaft kann die Switch-Id des Schalters ermittelt werden, der beim Gebrauch dieser Technik betätigt wird.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
< Zurück
Eigenschaft: Skill[].Switch.AvailableOnField
Weiter >
Objekt: String

Eigenschaft: Skill[].Switch.Switch


String

Objekt: String

Syntax

String

Beschreibung

Das String-Objekt dient dazu sämtliche Methoden zu bündeln, welche mit Strings zu tun haben.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Chr() | Methode | Erzeugt einen String aus einem ASCII-Code
Compare() | Methode | Vergleicht zwei Strings miteinander
CompareLex() | Methode | Vergleicht zwei Strings lexikografisch miteinander
Fill() | Methode | Wiederholt einen String mehrmals
Format() | Methode | Wandelt eine Zahl formatiert in einen String um
Length() | Methode | Ermittelt die Länge eines Strings
LTrim() | Methode | Entfernt Leerzeichen vom linken Rand eines Strings
MonthName() | Methode | Wandelt eine Zahl in einen Monatsnamen um
Ord() | Methode | Ermittelt den ASCII-Code eines Zeichens aus einem String
Pos() | Methode | Ermittelt die Position eines Teilstrings innerhalb eines Ausdrucks
Replace() | Methode | Ersetzt alle Vorkommen eines Teilstrings in einem Ausdruck durch einen anderen
Reverse() | Methode | Dreht den Inhalt eines Strings um
RTrim() | Methode | Entfernt Leerzeichen vom rechten Rand eines Strings
SubStr() | Methode | Gibt einen Teilstring eines Ausdrucks zurück
ToLower() | Methode | Wandelt alle Buchstaben eines Strings in Kleinbuchstaben um
ToUpper() | Methode | Wandelt alle Buchstaben eines Strings in Großbuchstaben um
Trim() | Methode | Entfernt Leerzeichen vom linken und rechten Rand eines Strings
WeekdayName() | Methode | Wandelt eine Zahl in einen Wochentagsnamen um
< Zurück
Eigenschaft: Skill[].Switch.Switch
Weiter >
Methode: String.Chr()

Objekt: String


String.Chr()

Methode: String.Chr()

Syntax

String.Chr(ASCII-Code, [Anzahl])

Beschreibung

Mit der Chr-Methode kann ein ASCII-Code in einen String umgewandelt werden. Wird der optionale Parameter "Anzahl" nicht angegeben, dann wird ein genau ein-Zeichen-langer String erzeugt.

Liste der Parameter

Parameter: ASCII-Code

Datentyp: | byte
Optional: | nein
Wertebereich: | 0 ... 255
Beschreibung: | Der ASCII-Code des Zeichens (0 ... 255)

Parameter: Anzahl

Datentyp: | dword
Optional: | ja
Standardwert: | 1
Wertebereich: | >= 0
Beschreibung: | Gibt an, wie oft das Zeichen wiederholt werden soll

Rückgabewert

Datentyp: | string
Beschreibung: | Der String mit dem gewünschten ASCII-Zeichen als String

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Einen String zusammensetzen a[1] = String.Chr(0x48) .. String.Chr(0x61) .. String.Chr(0x6C, 2) .. String.Chr(0x6F); // "Hallo"

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_VALUE

Siehe auch

String.Ord()
< Zurück
Objekt: String
Weiter >
Methode: String.Compare()

Methode: String.Chr()


String.Compare()

Methode: String.Compare()

Syntax

String.Compare(String1, String2, [Groß-/Kleinschreibung])

Beschreibung

Mit der Compare-Methode können zwei Strings miteinander verglichen werden.

Liste der Parameter

Parameter: String1

Datentyp: | string
Optional: | nein
Beschreibung: | Der erste zu vergleichende String

Parameter: String2

Datentyp: | string
Optional: | nein
Beschreibung: | Der zweite zu vergleichende String

Parameter: Groß-/Kleinschreibung

Datentyp: | bool
Optional: | ja
Standardwert: | True
Beschreibung: | Gibt an, ob die Groß-/Kleinschreibung unterschieden werden soll (True) oder nicht (False).

Rückgabewert

Datentyp: | bool
Beschreibung: | Gibt True zurück, wenn beide Strings gleich sind, andernfalls False

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Prüfen, ob "Katze" und "Katze" gleich sind und das Ergebnis in s[1] speichern
s[1] = String.Compare("Katze", "Katze");        // True
// Prüfen, ob "Hund" und "Katze" gleich sind und das Ergebnis in s[2] speichern
s[2] = String.Compare("Hund", "Katze");         // False
// Prüfen, ob "Hund" und "hund" gleich sind und das Ergebnis in s[3] speichern
s[3] = String.Compare("Hund", "hund");          // False (da der erste Buchstabe einmal groß und einmal klein ist)
// Prüfen, ob "Hund" und "hund" gleich sind (ohne die Groß-/Kleinschreibung zu beachten) und das Ergebnis in s[4] speichern
s[4] = String.Compare("Hund", "hund", False);   // True (da hier ignoriert wird, dass der erste Buchstabe mal groß und mal klein ist)

Sonstiges

Die Verwendung dieser Methode ist (wie bei allen Methoden, die Werte zurückliefern) auch in den Bedingungen von If-Verzweigungen möglich, doch empfiehlt sich generell bei Vergleichen mit Unterscheidung von Groß-/Kleinschreibung den Vergleichsoperator zu verwenden.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10
$
// Vergleich mit dieser Methode
if(String.Compare("Wort", "Zahl"))
  // ...
endif;

// Vollkommen identischer Vergleich mit dem Vergleichsoperator
if("Wort" == "Zahl")
  // ...
endif;

Siehe auch

String.CompareLex()
< Zurück
Methode: String.Chr()
Weiter >
Methode: String.CompareLex()

Methode: String.Compare()


String.CompareLex()

Methode: String.CompareLex()

Syntax

String.CompareLex(String1, String2, [Groß-/Kleinschreibung])

Beschreibung

Mit der CompareLex-Methode können zwei Strings lexikografisch miteinander verglichen werden.

Liste der Parameter

Parameter: String1

Datentyp: | string
Optional: | nein
Beschreibung: | Der erste zu vergleichende String

Parameter: String2

Datentyp: | string
Optional: | nein
Beschreibung: | Der zweite zu vergleichende String

Parameter: Groß-/Kleinschreibung

Datentyp: | bool
Optional: | ja
Standardwert: | True
Beschreibung: | Gibt an, ob die Groß-/Kleinschreibung unterschieden werden soll (True) oder nicht (False).

Rückgabewert

Datentyp: | dword
Beschreibung: | Gibt einen Wert < 0 zurück, wenn der erste String lexikografisch kleiner ist als der zweite String. Gibt einen Wert = 0 zurück, wenn beide Strings lexikografisch gleich sind. Gibt einen Wert > 0 zurück, wenn der erste String lexikografisch größer ist als der zweite String.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Prüfen, ob "abc" und "abc" lexikografisch gleich sind und das Ergebnis in v[1] speichern
v[1] = String.CompareLex("abc", "abc");         // = 0 (beide Strings sind lexikografisch gleich)
// Prüfen, ob "abc" und "def" lexikografisch gleich sind und das Ergebnis in v[2] speichern
v[2] = String.CompareLex("abc", "def");         // < 0 (der erste String ist lexikografisch kleiner)
// Prüfen, ob "abc" und "123" lexikografisch gleich sind und das Ergebnis in v[3] speichern
v[3] = String.CompareLex("abc", "123");         // > 0 (der erste String ist lexikografisch größer)
// Prüfen, ob "abc" und "ABC" lexikografisch gleich sind und das Ergebnis in v[4] speichern
v[4] = String.CompareLex("abc", "ABC");         // > 0 (der erste String ist lexikografisch größer)
// Prüfen, ob "abc" und "ABC" lexikografisch gleich sind (ohne die Groß-/Kleinschreibung zu beachten) und das Ergebnis in v[5] speichern
v[5] = String.CompareLex("abc", "ABC", False);  // = 0 (beide Strings sind lexikografisch gleich)

Sonstiges

Die Verwendung dieser Methode ist (wie bei allen Methoden, die Werte zurückliefern) auch in den Bedingungen von If-Verzweigungen möglich, doch empfiehlt sich generell bei lexikografischen Vergleichen mit Unterscheidung von Groß-/Kleinschreibung die Vergleichsoperatoren zu verwenden.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
$
// Vergleich mit dieser Methode
if(String.CompareLex("Wort", "Zahl") == 0)
  // ...
elseif(String.CompareLex("Wort", "Zahl") < 0)
  // ...
elseif(String.CompareLex("Wort", "Zahl") > 0)
  // ...
endif;

// Vollkommen identische Vergleiche mit den Vergleichsoperatoren
if("Wort" == "Zahl")
  // ...
elseif("Wort" < "Zahl")
  // ...
elseif("Wort" > "Zahl")
  // ...
endif;

Siehe auch

String.Compare()
< Zurück
Methode: String.Compare()
Weiter >
Methode: String.Fill()

Methode: String.CompareLex()


String.Fill()

Methode: String.Fill()

Syntax

String.Fill(Ausdruck, Anzahl, [Zwischenwert])

Beschreibung

Mit der Fill-Methode kann ein String wiederholt aneinandergekettet werden.

Liste der Parameter

Parameter: Ausdruck

Datentyp: | string
Optional: | nein
Beschreibung: | Der Ausdruck, der wiederholt werden soll

Parameter: Anzahl

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 0
Beschreibung: | Die Anzahl, wie oft der String wiederholt werden soll

Parameter: Zwischenwert

Datentyp: | string
Optional: | ja
Standardwert: | Leerstring
Beschreibung: | Gibt einen Wert an, der jeweils zwischen zwei Werte kopiert werden soll

Rückgabewert

Datentyp: | string
Beschreibung: | Der aneinandergekettete, wiederholte Ausdruck

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Den String "Wiederholung" drei mal wiederholen und in a[1] speichern
a[1] = String.Fill("Wiederholung", 3);       // "WiederholungWiederholungWiederholung"
// Den String "Wiederholung" drei mal mit Leerzeichen zwischen den Wörtern wiederholen und in a[2] speichern
a[2] = String.Fill("Wiederholung", 3, " ");  // "Wiederholung Wiederholung Wiederholung"

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_VALUE
< Zurück
Methode: String.CompareLex()
Weiter >
Methode: String.Format()

Methode: String.Fill()


String.Format()

Methode: String.Format()

Syntax

String.Format(Formatierungsstring, Zahl, [Dezimal-Komma])

Beschreibung

Mit der Format-Methode kann eine Zahl über einen String formatiert werden. Die Format-Angabe ähnelt hierbei dem MessageLink.

Eigenschaften

Sprachabhängig: ja

Liste der Parameter

Parameter: Formatierungsstring

Datentyp: | string
Optional: | nein
Beschreibung: | Gibt das Format für die Konvertierung an. Um eine Ganzzahl zu konvertieren wird im Formatierungsstring "D" (für Dword) als erstes Zeichen verwendet. Hinter diesem Zeichen wird die Mindestanzahl an Ziffern angegeben. Hingegen wird bei Gleitkommazahlen ein "F" (für Float) als erstes Zeichen verwendet. Danach kann ebenfalls die Mindestanzahl an Ziffern für den Vorkommateil folgen. Zusätzlich kann hinter dieser Angabe ein Punkt mit der genauen Anzahl an Ziffern im Nachkommateil angegeben werden.

Parameter: Zahl

Datentyp: | dword-float
Optional: | nein
Beschreibung: | Gibt die Zahl an, die formatiert werden soll.

Parameter: Dezimal-Komma

Datentyp: | bool
Optional: | ja
Standardwert: | Convert.DecimalComma
Beschreibung: | Gibt an, ob das Komma als Dezimaltrennzeichen verwendet wird (True) oder der Punkt (False). Wenn dieser Wert gesetzt ist, dann wird der Standardwert aus Convert.DecimalComma ignoriert, wodurch diese Methode nicht mehr sprachabhängig arbeitet.

Rückgabewert

Datentyp: | string
Beschreibung: | Die Zahl als formatierter String

Beispiel

Im folgenden Beispiel wird davon ausgegangen, dass die aktuelle Spracheinstellung auf Deutsch gesetzt ist.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
$
// Die Zahl 1 als Ganzzahl formatieren und das Ergebnis in a[1] speichern
a[1] = String.Format("D", 1);              // "1"
// Die Zahl 5 mit mindestens 4 Stellen als Ganzzahl formatieren und das Ergebnis in a[2] speichern
a[2] = String.Format("D4", 5);             // "0005"
// Die Zahl -11 mit mindestens 0 Stellen als Ganzzahl formatieren und das Ergebnis in a[3] speichern
a[3] = String.Format("D0", -11);           // "-11"
// Die Zahl 7 als Gleitkommazahl formatieren und das Ergebnis in a[4] speichern
a[4] = String.Format("F", 7);              // "7,0"
// Die Zahl 9 als Gleitkommazahl mit mindestens 3 Vorkommastellen formatieren und das Ergebnis in a[5] speichern
a[5] = String.Format("F3", 9);             // "009,0"
// Die Zahl 10 als Gleitkommazahl mit mindestens 1 Vorkommastelle und genau 2 Nachkommastellen formatieren und das Ergebnis in a[6] speichern
a[6] = String.Format("F1.2", 10);          // "10,00"
// Die Zahl Pi als Gleitkommazahl mit mindestens 0 Vorkommastellen und genau 3 Nachkommastellen formatieren und das Ergebnis in a[7] speichern
a[7] = String.Format("F0.3", Math.Pi);     // "3,141"
// Die Zahl 1,25 explizit im englischsprachigen Format (Dezimaltrennzeichen ist der Punkt) formatieren und das Ergebnis in a[8] speichern
a[8] = String.Format("F", 1.25, False);    // "1.25"
// Die Zahl 1,25 explizit im deutschsprachigen Format (Dezimaltrennzeichen ist das Komma) formatieren und das Ergebnis in a[9] speichern
a[9] = String.Format("F", 1.25, True);     // "1,25"

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_VALUE

Siehe auch

Convert.DecimalComma, Math.Pi
< Zurück
Methode: String.Fill()
Weiter >
Methode: String.Length()

Methode: String.Format()


String.Length()

Methode: String.Length()

Syntax

String.Length(Text)

Beschreibung

Mit der Length-Methode kann die Länge eines Strings ermittelt werden.

Liste der Parameter

Parameter: Text

Datentyp: | string
Optional: | nein
Beschreibung: | Der Text dessen Länge ermittelt werden soll.

Rückgabewert

Datentyp: | dword
Beschreibung: | Die Länge des Strings

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6
$
// Die Länge eines festen Strings v[1] zuweisen
v[1] = String.Length("12345");        // 5
// Die Länge eines gespeicherten Strings v[2] zuweisen
a[1] = "Dies ist'n langer Text!";
v[2] = String.Length(a[1]);           // 23

Siehe auch

String.Pos(), String.SubStr()
< Zurück
Methode: String.Format()
Weiter >
Methode: String.LTrim()

Methode: String.Length()


String.LTrim()

Methode: String.LTrim()

Syntax

String.LTrim(Text, [Zeichen])

Beschreibung

Mit der LTrim-Methode können Leerzeichen vom linken Rand eines Strings entfernt werden. Wird der optionale Parameter Zeichen angegeben, dann ist es auch möglich mehrere unterschiedliche Zeichen vom linken Rand entfernen zu lassen.

Liste der Parameter

Parameter: Text

Datentyp: | string
Optional: | nein
Beschreibung: | Der Text dessen führende Leerzeichen entfernt werden sollen

Parameter: Zeichen

Datentyp: | string
Optional: | ja
Standardwert: | Leerzeichen
Beschreibung: | Gibt die Zeichen an, welche vom linken Rand des Strings entfernt werden sollen

Rückgabewert

Datentyp: | string
Beschreibung: | Der gekürzte Text

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Leerzeichen vom linken Rand eines Textes abschneiden
a[1] = String.LTrim("   Text   ");                // "Text   "
// Satzzeichen vom linken Rand eines Textes entfernen
a[2] = String.LTrim("!.Satzzeichen;?", ".?!;");   // "Satzzeichen;?"

Mögliche Fehler

DESTINYERROR_MEMORY

Siehe auch

String.RTrim(), String.Trim()
< Zurück
Methode: String.Length()
Weiter >
Methode: String.MonthName()

Methode: String.LTrim()


String.MonthName()

Methode: String.MonthName()

Syntax

String.MonthName(Monat, Kurzform, [Sprache])

Beschreibung

Mit der MonthName-Methode kann eine Zahl in den Namen eines Monats umgewandelt werden. Die Ausgabe kann dabei entweder lang (z. B. "Februar") oder kurz (z. B. "Feb") erfolgen.

Eigenschaften

Sprachabhängig: ja

Liste der Parameter

Parameter: Monat

Datentyp: | dword
Optional: | nein
Wertebereich: | 1 ... 12
Beschreibung: | Die Nummer des Monats (1 = Januar, 2 = Februar, 3 = März, 4 = April, 5 = Mai, 6 = Juni, 7 = Juli, 8 = August, 9 = September, 10 = Oktober, 11 = November, 12 = Dezember). Hierfür können die Monatskonstanten verwendet werden

Parameter: Kurzform

Datentyp: | bool
Optional: | nein
Beschreibung: | Gibt an, ob die Ausgabe in Kurzform erfolgen soll (True) oder nicht (False).

Parameter: Sprache

Datentyp: | dword
Optional: | ja
Standardwert: | Destiny.Language
Wertebereich: | 0 ... 1
Beschreibung: | Gibt den Index der Sprache an. Hierfür können die Sprachkonstanten verwendet werden.

Rückgabewert

Datentyp: | string
Beschreibung: | Der Name des Monats gemäß der angegebenen Formatierung

Beispiel

Im folgenden Beispiel wird davon ausgegangen, dass die aktuelle Spracheinstellung auf Deutsch gesetzt ist.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Den Monatsnamen für März ermitteln und das Ergebnis in a[1] speichern
a[1] = String.MonthName(MONTH_MARCH);                           // "März"
// Den Monatsnamen für März in Kurzform ermitteln und das Ergebnis in a[2] speichern
a[2] = String.MonthName(MONTH_MARCH, True);                     // "Mrz"
// Den Monatsnamen für März auf Englisch ermitteln und das Ergebnis in a[3] speichern
a[3] = String.MonthName(MONTH_MARCH, False, LANGUAGE_ENGLISH);  // "March"
// Den Monatsnamen für März in Kurzform auf Englisch ermitteln und das Ergebnis in a[4] speichern
a[4] = String.MonthName(MONTH_MARCH, True, LANGUAGE_ENGLISH);   // "Mar"
// Den Monatsnamen des aktuellen Datums ermitteln und das Ergebnis in a[5] speichern
a[5] = String.MonthName(Time.Month);                            // ??? (Hängt davon ab, wann das Skript ausgeführt wird)

Sonstiges

Die englischen Kurz- und Langformen der Monatsnamen, die diese Funktion zurückliefert, sind kompatibel mit HTTP-Anfragen (RFC-2616).

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Time.Month, String.WeekdayName(), Monatskonstanten, Sprachkonstanten
< Zurück
Methode: String.LTrim()
Weiter >
Methode: String.Ord()

Methode: String.MonthName()


String.Ord()

Methode: String.Ord()

Syntax

String.Ord(Text, [Position])

Beschreibung

Mit der Ord-Methode kann der ASCII-Code eines Zeichens aus einem String ermittelt werden. Wird der optionale Parameter "Position" nicht angegeben, so wird immer der ASCII-Code des ersten Zeichens ermittelt.

Liste der Parameter

Parameter: Text

Datentyp: | string
Optional: | nein
Beschreibung: | Der String, der das Zeichen enthält

Parameter: Position

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Wertebereich: | 0 ... (String-Länge - 1)
Beschreibung: | Die Position innerhalb des Strings

Rückgabewert

Datentyp: | byte
Beschreibung: | Der ASCII-Code des Zeichens

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Den ASCII-Code des ersten Zeichens in v[1] speichern
v[1] = String.Ord("test");  // 0x74 = 116 (entspricht "t")
// Den ASCII-Code des dritten Zeichens in v[2] speichern
v[2] = String.Ord("test");  // 0x73 = 115 (entspricht "s")

Mögliche Fehler

DESTINYERROR_STRINGRANGE

Siehe auch

String.Chr()
< Zurück
Methode: String.MonthName()
Weiter >
Methode: String.Pos()

Methode: String.Ord()


String.Pos()

Methode: String.Pos()

Syntax

String.Pos(Ausdruck, Suchwert, [Startposition, [Groß-/Kleinbuchstaben, [Rückwärts]]])

Beschreibung

Mit der Pos-Methode kann die Position eines Teilstrings innerhalb eines anderen Strings ermittelt werden. Die Suche beginnt hierbei bei der angegebenen Startposition. Wird die optionale Startposition nicht angegeben, so beginnt die Suche beim Anfang des zu durchsuchenden Strings.

Liste der Parameter

Parameter: Ausdruck

Datentyp: | string
Optional: | nein
Beschreibung: | Der zu durchsuchende Ausdruck

Parameter: Suchwert

Datentyp: | string
Optional: | nein
Beschreibung: | Der gesuchte Wert innerhalb des Ausdrucks

Parameter: Startposition

Datentyp: | dword
Optional: | ja
Standardwert: | 0
Wertebereich: | -(String-Länge) ... 0 ... (String-Länge - 1)
Beschreibung: | Die Startposition innerhalb des Ausdrucks, an der die Suche begonnen wird. Wird hier ein negativer Wert angegeben, dann bezieht sich dies auf das Ende des Strings.

Parameter: Groß-/Kleinbuchstaben

Datentyp: | bool
Optional: | ja
Standardwert: | True
Beschreibung: | Gibt an, ob bei der Suche die Groß-/Kleinschreibung beachtet werden soll (True) oder nicht (False).

Parameter: Rückwärts

Datentyp: | bool
Optional: | ja
Standardwert: | False
Beschreibung: | Gibt an, ob die Suche rückwärts erfolgt (True) oder vorwärts (False).

Rückgabewert

Datentyp: | dword
Beschreibung: | Die gefundene Position innerhalb des Ausdruck-Strings oder -1, falls der gesuchte Wert nicht gefunden wurde

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$
// Die Position des Wortes "Banane" innerhalb des Strings ermitteln
v[1] = String.Pos("Apfel Banane Orange", "Banane")            // 6  -> vorher kommen 6 Zeichen vor
// Die Position des Wortes "Erdbeere" innerhalb des Strings ermitteln
v[2] = String.Pos("Apfel Banane Orange", "Erdbeere")          // -1 -> der Text kommt nicht vor
// Die Position der Zeichen "an" innerhalb des Strings ermitteln
v[3] = String.Pos("Apfel Banane Orange", "an")                // 7  -> erstes "an" von Banane
// Die Position der Zeichen "an" innerhalb des Strings (ab dem 9 Zeichen) ermitteln
v[4] = String.Pos("Apfel Banane Orange", "an", 8)             // 9  -> zweites "an" von Banane
// Die Position des Zeichens "a" innerhalb des Strings ermitteln
v[5] = String.Pos("Apfel Banane Orange", "a")                 // 7  -> erstes "a" von Banane
// Die Position des Zeichens "a" (ohne Groß-/Kleinschreibung) innerhalb des Strings ermitteln
v[6] = String.Pos("Apfel Banane Orange", "a", 0, False)       // 0  -> "A" von Apfel
// Die Position des Zeichens "e" innerhalb des Strings ermitteln
v[7] = String.Pos("Apfel Banane Orange", "e")                 // 3  -> "e" von Apfel
// Die Position des Zeichens "e" innerhalb des Strings über Rückwärtssuche ermitteln
v[8] = String.Pos("Apfel Banane Orange", "e", 0, True, True)  // 18 -> "e" von Orange

Mögliche Fehler

DESTINYERROR_STRINGRANGE

Siehe auch

String.SubStr(), String.Replace()
< Zurück
Methode: String.Ord()
Weiter >
Methode: String.Replace()

Methode: String.Pos()


String.Replace()

Methode: String.Replace()

Syntax

String.Replace(Ausdruck, Suchwert, Ersetzungswert, [Groß-/Kleinschreibung])

Beschreibung

Mit der Replace-Methode können alle Vorkommen eines Teilstrings innerhalb eines Ausdrucks durch einen anderen Teilstring ersetzt werden.

Liste der Parameter

Parameter: Ausdruck

Datentyp: | string
Optional: | nein
Beschreibung: | Der Ausdruck mit dem zu suchenden Teilstring

Parameter: Suchwert

Datentyp: | string
Optional: | nein
Beschreibung: | Der zu suchende Teilstring

Parameter: Ersetzungswert

Datentyp: | string
Optional: | nein
Beschreibung: | Der Wert, durch den die gefundenen Treffer ersetzt werden sollen

Parameter: Groß-/Kleinschreibung

Datentyp: | bool
Optional: | ja
Standardwert: | True
Beschreibung: | Gibt an, ob die Groß-/Kleinschreibung bei der Suche unterschieden werden soll (True) oder nicht (False).

Rückgabewert

Datentyp: | string
Beschreibung: | Der Ausdruck, bei dem alle Vorkommen von Suchwert durch Ersetzungwert ersetzt wurden

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// In einem Text das Wort "Orange" durch "Banane" ersetzen und das Ergebnis in a[1] speichern
a[1] = String.Replace("Orangensaft presst man am besten aus orangefarbenen Orangen.", "Orange", "Banane");         // "Bananensaft presst man am besten aus orangefarbenen Bananen."
// In einem Text das Wort "Orange" durch "Banane" ersetzen (ohne Groß-/Kleinschreibung zu beachten) und das Ergebnis in a[2] speichern
a[2] = String.Replace("Orangensaft presst man am besten aus orangefarbenen Orangen.", "Orange", "Banane", False);  // "Bananensaft presst man am besten aus Bananefarbenen Bananen."

Mögliche Fehler

DESTINYERROR_MEMORY

Siehe auch

String.SubStr(), String.Pos()
< Zurück
Methode: String.Pos()
Weiter >
Methode: String.Reverse()

Methode: String.Replace()


String.Reverse()

Methode: String.Reverse()

Syntax

String.Reverse(Ausdruck)

Beschreibung

Mit der Reverse-Methode kann der Inhalt eines Strings umgedreht werden.

Liste der Parameter

Parameter: Ausdruck

Datentyp: | string
Optional: | nein
Beschreibung: | Der Ausdruck, dessen Inhalt umgedreht werden soll

Rückgabewert

Datentyp: | string
Beschreibung: | Der Ausdruck mit umgedrehtem Inhalt

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Text "sträwkcüR" umdrehen und in a[1] speichern a[1] = String.Reverse("strawkcüR"); // "Rückwärts"

Mögliche Fehler

DESTINYERROR_MEMORY
< Zurück
Methode: String.Replace()
Weiter >
Methode: String.RTrim()

Methode: String.Reverse()


String.RTrim()

Methode: String.RTrim()

Syntax

String.RTrim(Text, [Zeichen])

Beschreibung

Mit der RTrim-Methode können Leerzeichen vom rechten Rand eines Strings entfernt werden. Wird der optionale Parameter Zeichen angegeben, dann ist es auch möglich mehrere unterschiedliche Zeichen vom rechten Rand entfernen zu lassen.

Liste der Parameter

Parameter: Text

Datentyp: | string
Optional: | nein
Beschreibung: | Der Text dessen folgende Leerzeichen entfernt werden sollen

Parameter: Zeichen

Datentyp: | string
Optional: | ja
Standardwert: | Leerzeichen
Beschreibung: | Gibt die Zeichen an, welche vom rechten Rand des Strings entfernt werden sollen

Rückgabewert

Datentyp: | string
Beschreibung: | Der gekürzte Text

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Leerzeichen vom rechten Rand eines Textes abschneiden
a[1] = String.RTrim("   Text   ");                // "   Text"
// Satzzeichen vom rechten Rand eines Textes entfernen
a[2] = String.RTrim("!.Satzzeichen;?", ".?!;");   // "!.Satzzeichen"

Mögliche Fehler

DESTINYERROR_MEMORY

Siehe auch

String.LTrim(), String.Trim()
< Zurück
Methode: String.Reverse()
Weiter >
Methode: String.SubStr()

Methode: String.RTrim()


String.SubStr()

Methode: String.SubStr()

Syntax

String.SubStr(Ausdruck, Startposition, [Länge])

Beschreibung

Mit der SubStr-Methode kann ein Teilstring eines Strings zurückgegeben werden. Der Teilstring beginnt hierbei bei der angegebenen Startposition und hat die angegebene Länge. Wird keine Länge oder ein negativer Wert als Länge angegeben, so wird der gesamte Rest des Strings ab der angegebenen Position zurückgegeben. Wird eine Länge angegeben, die länger als der Rest des Strings ist, so wird der gesamte Rest des Strings zurückgegeben. Ist die Startposition ein negativer Wert, dann wird die Länge des Strings hinzuaddiert, wodurch sich in diesem Fall die Startposition auf den rechten Rand des Strings bezieht.

Liste der Parameter

Parameter: Ausdruck

Datentyp: | string
Optional: | nein
Beschreibung: | Der Ausdruck mit dem Teilstring

Parameter: Startposition

Datentyp: | dword
Optional: | nein
Wertebereich: | -(String-Länge) ... 0 ... (String-Länge - 1)
Beschreibung: | Die Startposition innerhalb des Ausdrucks. Wird hier ein negativer Wert angegeben, dann wird dieser von der String-Länge abgezogen.

Parameter: Länge

Datentyp: | dword
Optional: | ja
Standardwert: | -1
Beschreibung: | Die Länge der zu kopierenden Zeichen (-1 für Rest des Strings)

Rückgabewert

Datentyp: | string
Beschreibung: | Der entsprechende Teilstring

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den ersten 3 Zeichen (hier der linke Teil) des Strings in a[1] speichern
a[1] = String.SubStr("0123456789", 0, 3);   // "012"
// Die letzten 3 Zeichen (hier der rechte Teil) des Strings in a[2] speichern
a[2] = String.SubStr("0123456789", -3);     // "789"
// Die 4 Zeichen ab dem vierten Zeichen (hier der mittlere Teil) des Strings in a[3] speichern
a[3] = String.SubStr("0123456789", 3, 4);   // "3456"

Mögliche Fehler

DESTINYERROR_MEMORY, DESTINYERROR_STRINGRANGE

Siehe auch

String.Length(), String.Pos(), String.Replace()
< Zurück
Methode: String.RTrim()
Weiter >
Methode: String.ToLower()

Methode: String.SubStr()


String.ToLower()

Methode: String.ToLower()

Syntax

String.ToLower(Ausdruck, [Sonderzeichen])

Beschreibung

Mit der ToLower-Methode können alle Buchstaben (A - Z) eines Strings in Kleinbuchstaben umgewandelt werden. Ist der optionale Parameter für Sonderzeichen auf True gesetzt, dann werden auch die Sonderzeichen der erweiterten ASCII-Tabelle (iso-8859-1) in Kleinbuchstaben umgewandelt.

Liste der Parameter

Parameter: Ausdruck

Datentyp: | string
Optional: | nein
Beschreibung: | Der Ausdruck, dessen Buchstaben in Kleinbuchstaben umgewandelt werden sollen

Parameter: Sonderzeichen

Datentyp: | bool
Optional: | ja
Standardwert: | false
Beschreibung: | Gibt an, ob auch Sonderzeichen wie Ä, Ö, Ü, Ç, ... in Kleinbuchstaben umgewandelt werden sollen

Rückgabewert

Datentyp: | string
Beschreibung: | Der Ausdruck, bei dem alle Buchstaben in Kleinbuchstaben umgewandelt wurden

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Buchstaben in Kleinbuchstaben umwandeln und das Ergebnis in a[1] speichern
a[1] = String.ToLower("HINWEIS: SÄFTE UND BRÖTCHEN MUSS MAN NICHT KÜHL LAGERN.");        // "hinweis: sÄfte und brÖtchen muss man nicht kÜhl lagern."
// Alle Buchstaben und Sonderzeichen in Kleinbuchstaben umwandeln und das Ergebnis in a[2] speichern
a[2] = String.ToLower("HINWEIS: SÄFTE UND BRÖTCHEN MUSS MAN NICHT KÜHL LAGERN.", True);  // "hinweis: säfte und brötchen muss man nicht kühl lagern."

Mögliche Fehler

DESTINYERROR_MEMORY

Siehe auch

String.ToUpper()
< Zurück
Methode: String.SubStr()
Weiter >
Methode: String.ToUpper()

Methode: String.ToLower()


String.ToUpper()

Methode: String.ToUpper()

Syntax

String.ToUpper(Ausdruck, [Sonderzeichen])

Beschreibung

Mit der ToUpper-Methode können alle Buchstaben (a - z) eines Strings in Großbuchstaben umgewandelt werden. Ist der optionale Parameter für Sonderzeichen auf True gesetzt, dann werden auch die Sonderzeichen der erweiterten ASCII-Tabelle (iso-8859-1) in Großbuchstaben umgewandelt.

Liste der Parameter

Parameter: Ausdruck

Datentyp: | string
Optional: | nein
Beschreibung: | Der Ausdruck, dessen Buchstaben in Großbuchstaben umgewandelt werden sollen

Parameter: Sonderzeichen

Datentyp: | bool
Optional: | ja
Standardwert: | false
Beschreibung: | Gibt an, ob auch Sonderzeichen wie ä, ö, ü, ç, ... in Großbuchstaben umgewandelt werden sollen

Rückgabewert

Datentyp: | string
Beschreibung: | Der Ausdruck, bei dem alle Buchstaben in Großbuchstaben umgewandelt wurden

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Alle Buchstaben in Großbuchstaben umwandeln und das Ergebnis in a[1] speichern
a[1] = String.ToUpper("Amperé ist die Einheit der Messgröße für die Stromstärke.");        // "AMPERé IST DIE EINHEIT DER MESSGRößE FüR DIE STROMSTäRKE."
// Alle Buchstaben und Sonderzeichen in Großbuchstaben umwandeln und das Ergebnis in a[2] speichern
a[2] = String.ToUpper("Amperé ist die Einheit der Messgröße für die Stromstärke.", True);  // "AMPERÉ IST DIE EINHEIT DER MESSGRÖßE FÜR DIE STROMSTÄRKE."
// Extrawurst für Deutschland*: Den Text korrekt in Großbuchstaben (inkl. Sonderzeichen) umwandeln und in a[3] speichern
a[3] = String.Replace(String.ToUpper("Amperé ist die Einheit der Messgröße für die Stromstärke.", True), "ß", "SS");  // "AMPERÉ IST DIE EINHEIT DER MESSGRÖSSE FÜR DIE STROMSTÄRKE."
(* Damit die Schweizer/Österreicher das Wortspiel auch verstehen: Das Wort "Extrawurst" bezeichnet innerhalb von Deutschland eine Metapher für "aus der Reihe tanzen und etwas komplett eigenes haben wollen".)

Mögliche Fehler

DESTINYERROR_MEMORY

Siehe auch

String.ToLower(), String.Replace()
< Zurück
Methode: String.ToLower()
Weiter >
Methode: String.Trim()

Methode: String.ToUpper()


String.Trim()

Methode: String.Trim()

Syntax

String.Trim(Text, [Zeichen])

Beschreibung

Mit der Trim-Methode können Leerzeichen vom linken und rechten Rand eines Strings entfernt werden. Wird der optionale Parameter Zeichen angegeben, dann ist es auch möglich mehrere unterschiedliche Zeichen vom linken und rechten Rand entfernen zu lassen.

Liste der Parameter

Parameter: Text

Datentyp: | string
Optional: | nein
Beschreibung: | Der Text dessen führende und folgende Leerzeichen entfernt werden sollen

Parameter: Zeichen

Datentyp: | string
Optional: | ja
Standardwert: | Leerzeichen
Beschreibung: | Gibt die Zeichen an, welche vom linken und rechten Rand des Strings entfernt werden sollen

Rückgabewert

Datentyp: | string
Beschreibung: | Der gekürzte Text

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die Leerzeichen vom linken und rechten Rand eines Textes abschneiden
a[1] = String.Trim("   Text   ");                 // "Text"
// Satzzeichen vom linken und rechten Rand eines Textes entfernen
a[2] = String.Trim("!.Satzzeichen;?", ".?!;");    // "Satzzeichen"

Mögliche Fehler

DESTINYERROR_MEMORY

Siehe auch

String.LTrim(), String.RTrim()
< Zurück
Methode: String.ToUpper()
Weiter >
Methode: String.WeekdayName()

Methode: String.Trim()


String.WeekdayName()

Methode: String.WeekdayName()

Syntax

String.WeekdayName(Wochentag, [Kurzform, [Sprache]])

Beschreibung

Mit der WeekdayName-Methode kann eine Zahl in den Namen eines Wochentags umgewandelt werden. Die Ausgabe kann dabei entweder lang (z. B. "Samstag") oder kurz (z. B. "Sa") erfolgen.

Eigenschaften

Sprachabhängig: ja

Liste der Parameter

Parameter: Wochentag

Datentyp: | dword
Optional: | nein
Wertebereich: | 0 ... 6
Beschreibung: | Die Nummer des Wochentags (0 = Sonntag, 1 = Montag, 2 = Dienstag, 3 = Mittwoch, 4 = Donnerstag, 5 = Freitag, 6 = Samstag). Hierfür können die Wochentagskonstanten verwendet werden.

Parameter: Kurzform

Datentyp: | bool
Optional: | ja
Standardwert: | False
Beschreibung: | Gibt an, ob die Ausgabe in Kurzform erfolgen soll (True) oder nicht (False).

Parameter: Sprache

Datentyp: | dword
Optional: | ja
Standardwert: | Destiny.Language
Wertebereich: | 0 ... 1
Beschreibung: | Gibt den Index der Sprache an. Hierfür können die Sprachkonstanten verwendet werden.

Rückgabewert

Datentyp: | string
Beschreibung: | Der Name des Wochentags gemäß der angegebenen Formatierung

Beispiel

Im folgenden Beispiel wird davon ausgegangen, dass die aktuelle Spracheinstellung auf Deutsch gesetzt ist.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Den Wochentagsnamen für Dienstag ermitteln und das Ergebnis in a[1] speichern
a[1] = String.WeekdayName(WEEKDAY_TUESDAY);                           // "Dienstag"
// Den Wochentagsnamen für Dienstag in Kurzform ermitteln und das Ergebnis in a[2] speichern
a[2] = String.WeekdayName(WEEKDAY_TUESDAY, True);                     // "Di"
// Den Wochentagsnamen für Dienstag auf Englisch ermitteln und das Ergebnis in a[3] speichern
a[3] = String.WeekdayName(WEEKDAY_TUESDAY, False, LANGUAGE_ENGLISH);  // "Tuesday"
// Den Wochentagsnamen für Dienstag in Kurzform auf Englisch ermitteln und das Ergebnis in a[4] speichern
a[4] = String.WeekdayName(WEEKDAY_TUESDAY, True, LANGUAGE_ENGLISH);   // "Tue"
// Den Wochentagsnamen des aktuellen Datums ermitteln und das Ergebnis in a[5] speichern
a[5] = String.WeekdayName(Time.Weekday);                              // ??? (Hängt davon ab, wann das Skript ausgeführt wird)

Sonstiges

Die englischen Kurzformen der Tagesnamen, die diese Funktion zurückliefert, sind kompatibel mit HTTP-Anfragen (RFC-2616).

Mögliche Fehler

DESTINYERROR_VALUE

Siehe auch

Time.Weekday, String.MonthName(), Wochentagskonstanten, Sprachkonstanten
< Zurück
Methode: String.Trim()
Weiter >
Objekt: Time

Methode: String.WeekdayName()


Time

Objekt: Time

Syntax

Time

Beschreibung

Das Time-Objekt dient dazu die aktuelle Uhrzeit/das aktuelle Datum des Computers zu ermitteln.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Day | Eigenschaft | Der aktuelle Tag des Monats
Hour | Eigenschaft | Die aktuelle Stunde
Millisecond | Eigenschaft | Die aktuelle Millisekunde
Minute | Eigenschaft | Die aktuelle Minute
Month | Eigenschaft | Der aktuelle Monat
Second | Eigenschaft | Die aktuelle Sekunde
Tick | Eigenschaft | Zahl der Millisekunden seit Systemstart
Weekday | Eigenschaft | Der aktuelle Wochentag
Year | Eigenschaft | Das aktuelle Jahr

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11
$
// Einen Text zusammenstellen, der die aktuellen Zeitdaten des Computers angibt
// Ergibt z. B.: "Heute ist Donnerstag, der 08.01.1987 und wir haben jetzt genau 09:15:23,493 Uhr."
a[1] = "Heute ist .. " .. String.WeekdayName(Time.Weekday) .. ", der " ..
                          String.Format("D2", Time.Day) .. "." ..
                          String.Format("D2", Time.Month) .. "." ..
                          String.Format("D4", Time.Year) .. " und wir haben jetzt genau " ..
                          String.Format("D2", Time.Hour) .. ":" ..
                          String.Format("D2", Time.Minute) .. ":" ..
                          String.Format("D2", Time.Second) .. "," ..
                          String.Format("D3", Time.Millisecond) .. " Uhr.";

Siehe auch

String.WeekdayName(), String.Format()
< Zurück
Methode: String.WeekdayName()
Weiter >
Eigenschaft: Time.Day

Objekt: Time


Time.Day

Eigenschaft: Time.Day

Syntax

Time.Day

Beschreibung

Mit der Day-Eigenschaft kann der aktuelle Tag des Monats gelesen werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Den aktuellen Tag des Monats ermitteln und in v[1] speichern
v[1] = Time.Day;
// Den aktuellen Tag im zweistelligen Format als String konvertieren und in a[1] speichern
a[1] = String.Format("D2", Time.Day);      // Ergibt z. B. "08"

Siehe auch

Time, Time.Month, Time.Year, String.Format()
< Zurück
Objekt: Time
Weiter >
Eigenschaft: Time.Hour

Eigenschaft: Time.Day


Time.Hour

Eigenschaft: Time.Hour

Syntax

Time.Hour

Beschreibung

Mit der Hour-Eigenschaft kann die aktuelle Stunde im 24-Stundenformat gelesen werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die aktuelle Stunde ermitteln und in v[1] speichern
v[1] = Time.Hour;
// Den aktuelle Stunde im zweistelligen Format als String konvertieren und in a[1] speichern
a[1] = String.Format("D2", Time.Hour);     // Ergibt z. B. "09"

Siehe auch

Time, Time.Minute, Time.Second, Time.Millisecond, String.Format()
< Zurück
Eigenschaft: Time.Day
Weiter >
Eigenschaft: Time.Millisecond

Eigenschaft: Time.Hour


Time.Millisecond

Eigenschaft: Time.Millisecond

Syntax

Time.Millisecond

Beschreibung

Mit der Millisecond-Eigenschaft kann die aktuelle Millisekunde gelesen werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die aktuelle Millisekunde ermitteln und in v[1] speichern
v[1] = Time.Millisecond;
// Den aktuelle Sekunde im dreistelligen Format als String konvertieren und in a[1] speichern
a[1] = String.Format("D3", Time.Millisecond);   // Ergibt z. B. "23"

Siehe auch

Time, Time.Hour, Time.Minute, Time.Second, Time.Tick, String.Format()
< Zurück
Eigenschaft: Time.Hour
Weiter >
Eigenschaft: Time.Minute

Eigenschaft: Time.Millisecond


Time.Minute

Eigenschaft: Time.Minute

Syntax

Time.Minute

Beschreibung

Mit der Minute-Eigenschaft kann die aktuelle Minute gelesen werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die aktuelle Minute ermitteln und in v[1] speichern
v[1] = Time.Minute;
// Den aktuelle Minute im zweistelligen Format als String konvertieren und in a[1] speichern
a[1] = String.Format("D2", Time.Minute);   // Ergibt z. B. "15"

Siehe auch

Time, Time.Hour, Time.Second, Time.Millisecond, String.Format()
< Zurück
Eigenschaft: Time.Millisecond
Weiter >
Eigenschaft: Time.Month

Eigenschaft: Time.Minute


Time.Month

Eigenschaft: Time.Month

Syntax

Time.Month

Beschreibung

Mit der Month-Eigenschaft kann der aktuelle Monat gelesen werden.
1 = Januar, 2 = Februar, 3 = März, 4 = April, 5 = Mai, 6 = Juni, 7 = Juli, 8 = August, 9 = September, 10 = Oktober, 11 = November, 12 = Dezember
Hierzu können auch die Monatskonstanten verwendet werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Den aktuellen Monat ermitteln und in v[1] speichern
v[1] = Time.Month;
// Den aktuellen Monat im zweistelligen Format als String konvertieren und in a[1] speichern
a[1] = String.Format("D2", Time.Month);    // Ergibt z. B. "01"
// Den aktuellen Monat in den Monatsnamen umwandeln und in a[2] speichern
a[2] = String.MonthName(Time.Month);       // Ergibt z. B. "Januar"

Siehe auch

Time, Time.Day, Time.Year, String.Format(), String.MonthName()
< Zurück
Eigenschaft: Time.Minute
Weiter >
Eigenschaft: Time.Second

Eigenschaft: Time.Month


Time.Second

Eigenschaft: Time.Second

Syntax

Time.Second

Beschreibung

Mit der Second-Eigenschaft kann die aktuelle Sekunde gelesen werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Die aktuelle Sekunde ermitteln und in v[1] speichern
v[1] = Time.Second;
// Den aktuelle Sekunde im zweistelligen Format als String konvertieren und in a[1] speichern
a[1] = String.Format("D2", Time.Second);   // Ergibt z. B. "23"

Siehe auch

Time, Time.Hour, Time.Minute, Time.Millisecond, String.Format()
< Zurück
Eigenschaft: Time.Month
Weiter >
Eigenschaft: Time.Tick

Eigenschaft: Time.Second


Time.Tick

Eigenschaft: Time.Tick

Syntax

Time.Tick

Beschreibung

Mit der Tick-Eigenschaft kann die Anzahl der Millisekunden seit dem Start des Computers gelesen werden. Diese Eigenschaft ist nützlich um Zeitmessungen durchzuführen.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja
Flüchtig: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$
// Den aktuellen Tick ermitteln und in v[1] speichern
v[1] = Time.Tick;
// Eine beliebige zeitraubende Aktion durchführen (hier 10 mal Sinus berechnen)
for(v[3] = 0; v[3] < 1000000; v[3]++)
  Math.Sin(123, DEG);
next;
// Den aktuellen Tick ermitteln und in v[2] speichern
v[2] = Time.Tick;
// Die Differenz der beiden Zeitpunkte ermitteln und als benötigte Rechenzeit in a[1] speichern
// Ergibt auf Bananen-Joes Entwickler-Laptop: "Eine million Mal Sinus von 123 berechnen dauert ca. 4,817 Sekunden."
a[1] = "Eine million Mal Sinus von 123 berechnen dauert ca. " .. ((v[2] - v[1]) / 1000.0) .. " Sekunden.";

Siehe auch

Time, Time.Hour, Time.Minute, Time.Second, Time.Tick, Math.Sin()
< Zurück
Eigenschaft: Time.Second
Weiter >
Eigenschaft: Time.Weekday

Eigenschaft: Time.Tick


Time.Weekday

Eigenschaft: Time.Weekday

Syntax

Time.Weekday

Beschreibung

Mit der Weekday-Eigenschaft kann der aktuelle Tag der Woche gelesen werden. Dabei werden folgende Werte verwendet:
0 = Sonntag, 1 = Montag, 2 = Dienstag, 3 = Mittwoch, 4 = Donnerstag, 5 = Freitag, 6 = Samstag
Hierzu können auch die Wochentagskonstanten verwendet werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den aktuellen Wochentag auslesen und in einen lesbaren Text umwandeln a[1] = String.WeekdayName(Time.Weekday); // Ergibt z. B. "Donnerstag"

Siehe auch

Time, Time.Day, String.WeekdayName()
< Zurück
Eigenschaft: Time.Tick
Weiter >
Eigenschaft: Time.Year

Eigenschaft: Time.Weekday


Time.Year

Eigenschaft: Time.Year

Syntax

Time.Year

Beschreibung

Mit der Year-Eigenschaft kann das aktuelle Jahr gelesen werden.

Eigenschaften

Datentyp: | word
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Das aktuelle Jahr ermitteln und in v[1] speichern
v[1] = Time.Year;
// Das aktuelle Jahr im vierstelligen Format als String konvertieren und in a[1] speichern
a[1] = String.Format("D4", Time.Year);     // Ergibt z. B. "1987"
// Prüfen ob das aktuelle Jahr ein Schaltjahr ist* und das Ergebnis in s[1] speichern
s[1] = Logic.If(Time.Year % 4 == 0, Logic.If(Time.Year % 100 == 0, Time.Year % 400 == 0, true), false);
* Das Schaltjahr ist wie folgt definiert: Ein Jahr ist ein Schaltjahr, wenn das Jahr durch 4 restlos teilbar ist, aber nicht durch 100. Falls doch, dann muss es auch durch 400 restlos teilbar sein.

Siehe auch

Time, Time.Day, Time.Month, String.Format(), Logic.If()
< Zurück
Eigenschaft: Time.Weekday
Weiter >
Objekt: v

Eigenschaft: Time.Year


v

Objekt: v

Syntax

v

Beschreibung

Das v-Objekt dient dazu die Variablen (Ganzzahlen) der RPG_RT zugänglich zu machen. Der Unterschied zu dem d-Objekt liegt darin, dass die Dwords des d-Objekts von der Destiny.dll verwaltet werden, während die Variablen (Dwords) des v-Objekts von der RPG_RT verwaltet werden.

Untergeordnete Eigenschaften/Methoden/Objekte/Kategorien

Name | Typ | Beschreibung
Count | Eigenschaft | Die Anzahl der Variablen
[] | Eigenschaft | Eine bestimmte Variable des v-Objekts

Siehe auch

a, d, f, s
< Zurück
Eigenschaft: Time.Year
Weiter >
Eigenschaft: v.Count

Objekt: v


v.Count

Eigenschaft: v.Count

Syntax

v.Count

Beschreibung

Gibt die Anzahl der Variablen im v-Objekt zurück. Diese kann verwendet werden um eine Schleife über alle Variablen zu machen.
Information:
Die Anzahl der Variablen, die zur Verfügung stehen, wird erst zur Laufzeit des Spiels festgelegt. Erst wenn auf eine Variable (oder eine mit höherer Variable-Id) zugegriffen wird, wird diese erstmalig angelegt (mit dem Wert 0). Dieses Verhalten stammt von der RPG_RT und wurde bei dem DestinyPatch so beibehalten. Aus diesem Grunde gibt es beim v-Objekt auch keine ReAlloc-Methode.

Beispiel:
  • Wird nach Spielbeginn auf die dritte Variable zugegriffen, dann gibt es ab diesem Moment drei Variablen (v.Count = 3).
  • Wird danach auf die fünfte Variable zugegriffen, dann gibt es ab diesem Moment fünf Variablen (v.Count = 5).
  • Wird danach erneut auf die dritte Variable zugegriffen, dann gibt es weiterhin fünf Variablen (v.Count = 5).

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | ja

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle Variablen auf 777 setzen
for(d[1] = 1; d[1] <= v.Count; d[1]++)
  v[d[1]] = 777;
next;

Siehe auch

v, v[]
< Zurück
Objekt: v
Weiter >
Eigenschaft: v[]

Eigenschaft: v.Count


v[]

Eigenschaft: v[]

Syntax

v[Variable-Id]

Beschreibung

Ermöglicht den Zugriff auf eine bestimmte Variable des v-Objekts.

Eigenschaften

Datentyp: | dword
Schreibgeschützt: | nein

Liste der Parameter

Parameter: Variable-Id

Datentyp: | dword
Optional: | nein
Wertebereich: | >= 1 && <= 100000000
Beschreibung: | Die Variable-Id der Variablen. Dieser Wert muss größer/gleich 1 sein. Wird eine Variable-Id größer als v.Count angegeben, dann erhöht sich die Anzahl der Variablen automatisch.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Wert der ersten Variablen auf 5 setzen v[1] = 5;

Mögliche Fehler

DESTINYERROR_ARRAYBOUND

Siehe auch

v, v.Count
< Zurück
Eigenschaft: v.Count
Weiter >
Konstanten

Eigenschaft: v[]


Liste der Objekte

Liste der Konstantengruppen

Beschreibung

Konstanten werden dazu verwendet um häufig verwendeten Werten symbolische Namen zu geben.
Beispielsweise kann man statt Command.SetWeather(1, 2) auch Command.SetWeather(WEATHER_RAIN, WEATHERSTRENGTH_NORMAL) schreiben. Auf diese Art und Weise muss man nicht explizit wissen, dass mit 1 beim ersten Parameter die Wetterart Regen gemeint ist, usw.

Im Allgemeinen ist es sehr zu empfehlen möglichst Konstanten statt ausgeschriebene Zahlen zu benutzen, damit der Sinn des Wertes erhalten bleibt.

Untergeordnete Konstantengruppen

Name | Beschreibung
(De-)aktivierung | Enthält die Konstanten zur Identifizierung, ob etwas (de-)aktiviert werden soll
Angezeigte Seite beim EnterHeroName | Enthält die Konstanten zur Identifizierung der angezeigten Seite beim EnterHeroName
Anzeige der System-Grafiken | Enthält die Konstanten zur Identifizierung der Anzeige von System-Grafiken
Attributtypen | Enthält die Konstanten zur Identifizierung von Attributtypen
Aufrufsmodi für CommonEvents | Enthält die Konstanten zur Identifizierung der Aufrufsmodi von CommonEvents
Ausrüstungsteile | Enthält die Konstanten zur Identifizierung von Ausrüstungsteilen
Bewegungsbefehle | Enthält die Konstanten zur Identifizierung der Bewegungsbefehle
Bildübergänge | Enthält die Konstanten zur Identifizierung der Bildübergänge
Blickrichtungen von Events | Enthält die Konstanten zur Identifizierung der Blickrichtungen von Events
Bool'sche Werte | Enthält die Konstanten zur Identifizierung der bool'schen Werte
Dateimodi | Enthält die Konstanten zur Identifizierung der Dateimodi
Dateipositionen | Enthält die Konstanten zur Identifizierung der Dateipositionen
Dateisystemattribute | Enthält die Konstanten zur Identifizierung von Dateisystemattributen
Datentypen | Enthält die Konstanten zur Identifizierung von Datentypen
Destiny-Fehler | Beinhaltet die Konstanten zur Identifizierung von Destiny-Fehlern
Effektstufen | Enthält die Konstanten zur Identifizierung von Effektstufen
Event-Werte | Enthält die Konstanten zur Identifizierung von Event-Werten
Face-Positionen | Enthält die Konstanten zur Identifizierung von Face-Positionen
Frames von Events | Enthält die Konstanten zur Identifizierung der Frames von Events
Gesamte Partie bei Status-Befehlen | Enthält die Konstanten zur Identifizierung der gesamten Partie bei Status-Befehlen
Helden-Werte | Enthält die Konstanten zur Identifizierung von Helden-Werten
Hintergrundmusik-Arten | Enthält die Konstanten zur Identifizierung von Hintergrundmusik-Arten
Item-Typen | Enthält die Konstanten zur Identifizierung von Item-Typen
Item-Verwendungen | Enthält die Konstanten zur Identifizierung der Item-Verwendungen
Item-Werte | Enthält die Konstanten zur Identifizierung von Item-Werten
Item-Wirkungsbereiche | Enthält die Konstanten zur Identifizierung der Wirkungsbereiche von Items
Konditionsarten | Enthält die Konstanten zur Identifizierung der Konditionsarten
Konditionsbeschränkungen | Enthält die Konstanten zur Identifizierung der Konditionsbeschränkungen
Monate | Enthält die Konstanten zur Identifizierung der Monate
Nachrichtenformate | Enthält die Konstanten zur Identifizierung von Nachrichtenformaten
Nachrichtenpositionen | Enthält die Konstanten zur Identifizierung von Nachrichtenpositionen
Picture-Aktionen | Enthält die Konstanten zur Identifizierung der Picture-Aktionen
Schriftarten | Enthält die Konstanten zur Identifizierung der Schriftarten
Scroll-Arten | Enthält die Konstanten zur Identifizierung der Scroll-Arten
Socket-Auswahl des Servers | Enthält die Konstanten zur Identifizierung der Socket-Auswahl des Servers
Socket-Flags | Enthält die Konstanten zur Identifizierung von Socket-Flags
Socketstatus | Enthält die Konstanten zur Identifizierung von Socketstatus
Sockettypen | Enthält die Konstanten zur Identifizierung von Sockettypen
Sonderzeichen | Enthält die Konstanten zur Identifizierung der Sonderzeichen
Sonstige Werte | Enthält die Konstanten zur Identifizierung von sonstigen Werten
Sound-Arten | Enthält die Konstanten zur Identifizierung von Sound-Arten
Spezielle Events | Enthält die Konstanten zur Identifizierung von speziellen Events
Sprachen | Enthält die Konstanten zur Identifizierung von Sprachen der Destiny.dll
Statuswerte | Enthält die Konstanten zur Identifizierung von Statuswerten
Switch-Operationen | Enthält die Konstanten zur Identifizierung von Switch-Operationen
Tastenereignisse | Enthält die Konstanten zur Identifizierung von Tastenereignissen
Technik-Wirkungsbereiche | Enthält die Konstanten zur Identifizierung der Wirkungsbereiche von Techniken
Technikarten | Enthält die Konstanten zur Identifizierung der Technikarten
Textfarben | Enthält die Konstanten zur Identifizierung der Textfarben
Variablen-Operationen | Enthält die Konstanten zur Identifizierung von Variablen-Operationen
Varianten zum Anzeigen des Bildschirms | Enthält die Konstanten zur Identifizierung der Varianten zum Anzeigen des Bildschirms
Varianten zum Löschen des Bildschirms | Enthält die Konstanten zur Identifizierung der Varianten zum Löschen des Bildschirms
Virtuelle Tastencodes | Enthält die Konstanten zur Identifizierung der virtuellen Tastencodes
Wertetypen | Enthält die Konstanten zur Identifizierung von Wertetypen
Wetterarten | Enthält die Konstanten zur Identifizierung der Wetterarten
Wetterstärken | Enthält die Konstanten zur Identifizierung der Wetterstärken
Winkelformat | Enthält die Konstanten zur Identifizierung der Winkelformate
Wochentage | Enthält die Konstanten zur Identifizierung der Wochentage
< Zurück
Eigenschaft: v[]
Weiter >
Konstantengruppe: (De-)aktivierung

Konstanten


(De-)aktivierung

Konstantengruppe: (De-)aktivierung

Beschreibung

Die (De-)aktivierung-Konstantengruppe enthält die Konstanten zur Identifizierung, ob eine Eigenschaft aktiviert oder deaktiviert werden soll. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
DISABLE | dword | 0 | Deaktivieren
ENABLE | dword | 1 | Aktivieren

Siehe auch

Command.EnableTeleport(), Command.EnableEscape(), Command.EnableSaveMenu(), Command.EnableMenu()
< Zurück
Konstanten
Weiter >
Konstantengruppe: Angezeigte Seite beim EnterHeroName

Konstantengruppe: (De-)aktivierung


Angezeigte Seite beim EnterHeroName

Konstantengruppe: Angezeigte Seite beim EnterHeroName

Beschreibung

Die "Angezeigte Seite beim EnterHeroName"-Konstantengruppe enthält die Konstanten zur Identifizierung der zuerst angezeigten Seite beim Anzeigen des EnterHeroName-Bildschirms. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ENTRYPAGE_HIRAGANA | dword | 0 | Die Hiragana-Seite wird zuerst angezeigt (dies ist meist die Buchstaben-Seite bei westlichen Zeichensätzen)
ENTRYPAGE_KATAKANA | dword | 1 | Die Katakana-Seite wird zuerst angezeigt (dies ist meist die Symbol-Seite bei westlichen Zeichensätzen)

Siehe auch

Command.EnterHeroName()
< Zurück
Konstantengruppe: (De-)aktivierung
Weiter >
Konstantengruppe: Anzeige der System-Grafiken

Konstantengruppe: Angezeigte Seite beim EnterHeroName


Anzeige der System-Grafiken

Konstantengruppe: Anzeige der System-Grafiken

Beschreibung

Die "Anzeige der System Grafiken"-Konstantengruppe enthält die Konstanten zur Identifizierung von den Anzeigemodi der Systemgrafik (Hintergrund von Nachrichtenboxen, Menüs, ...). Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
DISPLAY_STRETCH | dword | 0 | Die Systemgrafik wird gestreckt dargestellt
DISPLAY_REPEAT | dword | 1 | Die Systemgrafik wird wiederholend dargestellt

Siehe auch

Command.SetSystemGraphic()
< Zurück
Konstantengruppe: Angezeigte Seite beim EnterHeroName
Weiter >
Konstantengruppe: Attributtypen

Konstantengruppe: Anzeige der System-Grafiken


Attributtypen

Konstantengruppe: Attributtypen

Beschreibung

Die Attributtyp-Konstantengruppe enthält die Konstanten zur Identifizierung von Attributtypen. Diese Konstanten werden zusammen mit dem Attribute-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ATTRIBUTETYPE_WEAPON | dword | 0 | Das Attribut ist ein Waffenattribut
ATTRIBUTETYPE_MAGIC | dword | 1 | Das Attribut ist ein Magieattribut

Siehe auch

Attribute
< Zurück
Konstantengruppe: Anzeige der System-Grafiken
Weiter >
Konstantengruppe: Aufrufsmodi für CommonEvents

Konstantengruppe: Attributtypen


Aufrufsmodi für CommonEvents

Konstantengruppe: Aufrufsmodi für CommonEvents

Beschreibung

Die "Aufrufsmodi für CommonEvents"-Konstantengruppe enthält die Konstanten zur Identifizierung der Aufrufsmodi von CommonEvents. Diese Konstanten werden zusammen mit dem CommonEvent[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
CALLMODE_CALL | dword | 5 | Das CommonEvent startet nur, wenn es aufgerufen wird
CALLMODE_PARALLELPROCESS | dword | 4 | Das CommonEvent läuft als Paralleler Prozess
CALLMODE_AUTOSTART | dword | 3 | Das CommonEvent läuft als Autostart-Prozess

Siehe auch

CommonEvent[].CallMode
< Zurück
Konstantengruppe: Attributtypen
Weiter >
Konstantengruppe: Ausrüstungsteile

Konstantengruppe: Aufrufsmodi für CommonEvents


Ausrüstungsteile

Konstantengruppe: Ausrüstungsteile

Beschreibung

Die Ausrüstungsteile-Konstantengruppe enthält die Konstanten zur Identifizierung von Ausrüstungsteilen bei Ausrüstungsbefehlen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
EQUIPMENT_ALL | dword | 0 | Die gesamte Ausrüstung eines Helden
EQUIPMENT_WEAPON | dword | 1 | Die Waffe eines Helden
EQUIPMENT_SHIELD | dword | 2 | Der Schild eines Helden
EQUIPMENT_ARMOR | dword | 3 | Die Rüstung eines Helden
EQUIPMENT_HELMET | dword | 4 | Der Helm eines Helden
EQUIPMENT_ACCESSORY | dword | 5 | Das Accessoir eines Helden

Siehe auch

Command.EquipItem(), Command.DropEquipment()
< Zurück
Konstantengruppe: Aufrufsmodi für CommonEvents
Weiter >
Konstantengruppe: Bewegungsbefehle

Konstantengruppe: Ausrüstungsteile


Bewegungsbefehle

Konstantengruppe: Bewegungsbefehle

Beschreibung

Die Bewegungsbefehle-Konstantengruppe enthält die Konstanten zur Identifizierung von Bewegungsbefehlen. Diese Konstanten werden zusammen mit dem Command-Objekt und dem Event-Objekt genutzt.
Name | Typ | Wert | Beschreibung
MC_STEPUP | dword | 0 | Ein Schritt nach oben
MC_STEPRIGHT | dword | 1 | Ein Schritt nach rechts
MC_STEPDOWN | dword | 2 | Ein Schritt nach unten
MC_STEPLEFT | dword | 3 | Ein Schritt nach links
MC_STEPRIGHTUP | dword | 4 | Ein Schritt schräg nach rechts oben
MC_STEPRIGHTDOWN | dword | 5 | Ein Schritt schräg nach rechts unten
MC_STEPLEFTDOWN | dword | 6 | Ein Schritt schräg nach links unten
MC_STEPLEFTUP | dword | 7 | Ein Schritt schräg nach links oben
MC_STEPRANDOM | dword | 8 | Ein Schritt in eine zufällige Richtung (oben, links, rechts oder unten)
MC_STEPTOWARDHERO | dword | 9 | Ein Schritt zum Spieler hin (oben, links, rechts oder unten)
MC_STEPAWAYFROMHERO | dword | 10 | Ein Schritt vom Spieler weg (oben, links, rechts oder unten)
MC_STEPFORWARD | dword | 11 | Ein Schritt nach vorne (in die aktuelle Blickrichtung)
MC_LOOKUP | dword | 12 | Nach oben gucken
MC_LOOKRIGHT | dword | 13 | Nach rechts gucken
MC_LOOKDOWN | dword | 14 | Nach unten gucken
MC_LOOKLEFT | dword | 15 | Nach links gucken
MC_TURNRIGHT | dword | 16 | Um 90° nach rechts drehen
MC_TURNLEFT | dword | 17 | Um 90° nach links drehen
MC_TURN180 | dword | 18 | Um 180° drehen
MC_RIGHTLEFTTURN | dword | 19 | Zufällig um 90° nach links oder rechts drehen
MC_LOOKRANDOM | dword | 20 | In eine zufällige Richtung gucken (oben, links, rechts oder unten)
MC_LOOKTOWARDHERO | dword | 21 | Zum Spieler hingucken
MC_LOOKAWAYFROMHERO | dword | 22 | Vom Spieler weggucken
MC_WAIT | dword | 23 | Kurz warten
MC_STARTJUMPING | dword | 24 | Springen beginnen
MC_STOPJUMPING | dword | 25 | Springen beenden
MC_FIXDIRECTION | dword | 26 | Blickrichtung fixieren
MC_RELEASEDIRECTION | dword | 27 | Blickrichtung freigeben
MC_INCREASESPEED | dword | 28 | Bewegungsgeschwindigkeit erhöhen
MC_DECREASESPEED | dword | 29 | Bewegungsgeschwindigkeit verringern
MC_INCREASEFREQUENCY | dword | 30 | Bewegungsfrequenz erhöhen
MC_DECREASEFREQUENCY | dword | 31 | Bewegungsfrequenz verringern
MC_SETSWITCHON | dword | 32 | Switch anschalten
MC_SETSWITCHOFF | dword | 33 | Switch ausschalten
MC_SETCHAR | dword | 34 | Char des bewegten Events setzen
MC_PLAYSOUND | dword | 35 | Sound abspielen
MC_STARTPHASING | dword | 36 | Kollisionsfreie Bewegung aktivieren
MC_STOPPHASING | dword | 37 | Kollisionsfreie Bewegung deaktivieren
MC_FIXANIMATION | dword | 38 | Bewegungsanimation deaktivieren
MC_RELEASEANIMATION | dword | 39 | Bewegungsanimation aktivieren
MC_INCREASETRANSPARENCY | dword | 40 | Transparenz erhöhen
MC_DECREASETRANSPARENCY | dword | 41 | Transparenz verringern

Siehe auch

Command.MoveEvent(), Event[].MoveRoute[].Command
< Zurück
Konstantengruppe: Ausrüstungsteile
Weiter >
Konstantengruppe: Bildübergänge

Konstantengruppe: Bewegungsbefehle


Bildübergänge

Konstantengruppe: Bildübergänge

Beschreibung

Die Bildübergang-Konstantengruppe enthält die Konstanten zur Identifizierung der Bildübergänge bei bestimmten Ereignissen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
TRANSITION_TELEPORTERASE | dword | 0 | Der Bildübergang beim Löschen des Bildschirms vor einer Teleportation
TRANSITION_TELEPORTSHOW | dword | 1 | Der Bildübergang beim Anzeigen des Bildschirms nach einer Teleportation
TRANSITION_BATTLESTARTERASE | dword | 2 | Der Bildübergang beim Löschen des Bildschirms vor einem Kampf
TRANSITION_BATTLESTARTSHOW | dword | 3 | Der Bildübergang beim Anzeigen des Bildschirms beim Beginn eines Kampfes
TRANSITION_BATTLEENDERASE | dword | 4 | Der Bildübergang beim Löschen des Bildschirms beim Ende eines Kampfes
TRANSITION_BATTLEENDSHOW | dword | 5 | Der Bildübergang beim Anzeigen des Bildschirms nach einem Kampf

Siehe auch

Command.SetScreenTransition()
< Zurück
Konstantengruppe: Bewegungsbefehle
Weiter >
Konstantengruppe: Blickrichtungen von Events

Konstantengruppe: Bildübergänge


Blickrichtungen von Events

Konstantengruppe: Blickrichtungen von Events

Beschreibung

Die "Blickrichtungen von Events"-Konstantengruppe enthält die Konstanten zur Identifizierung der Blickrichtungen/Bewegungsrichtungen von Events. Diese Konstanten werden zusammen mit dem Event-Objekt genutzt.
Name | Typ | Wert | Beschreibung
DIR_UP | dword | 0 | Oben
DIR_RIGHT | dword | 1 | Rechts
DIR_DOWN | dword | 2 | Unten
DIR_LEFT | dword | 3 | Links
DIR_RIGHT_UP | dword | 4 | Rechts-oben (nur bei Event[].DirMove und Event[].CanMoveTo())
DIR_UP_RIGHT | dword | 4 | Rechts-oben (nur bei Event[].DirMove und Event[].CanMoveTo())
DIR_RIGHT_DOWN | dword | 5 | Rechts-unten (nur bei Event[].DirMove und Event[].CanMoveTo())
DIR_DOWN_RIGHT | dword | 5 | Rechts-unten (nur bei Event[].DirMove und Event[].CanMoveTo())
DIR_LEFT_DOWN | dword | 6 | Links-unten (nur bei Event[].DirMove und Event[].CanMoveTo())
DIR_DOWN_LEFT | dword | 6 | Links-unten (nur bei Event[].DirMove und Event[].CanMoveTo())
DIR_LEFT_UP | dword | 7 | Links-oben (nur bei Event[].DirMove und Event[].CanMoveTo())
DIR_UP_LEFT | dword | 7 | Links-oben (nur bei Event[].DirMove und Event[].CanMoveTo())

Siehe auch

Event[].DirMove, Event[].DirLook, Event[].CanMoveTo()
< Zurück
Konstantengruppe: Bildübergänge
Weiter >
Konstantengruppe: Bool'sche Werte

Konstantengruppe: Blickrichtungen von Events


Bool'sche Werte

Konstantengruppe: Bool'sche Werte

Beschreibung

Die "bool'sche Werte"-Konstantengruppe enthält die Konstanten zur Identifizierung der zwei bool'schen Werte. Diese Konstanten gehören zur Skriptsprache und können mit allen Objekten genutzt werden. Im Besonderen werden diese jedoch beim s[] und dem Logic-Objekt genutzt.
Name | Typ | Wert | Beschreibung
false | bool | 0 | Falsch / Aus / 0
true | bool | 1 | Erfüllt / Ein / 1

Siehe auch

s[], Logic
< Zurück
Konstantengruppe: Blickrichtungen von Events
Weiter >
Konstantengruppe: Dateimodi

Konstantengruppe: Bool'sche Werte


Dateimodi

Konstantengruppe: Dateimodi

Beschreibung

Die Dateimodi-Konstantengruppe enthält die Konstanten zur Identifizierung der Dateimodi. Diese Konstanten werden zusammen mit dem File[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
FILE_READ | dword | 1 | Die Datei wird zum Lesen geöffnet
FILE_WRITE | dword | 2 | Die Datei wird zum Schreiben geöffnet
FILE_APPEND | dword | 6 | Die Datei wird zum Schreiben geöffnet, wobei der Dateizeiger beim Öffnen auf das Ende der Datei gesetzt wird

Siehe auch

File[].Open()
< Zurück
Konstantengruppe: Bool'sche Werte
Weiter >
Konstantengruppe: Dateipositionen

Konstantengruppe: Dateimodi


Dateipositionen

Konstantengruppe: Dateipositionen

Beschreibung

Die Dateipositionen-Konstantengruppe enthält die Konstanten zur Identifizierung der Bezugspunkte von Dateipositionsangaben. Diese Konstanten werden zusammen mit dem File[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
FILEPOS_BEGIN | dword | 0 | Die Positionsangabe bezieht sich auf den Anfang der Datei
FILEPOS_CURRENT | dword | 1 | Die Positionsangabe bezieht sich auf die aktuelle Position des Dateizeigers
FILEPOS_END | dword | 2 | Die Positionsangabe bezieht sich auf das Ende der Datei

Siehe auch

File[].SetFilePointer()
< Zurück
Konstantengruppe: Dateimodi
Weiter >
Konstantengruppe: Dateisystemattribute

Konstantengruppe: Dateipositionen


Dateisystemattribute

Konstantengruppe: Dateisystemattribute

Beschreibung

Die Dateisystemattribute-Konstantengruppe enthält die Konstanten zur Identifizierung von Dateisystemattributen (Attribute von Dateien/Ordnern) Diese Konstanten werden zusammen mit dem Directory-Objekt genutzt.
Name | Typ | Wert | Beschreibung
FILE_ATTRIBUTE_NORMAL | dword | 128 | Eine normale Datei
FILE_ATTRIBUTE_SYSTEM | dword | 4 | Eine Datei/ein Ordner, welcher zum System gehört
FILE_ATTRIBUTE_HIDDEN | dword | 2 | Eine Datei/ein Ordner, welcher versteckt ist
FILE_ATTRIBUTE_ARCHIVE | dword | 32 | Eine Datei/ein Ordner, welche(r) das Archivbit gesetzt hat
FILE_ATTRIBUTE_DIRECTORY | dword | 16 | Ein Ordner
FILE_ATTRIBUTE_READONLY | dword | 1 | Eine Datei/ein Ordner, welcher schreibgeschützt ist

Siehe auch

Directory.GetAttributes(), Directory.SetAttributes()
< Zurück
Konstantengruppe: Dateipositionen
Weiter >
Konstantengruppe: Datentypen

Konstantengruppe: Dateisystemattribute


Datentypen

Konstantengruppe: Datentypen

Beschreibung

Die Datentyp-Konstantengruppe enthält die Konstanten zur Identifizierung von Datentypen. Diese Konstanten werden zusammen mit dem Client und dem File-Objekt genutzt.
Name | Typ | Wert | Beschreibung
TYPE_VARIABLE | dword | 1 | Der Datentyp ist eine Variable (wird zwischen Variablen und Dwords nicht unterschieden, so wird dies wie TYPE_DWORD behandelt).
TYPE_SWITCH | dword | 2 | Der Datentyp ist ein Switch.
TYPE_BOOL | dword | 2 | Der Datentyp ist eine bool'scher Wert.
TYPE_DWORD | dword | 3 | Der Datentyp ist ein Dword.
TYPE_DOUBLE | dword | 4 | Der Datentyp ist ein Float.
TYPE_FLOAT | dword | 4 | Der Datentyp ist ein Float.
TYPE_STRING | dword | 5 | Der Datentyp ist ein String.
TYPE_BYTE | dword | 6 | Der Datentyp ist ein Byte.
TYPE_WORD | dword | 7 | Der Datentyp ist ein Word.

Siehe auch

Client[].Raw.Send(), Client[].Raw.Recv(), Client[].Destiny.GetRecvType(), File[].WriteRawData(), File[].ReadRawData()
< Zurück
Konstantengruppe: Dateisystemattribute
Weiter >
Konstantengruppe: Destiny-Fehler

Konstantengruppe: Datentypen


Destiny-Fehler

Konstantengruppe: Destiny-Fehler

Beschreibung

Die Destiny-Fehler Konstantengruppe enthält die Konstanten zur Identifizierung der Destiny-Fehler. Diese Konstanten werden zusammen mit dem Error-Objekt genutzt.
Name | Typ | Wert | Beschreibung
DESTINYERROR_UNKNOWN | dword | 1 | Konstante für den DESTINYERROR_UNKNOWN-Fehler
DESTINYERROR_SYNTAX | dword | 1 | Konstante für den DESTINYERROR_SYNTAX-Fehler
DESTINYERROR_NOVALUE | dword | 2 | Konstante für den DESTINYERROR_NOVALUE-Fehler
DESTINYERROR_UNKNOWNNAME | dword | 3 | Konstante für den DESTINYERROR_UNKNOWNNAME-Fehler
DESTINYERROR_CONVERT | dword | 4 | Konstante für den DESTINYERROR_CONVERT-Fehler
DESTINYERROR_READONLY | dword | 5 | Konstante für den DESTINYERROR_READONLY-Fehler
DESTINYERROR_ARRAYBOUND | dword | 6 | Konstante für den DESTINYERROR_ARRAYBOUND-Fehler
DESTINYERROR_RANGE | dword | 7 | Konstante für den DESTINYERROR_RANGE-Fehler
DESTINYERROR_MEMORY | dword | 8 | Konstante für den DESTINYERROR_MEMORY-Fehler
DESTINYERROR_VALUE | dword | 9 | Konstante für den DESTINYERROR_VALUE-Fehler
DESTINYERROR_BINARYFLOAT | dword | 10 | Konstante für den DESTINYERROR_BINARYFLOAT-Fehler
DESTINYERROR_CALCSWITCH | dword | 11 | Konstante für den DESTINYERROR_CALCSWITCH-Fehler
DESTINYERROR_CALCSTRING | dword | 12 | Konstante für den DESTINYERROR_CALCSTRING-Fehler
DESTINYERROR_FLOATERROR | dword | 13 | Konstante für den DESTINYERROR_FLOATERROR-Fehler
DESTINYERROR_FLOATLENGTH | dword | 14 | Konstante für den DESTINYERROR_FLOATLENGTH-Fehler
DESTINYERROR_DIVISIONBYZERO | dword | 15 | Konstante für den DESTINYERROR_DIVISIONBYZERO-Fehler
DESTINYERROR_STRINGFORMAT | dword | 16 | Konstante für den DESTINYERROR_STRINGFORMAT-Fehler
DESTINYERROR_STRINGRANGE | dword | 17 | Konstante für den DESTINYERROR_STRINGRANGE-Fehler
DESTINYERROR_PICTURE | dword | 18 | Konstante für den DESTINYERROR_PICTURE-Fehler
DESTINYERROR_PIXELRANGE | dword | 19 | Konstante für den DESTINYERROR_PIXELRANGE-Fehler
DESTINYERROR_SAMEPICTURE | dword | 20 | Konstante für den DESTINYERROR_SAMEPICTURE-Fehler
DESTINYERROR_PALETTERANGE | dword | 21 | Konstante für den DESTINYERROR_PALETTERANGE-Fehler
DESTINYERROR_SOCKETSTARTUP | dword | 22 | Konstante für den DESTINYERROR_SOCKETSTARTUP-Fehler
DESTINYERROR_NOFREESOCKET | dword | 23 | Konstante für den DESTINYERROR_NOFREESOCKET-Fehler
DESTINYERROR_CANTCREATESOCKET | dword | 24 | Konstante für den DESTINYERROR_CANTCREATESOCKET-Fehler
DESTINYERROR_SOCKETSTILLOPEN | dword | 25 | Konstante für den DESTINYERROR_SOCKETSTILLOPEN-Fehler
DESTINYERROR_SOCKETNOTOPEN | dword | 26 | Konstante für den DESTINYERROR_SOCKETNOTOPEN-Fehler
DESTINYERROR_CANTCONNECT | dword | 27 | Konstante für den DESTINYERROR_CANTCONNECT-Fehler
DESTINYERROR_SOCKETTYPE | dword | 28 | Konstante für den DESTINYERROR_SOCKETTYPE-Fehler
DESTINYERROR_SOCKETERROR | dword | 29 | Konstante für den DESTINYERROR_SOCKETERROR-Fehler
DESTINYERROR_OOB | dword | 30 | Konstante für den DESTINYERROR_OOB-Fehler
DESTINYERROR_STRINGTOOLONG | dword | 31 | Konstante für den DESTINYERROR_STRINGTOOLONG-Fehler
DESTINYERROR_NOFREEFILEHANDLE | dword | 32 | Konstante für den DESTINYERROR_NOFREEFILEHANDLE-Fehler
DESTINYERROR_CANTRESOLVEPATH | dword | 33 | Konstante für den DESTINYERROR_CANTRESOLVEPATH-Fehler
DESTINYERROR_NOPERMISSION | dword | 34 | Konstante für den DESTINYERROR_NOPERMISSION-Fehler
DESTINYERROR_CANTOPENFILE | dword | 35 | Konstante für den DESTINYERROR_CANTOPENFILE-Fehler
DESTINYERROR_FILENOTOPEN | dword | 36 | Konstante für den DESTINYERROR_FILENOTOPEN-Fehler
DESTINYERROR_CANTACCESSFILE | dword | 37 | Konstante für den DESTINYERROR_CANTACCESSFILE-Fehler
DESTINYERROR_CANTCREATEDIR | dword | 38 | Konstante für den DESTINYERROR_CANTCREATEDIR-Fehler
DESTINYERROR_CANTREMOVEDIR | dword | 39 | Konstante für den DESTINYERROR_CANTREMOVEDIR-Fehler
DESTINYERROR_CANTRENAMEFILE | dword | 40 | Konstante für den DESTINYERROR_CANTRENAMEFILE-Fehler
DESTINYERROR_CANTCOPYFILE | dword | 41 | Konstante für den DESTINYERROR_CANTCOPYFILE-Fehler
DESTINYERROR_CANTDELETEFILE | dword | 42 | Konstante für den DESTINYERROR_CANTDELETEFILE-Fehler
DESTINYERROR_CANTREADATTRIBUTES | dword | 43 | Konstante für den DESTINYERROR_CANTREADATTRIBUTES-Fehler
DESTINYERROR_CANTWRITEATTRIBUTES | dword | 44 | Konstante für den DESTINYERROR_CANTWRITEATTRIBUTES-Fehler
DESTINYERROR_SEARCHSTILLOPEN | dword | 45 | Konstante für den DESTINYERROR_SEARCHSTILLOPEN-Fehler
DESTINYERROR_CANTSTARTSEARCH | dword | 46 | Konstante für den DESTINYERROR_CANTSTARTSEARCH-Fehler
DESTINYERROR_NOSEARCHSTARTED | dword | 47 | Konstante für den DESTINYERROR_NOSEARCHSTARTED-Fehler
DESTINYERROR_PROTECTED | dword | 48 | Konstante für den DESTINYERROR_PROTECTED-Fehler
DESTINYERROR_CANTEXECUTEFILE | dword | 49 | Konstante für den DESTINYERROR_CANTEXECUTEFILE-Fehler
DESTINYERROR_NOTENOUGHPARAMETERS | dword | 50 | Konstante für den DESTINYERROR_NOTENOUGHPARAMETERS-Fehler
DESTINYERROR_NOTCOMPARABLE | dword | 51 | Konstante für den DESTINYERROR_NOTCOMPARABLE-Fehler
DESTINYERROR_INVALIDSIGN | dword | 52 | Konstante für den DESTINYERROR_INVALIDSIGN-Fehler
DESTINYERROR_SETNOTALLOWEDHERE | dword | 53 | Konstante für den DESTINYERROR_SETNOTALLOWEDHERE-Fehler
DESTINYERROR_MISSINGENDIF | dword | 54 | Konstante für den DESTINYERROR_MISSINGENDIF-Fehler
DESTINYERROR_MISSINGLOOP | dword | 55 | Konstante für den DESTINYERROR_MISSINGLOOP-Fehler
DESTINYERROR_MISSINGCONDITION | dword | 56 | Konstante für den DESTINYERROR_MISSINGCONDITION-Fehler
DESTINYERROR_MISSINGNEXT | dword | 57 | Konstante für den DESTINYERROR_MISSINGNEXT-Fehler
DESTINYERROR_MISSINGCASE | dword | 58 | Konstante für den DESTINYERROR_MISSINGCASE-Fehler
DESTINYERROR_MISSINGENDSWITCH | dword | 59 | Konstante für den DESTINYERROR_MISSINGENDSWITCH-Fehler
DESTINYERROR_BREAKNOTALLOWEDHERE | dword | 60 | Konstante für den DESTINYERROR_BREAKNOTALLOWEDHERE-Fehler
DESTINYERROR_CONTINUENOTALLOWEDHERE | dword | 61 | Konstante für den DESTINYERROR_CONTINUENOTALLOWEDHERE-Fehler
DESTINYERROR_INVALIDHANDLE | dword | 62 | Konstante für den DESTINYERROR_INVALIDHANDLE-Fehler
DESTINYERROR_OPERATOREXPECTED | dword | 63 | Konstante für den DESTINYERROR_OPERATOREXPECTED-Fehler
DESTINYERROR_CANTACCESSSAVESLOT | dword | 64 | Konstante für den DESTINYERROR_CANTACCESSSAVESLOT-Fehler
DESTINYERROR_EXCEPTION | dword | 65 | Konstante für den DESTINYERROR_EXCEPTION-Fehler
DESTINYERROR_INVALIDLOOPOPERATIONLEVEL | dword | 66 | Konstante für den DESTINYERROR_INVALIDLOOPOPERATIONLEVEL-Fehler
DESTINYERROR_CONTINUEDOESNTPOINTTOLOOP | dword | 67 | Konstante für den DESTINYERROR_CONTINUEDOESNTPOINTTOLOOP-Fehler

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Anzeige des "Division durch Null"-Fehlers deaktivieren Error[DESTINYERROR_DIVISIONBYZERO].Enabled = false;

Siehe auch

Error, Errors, Liste der Fehler
< Zurück
Konstantengruppe: Datentypen
Weiter >
Konstantengruppe: Effektstufen

Konstantengruppe: Destiny-Fehler


Effektstufen

Konstantengruppe: Effektstufen

Beschreibung

Die Effektstufen-Konstantengruppe enthält die Konstanten zur Identifizierung von Effektstufen. Diese Konstanten werden zusammen mit dem Attribute-Objekt genutzt.
Name | Typ | Wert | Beschreibung
EFFECT_A | dword | 0 | Effektstufe "A"
EFFECT_B | dword | 1 | Effektstufe "B"
EFFECT_C | dword | 2 | Effektstufe "C"
EFFECT_D | dword | 3 | Effektstufe "D"
EFFECT_E | dword | 4 | Effektstufe "E"

Siehe auch

Attribute
< Zurück
Konstantengruppe: Destiny-Fehler
Weiter >
Konstantengruppe: Event-Werte

Konstantengruppe: Effektstufen


Event-Werte

Konstantengruppe: Event-Werte

Beschreibung

Die Event-Werte-Konstantengruppe enthält die Konstanten zur Identifizierung von Event-Werten. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
EVENT_MAPID | dword | 0 | Die Map-Id des Events.
EVENT_X | dword | 1 | Die X-Koordinate des Events.
EVENT_Y | dword | 2 | Die Y-Koordinate des Events.
EVENT_DIRECTION | dword | 3 | Die Blickrichtung des Events.
EVENT_SCREENX | dword | 4 | Die X-Pixel-Koordinate des Events relativ zur aktuellen Bildschirmposition.
EVENT_SCREENY | dword | 5 | Die Y-Pixel-Koordinate des Events relativ zur aktuellen Bildschirmposition.

Siehe auch

Command.ChangeVariable(), Command.ChangeVariableRange()
< Zurück
Konstantengruppe: Effektstufen
Weiter >
Konstantengruppe: Face-Positionen

Konstantengruppe: Event-Werte


Face-Positionen

Konstantengruppe: Face-Positionen

Beschreibung

Die Face-Positionen-Konstantengruppe enthält die Konstanten zur Identifizierung von Face-Positionen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
FACEPOSITION_LEFT | dword | 0 | Das Face wird am linken Rand der Nachrichtenbox dargestellt.
FACEPOSITION_RIGHT | dword | 1 | Das Face wird am linken Rand der Nachrichtenbox dargestellt.

Siehe auch

Command.ShowFace()
< Zurück
Konstantengruppe: Event-Werte
Weiter >
Konstantengruppe: Frames von Events

Konstantengruppe: Face-Positionen


Frames von Events

Konstantengruppe: Frames von Events

Beschreibung

Die "Frames von Events"-Konstantengruppe enthält die Konstanten zur Identifizierung der Bewegungsframes von Events. Diese Konstanten werden zusammen mit dem Event-Objekt genutzt.
Name | Typ | Wert | Beschreibung
EVENTFRAME_LEFT | dword | 0 | Bein auf der linken Seite ist unten (linker Frame)
EVENTFRAME_NORMAL | dword | 1 | Beide Beine unten (mittlerer Frame)
EVENTFRAME_RIGHT | dword | 2 | Bein auf der rechten Seite ist unten (rechter Frame)
EVENTFRAME_NORMAL2 | dword | 3 | Beide Beine unten (mittlerer Frame)

Siehe auch

Event[].Frame, Event[].FrameSimple
< Zurück
Konstantengruppe: Face-Positionen
Weiter >
Konstantengruppe: Gesamte Partie bei Status-Befehlen

Konstantengruppe: Frames von Events


Gesamte Partie bei Status-Befehlen

Konstantengruppe: Gesamte Partie bei Status-Befehlen

Beschreibung

Die Gesamte-Partie-bei-Status-Befehlen-Konstantengruppe enthält die Konstanten zur Identifizierung von der gesamten Partie bei Status-Befehlen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
STATE_WHOLEPARTY | dword | 0 | Wird statt einer Helden-Id angegeben um zu kennzeichnen, dass die Statusänderung bei der gesamten Partie stattfinden soll.

Siehe auch

Command.AddExp(), Command.SubtractExp(), Command.AddLevel(), Command.SubtractLevel(), Command.AddAbility(), Command.SubtractAbility(), Command.AddSkill(), Command.RemoveSkill(), Command.EquipItem(), Command.DropEquipment(), Command.AddHp(), Command.SubtractHp(), Command.AddMp(), Command.SubtractMp(), Command.AddCondition(), Command.RemoveCondition(), Command.FullRecovery(), Command.DealDamage()
< Zurück
Konstantengruppe: Frames von Events
Weiter >
Konstantengruppe: Helden-Werte

Konstantengruppe: Gesamte Partie bei Status-Befehlen


Helden-Werte

Konstantengruppe: Helden-Werte

Beschreibung

Die Helden-Werte-Konstantengruppe enthält die Konstanten zur Identifizierung von Helden-Werten. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ACTOR_LEVEL | dword | 0 | Das aktuelle Level des Helden.
ACTOR_EXP | dword | 1 | Die aktuellen Erfahrungspunkte des Helden.
ACTOR_HP | dword | 2 | Die aktuellen Lebenspunkte des Helden.
ACTOR_MP | dword | 3 | Die aktuellen Magiepunkte des Helden.
ACTOR_MAXHP | dword | 4 | Die aktuellen, maximalen Lebenspunkte des Helden (Effekte durch Ausrüstungen, Konditionen, ... mit eingerechnet).
ACTOR_MAXMP | dword | 5 | Die aktuellen, maximalen Magiepunkte des Helden (Effekte durch Ausrüstungen, Konditionen, ... mit eingerechnet).
ACTOR_ATTACK | dword | 6 | Die aktuellen Angriffspunkte des Helden (Effekte durch Ausrüstungen, Konditionen, ... mit eingerechnet).
ACTOR_DEFENSE | dword | 7 | Die aktuellen Verteidigungspunkte des Helden (Effekte durch Ausrüstungen, Konditionen, ... mit eingerechnet).
ACTOR_MIND | dword | 8 | Die aktuellen Intelligenzpunkte des Helden (Effekte durch Ausrüstungen, Konditionen, ... mit eingerechnet).
ACTOR_AGILITY | dword | 9 | Die aktuellen Beweglichkeitspunkte des Helden (Effekte durch Ausrüstungen, Konditionen, ... mit eingerechnet).
ACTOR_WEAPON | dword | 10 | Die Item-Id der aktuellen Waffe des Helden.
ACTOR_SHIELD | dword | 11 | Die Item-Id des aktuellen Schilds des Helden.
ACTOR_ARMOR | dword | 12 | Die Item-Id der aktuellen Rüstung des Helden.
ACTOR_HELMET | dword | 13 | Die Item-Id des aktuellen Helms des Helden.
ACTOR_ACCESSORY | dword | 14 | Die Item-Id des aktuellen Accessoirs des Helden.

Siehe auch

Command.ChangeVariable(), Command.ChangeVariableRange()
< Zurück
Konstantengruppe: Gesamte Partie bei Status-Befehlen
Weiter >
Konstantengruppe: Hintergrundmusik-Arten

Konstantengruppe: Helden-Werte


Hintergrundmusik-Arten

Konstantengruppe: Hintergrundmusik-Arten

Beschreibung

Die Hintergrundmusik-Arten-Konstantengruppe enthält die Konstanten zur Identifizierung von Hintergrundmusik-Arten bei Hintergrundmusik-Befehlen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
MUSIC_BATTLE | dword | 0 | Die Hintergrundmusik während des Kampfes
MUSIC_VICTORY | dword | 1 | Die Hintergrundmusik während des Sieges
MUSIC_INN | dword | 2 | Die Hintergrundmusik während einer Übernachtung
MUSIC_BOAT | dword | 3 | Die Hintergrundmusik während der Fahrt mit dem Boot
MUSIC_SHIP | dword | 4 | Die Hintergrundmusik während der Fahrt mit dem Schiff
MUSIC_AIRSHIP | dword | 5 | Die Hintergrundmusik während der Fahrt mit dem Luftschiff
MUSIC_GAMEOVER | dword | 6 | Die Hintergrundmusik während des Game-Over-Bildschirms

Siehe auch

Command.SetSystemMusic()
< Zurück
Konstantengruppe: Helden-Werte
Weiter >
Konstantengruppe: Item-Typen

Konstantengruppe: Hintergrundmusik-Arten


Item-Typen

Konstantengruppe: Item-Typen

Beschreibung

Die Item-Typen-Konstantengruppe enthält die Konstanten zur Identifizierung der verschiedenen Item-Typen. Diese Konstanten werden zusammen mit dem Item[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ITEMTYPE_COMMON | dword | 0 | Das Item hat kann nicht benutzt werden
ITEMTYPE_WEAPON | dword | 1 | Das Item ist eine Waffe
ITEMTYPE_SHIELD | dword | 2 | Das Item ist ein Schild
ITEMTYPE_ARMOR | dword | 3 | Das Item ist eine Rüstung
ITEMTYPE_HELMET | dword | 4 | Das Item ist ein Helm
ITEMTYPE_ACCESSORY | dword | 5 | Das Item ist ein Accessoir
ITEMTYPE_MEDICINE | dword | 6 | Das Item ist eine Medizin
ITEMTYPE_BOOK | dword | 7 | Das Item ist ein Lehrbuch (lehrt Techniken)
ITEMTYPE_MATERIAL | dword | 8 | Das Item ist ein Material (ändert Statuswerte)
ITEMTYPE_UNIQUE | dword | 9 | Das Item ist ein Zauberbuch (verwendet Techniken)
ITEMTYPE_SWITCH | dword | 10 | Das Item legt bei Benutzung einen Switch um

Siehe auch

Item[].Type
< Zurück
Konstantengruppe: Hintergrundmusik-Arten
Weiter >
Konstantengruppe: Item-Verwendungen

Konstantengruppe: Item-Typen


Item-Verwendungen

Konstantengruppe: Item-Verwendungen

Beschreibung

Die Item-Verwendungen-Konstantengruppe enthält die Konstante zur Identifizierung der Anzahl der Verwendungen eines Items. Diese Konstante wird zusammen mit dem Item[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
INFINITE_USES | dword | 0 | Das Item kann unendlich oft benutzt werden

Siehe auch

Item[].NumberOfUses
< Zurück
Konstantengruppe: Item-Typen
Weiter >
Konstantengruppe: Item-Werte

Konstantengruppe: Item-Verwendungen


Item-Werte

Konstantengruppe: Item-Werte

Beschreibung

Die Item-Werte-Konstantengruppe enthält die Konstanten zur Identifizierung von Item-Werten. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ITEM_OWNED | dword | 0 | Gibt an, wie oft das Item in der Partie vorhanden ist
ITEM_EQUIPPED | dword | 1 | Gibt an, wie oft das Item in der Partie ausgerüstet ist

Siehe auch

Command.ChangeVariable(), Command.ChangeVariableRange()
< Zurück
Konstantengruppe: Item-Verwendungen
Weiter >
Konstantengruppe: Item-Wirkungsbereiche

Konstantengruppe: Item-Werte


Item-Wirkungsbereiche

Konstantengruppe: Item-Wirkungsbereiche

Beschreibung

Die Item-Wirkungsbereiche-Konstantengruppe enthält die Konstanten zur Identifizierung der Wirkungsbereiche von Items. Diese Konstanten werden zusammen mit dem Item[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ITEMSCOPE_SINGLEALLY | dword | 0 | Das Item wirkt nur auf einen einzelnen Helden
ITEMSCOPE_ALLALLIES | dword | 1 | Das Item wirkt auf die gesamte Partie (alle Helden)

Siehe auch

Item[].Medicine.Scope
< Zurück
Konstantengruppe: Item-Werte
Weiter >
Konstantengruppe: Konditionsarten

Konstantengruppe: Item-Wirkungsbereiche


Konditionsarten

Konstantengruppe: Konditionsarten

Beschreibung

Die Konditionsarten-Konstantengruppe enthält die Konstanten zur Identifizierung der Arten von Konditionen. Diese Konstanten werden zusammen mit dem Condition[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
CONDITIONTYPE_COMBAT | dword | 0 | Die Kondition wirkt nur im Kampf
CONDITIONTYPE_MOVEMENT | dword | 1 | Die Kondition wirkt während der Bewegung auf der Karte, sowie ggf. im Kampf

Siehe auch

Condition[].Type
< Zurück
Konstantengruppe: Item-Wirkungsbereiche
Weiter >
Konstantengruppe: Konditionsbeschränkungen

Konstantengruppe: Konditionsarten


Konditionsbeschränkungen

Konstantengruppe: Konditionsbeschränkungen

Beschreibung

Die Konditionsbeschränkungen-Konstantengruppe enthält die Konstanten zur Identifizierung der Beschränkungen durch bestimmte Konditionen im Kampf. Diese Konstanten werden zusammen mit dem Condition[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
CONDITIONLIMITATION_NONE | dword | 0 | Keine Beschränkungen
CONDITIONLIMITATION_NOACTION | dword | 1 | Es können keine Aktionen ausgeführt werden (z. B. beim Schlafen)
CONDITIONLIMITATION_ATTACKENEMY | dword | 2 | Es wird ein zufälliger Gegner angegriffen (z. B. "Berserkermodus")
CONDITIONLIMITATION_ATTACKALLY | dword | 3 | Es wird ein zufälliger Verbündeter angegriffen (z. B. "Konfusion")

Siehe auch

Condition[].ActionLimitation
< Zurück
Konstantengruppe: Konditionsarten
Weiter >
Konstantengruppe: Monate

Konstantengruppe: Konditionsbeschränkungen


Monate

Konstantengruppe: Monate

Beschreibung

Die Monate-Konstantengruppe enthält die Konstante zur Identifizierung der Monate. Diese Konstanten werden zusammen mit dem Time und dem String-Objekt genutzt.
Name | Typ | Wert | Beschreibung
JANUARY | dword | 1 | Januar
FEBRUARY | dword | 2 | Februar
MARCH | dword | 3 | März
APRIL | dword | 4 | April
MAY | dword | 5 | Mai
JUNE | dword | 6 | Juni
JULY | dword | 7 | Juli
AUGUST | dword | 8 | August
SEPTEMBER | dword | 9 | September
OCTOBER | dword | 10 | Oktober
NOVEMBER | dword | 11 | November
DECEMBER | dword | 12 | Dezember

Siehe auch

Time.Month, String.MonthName()
< Zurück
Konstantengruppe: Konditionsbeschränkungen
Weiter >
Konstantengruppe: Nachrichtenformate

Konstantengruppe: Monate


Nachrichtenformate

Konstantengruppe: Nachrichtenformate

Beschreibung

Die Nachrichtenformat-Konstantengruppe enthält die Konstanten zur Identifizierung von Nachrichtenformaten. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
MESSAGEFORMAT_NORMAL | dword | 0 | Die Nachrichtenboxen werden normal dargestellt.
MESSAGEFORMAT_TRANSPARENT | dword | 1 | Die Nachrichtenboxen werden transparent dargestellt.

Siehe auch

Command.SetMessageStyle()
< Zurück
Konstantengruppe: Monate
Weiter >
Konstantengruppe: Nachrichtenpositionen

Konstantengruppe: Nachrichtenformate


Nachrichtenpositionen

Konstantengruppe: Nachrichtenpositionen

Beschreibung

Die Nachrichtenpositionen-Konstantengruppe enthält die Konstanten zur Identifizierung von Nachrichtenpositionen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
MESSAGEPOSITION_TOP | dword | 0 | Die Nachrichtenboxen werden am oberen Bildschirmrand dargestellt.
MESSAGEPOSITION_MIDDLE | dword | 1 | Die Nachrichtenboxen werden in der Mitte des Bildschirms dargestellt.
MESSAGEPOSITION_BOTTOM | dword | 2 | Die Nachrichtenboxen werden am unteren Bildschirmrand dargestellt.

Siehe auch

Command.SetMessageStyle()
< Zurück
Konstantengruppe: Nachrichtenformate
Weiter >
Konstantengruppe: Picture-Aktionen

Konstantengruppe: Nachrichtenpositionen


Picture-Aktionen

Konstantengruppe: Picture-Aktionen

Beschreibung

Die Picture-Aktionen-Konstantengruppe enthält die Konstanten zur Identifizierung der Aktionen eines Pictures. Diese Konstanten werden zusammen mit dem Picture-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ACTION_NONE | dword | 0 | Keine Aktion
ACTION_ROTATION | dword | 1 | Das Picture rotiert
ACTION_RIPPLE | dword | 2 | Das Picture verschwimmt über einen Welleneffekt

Siehe auch

Picture[].Action
< Zurück
Konstantengruppe: Nachrichtenpositionen
Weiter >
Konstantengruppe: Schriftarten

Konstantengruppe: Picture-Aktionen


Schriftarten

Konstantengruppe: Schriftarten

Beschreibung

Die Schriftarten-Konstantengruppe enthält die Konstanten zur Identifizierung der Schriftarten der RPG_RT. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
FONT_RMG2000 | dword | 0 | Die "RMG2000"-Schriftart wird gestreckt dargestellt
FONT_RM2000 | dword | 1 | Die "RM2000"-Schriftart wird gestreckt dargestellt

Siehe auch

Command.SetSystemGraphic()
< Zurück
Konstantengruppe: Picture-Aktionen
Weiter >
Konstantengruppe: Scroll-Arten

Konstantengruppe: Schriftarten


Scroll-Arten

Konstantengruppe: Scroll-Arten

Beschreibung

Die Scroll-Arten-Konstantengruppe enthält die Konstanten zur Identifizierung der Scroll-Arten der Karte. Diese Konstanten werden zusammen mit dem Map-Objekt genutzt.
Name | Typ | Wert | Beschreibung
SCROLLTYPE_NORMAL | dword | 0 | Die Karte scrollt am Rand nicht weiter
SCROLLTYPE_VERTICAL | dword | 1 | Die Karte scrollt am oberen und unteren Rand (vertikal) weiter
SCROLLTYPE_HORIZONTAL | dword | 2 | Die Karte scrollt am linken und rechten Rand (horizontal) weiter
SCROLLTYPE_BOTH | dword | 3 | Die Karte scrollt an allen Rändern (horizontal und vertikal) weiter

Siehe auch

Map.ScrollType
< Zurück
Konstantengruppe: Schriftarten
Weiter >
Konstantengruppe: Socket-Auswahl des Servers

Konstantengruppe: Scroll-Arten


Socket-Auswahl des Servers

Konstantengruppe: Socket-Auswahl des Servers

Beschreibung

Die "Socket-Auswahl des Servers"-Konstantengruppe enthält die Konstante zur Identifizierung der Socket-Auswahl des Servers. Diese Konstante wird zusammen mit dem Server-Objekt genutzt.
Name | Typ | Wert | Beschreibung
NEXT_FREE_SOCKET | dword | -1 | Das nächste freie Socket (sofern vorhanden) soll verwendet werden. Existiert kein freies Socket, so wird ein Fehler geworfen. Es empfiehlt sich statt dieser Konstante Client.NextFree() zu verwenden, da diese Methode bei Bedarf ein neues Socket erstellt.

Siehe auch

Server.Accept()
< Zurück
Konstantengruppe: Scroll-Arten
Weiter >
Konstantengruppe: Socket-Flags

Konstantengruppe: Socket-Auswahl des Servers


Socket-Flags

Konstantengruppe: Socket-Flags

Beschreibung

Die Socket-Flags-Konstantengruppe enthält die Konstanten zur Identifizierung von Socket-Flags. Diese Konstanten werden zusammen mit dem Client-Objekt genutzt.
Name | Typ | Wert | Beschreibung
SOCKETFLAG_NOTBLOCKING | dword | 1 | Das Socket blockiert das Spiel nicht beim Verbindungsaufbau.

Siehe auch

Client[].Connect()
< Zurück
Konstantengruppe: Socket-Auswahl des Servers
Weiter >
Konstantengruppe: Socketstatus

Konstantengruppe: Socket-Flags


Socketstatus

Konstantengruppe: Socketstatus

Beschreibung

Die Socketstatus-Konstantengruppe enthält die Konstanten zur Identifizierung von Socketstatus. Diese Konstanten werden zusammen mit dem Client und dem Server-Objekt genutzt.
Name | Typ | Wert | Beschreibung
STATE_ERROR | dword | -1 | Es ist ein Fehler mit dem Socket aufgetreten
STATE_CLOSED | dword | 0 | Das Socket ist geschlossen
STATE_CONNECTED | dword | 1 | Das Socket ist verbunden (Daten können empfangen/gesendet werden)
STATE_LISTENING | dword | 2 | Das Socket wartet auf eingehende Verbindungen (Server-Modus)
STATE_CLOSING | dword | 3 | Das Socket hat keine Verbindung mehr, es stehen aber noch Daten an, die empfangen werden können
STATE_CONNECTING | dword | 4 | Das Socket ist gerade dabei eine Verbindung herzustellen

Siehe auch

Client[].State, Server.State
< Zurück
Konstantengruppe: Socket-Flags
Weiter >
Konstantengruppe: Sockettypen

Konstantengruppe: Socketstatus


Sockettypen

Konstantengruppe: Sockettypen

Beschreibung

Die Sockettypen-Konstantengruppe enthält die Konstanten zur Identifizierung von Sockettypen. Diese Konstanten werden zusammen mit dem Client und dem Server-Objekt genutzt.
Name | Typ | Wert | Beschreibung
SOCK_DESTINY | dword | 0 | Das Socket ist ein Destiny-Socket
SOCK_RAW | dword | 1 | Das Socket ist ein Raw-Socket

Siehe auch

Client, Server
< Zurück
Konstantengruppe: Socketstatus
Weiter >
Konstantengruppe: Sonderzeichen

Konstantengruppe: Sockettypen


Sonderzeichen

Konstantengruppe: Sonderzeichen

Beschreibung

Die Sonderzeichen-Konstantengruppe enthält die Konstante zur Identifizierung der Sonderzeichen, welche nicht ohne weiteres in Strings angegeben werden können. Diese Konstanten werden mit Strings oder aber zusammen mit dem String-Objekt genutzt.
Name | Typ | Wert | Beschreibung
LF | string | Zeilenende-Zeichen (0x0A) | Das Zeilenende-Zeichen "Line Feed" (wird bei Linux als Zeilenende verwendet)
CR | string | Wagenrücklauf-Zeichen (0x0D) | Das Wagenrücklauf-Zeichen "Carriage Return" (wird bei Macintosh als Zeilenende verwendet)
CRLF | string | Wagenrücklauf und Zeilenende (0x0D, 0x0A) | Das Wagenrücklauf-Zeichen "Carriage Return" gefolgt von einem Zeilenende-Zeichen "Line Feed". Diese Zeichenkombination wird bei Windows (z. B. in Textdateien) als Zeilenende verwendet.
QUOTE | string | Doppelte Anführungszeichen ( " ) | Das doppelte Anführungszeichen (Gänsefüßchen); dies lässt sich auch direkt in Strings angeben, wenn das doppelte Anführungszeichen für den String zweimal hintereinander in einem String geschrieben wird (z. B. """text""" ergibt "text" als Wert).

Siehe auch

String
< Zurück
Konstantengruppe: Sockettypen
Weiter >
Konstantengruppe: Sonstige Werte

Konstantengruppe: Sonderzeichen


Sonstige Werte

Konstantengruppe: Sonstige Werte

Beschreibung

Die Sonstige-Werte-Konstantengruppe enthält die Konstanten zur Identifizierung von sonstigen Werten. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
MISC_MONEY | dword | 0 | Das aktuelle Geld der Partie.
MISC_TIMERSECONDSLEFT | dword | 1 | Die verbleibenden Sekunden des Timers.
MISC_PARTYSIZE | dword | 2 | Die Größe der Partie.
MISC_NUMBEROFSAVES | dword | 3 | Die Anzahl der Speicherungen des aktuellen Spielstands.
MISC_NUMBEROFBATTLES | dword | 4 | Die Anzahl der Kämpfe mit dem Standard-Kampfsystem des aktuellen Spielstands.
MISC_NUMBEROFVICTORIES | dword | 5 | Die Anzahl der Siege mit dem Standard-Kampfsystem des aktuellen Spielstands.
MISC_NUMBEROFDEFEATS | dword | 6 | Die Anzahl der Niederlagen mit dem Standard-Kampfsystem des aktuellen Spielstands.
MISC_NUMBEROFESCAPES | dword | 7 | Die Anzahl der Fluchten mit dem Standard-Kampfsystem des aktuellen Spielstands.
MISC_MIDITICK | dword | 8 | Der Midi-Tick der aktuellen Hintergrundmusik.

Siehe auch

Command.ChangeVariable(), Command.ChangeVariableRange()
< Zurück
Konstantengruppe: Sonderzeichen
Weiter >
Konstantengruppe: Sound-Arten

Konstantengruppe: Sonstige Werte


Sound-Arten

Konstantengruppe: Sound-Arten

Beschreibung

Die Sound-Arten-Konstantengruppe enthält die Konstanten zur Identifizierung von Sound-Arten bei Sound-Befehlen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
SOUND_CURSOR | dword | 0 | Der Sound beim Bewegen des Auswahlcursors
SOUND_DECISION | dword | 1 | Der Sound beim Treffen einer Auswahl
SOUND_CANCEL | dword | 2 | Der Sound beim Abbrechen einer Auswahl
SOUND_BUZZER | dword | 3 | Der Sound beim Versuch eine nicht-mögliche Auswahl zu treffen
SOUND_STARTBATTLE | dword | 4 | Der Sound beim Start eines Kampfes
SOUND_ESCAPE | dword | 5 | Der Sound bei der Flucht aus einem Kampf
SOUND_ENEMYATTACK | dword | 6 | Der Sound beim Angriff eines Gegners
SOUND_ENEMYDAMAGE | dword | 7 | Der Sound, wenn ein Gegner Schaden nimmt
SOUND_ALLYDAMAGE | dword | 8 | Der Sound, wenn ein Partie-Mitglied Schaden nimmt
SOUND_EVASION | dword | 9 | Der Sound beim Ausweichen von einem Angriff
SOUND_ENEMYDIE | dword | 10 | Der Sound beim Tod eines Gegners
SOUND_ITEMUSE | dword | 11 | Der Sound beim Benutzen eines Items

Siehe auch

Command.SetSystemSound()
< Zurück
Konstantengruppe: Sonstige Werte
Weiter >
Konstantengruppe: Spezielle Events

Konstantengruppe: Sound-Arten


Spezielle Events

Konstantengruppe: Spezielle Events

Beschreibung

Die "Spezielle Events"-Konstantengruppe enthält die Konstanten zur Identifizierung von speziellen Events des RPG-Makers. Diese Konstanten werden zusammen mit dem Event, MapEvent und Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
HERO | dword | 10001 | Das Heldenevent
BOAT | dword | 10002 | Das Boot-Event
SHIP | dword | 10003 | Das Schiff-Event
AIRSHIP | dword | 10004 | Das Luftschiff-Event
THIS | dword | 10005 | Das aktuelle Event

Siehe auch

Event[], MapEvent, Command.FlashEvent(), Command.MoveEvent(), Command.SetVehicleChar(), Command.SetVehiclePlace(), Command.SetEventPlace(), Command.SwapTwoEvents(), Command.ShowBattleAnimation()
< Zurück
Konstantengruppe: Sound-Arten
Weiter >
Konstantengruppe: Sprachen

Konstantengruppe: Spezielle Events


Sprachen

Konstantengruppe: Sprachen

Beschreibung

Die Sprachen-Konstantengruppe enthält die Konstanten zur Identifizierung der unterstützten Sprachen der Destiny.dll. Diese Konstanten werden zusammen mit dem Destiny, Convert und dem String-Objekt genutzt.
Name | Typ | Wert | Beschreibung
LANGUAGE_GERMAN | dword | 0 | Fehlermeldungen, Wochentagsnamen und Monatsnamen sind in deutsch und als Dezimaltrennzeichen wird das Komma verwendet
LANGUAGE_ENGLISH | dword | 1 | Fehlermeldungen, Wochentagsnamen und Monatsnamen sind in englisch und als Dezimaltrennzeichen wird der Punkt verwendet

Siehe auch

Destiny.Language, String.MonthName(), String.WeekdayName(), Convert.DecimalComma
< Zurück
Konstantengruppe: Spezielle Events
Weiter >
Konstantengruppe: Statuswerte

Konstantengruppe: Sprachen


Statuswerte

Konstantengruppe: Statuswerte

Beschreibung

Die Status-Werte-Konstantengruppe enthält die Konstanten zur Identifizierung von Statuswerten bei Statuswertbefehlen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ABILITY_MAXHP | dword | 0 | Die maximalen Lebenspunkte eines Helden
ABILITY_MAXMP | dword | 1 | Die maximalen Magiepunkte eines Helden
ABILITY_ATTACK | dword | 2 | Die maximalen Angriffspunkte eines Helden
ABILITY_DEFENSE | dword | 3 | Die maximalen Verteidigungspunkte eines Helden
ABILITY_MIND | dword | 4 | Die maximalen Intelligenzpunkte eines Helden
ABILITY_AGILITY | dword | 5 | Die maximalen Beweglichkeitspunkte eines Helden

Siehe auch

Command.AddAbility(), Command.SubtractAbility()
< Zurück
Konstantengruppe: Sprachen
Weiter >
Konstantengruppe: Switch-Operationen

Konstantengruppe: Statuswerte


Switch-Operationen

Konstantengruppe: Switch-Operationen

Beschreibung

Die Switch-Operationen-Konstantengruppe enthält die Konstanten zur Identifizierung von Switch-Operationen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
OPERATION_ON | dword | 0 | Der Switch wird eingeschaltet.
OPERATION_OFF | dword | 1 | Der Switch wird ausgeschaltet.
OPERATION_TOGGLE | dword | 2 | Der Switch wird umgeschaltet (An zu Aus, Aus zu An).

Siehe auch

Command.ChangeSwitch(), Command.ChangeSwitchRange()
< Zurück
Konstantengruppe: Statuswerte
Weiter >
Konstantengruppe: Tastenereignisse

Konstantengruppe: Switch-Operationen


Tastenereignisse

Konstantengruppe: Tastenereignisse

Beschreibung

Die Tastenereignisse-Konstantengruppe enthält die Konstanten zur Identifizierung der Ereignisse bei einem Tastendruck. Diese Konstanten werden zusammen mit dem Keyboard-Objekt genutzt.
Name | Typ | Wert | Beschreibung
KEYEVENTF_KEYDOWN | dword | 0 | Die Taste wurde gedrückt
KEYEVENTF_KEYUP | dword | 1 | Die Taste wurde losgelassen

Siehe auch

Keyboard.SetKeyState()
< Zurück
Konstantengruppe: Switch-Operationen
Weiter >
Konstantengruppe: Technik-Wirkungsbereiche

Konstantengruppe: Tastenereignisse


Technik-Wirkungsbereiche

Konstantengruppe: Technik-Wirkungsbereiche

Beschreibung

Die Technik-Wirkungsbereiche-Konstantengruppe enthält die Konstante zur Identifizierung der Wirkungsbereiche von Techniken. Diese Konstanten werden zusammen mit dem Skill[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
SKILLSCOPE_SINGLEENEMY | dword | 0 | Die Technik wirkt nur auf einen einzelnen Gegner
SKILLSCOPE_ALLENEMIES | dword | 1 | Die Technik wirkt auf alle Gegner
SKILLSCOPE_SELF | dword | 2 | Die Technik wirkt auf den Helden, der diese Technik benutzt
SKILLSCOPE_SINGLEALLY | dword | 3 | Die Technik wirkt auf einen einzelnen Helden
SKILLSCOPE_ALLALLIES | dword | 4 | Die Technik wirkt auf die gesamte Partie (alle Helden)

Siehe auch

Skill[].Normal.Scope
< Zurück
Konstantengruppe: Tastenereignisse
Weiter >
Konstantengruppe: Technikarten

Konstantengruppe: Technik-Wirkungsbereiche


Technikarten

Konstantengruppe: Technikarten

Beschreibung

Die Technikarten-Konstantengruppe enthält die Konstante zur Identifizierung der verschiedenen Technikarten. Diese Konstanten werden zusammen mit dem Skill[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
SKILLTYPE_NORMAL | dword | 0 | Die Technik ist eine normale Kampftechnik
SKILLTYPE_TELEPORT | dword | 1 | Die Technik führt eine Teleportation aus
SKILLTYPE_ESCAPE | dword | 2 | Die Technik führt eine Flucht im Kampf aus
SKILLTYPE_SWITCH | dword | 3 | Die Technik aktiviert bei Benutzung einen Switch

Siehe auch

Skill[].Type
< Zurück
Konstantengruppe: Technik-Wirkungsbereiche
Weiter >
Konstantengruppe: Textfarben

Konstantengruppe: Technikarten


Textfarben

Konstantengruppe: Textfarben

Beschreibung

Die Textfarben-Konstantengruppe enthält die Konstanten zur Identifizierung der Textfarben. Diese Konstanten werden zusammen mit dem Condition[]-Objekt genutzt.
Name | Typ | Wert | Beschreibung
TEXTCOLOR_DEFAULT | dword | 0 | Standardfarbe
TEXTCOLOR_BLUE | dword | 1 | Blau
TEXTCOLOR_LIGHTORANGE | dword | 2 | Helles orange
TEXTCOLOR_BLACK | dword | 3 | Schwarz
TEXTCOLOR_YELLOW | dword | 4 | Gelb
TEXTCOLOR_RED | dword | 5 | Rot
TEXTCOLOR_PURPLE | dword | 6 | Lila
TEXTCOLOR_MAGENTA | dword | 7 | Magenta
TEXTCOLOR_ORANGE | dword | 8 | Orange
TEXTCOLOR_GREEN | dword | 9 | Grün
TEXTCOLOR_LIGHTBLUE | dword | 10 | Hellblau
TEXTCOLOR_LIGHTRED | dword | 11 | Hellrot
TEXTCOLOR_OCHER | dword | 12 | Ocker (dunkles Gelb)
TEXTCOLOR_VIOLET | dword | 13 | Violett
TEXTCOLOR_GOLD | dword | 14 | Gold
TEXTCOLOR_SEAGREEN | dword | 15 | Meergrün
TEXTCOLOR_DARKPURPLE | dword | 16 | Dunkellila
TEXTCOLOR_OCEANBLUE | dword | 17 | Ozeanblau
TEXTCOLOR_TEAL | dword | 18 | Türkis
TEXTCOLOR_BROWN | dword | 19 | Braun

Siehe auch

Condition[].Color
< Zurück
Konstantengruppe: Technikarten
Weiter >
Konstantengruppe: Variablen-Operationen

Konstantengruppe: Textfarben


Variablen-Operationen

Konstantengruppe: Variablen-Operationen

Beschreibung

Die Variablen-Operationen-Konstantengruppe enthält die Konstanten zur Identifizierung von Variablen-Operationen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
OPERATION_SET | dword | 0 | Die Variable wird auf einen Wert gesetzt
OPERATION_ADD | dword | 1 | Der Variablen wird ein Wert hinzuaddiert
OPERATION_SUBTRACT | dword | 2 | Der Variablen wird ein Wert abgezogen
OPERATION_MULTIPLY | dword | 3 | Die Variable wird mit einem Wert multipliziert
OPERATION_DIVIDE | dword | 4 | Die Variable wird durch einen Wert dividiert
OPERATION_MODULO | dword | 5 | Die Variable wird durch einen Wert dividiert und der nicht-teilbare Rest dieser Division in jener Variablen gespeichert

Siehe auch

Command.ChangeVariable(), Command.ChangeVariableRange()
< Zurück
Konstantengruppe: Textfarben
Weiter >
Konstantengruppe: Varianten zum Anzeigen des Bildschirms

Konstantengruppe: Variablen-Operationen


Varianten zum Anzeigen des Bildschirms

Konstantengruppe: Varianten zum Anzeigen des Bildschirms

Beschreibung

Die "Varianten zum Anzeigen des Bildschirms"-Konstantengruppe enthält die Konstanten zur Identifizierung der Varianten zum Anzeigen des Bildschirms. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
SHOW_FADEIN | dword | 0 | Der Bildschirm wird eingeblendet
SHOW_RANDOMBLOCKS | dword | 1 | Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts
SHOW_RANDOMBLOCKSUP | dword | 2 | Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts von unten nach oben
SHOW_RANDOMBLOCKSDOWN | dword | 3 | Der Bildschirm füllt sich zufällig mit Blöcken des neuen Bildschirminhalts von oben nach unten
SHOW_BLINDOPEN | dword | 4 | Der Bildschirm füllt sich mit horizontalen Strichen des neuen Bildschirminhalts
SHOW_STRIPEUPDOWN | dword | 5 | Der Bildschirm wird von oben und unten gleichzeitig mit je einem Balken des neuen Bildschirminhalts gefüllt
SHOW_STRIPELEFTRIGHT | dword | 6 | Der Bildschirm wird von links und rechts gleichzeitig mit je einem Balken des neuen Bildschirminhalts gefüllt
SHOW_OUTSIDEINSIDE | dword | 7 | Der Bildschirm füllt sich in Form eines Rechtecks von außen nach innen
SHOW_INSIDEOUTSIDE | dword | 8 | Der Bildschirm füllt sich in Form eines Rechtecks von innen nach außen
SHOW_SCROLLDOWN | dword | 9 | Der Bildschirm wird nach unten hereingeschoben
SHOW_SCROLLUP | dword | 10 | Der Bildschirm wird nach oben hereingeschoben
SHOW_SCROLLRIGHT | dword | 11 | Der Bildschirm wird nach rechts hereingeschoben
SHOW_SCROLLLEFT | dword | 12 | Der Bildschirm wird nach links hereingeschoben
SHOW_COMBINEUPDOWN | dword | 13 | Der Bildschirm setzt sich aus zwei horizontalen Teilen des neuen Bildschirminhalts von oben und unten gleichzeitig zusammen
SHOW_COMBINELEFTRIGHT | dword | 14 | Der Bildschirm setzt sich aus zwei vertikalen Teilen des neuen Bildschirminhalts von links und rechts gleichzeitig zusammen
SHOW_COMBINE | dword | 15 | Der Bildschirm setzt sich aus vier Teilen des neuen Bildschirminhalts von den Bildschirmecken her zusammen
SHOW_ZOOMOUT | dword | 16 | Der Bildschirm wird in Richtung des Helden von einer starken Vergrößerung auf die Normalgröße verkleinert
SHOW_MOSAIC | dword | 17 | Der Bildschirm wird über ein immer feiner werdendes Mosaik eingeblendet
SHOW_ROSTERSCROLL | dword | 18 | Der Bildschirm ist wellenförmig verschwommen und wird immer klarer
SHOW_INSTANT | dword | 19 | Der neue Bildschirminhalt ist sofort ohne Übergang sichtbar

Siehe auch

Command.SetScreenTransition(), Command.ShowScreen()
< Zurück
Konstantengruppe: Variablen-Operationen
Weiter >
Konstantengruppe: Varianten zum Löschen des Bildschirms

Konstantengruppe: Varianten zum Anzeigen des Bildschirms


Varianten zum Löschen des Bildschirms

Konstantengruppe: Varianten zum Löschen des Bildschirms

Beschreibung

Die "Varianten zum Löschen des Bildschirms"-Konstantengruppe enthält die Konstanten zur Identifizierung der Varianten zum Löschen des Bildschirms. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
ERASE_FADEOUT | dword | 0 | Der Bildschirm wird ausgeblendet
ERASE_RANDOMBLOCKS | dword | 1 | Der Bildschirm füllt sich zufällig mit Blöcken
ERASE_RANDOMBLOCKSUP | dword | 2 | Der Bildschirm füllt sich zufällig mit Blöcken von unten nach oben
ERASE_RANDOMBLOCKSDOWN | dword | 3 | Der Bildschirm füllt sich zufällig mit Blöcken von oben nach unten
ERASE_BLINDCLOSE | dword | 4 | Der Bildschirm füllt sich mit horizontalen Strichen
ERASE_STRIPEUPDOWN | dword | 5 | Der Bildschirm wird von oben und unten gleichzeitig mit je einem schwarzen Balken gefüllt
ERASE_STRIPELEFTRIGHT | dword | 6 | Der Bildschirm wird von links und rechts gleichzeitig mit je einem schwarzen Balken gefüllt
ERASE_OUTSIDEINSIDE | dword | 7 | Der Bildschirm füllt sich in Form eines Rechtecks von außen nach innen
ERASE_INSIDEOUTSIDE | dword | 8 | Der Bildschirm füllt sich in Form eines Rechtecks von innen nach außen
ERASE_SCROLLUP | dword | 9 | Der Bildschirm wird nach oben herausgeschoben
ERASE_SCROLLDOWN | dword | 10 | Der Bildschirm wird nach unten herausgeschoben
ERASE_SCROLLLEFT | dword | 11 | Der Bildschirm wird nach links herausgeschoben
ERASE_SCROLLRIGHT | dword | 12 | Der Bildschirm wird nach rechts herausgeschoben
ERASE_DIVISIONUPDOWN | dword | 13 | Der Bildschirm teilt sich horizontal in der Mitte und die obere und untere Hälfte bewegen sich gleichzeitig auseinander
ERASE_DIVISIONLEFTRIGHT | dword | 14 | Der Bildschirm teilt sich vertikal in der Mitte und die linke und rechte Hälfte bewegen sich gleichzeitig auseinander
ERASE_DIVISION | dword | 15 | Der Bildschirm teilt sich horizontal und vertikal in der Mitte und die vier Rechtecke bewegen sich gleichzeitig in Richtung ihrer Bildschirmecke
ERASE_ZOOMIN | dword | 16 | Der Bildschirm wird in Richtung des Helden stark vergrößert
ERASE_MOSAIC | dword | 17 | Der Bildschirm wird über ein immer gröber werdendes Mosaik ausgeblendet
ERASE_ROSTERSCROLL | dword | 18 | Der Bildschirm verschwimmt wellenförmig
ERASE_INSTANT | dword | 19 | Der Bildschirm ist sofort ohne Übergang schwarz
ERASE_DONTERASE | dword | 20 | Der Bildschirm wird nicht gelöscht. Diese Konstante ist bei Command.EraseScreen() ungültig.

Siehe auch

Command.SetScreenTransition(), Command.EraseScreen()
< Zurück
Konstantengruppe: Varianten zum Anzeigen des Bildschirms
Weiter >
Konstantengruppe: Virtuelle Tastencodes

Konstantengruppe: Varianten zum Löschen des Bildschirms


Virtuelle Tastencodes

Konstantengruppe: Virtuelle Tastencodes

Beschreibung

Die "Virtuelle Tastencodes"-Konstantengruppe enthält die Konstanten zur Identifizierung der von Tasten der Tastatur. Diese Konstanten werden zusammen mit dem Keyboard-Objekt genutzt.
Name | Typ | Wert | Beschreibung
VK_A | dword | 65 | Die Taste "A"
VK_B | dword | 66 | Die Taste "B"
VK_C | dword | 67 | Die Taste "C"
VK_D | dword | 68 | Die Taste "D"
VK_E | dword | 69 | Die Taste "E"
VK_F | dword | 70 | Die Taste "F"
VK_G | dword | 71 | Die Taste "G"
VK_H | dword | 72 | Die Taste "H"
VK_I | dword | 73 | Die Taste "I"
VK_J | dword | 74 | Die Taste "J"
VK_K | dword | 75 | Die Taste "K"
VK_L | dword | 76 | Die Taste "L"
VK_M | dword | 77 | Die Taste "M"
VK_N | dword | 78 | Die Taste "N"
VK_O | dword | 79 | Die Taste "O"
VK_P | dword | 80 | Die Taste "P"
VK_Q | dword | 81 | Die Taste "Q"
VK_R | dword | 82 | Die Taste "R"
VK_S | dword | 83 | Die Taste "S"
VK_T | dword | 84 | Die Taste "T"
VK_U | dword | 85 | Die Taste "U"
VK_V | dword | 86 | Die Taste "V"
VK_W | dword | 87 | Die Taste "W"
VK_X | dword | 88 | Die Taste "X"
VK_Y | dword | 89 | Die Taste "Y"
VK_Z | dword | 90 | Die Taste "Z"
VK_0 | dword | 48 | Die Taste "0"
VK_1 | dword | 49 | Die Taste "1"
VK_2 | dword | 50 | Die Taste "2"
VK_3 | dword | 51 | Die Taste "3"
VK_4 | dword | 52 | Die Taste "4"
VK_5 | dword | 53 | Die Taste "5"
VK_6 | dword | 54 | Die Taste "6"
VK_7 | dword | 55 | Die Taste "7"
VK_8 | dword | 56 | Die Taste "8"
VK_9 | dword | 57 | Die Taste "9"
VK_F1 | dword | 112 | Die Funktionstaste 1
VK_F2 | dword | 113 | Die Funktionstaste 2
VK_F3 | dword | 114 | Die Funktionstaste 3
VK_F4 | dword | 115 | Die Funktionstaste 4
VK_F5 | dword | 116 | Die Funktionstaste 5
VK_F6 | dword | 117 | Die Funktionstaste 6
VK_F7 | dword | 118 | Die Funktionstaste 7
VK_F8 | dword | 119 | Die Funktionstaste 8
VK_F9 | dword | 120 | Die Funktionstaste 9
VK_F10 | dword | 121 | Die Funktionstaste 10
VK_F11 | dword | 122 | Die Funktionstaste 11
VK_F12 | dword | 123 | Die Funktionstaste 12
VK_UP | dword | 38 | Pfeil-Hoch
VK_LEFT | dword | 37 | Pfeil-Links
VK_DOWN | dword | 40 | Pfeil-Runter
VK_RIGHT | dword | 39 | Pfeil-Rechts
VK_TAB | dword | 9 | Tab (horizontaler Tabulator)
VK_MENU | dword | 18 | Die Taste "Alt" (Alternativ) oder "Alt Gr" (Alternative Grafik)
VK_SHIFT | dword | 16 | Die Umschalt-Taste (links oder rechts)
VK_SPACE | dword | 32 | Die Leertaste
VK_CONTROL | dword | 17 | Die Taste "Strg" (Steuerung; links oder rechts)
VK_RETURN | dword | 13 | Die Eingabetaste
VK_ESCAPE | dword | 27 | Escape
VK_PAUSE | dword | 19 | Die Taste "Pause"
VK_PRINT | dword | 42 | Die Taste "Drucken"
VK_SCROLL | dword | 145 | Die Taste "Rollen"
VK_CAPITAL | dword | 20 | Die Taste "Capslock"
VK_BACK | dword | 8 | Die Backspace-Taste
VK_HOME | dword | 36 | Die Taste "Pos1"
VK_END | dword | 35 | Die Taste "Ende"
VK_PGUP | dword | 33 | Die Taste "Bild rauf"
VK_PGDN | dword | 34 | Die Taste "Bild runter"
VK_INSERT | dword | 45 | Die Taste "Einfügen"
VK_DELETE | dword | 46 | Die Taste "Entfernen"
VK_LBUTTON | dword | 1 | Die links Maustaste
VK_MBUTTON | dword | 4 | Die mittlere Maustaste
VK_RBUTTON | dword | 2 | Die rechte Maustaste
VK_DECIMAL | dword | 110 | Dezimaltrennzeichen auf dem Ziffernblock
VK_NUMLOCK | dword | 144 | Die Taste "Numlock" (Umschalten des Ziffernblocks)
VK_NUMPAD0 | dword | 96 | Die Taste "0" auf dem Ziffernblock
VK_NUMPAD1 | dword | 97 | Die Taste "1" auf dem Ziffernblock
VK_NUMPAD2 | dword | 98 | Die Taste "2" auf dem Ziffernblock
VK_NUMPAD3 | dword | 99 | Die Taste "3" auf dem Ziffernblock
VK_NUMPAD4 | dword | 100 | Die Taste "4" auf dem Ziffernblock
VK_NUMPAD5 | dword | 101 | Die Taste "5" auf dem Ziffernblock
VK_NUMPAD6 | dword | 102 | Die Taste "6" auf dem Ziffernblock
VK_NUMPAD7 | dword | 103 | Die Taste "7" auf dem Ziffernblock
VK_NUMPAD8 | dword | 104 | Die Taste "8" auf dem Ziffernblock
VK_NUMPAD9 | dword | 105 | Die Taste "9" auf dem Ziffernblock
VK_ADD | dword | 107 | Die Taste "+" (Plus)
VK_SUBTRACT | dword | 109 | Die Taste "-" (Minus)
VK_MULTIPLY | dword | 106 | Die Taste "*" (Mal)
VK_DIVIDE | dword | 111 | Die Taste "/" (Geteilt)

Siehe auch

Keyboard.GetKeyState(), Keyboard.GetKey(), Keyboard.GetKeyText(), Keyboard.SetKeyState()
< Zurück
Konstantengruppe: Varianten zum Löschen des Bildschirms
Weiter >
Konstantengruppe: Wertetypen

Konstantengruppe: Virtuelle Tastencodes


Wertetypen

Konstantengruppe: Wertetypen

Beschreibung

Die Wertetyp-Konstantengruppe enthält die Konstanten zur Identifizierung von Wertetypen. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
VALUETYPE_NUMBER | dword | 0 | Als Wert wird eine Zahl verwendet
VALUETYPE_VARIABLE | dword | 1 | Als Wert wird der Wert einer anderen Variablen verwendet
VALUETYPE_VARIABLEINDIRECT | dword | 2 | Als Wert wird der Wert einer anderen Variablen verwendet, welche wiederum durch eine andere Variable referenziert wird
VALUETYPE_RANDOM | dword | 3 | Als Wert wird eine Zufallszahl verwendet
VALUETYPE_ITEM | dword | 4 | Als Wert wird eine Item-Eigenschaft verwendet
VALUETYPE_ACTOR | dword | 5 | Als Wert wird eine Helden-Eigenschaft verwendet
VALUETYPE_EVENT | dword | 6 | Als Wert wird eine Event-Eigenschaft verwendet
VALUETYPE_MISC | dword | 7 | Als Wert wird eine sonstige Spiel-Eigenschaft verwendet

Siehe auch

Command.ChangeVariable(), Command.ChangeVariableRange()
< Zurück
Konstantengruppe: Virtuelle Tastencodes
Weiter >
Konstantengruppe: Wetterarten

Konstantengruppe: Wertetypen


Wetterarten

Konstantengruppe: Wetterarten

Beschreibung

Die Wetterarten-Konstantengruppe enthält die Konstanten zur Identifizierung der verschiedenen Wetterarten. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
WEATHER_NONE | dword | 0 | Kein Wettereffekt (klarer Himmel)
WEATHER_RAIN | dword | 1 | Es regnet
WEATHER_SNOW | dword | 2 | Es schneit

Siehe auch

Command.SetWeather()
< Zurück
Konstantengruppe: Wertetypen
Weiter >
Konstantengruppe: Wetterstärken

Konstantengruppe: Wetterarten


Wetterstärken

Konstantengruppe: Wetterstärken

Beschreibung

Die Wetterstärken-Konstantengruppe enthält die Konstanten zur Identifizierung der Stärken der Wettereffekte. Diese Konstanten werden zusammen mit dem Command-Objekt genutzt.
Name | Typ | Wert | Beschreibung
WEATHERSTRENGTH_WEAK | dword | 0 | Der Wettereffekt ist schwach ausgeprägt (z. B. ein leichtes Schauer)
WEATHERSTRENGTH_NORMAL | dword | 1 | Der Wettereffekt ist normal ausgeprägt (z. B. ein normaler Regen)
WEATHERSTRENGTH_STRONG | dword | 2 | Der Wettereffekt ist stark ausgeprägt (z. B. ein Platzregen)

Siehe auch

Command.SetWeather()
< Zurück
Konstantengruppe: Wetterarten
Weiter >
Konstantengruppe: Winkelformat

Konstantengruppe: Wetterstärken


Winkelformat

Konstantengruppe: Winkelformat

Beschreibung

Die Winkelformat-Konstantengruppe enthält die Konstanten zur Identifizierung der verschiedenen Winkelformate. Diese Konstanten werden zusammen mit dem Convert und dem Math-Objekt genutzt.
Name | Typ | Wert | Beschreibung
DEG | dword | 1 | Winkel werden in Grad angegeben (1 voller Kreis = 360)
RAD | dword | 2 | Winkel werden im Bogenmaß angegeben (1 voller Kreis = 2 * π = 6,283...)
GRAD | dword | 3 | Winkel werden in Neugrad angegeben (1 voller Kreis = 400)
RPG | dword | 4 | Winkel werden im RPG-Maker Format angegeben (1 voller Kreis = 256)

Siehe auch

Convert.Angle(), Math.Sin(), Math.Cos(), Math.Tan(), Math.Cot(), Math.Sec(), Math.Csc(), Math.ASin(), Math.ACos(), Math.ATan(), Math.ACot(), Math.ASec(), Math.ACsc()
< Zurück
Konstantengruppe: Wetterstärken
Weiter >
Konstantengruppe: Wochentage

Konstantengruppe: Winkelformat


Wochentage

Konstantengruppe: Wochentage

Beschreibung

Die Wochentage-Konstantengruppe enthält die Konstante zur Identifizierung der Wochentage. Diese Konstanten werden zusammen mit dem Time und dem String-Objekt genutzt.
Name | Typ | Wert | Beschreibung
SUNDAY | dword | 0 | Sonntag
MONDAY | dword | 1 | Montag
TUESDAY | dword | 2 | Dienstag
WEDNESDAY | dword | 3 | Mittwoch
THURSDAY | dword | 4 | Donnerstag
FRIDAY | dword | 5 | Freitag
SATURDAY | dword | 6 | Samstag

Siehe auch

Time.Weekday, String.WeekdayName()
< Zurück
Konstantengruppe: Winkelformat
Weiter >
Fehler

Konstantengruppe: Wochentage


Liste der Fehler

Beschreibung

Während der Ausführung eines DestinyScripts können an verschiedenen Stellen Fehler auftreten. Die Liste aller möglichen Fehler und ihrer Beschreibungen sind daher hier aufgelistet. Für eine detailliertere Beschreibung muss der Name des Fehlers angeklickt werden.

Untergeordnete Fehler

Nr. | Name | Beschreibung
0 | DESTINYERROR_UNKNOWN | Es ist ein unbekannter Fehler aufgetreten
1 | DESTINYERROR_SYNTAX | Es ist ein Syntaxfehler aufgetreten
2 | DESTINYERROR_NOVALUE | Es wurde an einer Stelle, wo ein Wert erwartet wurde, keiner angegeben
3 | DESTINYERROR_UNKNOWNNAME | Es wurde ein unbekannter Bezeichner angegeben
4 | DESTINYERROR_CONVERT | Es ist ein Konvertierungsfehler aufgetreten
5 | DESTINYERROR_READONLY | Es wurde versucht einen Nur-Lese-Wert zu beschreiben
6 | DESTINYERROR_ARRAYBOUND | Die Grenzen eines Arrays wurden überschritten
7 | DESTINYERROR_RANGE | Der Wert ist außerhalb des zulässigen Wertebereichs für eine Konvertierung
8 | DESTINYERROR_MEMORY | Es ist ein Speicherfehler aufgetreten
9 | DESTINYERROR_VALUE | Es wurde ein ungültiger Wert zugewiesen oder als Parameter verwendet
10 | DESTINYERROR_BINARYFLOAT | Es wurde eine binäre Operation mit Gleitkommawert durchgeführt
11 | DESTINYERROR_CALCSWITCH | Es wurde eine arithmetische/binäre Operation mit einem Switch durchgeführt
12 | DESTINYERROR_CALCSTRING | Es wurde eine mathematische Operation mit einem String durchgeführt
13 | DESTINYERROR_FLOATERROR | Es ist ein Gleitkommafehler aufgetreten
14 | DESTINYERROR_FLOATLENGTH | Es wurde eine zu lange Dezimalzahl angegeben
15 | DESTINYERROR_DIVISIONBYZERO | Es wurde eine Division durch Null durchgeführt
16 | DESTINYERROR_STRINGFORMAT | Es wurde ein ungültiges Stringformat angegeben
17 | DESTINYERROR_STRINGRANGE | Es wurde eine ungültige Textposition angegeben
18 | DESTINYERROR_PICTURE | Es wurde auf ein nicht-initialisiertes AuroraSheet zugegriffen
19 | DESTINYERROR_PIXELRANGE | Es wurde auf einen Pixel außerhalb des Bildbereichs zugegriffen
20 | DESTINYERROR_SAMEPICTURE | Es wurde eine überlappende Kopieroperation mit dem selben Quell- und Zielbild durchgeführt
21 | DESTINYERROR_PALETTERANGE | Es wurde versucht auf einen ungültigen Paletteneintrag zuzugreifen
22 | DESTINYERROR_SOCKETSTARTUP | Die Initialisierung des Socket-Systems ist fehlgeschlagen
23 | DESTINYERROR_NOFREESOCKET | Es ist kein freies Socket vorhanden
24 | DESTINYERROR_CANTCREATESOCKET | Es konnte kein neues Socket erstellt werden
25 | DESTINYERROR_SOCKETSTILLOPEN | Es wurde eine Operation durchgeführt, die ein geschlossenes Socket erfordert
26 | DESTINYERROR_SOCKETNOTOPEN | Es wurde eine Operation durchgeführt, die ein geöffnetes Socket erfordert
27 | DESTINYERROR_CANTCONNECT | Es konnte keine Verbindung mit dem Socket hergestellt werden
28 | DESTINYERROR_SOCKETTYPE | Es wurde eine ungültige Operation für den Sockettyp durchgeführt
29 | DESTINYERROR_SOCKETERROR | Es ist ein Socketfehler aufgetreten
30 | DESTINYERROR_OOB | Es ist Datenmüll bei einem Socket angekommen (Out-of-Band)
31 | DESTINYERROR_STRINGTOOLONG | Ein angegebener String ist zu lang um ihn über ein Destiny-Socket zu versenden
32 | DESTINYERROR_NOFREEFILEHANDLE | Es wurde eine Operation durchgeführt, die ein geschlossenes Dateihandle erfordert
33 | DESTINYERROR_CANTRESOLVEPATH | Ein angegebener Pfad konnte nicht aufgelöst werden
34 | DESTINYERROR_NOPERMISSION | Es wurde versucht auf eine Operation durchzuführen, für die keine Berechtigung vorhanden ist
35 | DESTINYERROR_CANTOPENFILE | Eine Datei konnte nicht geöffnet werden
36 | DESTINYERROR_FILENOTOPEN | Es wurde eine Operation durchgeführt, die ein geöffnetes Dateihandle erfordert
37 | DESTINYERROR_CANTACCESSFILE | Es ist nicht möglich auf die Daten einer Datei zuzugreifen
38 | DESTINYERROR_CANTCREATEDIR | Ein Ordner konnte nicht erstellt werden
39 | DESTINYERROR_CANTREMOVEDIR | Ein Ordner konnte nicht gelöscht werden
40 | DESTINYERROR_CANTRENAMEFILE | Eine Datei/ein Ordner konnte nicht umbenannt werden
41 | DESTINYERROR_CANTCOPYFILE | Eine Datei konnte nicht kopiert werden
42 | DESTINYERROR_CANTDELETEFILE | Eine Datei konnte nicht gelöscht werden
43 | DESTINYERROR_CANTREADATTRIBUTES | Die Attribute einer Datei/eines Ordners konnte nicht gelesen werden
44 | DESTINYERROR_CANTWRITEATTRIBUTES | Die Attribute einer Datei/eines Ordners konnten nicht geschrieben werden
45 | DESTINYERROR_SEARCHSTILLOPEN | Eine Ordnerdurchsuchung wurde bereits gestartet
46 | DESTINYERROR_CANTSTARTSEARCH | Eine Ordnerdurchsuchung konnte nicht gestartet werden
47 | DESTINYERROR_NOSEARCHSTARTED | Es wurde noch keine Ordnerdurchsuchung gestartet
48 | DESTINYERROR_PROTECTED | Es wurde versucht eine geblockte Destiny-Funktion aufzurufen
49 | DESTINYERROR_CANTEXECUTEFILE | Der Versuch eine Datei auszuführen ist fehlgeschlagen
50 | DESTINYERROR_NOTENOUGHPARAMETERS | Es wurden nicht genügend Parameter für die Durchführung eines Befehls angegeben
51 | DESTINYERROR_NOTCOMPARABLE | Es wurden zwei Werte verglichen, die nicht vergleichbar sind
52 | DESTINYERROR_INVALIDSIGN | Es wurde ein ungültiges Vor-/Nachzeichen angegeben
53 | DESTINYERROR_SETNOTALLOWEDHERE | Es wurde ein Wert an einer Stelle geschrieben, wo dies nicht erlaubt ist
54 | DESTINYERROR_MISSINGENDIF | Die Angabe "EndIf" fehlt
55 | DESTINYERROR_MISSINGLOOP | Die Angabe "Loop" fehlt
56 | DESTINYERROR_MISSINGCONDITION | Es wurde keine Bedingung angegeben
57 | DESTINYERROR_MISSINGNEXT | Die Angabe "Next" fehlt
58 | DESTINYERROR_MISSINGCASE | Die Angabe "Case" fehlt
59 | DESTINYERROR_MISSINGENDSWITCH | Die Angabe "EndSwitch" fehlt
60 | DESTINYERROR_BREAKNOTALLOWEDHERE | Es wurde Break an einer Stelle durchgeführt, wo dies nicht erlaubt ist
61 | DESTINYERROR_CONTINUENOTALLOWEDHERE | Es wurde Continue an einer Stelle durchgeführt, wo dies nicht erlaubt ist
62 | DESTINYERROR_INVALIDHANDLE | Es wurde ein ungültiges Handle verwendet
63 | DESTINYERROR_OPERATOREXPECTED | Es wird an einer Stelle ein Operator erwartet, jedoch keiner angegeben
64 | DESTINYERROR_CANTACCESSSAVESLOT | Der Zugriff auf einen Speicherslot ist nicht möglich
65 | DESTINYERROR_EXCEPTION | Es ist eine Exception aufgetreten
66 | DESTINYERROR_INVALIDLOOPOPERATIONLEVEL | Es wurde ein ungültiges Schleifenoperator-Level angegeben
67 | DESTINYERROR_CONTINUEDOESNTPOINTTOLOOP | Es wurde ein Continue durchgeführt, das nicht auf eine Schleife verweist
< Zurück
Konstantengruppe: Wochentage
Weiter >
Unbekannter Fehler

Fehler


Unbekannter Fehler

Beschreibung

Es ist ein unbekannter Fehler aufgetreten. Dieser Fehler darf eigentlich nie eintreten und wurde nur den Fall eines Programmierfehlers eingebaut. Tritt jemals dieser Fehler auf, so deutet dies entweder auf einen defekten Speicher oder einen Programmfehler im DestinyPatch hin.

Siehe auch

DESTINYERROR_UNKNOWN
< Zurück
Fehler
Weiter >
Fehler 1: Syntax

Unbekannter Fehler


Fehler 1: Syntax

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein unerwartetes Zeichen im DestinyScript vorkommt. Dies tritt in der Regel dann ein, wenn man sich vertippt hat.

Beispiel

In die Zwischenablage kopieren
1 2
$ v[1) = 7; // Statt eines ] kommt ein ) vor

Siehe auch

DESTINYERROR_SYNTAX
< Zurück
Unbekannter Fehler
Weiter >
Fehler 2: Kein Wert angegeben

Fehler 1: Syntax


Fehler 2: Kein Wert angegeben

Beschreibung

Dieser Fehler tritt immer dann auf, wenn der Interpreter einen Wert erwartet, aber keinen erhält. Dies passiert z. B. wenn in einer Berechnung eine Klammer ohne Inhalt angegeben wird, wenn ein nicht-optionaler Parameter nicht angegeben wurde (dieser jedoch aufgrund eines Kommas folgen müsste) oder wenn eine Methode keinen Rückgabewert zurückliefert, mit diesem aber gearbeitet wird.

Beispiel

Leere Klammer in Berechnung:

In die Zwischenablage kopieren
1 2
$ v[1] = 3 + ()
Fehlender nicht-optionaler Parameter:

In die Zwischenablage kopieren
1 2
$ v[1] = Logic.And3(true, true, );
Zugriff auf den fehlenden Rückgabewert einer Methode:

In die Zwischenablage kopieren
1 2
$ v[1] = Keyboard.SetKeyState(VK_LEFT, KEYEVENTF_KEYUP);

Siehe auch

DESTINYERROR_NOVALUE
< Zurück
Fehler 1: Syntax
Weiter >
Fehler 3: Unbekannter Bezeichner

Fehler 2: Kein Wert angegeben


Fehler 3: Unbekannter Bezeichner

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein unbekannter Bezeichner (Name einer Variablen, Konstante, Objektes, Methode, Eigenschaft, ...) falsch eingegeben wurde. Meistens tritt dieser Fehler auf, wenn man sich vertippt hat.

Beispiel

In die Zwischenablage kopieren
1 2
$ v[1] = Picture[1].Toastbrot; // Das Picture-Objekt besitzt keine Eigenschaft mit dem Namen "Toastbrot"

Siehe auch

DESTINYERROR_UNKNOWNNAME
< Zurück
Fehler 2: Kein Wert angegeben
Weiter >
Fehler 4: Konvertierungsfehler

Fehler 3: Unbekannter Bezeichner


Fehler 4: Konvertierungsfehler

Beschreibung

Es ist ein Fehler bei der Konvertierung von Datentypen aufgetreten. Dieser Fehler darf eigentlich nie eintreten und wurde nur den Fall eines Programmierfehlers eingebaut. Tritt jemals dieser Fehler auf, so deutet dies entweder auf einen defekten Speicher oder einen Programmfehler im DestinyPatch hin.

Siehe auch

DESTINYERROR_CONVERT
< Zurück
Fehler 3: Unbekannter Bezeichner
Weiter >
Fehler 5: Schreibzugriff auf Nur-Lese-Wert

Fehler 4: Konvertierungsfehler


Fehler 5: Schreibzugriff auf Nur-Lese-Wert

Beschreibung

Dieser Fehler tritt immer dann auf, wenn versucht wird einen schreibgeschützten Wert zu schreiben. Ob ein Wert schreibgeschützt ist oder nicht, steht immer in der Dokumentation des Wertes (z. B. bei den Eigenschaften eines Objektes).

Beispiel

In die Zwischenablage kopieren
1 2
$ Destiny.DllVersionMajor = 200; // Die Eigenschaft "DllVersionMajor" des Destiny-Objektes ist schreibgeschützt

Siehe auch

DESTINYERROR_READONLY
< Zurück
Fehler 4: Konvertierungsfehler
Weiter >
Fehler 6: Überschreitung der Arraygrenzen

Fehler 5: Schreibzugriff auf Nur-Lese-Wert


Fehler 6: Überschreitung der Arraygrenzen

Beschreibung

Dieser Fehler tritt immer dann auf, wenn innerhalb von eckigen Klammern ein ungültiger Wert (= ein ungültiger Index) angegeben wurde. Welcher Wertebereich bei einem Objekt/einer Eigenschaft angegeben werden kann, ist der Dokumentation des Objektes/der Eigenschaft zu entnehmen.
Information:
In der Regel verfügen Objekte mit eckigen Klammern über die Count-Eigenschaft, womit die obere Grenze des Indizes erfahren kann. Die untere Grenze ist in der Regel 0 (Objekte der Destiny.dll) oder 1 (Objekte der RPG_RT).

Beispiel

In die Zwischenablage kopieren
1 2
$ Picture[-1].UseMaskColor = false; // Der Index des Picture-Objektes wird ab 1 gezählt.

Siehe auch

DESTINYERROR_ARRAYBOUND
< Zurück
Fehler 5: Schreibzugriff auf Nur-Lese-Wert
Weiter >
Fehler 7: Wert außerhalb des zulässigen Wertebereichs

Fehler 6: Überschreitung der Arraygrenzen


Fehler 7: Wert außerhalb des zulässigen Wertebereichs

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein Datentp in einen anderen Datentypen konvertiert wird, der Wert jedoch zu groß für den Zieldatentyp ist.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ v[1] = Math.Exp(11); // Der größtmögliche Wert eines Dwords ist 2.147.483.647; // 100.000.000.000 (= Math.Exp(11)) ist jedoch größer.

Siehe auch

DESTINYERROR_RANGE
< Zurück
Fehler 6: Überschreitung der Arraygrenzen
Weiter >
Fehler 8: Fehler bei der Speicherverwaltung

Fehler 7: Wert außerhalb des zulässigen Wertebereichs


Fehler 8: Fehler bei der Speicherverwaltung

Beschreibung

Dieser Fehler tritt immer dann auf, wenn für die Ausführung eines Befehls/einer Operation nicht genügend Speicherplatz zur Verfügung steht. Meist tritt dies dann auf, wenn ein String zu groß wird.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
a[1] = "Blutwurst";
for(;;)  // Endlosschleife
  a[1] ..= String.Fill(a[1], 1000);
next;

Siehe auch

DESTINYERROR_MEMORY
< Zurück
Fehler 7: Wert außerhalb des zulässigen Wertebereichs
Weiter >
Fehler 9: Unzulässiger Wert

Fehler 8: Fehler bei der Speicherverwaltung


Fehler 9: Unzulässiger Wert

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein Wert verwendet wird, der für seinen Verwendungszweck (z. B. der Parameter einer Methode oder der Wert einer Eigenschaft) nicht zulässig ist. Welchen Wertebereich die Parameter einer Methode oder Eigenschaften haben, stehen in der Dokumentation der jeweiligen Methode/Eigenschaft.
Information:
Bei den meisten Parametern/Eigenschaften, wo Wertebereiche vorgeschrieben sind, stehen Konstanten zur Verfügung. Durch die Verwendung von Konstanten kann sichergestellt werden, dass nur gültige Werte verwendet werden.

Beispiel

In die Zwischenablage kopieren
1 2
$ Server.Listen(1000000); // Der Port muss im Bereich von 1 bis 65535 liegen

Siehe auch

DESTINYERROR_VALUE
< Zurück
Fehler 8: Fehler bei der Speicherverwaltung
Weiter >
Fehler 10: Binäre Operation mit Gleitkommawert

Fehler 9: Unzulässiger Wert


Fehler 10: Binäre Operation mit Gleitkommawert

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine binäre Operation (binäres Und ( & ), binäres Oder ( | ), binäres Nicht ( ~ ) oder binäres Exklusiv-Oder ( ^ )) mit einem Gleitkommawert durchgeführt wird. Binäre Operationen sind nur bei Ganzzahlen (Byte, Word oder Dword) zulässig.
Information:
Um eine binäre Operation mit einer Gleitkommazahl, einem Switch oder einem String auszuführen, kann man diesen vorher explizit in eine Ganzzahl konvertieren (z. B. über Convert.Dword()).

Beispiel

In die Zwischenablage kopieren
1 2
$ v[1] = 1.5 & 1; // Binäre Operationen sind nur bei Ganzzahlen zulässig

Siehe auch

DESTINYERROR_BINARYFLOAT
< Zurück
Fehler 9: Unzulässiger Wert
Weiter >
Fehler 11: Mathematische Operation mit Switch

Fehler 10: Binäre Operation mit Gleitkommawert


Fehler 11: Mathematische Operation mit Switch

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine arithmetische/binäre Operation (Plus ( + ), Minus ( - ), Mal ( * ), Geteilt ( / ), Modulo ( % ), binäres Und ( & ), binäres Oder ( | ), binäres Nicht ( ~ ) oder binäres Exklusiv-Oder ( ^ )) mit einem Switch durchgeführt wird. Nur logische Operationen (logisches Und ( && ), logisches Oder ( || ) und logisches Nicht ( ! )) sind bei Switches zulässig.
Information:
Um eine arithmetische/binäre Operation mit einem Switch auszuführen, kann man diesen vorher explizit in einen anderen Datentyp (z. B. Dword oder Float) konvertieren (z. B. über Convert.Dword()).

Beispiel

In die Zwischenablage kopieren
1 2
$ s[1] = true + false; // Arithmetische/binäre Operationen sind bei Switches unzulässig

Siehe auch

DESTINYERROR_CALCSWITCH
< Zurück
Fehler 10: Binäre Operation mit Gleitkommawert
Weiter >
Fehler 12: Mathematische Operation mit String

Fehler 11: Mathematische Operation mit Switch


Fehler 12: Mathematische Operation mit String

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine arithmetische/binäre Operation (Minus ( - ), Mal ( * ), Geteilt ( / ), Modulo ( % ), binäres Und ( & ), binäres Oder ( | ), binäres Nicht ( ~ ) oder binäres Exklusiv-Oder ( ^ )) mit einem String durchgeführt wird. Nur die Konkatenationsoperationen (Plus ( + ) (in Verbindung mit zwei Strings ist dies eine Konkatenation) und Konkatenation ( .. )), sowie die logischen Operationen (logisches Und ( && ), logisches Oder ( || ) und logisches Nicht ( ! )) sind bei Strings zulässig.
Information:
Um eine arithmetische/binäre Operation mit einem String auszuführen, kann man diesen vorher explizit in einen anderen Datentyp (z. B. Dword oder Float) konvertieren (z. B. über Convert.Dword()).

Beispiel

In die Zwischenablage kopieren
1 2
$ a[1] = "3" * 5; // Multiplikationen mit einem String sind unzulässig

Siehe auch

DESTINYERROR_CALCSTRING
< Zurück
Fehler 11: Mathematische Operation mit Switch
Weiter >
Fehler 13: Gleitkommafehler

Fehler 12: Mathematische Operation mit String


Fehler 13: Gleitkommafehler

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein nicht genauer definierter Fehler bei der Rechnung mit einer Gleitkommazahl aufgetreten ist. Dies tritt in der Regel nur dann auf, wenn ein Datenfehler aufgetreten ist (ungültige Gleitkommazahl), das Ergebnis einer Gleitkommaberechnung keine Reelle Zahl ist (z. B. eine Komplexe Zahl) oder das Ergebnis einer Berechnung undefiniert ist. Ein Datenfehler kann auftreten, wenn die Gleitkommazahl aus einer Datei gelesen wurde, in der Datei jedoch nur Datenmüll stand.

Beispiel

In die Zwischenablage kopieren
1 2
$ f[1] = Math.Power(-2, 2.5); // Versuch eine Komplexe Zahl zu berechnen

Siehe auch

DESTINYERROR_FLOATERROR
< Zurück
Fehler 12: Mathematische Operation mit String
Weiter >
Fehler 14: Zu lange Dezimalzahl

Fehler 13: Gleitkommafehler


Fehler 14: Zu lange Dezimalzahl

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Zahl (in Textform) mit mehr als 13 Ziffern in eine Gleitkommazahl konvertiert wird. Führende und folgende Nullen werden nicht mitgezählt.

Beispiel

In die Zwischenablage kopieren
1 2
$ f[1] = 1234567890.0987654321; // Die Zahl hat 20 Ziffern (7 mehr als erlaubt)

Siehe auch

DESTINYERROR_FLOATLENGTH
< Zurück
Fehler 13: Gleitkommafehler
Weiter >
Fehler 15: Division durch Null

Fehler 14: Zu lange Dezimalzahl


Fehler 15: Division durch Null

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Zahl durch 0 dividiert wird (dies zählt auch für Modulo). Das Ergebnis der Division durch 0 ist laut einiger mathematischer Grundregeln "undefiniert" und führt daher zu Fehlern.

Beispiel

In die Zwischenablage kopieren
1 2
$ v[1] = 5 / 0; // Division durch 0 ist nicht möglich

Siehe auch

DESTINYERROR_DIVISIONBYZERO
< Zurück
Fehler 14: Zu lange Dezimalzahl
Weiter >
Fehler 16: Ungültiges Stringformat

Fehler 15: Division durch Null


Fehler 16: Ungültiges Stringformat

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein String in eine Zahl konvertiert wird, der String jedoch keine gültig-formatierte Zahl enthält.

Beispiel

In die Zwischenablage kopieren
1 2
$ v[1] = "Zahl: 12345"; // Der String enthält neben der Zahl auch ein Wort

Siehe auch

DESTINYERROR_STRINGFORMAT
< Zurück
Fehler 15: Division durch Null
Weiter >
Fehler 17: Ungültige Textposition

Fehler 16: Ungültiges Stringformat


Fehler 17: Ungültige Textposition

Beschreibung

Dieser Fehler tritt immer dann auf, wenn auf eine ungültige Position innerhalb eines Strings zugegriffen wird.
Information:
Das erste Zeichen eines Strings hat immer die Position 0. Das letzte Zeichen des Strings ist (String.Length() - 1).

Beispiel

In die Zwischenablage kopieren
1 2
$ v[1] = String.Ord("Hallo", 5); // Es wird auf das 6. Zeichen (Index = 5) zugegriffen

Siehe auch

DESTINYERROR_STRINGRANGE
< Zurück
Fehler 16: Ungültiges Stringformat
Weiter >
Fehler 18: Bild nicht initialisiert

Fehler 17: Ungültige Textposition


Fehler 18: Bild nicht initialisiert

Beschreibung

Dieser Fehler tritt immer dann auf, wenn auf eine Eigenschaft/Methode eines AuroraSheets zugegriffen wird, die ein geladenes AuroraSheet erfordert (z. B. Picture[].AuroraSheet.Pixel[]), dies aber noch nicht geladen ist.
Information:
Ob ein AuroraSheet geladen ist, kann über die IsEmpty-Methode des AuroraSheet-Objekts geprüft werden.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ Picture[1].AuroraSheet.Free(); // AuroraSheet löschen v[1] = Picture[1].AuroraSheet.Pixel[1, 1]; // Auf den Pixel oben links zugreifen

Siehe auch

DESTINYERROR_PICTURE
< Zurück
Fehler 17: Ungültige Textposition
Weiter >
Fehler 19: Pixel außerhalb des Bildbereichs

Fehler 18: Bild nicht initialisiert


Fehler 19: Pixel außerhalb des Bildbereichs

Beschreibung

Dieser Fehler tritt immer dann auf, wenn über eine Eigenschaft/Methode auf einen Bildbereich außerhalb eines AuroraSheets zugegriffen wird.
Information:
Die Breite eines AuroraSheets kann über die Width-Eigenschaft ermittelt werden, die Höhe über die Height-Eigenschaft.
  • Die Koordinaten X und Y beziehen sich immer auf Werte im Bereich von 0 ... (Breite - 1) und 0 ... (Höhe - 1).
  • Die Koordinaten Links und Oben sind äquivalent zu X und Y.
  • Die Koordinaten Rechts und Unten sind jeweils Links + gewünschte Breite und Oben + gewünschte Höhe. Somit dürfen diese im Bereich von 0 ... Breite und 0 ... Höhe liegen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ Picture[1].AuroraSheet.Create(20, 20); // AuroraSheet der Größe 20 x 20 erstellen Picture[1].AuroraSheet.FillRect(0, 0, 100, 100, 0); // Eine Fläche der Größe 100 x 100 füllen

Siehe auch

DESTINYERROR_PIXELRANGE
< Zurück
Fehler 18: Bild nicht initialisiert
Weiter >
Fehler 20: Selbes Quell- und Zielbild mit Überlappung

Fehler 19: Pixel außerhalb des Bildbereichs


Fehler 20: Selbes Quell- und Zielbild mit Überlappung

Beschreibung

Dieser Fehler tritt immer dann auf, wenn über eine Kopiermethode versucht wird einen Bereich aus einem AuroraSheet in dasselbe AuroraSheet zu kopieren und sich die Bereiche dabei überlappen. Da sich die Bereiche in einem undefinierten Verhalten überschreiben würden, wird hier stattdessen ein Fehler ausgelöst.
Information:
Die Zielkoordinaten (X und Y) müssen entweder größer/gleich Rechts/Unten sein oder kleiner als Links - (Rechts - Links) und Oben - (Unten - Oben); dies gilt jeweils für X und Y getrennt.
Änderung zum DestinyPatch V1.0:
Es darf nun dasselbe Quell- und Zielbild angegeben werden, sofern sich die Bildbereiche nicht überlappen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Das AuroraSheet des ersten Pictures in der Größe 100 x 100 initialisieren
Picture[1].AuroraSheet.Create(100, 100);
// Den Bildbereich von (50, 50) bis (60, 60) an (45, 45) kopieren
Picture[1].AuroraSheet.CopyRect(45, 45, Picture[1].AuroraSheet.Handle, 50, 50, 60, 60);

Siehe auch

DESTINYERROR_SAMEPICTURE
< Zurück
Fehler 19: Pixel außerhalb des Bildbereichs
Weiter >
Fehler 21: Eintrag außerhalb der 256-Farbenpalette

Fehler 20: Selbes Quell- und Zielbild mit Überlappung


Fehler 21: Eintrag außerhalb der 256-Farbenpalette

Beschreibung

Dieser Fehler tritt immer dann auf, wenn auf einen Paletteneintrag außerhalb der 256-Farben Palette verwiesen wird.
Information:
Die Paletteneinträge liegen immer im Bereich von 0 bis 255.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Auf den 257-ten Eintrag (Index = 256) einer Palette zugreifen v[1] = Picture[1].AuroraSheet.Palette[256];

Siehe auch

DESTINYERROR_PALETTERANGE
< Zurück
Fehler 20: Selbes Quell- und Zielbild mit Überlappung
Weiter >
Fehler 22: Socket Startup fehlgeschlagen

Fehler 21: Eintrag außerhalb der 256-Farbenpalette


Fehler 22: Socket Startup fehlgeschlagen

Beschreibung

Es ist ein Fehler bei der Initialisierung des Socketsystems von Windows aufgetreten. Dies ist ein Fehler vom Zielsystem, welcher daran liegen kann, dass entweder eine falsche Winsock-Version installiert ist (der DestinyPatch V2.0 nutzt Winsock-Version 2.2) oder keine entsprechenden Geräte (Netzwerkkarte, Modem, ...) installiert sind.

Siehe auch

DESTINYERROR_SOCKETSTARTUP
< Zurück
Fehler 21: Eintrag außerhalb der 256-Farbenpalette
Weiter >
Fehler 23: Kein freies Socket vorhanden

Fehler 22: Socket Startup fehlgeschlagen


Fehler 23: Kein freies Socket vorhanden

Beschreibung

Dieser Fehler tritt immer dann auf, wenn der Server.Accept()-Methode die Konstante NEXT_FREE_SOCKET übergeben wird und kein weiteres, freies Client-Socket mehr zur Verfügung steht. Dieser Fehler kann nicht auftreten, wenn statt NEXT_FREE_SOCKET der Rückgabewert von Client.NextFree() verwendet wird.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$
// Alle Sockets löschen
Client.ReAlloc(0);
// Eine Verbindung auf Port 12345 annehmen
Server.Listen(12345);
// Auf eine eingehende Verbindung warten
do while((v[1] = Server.Accept(NEXT_FREE_SOCKET)) == -1)
  pause;  // Die RPG_RT entlasten
loop;

// Den Server schließen
Server.Close();

Siehe auch

DESTINYERROR_NOFREESOCKET
< Zurück
Fehler 22: Socket Startup fehlgeschlagen
Weiter >
Fehler 24: Socket konnte nicht erstellt werden

Fehler 23: Kein freies Socket vorhanden


Fehler 24: Socket konnte nicht erstellt werden

Beschreibung

Dieser Fehler tritt immer dann auf, wenn es nicht möglich war ein weiteres Socket zu erstellen. Dies hat nichts mit der Anzahl der Sockets im Client[]-Objekt zu tun, sondern mit den Sockets von Windows: Sind zu viele Sockets bereits vorhanden (oder sperrt irgendein Prozess das Erstellen neuer Sockets), dann können keine Verbindungen zu anderen Computern hergestellt werden.

Beispiel

Folgender Code liefert unter Umständen (das hängt vom Betriebssystem ab(!)) diesen Fehler. Es kann auch sein, dass andere Fehler (z. B. DESTINYERROR_MEMORY) auftreten. Bei den Tests unter Windows XP SP3 trat jeweils der Fehler DESTINYERROR_CANTCONNECT auf.

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Ganz viele Sockets erstellen
for(v[1] = 0; v[1] < 2147483647; v[1]++)
  // Platz für ein neues Socket schaffen
  Client.ReAlloc(v[1] + 1);
  // Eine (nicht-blockierende) Verbindung zu einem anderen Computer herstellen
  // (hier wird das Socket letztendlich erstellt!)
  Client[v[1]].Connect("127.0.0.1", v[1] % 65535 + 1, SOCK_RAW, SOCKETFLAG_NOTBLOCKING);
next;

Siehe auch

DESTINYERROR_CANTCREATESOCKET
< Zurück
Fehler 23: Kein freies Socket vorhanden
Weiter >
Fehler 25: Socket nicht geschlossen

Fehler 24: Socket konnte nicht erstellt werden


Fehler 25: Socket nicht geschlossen

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Operation mit einem geöffneten Socket durchgeführt wird, welche ein geschlossenes Socket erfordert. Dies kann z. B. auftreten, wenn die Connect-Methode eines bereits verbundenen Client-Sockets aufgerufen wird.
Information:
  • Um zu prüfen, ob ein Socket derzeit verbunden ist, kann die State-Eigenschaftdes Sockets geprüft werden.
  • Um eine Verbindung mit einem bereits verbundenen Socket herzustellen, muss dieses zuerst über die Close-Methode geschlossen werden.
Information:
Mittels Client.NextFree() kann der Index des nächsten freien Sockets ermittelt werden. Existiert kein freies Socket, so wird automatisch eines ergänzt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Eine Verbindung zu Google herstellen
Client[0].Connect("www.google.de", 80, SOCK_RAW);
// Noch eine Verbindung zu Google herstellen (mit demselben Socket)
Client[0].Connect("www.google.de", 80, SOCK_RAW);

Siehe auch

DESTINYERROR_SOCKETSTILLOPEN
< Zurück
Fehler 24: Socket konnte nicht erstellt werden
Weiter >
Fehler 26: Socket nicht geöffnet

Fehler 25: Socket nicht geschlossen


Fehler 26: Socket nicht geöffnet

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Operation mit einem geschlossenen Socket durchgeführt wird, welche ein geöffnetes Socket erfordert. Dies kann z. B. auftreten, wenn die SendVariable-Methode eines geschlossenen Destiny-Client-Sockets aufgerufen wird.
Information:
  • Um zu prüfen, ob ein Socket derzeit verbunden ist, kann die State-Eigenschaftdes Sockets geprüft werden.
  • Befindet sich ein Socket im Status STATE_CLOSING, dann können noch Daten über die Empfangsmethoden abgerufen werden (ohne dass ein Fehler auftritt).

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9
$
// Das erste Socket schließen
Client[0].Close();
// Daten über das erste Socket senden
if(Client[0].Type == SOCK_DESTINY)
  Client[0].Destiny.SendVariable(0, 0);
else
  Client[0].Raw.Send(0);
endif;

Siehe auch

DESTINYERROR_SOCKETNOTOPEN
< Zurück
Fehler 25: Socket nicht geschlossen
Weiter >
Fehler 27: Verbindung fehlgeschlagen

Fehler 26: Socket nicht geöffnet


Fehler 27: Verbindung fehlgeschlagen

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein Verbindungsversuch mittels Client[].Connect() fehlgeschlagen ist. Wurde der Connect-Methode das Flag SOCKETFLAG_NOTBLOCKING übergeben, dann tritt dieser Fehler nur dann auf, wenn zum Moment der Verbindungsanfrage schon feststeht, dass die Verbindung fehlschlägt (z. B. wenn eine ungültige Zieladresse angegeben wurde).
Information:
Wurde das Flag SOCKETFLAG_NOTBLOCKING bei Client[].Connect() angegeben, dann liefert Client[].State den Wert STATE_ERROR, wenn der Verbindungsversuch fehlgeschlagen ist.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine Verbindung zu einer ungültigen Adresse herstellen Client[0].Connect("adresse.die.ganz.sicher.nicht.existiert.im.internet.und.im.netzwerk", 80);

Siehe auch

DESTINYERROR_CANTCONNECT
< Zurück
Fehler 26: Socket nicht geöffnet
Weiter >
Fehler 28: Ungültige Operation für diesen Sockettyp

Fehler 27: Verbindung fehlgeschlagen


Fehler 28: Ungültige Operation für diesen Sockettyp

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Socket-Methode aufgerufen wird, welche für einen anderen Sockettyp bestimmt ist. Der Sockettyp wird entweder bei Client[].Connect() oder Server.Listen() angegeben und kann mittels Client[].Type abgefragt werden.
Information:
Seit dem DestinyPatch V2.0 wurden die Unterobjekte Client[].Destiny und Client[].Raw eingeführt, um die unterschiedlich genutzten Eigenschaften/Methoden sauberer zu trennen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$
// Eine Verbindung zu Google über ein Raw-Client-Socket herstellen
Client[0].Connect("www.google.de", 80, SOCK_RAW);

// Daten zu Google über die Methoden senden, welche für
// Destiny-Client-Sockets vorgesehen sind.
Client[0].Destiny.SendVariable(0, 0);

Siehe auch

DESTINYERROR_SOCKETTYPE
< Zurück
Fehler 27: Verbindung fehlgeschlagen
Weiter >
Fehler 29: Fehler bei Socketoperation

Fehler 28: Ungültige Operation für diesen Sockettyp


Fehler 29: Fehler bei Socketoperation

Beschreibung

Es ist ein Fehler bei einer Socket-Operation aufgetreten. Dieser Fehler ist nicht genauer spezifiziert und kann an mangelnden Ressourcen oder einer getrennten Netzverbindung liegen.

Siehe auch

DESTINYERROR_SOCKETERROR
< Zurück
Fehler 28: Ungültige Operation für diesen Sockettyp
Weiter >
Fehler 30: Out-of-Band

Fehler 29: Fehler bei Socketoperation


Fehler 30: Out-of-Band

Beschreibung

Dieser Fehler tritt immer dann auf, wenn bei einem Socket Datenmüll angekommen ist. Dies kann z. B. dann auftreten, wenn man sich per Destiny-Client-Socket zu einem Server verbindet, der das DestinyProtokoll nicht unterstützt oder wenn eine besonders schlechte Verbindung zum Ziel-Computer besteht. Das einzige, was man dann noch tun kann, ist es das Client-Socket über Client[].Close()zu schließen.
Information:
Das DestinyProtokoll verfügt über keine eigene Fehlerbehebung, weshalb beim Eintreffen ungültiger Daten die Verbindung geschlossen und neu aufgebaut werden muss. Im Normalfall sollten aber nur gültige Daten eintreffen, da das verwendete TCP/IP-Protokoll über eigene Fehlerbehebungsmaßnahmen verfügt.

Siehe auch

DESTINYERROR_OOB
< Zurück
Fehler 29: Fehler bei Socketoperation
Weiter >
Fehler 31: String zu lang

Fehler 30: Out-of-Band


Fehler 31: String zu lang

Beschreibung

Dieser Fehler tritt immer dann auf, wenn bei einem Destiny-Client-Socket ein String versendet wird, der länger als 255 Zeichen ist.
Information:
Um Strings zu versenden, die länger als 255 Zeichen sind, kann wie folgt vorgegangen werden:
  1. Der String wird zuerst in 255-Zeichen Stücke geteilt (String.SubStr())
  2. Dann wird das erste Stück des Strings mit der ID des Strings versendet
  3. Danach werden alle weiteren Teile des Strings mit der ID 0 versendet
  4. Der Empfänger hängt jedes empfangene Stück des Strings, welches mit der ID 0 versendet wurde an den letzten empfangenen String an

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$
// Verbindung zum eigenen Computer herstellen (ein Server muss dort laufen)
Client[0].Connect("127.0.0.1", 12345, SOCK_DESTINY);
Client[0].Destiny.SendString(1, String.Fill("a", 256));

Siehe auch

DESTINYERROR_STRINGTOOLONG
< Zurück
Fehler 30: Out-of-Band
Weiter >
Fehler 32: Das Dateihandle ist nicht frei

Fehler 31: String zu lang


Fehler 32: Das Dateihandle ist nicht frei

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Operation mit einem geöffneten Dateihandle durchgeführt wird, welche ein geschlossenes Dateihandle erfordert. Normalerweise tritt dies bei File[].Open() auf, wenn mit einem bereits geöffneten Dateihandle versucht wird eine weitere Datei zu öffnen.
Information:
Mittels File.NextFree() kann der Index eines freien Dateihandles ermittelt werden. Existiert kein freies Dateihandle, so wird automatisch eines ergänzt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Eine Datei öffnen
File[0].Open("Test.txt", FILE_WRITE);
// Eine weitere Datei öffnen (mit dem gleichen Handle)
File[0].Open("Test2.txt", FILE_WRITE);

Siehe auch

DESTINYERROR_NOFREEFILEHANDLE
< Zurück
Fehler 31: String zu lang
Weiter >
Fehler 33: Der Pfad konnte nicht aufgelöst werden

Fehler 32: Das Dateihandle ist nicht frei


Fehler 33: Der Pfad konnte nicht aufgelöst werden

Beschreibung

Es ist ein Fehler beim Auflösen eines (Dateisystem-)Pfads aufgetreten. Dies kann ein Fehler des Zielsystems sein, kann aber theoretisch auch an einer ungültigen Angabe des Dateinamens liegen.

Siehe auch

DESTINYERROR_CANTRESOLVEPATH
< Zurück
Fehler 32: Das Dateihandle ist nicht frei
Weiter >
Fehler 34: Keine Zugriffsberechtigung

Fehler 33: Der Pfad konnte nicht aufgelöst werden


Fehler 34: Keine Zugriffsberechtigung

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine (Dateisystem-)Operation durchgeführt wird, wofür keine Berechtigung vorhanden ist. In der Regel tritt dieser Fehler dann auf, wenn versucht wird auf einen Pfad außerhalb des Spielverzeichnisses zuzugreifen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Auf eine Datei außerhalb des Spielverzeichnisses zugreifen File[0].Open("..\Test.txt", FILE_WRITE);

Siehe auch

DESTINYERROR_NOPERMISSION
< Zurück
Fehler 33: Der Pfad konnte nicht aufgelöst werden
Weiter >
Fehler 35: Datei konnte nicht geöffnet werden

Fehler 34: Keine Zugriffsberechtigung


Fehler 35: Datei konnte nicht geöffnet werden

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Datei geöffnet wird und dies fehlschlägt. Dies kann daran liegen, dass eine nicht existierende Datei mit Leserechten geöffnet wird, daran dass nicht genügend freier Speicherplatz zur Verfügung steht oder daran, dass der Dateiname ungültige Zeichen enthält.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Eine Datei mit ungültigem Dateinamen öffnen File[0].Open("?", FILE_READ);

Siehe auch

DESTINYERROR_CANTOPENFILE
< Zurück
Fehler 34: Keine Zugriffsberechtigung
Weiter >
Fehler 36: Datei nicht geöffnet

Fehler 35: Datei konnte nicht geöffnet werden


Fehler 36: Datei nicht geöffnet

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Operation, welche ein geöffnetes Dateihandle erfordert, mit einem geschlossenen Dateihandle durchgeführt wird.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Erstes Dateihandle schließen
File[0].Close();
// Versuchen Daten über das geschlossene Dateihandle zu schreiben
File[0].WriteRawData(12345);

Siehe auch

DESTINYERROR_FILENOTOPEN
< Zurück
Fehler 35: Datei konnte nicht geöffnet werden
Weiter >
Fehler 37: Kein Dateizugriff möglich

Fehler 36: Datei nicht geöffnet


Fehler 37: Kein Dateizugriff möglich

Beschreibung

Es ist ein Fehler beim Zugriff (Lesen/Schreiben) auf die Daten ein Datei aufgetreten. Dies kann ein Fehler des Zielsystems sein (z. B. wenn kein weiterer Speicherplatz zur Verfügung steht).

Siehe auch

DESTINYERROR_CANTACCESSFILE
< Zurück
Fehler 36: Datei nicht geöffnet
Weiter >
Fehler 38: Ordner konnte nicht erstellt werden

Fehler 37: Kein Dateizugriff möglich


Fehler 38: Ordner konnte nicht erstellt werden

Beschreibung

Es ist ein Fehler beim Erstellen eines Ordners aufgetreten. Dies ist meist ein Fehler des Zielsystems (z. B. wenn kein weiterer Speicherplatz verfügbar ist oder ein Ordner oder eine Datei bereits mit diesem Namen existiert). Der Fehler kann aber auch am Ordnernamen liegen, wenn dieser ungültige Zeichen enthält.

Siehe auch

DESTINYERROR_CANTCREATEDIR
< Zurück
Fehler 37: Kein Dateizugriff möglich
Weiter >
Fehler 39: Ordner konnte nicht gelöscht werden

Fehler 38: Ordner konnte nicht erstellt werden


Fehler 39: Ordner konnte nicht gelöscht werden

Beschreibung

Es ist ein Fehler beim Löschen eines Ordners aufgetreten. Dies ist meist ein Fehler des Zielsystems (z. B. wenn der Ordner nicht leer ist oder kein Ordner mit diesem Namen existiert). Der Fehler kann aber auch am Ordnernamen liegen, wenn dieser ungültige Zeichen enthält.

Siehe auch

DESTINYERROR_CANTREMOVEDIR
< Zurück
Fehler 38: Ordner konnte nicht erstellt werden
Weiter >
Fehler 40: Datei/Ordner konnte nicht umbenannt werden

Fehler 39: Ordner konnte nicht gelöscht werden


Fehler 40: Datei/Ordner konnte nicht umbenannt werden

Beschreibung

Es ist ein Fehler beim Umbenennen einer Datei/eines Ordners aufgetreten. Dies ist meist ein Fehler des Zielsystems (z. B. wenn kein weiterer Speicherplatz verfügbar ist oder eine Datei/ein Ordner bereits mit diesem Namen existiert). Der Fehler kann aber auch am Datei-/Ordnernamen liegen, wenn dieser ungültige Zeichen enthält.

Siehe auch

DESTINYERROR_CANTRENAMEFILE
< Zurück
Fehler 39: Ordner konnte nicht gelöscht werden
Weiter >
Fehler 41: Datei konnte nicht kopiert werden

Fehler 40: Datei/Ordner konnte nicht umbenannt werden


Fehler 41: Datei konnte nicht kopiert werden

Beschreibung

Es ist ein Fehler beim Kopieren einer Datei aufgetreten. Dies ist meist ein Fehler des Zielsystems (z. B. wenn kein weiterer Speicherplatz verfügbar ist oder eine Datei/ein Ordner bereits mit diesem Namen existiert). Der Fehler kann aber auch am Dateinamen liegen, wenn dieser ungültige Zeichen enthält.

Siehe auch

DESTINYERROR_CANTCOPYFILE
< Zurück
Fehler 40: Datei/Ordner konnte nicht umbenannt werden
Weiter >
Fehler 42: Datei konnte nicht gelöscht werden

Fehler 41: Datei konnte nicht kopiert werden


Fehler 42: Datei konnte nicht gelöscht werden

Beschreibung

Es ist ein Fehler beim Löschen einer Datei aufgetreten. Dies ist meist ein Fehler des Zielsystems (z. B. wenn die Datei schreibgeschützt ist).

Siehe auch

DESTINYERROR_CANTDELETEFILE
< Zurück
Fehler 41: Datei konnte nicht kopiert werden
Weiter >
Fehler 43: Attribute konnten nicht gelesen werden

Fehler 42: Datei konnte nicht gelöscht werden


Fehler 43: Attribute konnten nicht gelesen werden

Beschreibung

Es ist ein Fehler beim Abfragen der Attribute einer Datei/eines Ordners aufgetreten. Dies ist meist ein Fehler des Zielsystems (z. B. wenn man nicht die notwendigen Rechte für den Zugriff auf die Datei/den Ordner hat).

Siehe auch

DESTINYERROR_CANTREADATTRIBUTES
< Zurück
Fehler 42: Datei konnte nicht gelöscht werden
Weiter >
Fehler 44: Attribute konnten nicht geschrieben werden

Fehler 43: Attribute konnten nicht gelesen werden


Fehler 44: Attribute konnten nicht geschrieben werden

Beschreibung

Es ist ein Fehler beim Setzen der Attribute einer Datei/eines Ordners aufgetreten. Dies ist meist ein Fehler des Zielsystems (z. B. wenn man nicht die notwendigen Rechte für den Zugriff auf die Datei/den Ordner hat).

Siehe auch

DESTINYERROR_CANTWRITEATTRIBUTES
< Zurück
Fehler 43: Attribute konnten nicht gelesen werden
Weiter >
Fehler 45: Suche bereits geöffnet

Fehler 44: Attribute konnten nicht geschrieben werden


Fehler 45: Suche bereits geöffnet

Beschreibung

Dieser Fehler kann mit dem DestinyPatch V2.0 nicht mehr auftreten, da die Ordnerdurchsuchungen über einen LIFO-Stapel (Last-In, First-Out) verarbeitet werden.
Information:
Beim DestinyPatch V1.0 konnte nur eine Ordnerdurchsuchung gleichzeitig gestartet sein.

Eigenschaften

Veraltet: ja

Siehe auch

DESTINYERROR_SEARCHSTILLOPEN
< Zurück
Fehler 44: Attribute konnten nicht geschrieben werden
Weiter >
Fehler 46: Suche konnte nicht gestartet werden

Fehler 45: Suche bereits geöffnet


Fehler 46: Suche konnte nicht gestartet werden

Beschreibung

Dieser Fehler tritt immer dann auf, wenn eine Ordnerdurchsuchung nicht gestartet werden konnte. Dies kann am Zielsystem, aber auch an der Suchmaske liegen (wenn z. B. ein ungültiger Ordner durchsucht werden soll).

Beispiel

In die Zwischenablage kopieren
1 2
$ Directory.FindFirst("|\*.*"); // | ist kein gültiger Ordnername

Siehe auch

DESTINYERROR_CANTSTARTSEARCH
< Zurück
Fehler 45: Suche bereits geöffnet
Weiter >
Fehler 47: Suche nicht gestartet

Fehler 46: Suche konnte nicht gestartet werden


Fehler 47: Suche nicht gestartet

Beschreibung

Dieser Fehler tritt immer dann auf, wenn versucht wird den nächsten Eintrag einer Ordnerdurchsuchung abzufragen, obwohl noch keine Ordnerdurchsuchung gestartet wurde.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Alle offenen Suchen schließen
Directory.FindCloseAll();
// Den nächsten Eintrag einer Suche abfragen
a[1] Directory.FindNext();

Siehe auch

DESTINYERROR_NOSEARCHSTARTED
< Zurück
Fehler 46: Suche konnte nicht gestartet werden
Weiter >
Fehler 48: Geblockte DestinyFunktion

Fehler 47: Suche nicht gestartet


Fehler 48: Geblockte DestinyFunktion

Beschreibung

Dieser Fehler kann derzeit nicht auftreten, weil die dafür notwendigen Funktionen noch nicht implementiert sind.

Siehe auch

DESTINYERROR_PROTECTED
< Zurück
Fehler 47: Suche nicht gestartet
Weiter >
Fehler 49: Dateiausführung nicht möglich

Fehler 48: Geblockte DestinyFunktion


Fehler 49: Dateiausführung nicht möglich

Beschreibung

Dieser Fehler kann derzeit nicht auftreten, weil die dafür notwendigen Funktionen noch nicht implementiert sind.

Siehe auch

DESTINYERROR_PROTECTED
< Zurück
Fehler 48: Geblockte DestinyFunktion
Weiter >
Fehler 50: Nicht genügend Parameter

Fehler 49: Dateiausführung nicht möglich


Fehler 50: Nicht genügend Parameter

Beschreibung

Dieser Fehler tritt immer dann auf, wenn beim Aufruf einer Eigenschaft/Methode zu wenig Parameter angegeben wurden.
Information:
Ob und welche Parameter eines Befehls optional sind (also weggelassen werden können) ist der Dokumentation des jeweiligen Befehls zu entnehmen.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Die Methode zum Setzen eines Tastenstatus aufrufen Keyboard.SetKeyState(); // Die Parameter wurden nicht angegeben

Siehe auch

DESTINYERROR_NOTENOUGHPARAMETERS
< Zurück
Fehler 49: Dateiausführung nicht möglich
Weiter >
Fehler 51: Nicht vergleichbar

Fehler 50: Nicht genügend Parameter


Fehler 51: Nicht vergleichbar

Beschreibung

Dieser Fehler tritt immer dann auf, wenn mit einem Vergleichsoperator Vergleiche ausgeführt werden, die Datentypen des Vergleichs sich jedoch so unterscheiden, dass eine Konvertierung nicht eindeutig auszuführen ist.
In folgenden Fällen tritt der Fehler auf:
Datentyp 1 | Datentyp 2
String | Alle nicht-String Datentypen
Bool | Alle nicht-bool'schen Datentypen
Float | String und Bool; bei allen anderen Datentypen wird versucht zu konvertieren
Dword | String und Bool; bei allen anderen Datentypen wird versucht zu konvertieren. Ist der Datentyp des zweiten Operanden Float, dann wird ein Float-Vergleich ausgeführt.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$
// Einen String mit einer Zahl vergleichen
if("3" == 3)
  // ...
endif;

Siehe auch

DESTINYERROR_NOTCOMPARABLE
< Zurück
Fehler 50: Nicht genügend Parameter
Weiter >
Fehler 52: Ungültiges Vor-/Nachzeichen

Fehler 51: Nicht vergleichbar


Fehler 52: Ungültiges Vor-/Nachzeichen

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein ungültiges Vor- bzw. Nachzeichen angegeben wurde. Neben den den normalen Vorzeichen (+ - ~ !) können auch ein Inkrement/Dekrement (++ oder --) angegeben werden. Das Inkrement/Dekrement kann entweder vor oder nach der zu verändernden Variablen stehen (aber nicht auf beiden Seiten gleichzeitig).

Beispiel

In die Zwischenablage kopieren
1 2
$ ++v[1]++; // Variable 1 sowohl inkrementieren als auch dekrementieren...

Siehe auch

DESTINYERROR_INVALIDSIGN
< Zurück
Fehler 51: Nicht vergleichbar
Weiter >
Fehler 53: Wert darf hier nicht geschrieben werden

Fehler 52: Ungültiges Vor-/Nachzeichen


Fehler 53: Wert darf hier nicht geschrieben werden

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein Wert an einer Stelle (z. B. mitten in einer Berechnung) geschrieben wird (also ein Zuweisungsoperator verwendet wird).

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Dem Berechnungsergebnis einer Formel einen Wert zuweisen v[1] + 3 = 5;

Siehe auch

DESTINYERROR_SETNOTALLOWEDHERE
< Zurück
Fehler 52: Ungültiges Vor-/Nachzeichen
Weiter >
Fehler 54: EndIf fehlt

Fehler 53: Wert darf hier nicht geschrieben werden


Fehler 54: EndIf fehlt

Beschreibung

Dieser Fehler tritt immer dann auf, wenn das passende EndIf zu einem If fehlt. Dies kann zum Beispiel beim händischen Umkopieren von DestinyScript-Code passieren.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ if(true) loop;

Siehe auch

DESTINYERROR_MISSINGENDIF
< Zurück
Fehler 53: Wert darf hier nicht geschrieben werden
Weiter >
Fehler 55: Loop fehlt

Fehler 54: EndIf fehlt


Fehler 55: Loop fehlt

Beschreibung

Dieser Fehler tritt immer dann auf, wenn das passende Loop zu einem Do fehlt. Dies kann zum Beispiel beim händischen Umkopieren von DestinyScript-Code passieren.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ do next;

Siehe auch

DESTINYERROR_MISSINGLOOP
< Zurück
Fehler 54: EndIf fehlt
Weiter >
Fehler 56: Bedingung fehlt

Fehler 55: Loop fehlt


Fehler 56: Bedingung fehlt

Beschreibung

Dieser Fehler tritt immer dann auf, wenn bei einer Do-Loop-Schleife keine Bedingung angegeben wurde.
Information:
Um Endlosschleifen bewusst zu erstellen kann folgende Syntax verwendet werden:
for(;;)
next;

Beispiel

In die Zwischenablage kopieren
1 2 3
$ do loop;

Siehe auch

DESTINYERROR_MISSINGCONDITION
< Zurück
Fehler 55: Loop fehlt
Weiter >
Fehler 57: Next fehlt

Fehler 56: Bedingung fehlt


Fehler 57: Next fehlt

Beschreibung

Dieser Fehler tritt immer dann auf, wenn das passende Next zu einem For fehlt. Dies kann zum Beispiel beim händischen Umkopieren von DestinyScript-Code passieren.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ for(v[1] = 0; v[1] < 10; v[1]++) loop;

Siehe auch

DESTINYERROR_MISSINGNEXT
< Zurück
Fehler 56: Bedingung fehlt
Weiter >
Fehler 58: Case fehlt

Fehler 57: Next fehlt


Fehler 58: Case fehlt

Beschreibung

Dieser Fehler tritt immer dann auf, wenn innerhalb eines Switch kein Case oder Default angegeben wurde.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ switch(v[1]) endswitch;

Siehe auch

DESTINYERROR_MISSINGCASE
< Zurück
Fehler 57: Next fehlt
Weiter >
Fehler 59: EndSwitch fehlt

Fehler 58: Case fehlt


Fehler 59: EndSwitch fehlt

Beschreibung

Dieser Fehler tritt immer dann auf, wenn das passende EndSwitch zu einem Switch fehlt. Dies kann zum Beispiel beim händischen Umkopieren von DestinyScript-Code passieren.
Information:
Nach dem Default-Block können keine weiteren Case-Blöcke mehr angegeben werden. Wird dies dennoch getan, so tritt dieser Fehler ebenfalls auf.

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$ switch(v[1]) default: endif;
DESTINYERROR_MISSINGENDSWITCH
< Zurück
Fehler 58: Case fehlt
Weiter >
Fehler 60: Break ist hier nicht erlaubt

Fehler 59: EndSwitch fehlt


Fehler 60: Break ist hier nicht erlaubt

Beschreibung

Dieser Fehler tritt immer dann auf, wenn Break an einer Stelle durchgeführt wurde, wo dies nicht erlaubt ist. Break darf nur innerhalb von Schleifen und innerhalb einer Switch-Verzweigung durchgeführt werden.

Beispiel

In die Zwischenablage kopieren
1 2
$ break; // Break im globalen Bereich ausführen

Siehe auch

DESTINYERROR_BREAKNOTALLOWEDHERE
< Zurück
Fehler 59: EndSwitch fehlt
Weiter >
Fehler 61: Continue ist hier nicht erlaubt

Fehler 60: Break ist hier nicht erlaubt


Fehler 61: Continue ist hier nicht erlaubt

Beschreibung

Dieser Fehler tritt immer dann auf, wenn Continue an einer Stelle durchgeführt wurde, wo dies nicht erlaubt ist. Continue darf nur innerhalb von Schleifen durchgeführt werden.

Beispiel

In die Zwischenablage kopieren
1 2
$ continue; // Continue im globalen Bereich ausführen

Siehe auch

DESTINYERROR_CONTINUENOTALLOWEDHERE
< Zurück
Fehler 60: Break ist hier nicht erlaubt
Weiter >
Fehler 62: Ungültiges Handle

Fehler 61: Continue ist hier nicht erlaubt


Fehler 62: Ungültiges Handle

Beschreibung

Dieser Fehler tritt immer dann auf, wenn statt eines AuroraSheet-Handles ein anderer Wert übergeben wurde.

Beispiel

In die Zwischenablage kopieren
1 2 3
$ // Den Bildbereich eines anderen AuroraSheets kopieren Picture[1].AuroraSheet.Clone("Dieser Parameter ist kein Handle");

Siehe auch

DESTINYERROR_INVALIDHANDLE
< Zurück
Fehler 61: Continue ist hier nicht erlaubt
Weiter >
Fehler 63: Operator erwartet

Fehler 62: Ungültiges Handle


Fehler 63: Operator erwartet

Beschreibung

Dieser Fehler tritt immer dann auf, wenn innerhalb einer Formel ein Operator (oder ein Semikolon zum Abschließen der Formel) erwartet wird, allerdings keines von beiden angegeben wird.

Beispiel

In die Zwischenablage kopieren
1 2
$ v[1] = 3 5; // Es wurde kein Operator angegeben

Siehe auch

DESTINYERROR_OPERATOREXPECTED
< Zurück
Fehler 62: Ungültiges Handle
Weiter >
Fehler 64: Zugriff auf Speicherslot nicht möglich

Fehler 63: Operator erwartet


Fehler 64: Zugriff auf Speicherslot nicht möglich

Beschreibung

Es ist ein Fehler beim Zugriff auf einen Speicherslot aufgetreten.
Information:
  • Vor dem Laden eines Spielstandes wird geprüft, ob der Speicherslot zum Lesen geöffnet werden kann.
  • Wird beim Speichern eines Spielstandes von der RPG_RT eine Exception geworfen, dann wird statt des DESTINYERROR_EXCEPTION-Fehlers dieser Fehler hier geworfen.
Dies kann ein Fehler des Zielsystems sein (z. B. wenn man nicht die notwendigen Rechte für den Zugriff auf die Datei/den Ordner hat oder wenn beim Speichern das Spielverzeichnis schreibgeschützt ist), kann beim Laden aber auch daran liegen, dass der angegebene Speicherstand nicht existiert.
Information:
Um vor dem Laden eines Speicherstandes zu prüfen, ob dieser existiert, kann die SlotExists-Methode des Game-Objekts benutzt werden.

Siehe auch

DESTINYERROR_CANTACCESSSAVESLOT
< Zurück
Fehler 63: Operator erwartet
Weiter >
Fehler 65: Exception aufgetreten

Fehler 64: Zugriff auf Speicherslot nicht möglich


Fehler 65: Exception aufgetreten

Beschreibung

Es ist ein Fehler in der RPG_RT aufgetreten, wodurch diese eine Exception geworfen hat. Einige Befehle werden an die RPG_RT weitergeleitet (z. B. die Methoden des Command-Objekts). Tritt bei der Ausführung eines solchen Befehls ein schwerwiegender Fehler auf (z. B. weil eine Grafik geladen werden soll, die nicht existiert), dann würde die RPG_RT normalerweise mit einer Fehlermeldung abstürzen. Dieser Absturz (ausgelöst durch die Exception) wurde von der Destiny.dll aufgefangen. Es ist zwar etwas schiefgegangen, doch ist das Fehlen einer Grafik o. ä. meist kein Grund gleich das gesamte Spiel zum Absturz zu bringen...

Siehe auch

DESTINYERROR_EXCEPTION
< Zurück
Fehler 64: Zugriff auf Speicherslot nicht möglich
Weiter >
Fehler 66: Ungültiges Schleifenoperator-Level

Fehler 65: Exception aufgetreten


Fehler 66: Ungültiges Schleifenoperator-Level

Beschreibung

Dieser Fehler tritt immer dann auf, wenn Break oder Continue (inkl. Level-Angabe) nicht auf eine Schleife (oder bei Break auf eine Switch-Verzweigung) verweisen. Die Zählung des Levels beginnt immer bei 1. Die Zahlen von Break und Continue verlaufen immer synchron (also muss innerhalb einer Switch-Verzweigung das Continue-Level ebenfalls um 1 erhöht werden).

Beispiel

In die Zwischenablage kopieren
1 2 3 4
$ for(v[1] = 0; v[1] < 10; v[1]++) continue(2); // 2 verweist auf eine Schleife außerhalb des Fors next;

Siehe auch

DESTINYERROR_INVALIDLOOPOPERATIONLEVEL
< Zurück
Fehler 65: Exception aufgetreten
Weiter >
Fehler 67: Continue verweist nicht auf Schleife

Fehler 66: Ungültiges Schleifenoperator-Level


Fehler 67: Continue verweist nicht auf Schleife

Beschreibung

Dieser Fehler tritt immer dann auf, wenn ein Continue (mit oder ohne Level-Angabe) auf eine Switch-Verzweigung (statt auf eine Schleife) verweist. Continue darf nur auf Schleifen verweisen.

Beispiel

In die Zwischenablage kopieren
1 2 3 4 5
$ switch(v[1]) default: continue(1); // Continue verweist auf Schleife endswitch;

Siehe auch

DESTINYERROR_CONTINUEDOESNTPOINTTOLOOP
< Zurück
Fehler 66: Ungültiges Schleifenoperator-Level
Weiter >
MessageLink

Fehler 67: Continue verweist nicht auf Schleife


MessageLink

Beschreibung

Wurde in eine RPG_RT der MessageLink eingebunden (siehe die entsprechende Option des DestinyPatchers), dann sind einige neue Platzhalter bei der Nachrichtenausgabe für die Speicherbereiche der Destiny.dll vorhanden. Die Formatierung der Platzhalter ist größtenteils identisch mit der Formatierung der Format-Methode des String-Objektes (mit dem kleinen Unterschied, dass ein Backslash ( \ ) davor und ein Index dahinter geschrieben werden).
Insgesamt kommen bei dem MessageLink vier neue Platzhalter hinzu:
  • A für Strings
  • D für Dwords
  • F für Floats
  • ( ... ) für beliebigen Skriptcode
(Die Buchstabenkürzel sind identisch mit denen der Speicherbereiche im DestinyScript-Code.)

Beispiel für eine Nachrichtenbox:
In die Zwischenablage kopieren
1 2 3 4
Der erste String: "\a[1]" Das zweite Dword: \d[2] Der dritte Float: \f[3] Der Name des ersten Helden: \(Actor[1].Name)
Die Formatierung dieser Platzhalter sieht genau so aus, wie die der Standardplatzhalter des RPG-Maker 2000. Jedoch hat jeder dieser drei Platzhalter seine eigenen Eigenschaften.

Der String-Platzhalter

Beschreibung

Der String-Platzhalter wird dazu verwendet den Inhalt einer String-Variablen (a[]) im Nachrichtentext auszugeben.

Achtung:
Zeilenumbrüche im String werden nicht als solche in die Nachrichtenbox übernommen. Dies liegt daran, dass der RPG-Maker intern jede Zeile der Nachrichtenbox einzeln speichert. Statt des Zeilenumbruchs werden dann ein paar Sonderzeichen ausgegeben.

Beispiel

In die Zwischenablage kopieren
1 2
$ a[1] = "Zeile 1" + CRLF + "Zeile 2";
Mit der Nachrichtenbox:
In die Zwischenablage kopieren
1
"\a[1]"
Ergibt folgende Ausgabe:
Ausgabe eines merhzeiligen Strings
Wie man sieht wurden die zwei Zeichen des Zeilenumbruchs (Carriage-Return und Line-Feet) als Pfeile dargestellt. Soll ein String über mehrere Zeilen ausgegeben werden, dann muss dieser erst aufgeteilt werden. Hierfür empfehlen sich die Pos- und die SubStr-Methode des String-Objektes.

Der Dword-Platzhalter

Beschreibung

Der Dword-Platzhalter wird dazu verwendet den Inhalt einer Dword-Variablen (d[]) im Nachrichtentext auszugeben.

Dieser Platzhalter kann Zahlen mit einer Mindestanzahl an Stellen ausgeben. Dafür wird einfach hinter dem Platzhalter-Buchstaben die Mindestanzahl der Stellen angegeben.

Beispiel

In die Zwischenablage kopieren
1 2
$ d[1] = 1500;
Mit der Nachrichtenbox:
In die Zwischenablage kopieren
1 2 3
\d[1] \d6[1] \d2[1]
Ergibt folgende Ausgabe:
Ausgabe von Dwords
  • In der ersten Zeile wurde die Länge der ausgegebenen Zahl automatisch ermittelt.
  • In der zweiten Zeile wurde eine Mindestanzahl an Ziffern angegeben, welche durch die Zahl selbst nicht erreicht werden konnte; daher wurden vorne 2 Nullen angehangen.
  • In der dritten Zeile hat die Zahl die Mindestanzahl an Ziffern überschritten, weshalb diese länger als 2 Ziffern ist.

Der Float-Platzhalter

Beschreibung

Der Float-Platzhalter wird dazu verwendet den Inhalt einer Float-Variablen (f[]) im Nachrichtentext auszugeben.

Dieser Platzhalter kann Zahlen mit einer Mindestanzahl an Vorkommastellen, aber auch einer genauen Anzahl der Nachkommastellen ausgeben. Dafür wird einfach hinter dem Platzhalter-Buchstaben die Mindestanzahl der Vorkommastellen und die Anzahl der Nachkommastellen durch einen Punkt getrennt angegeben.

Beispiel

In die Zwischenablage kopieren
1 2
$ f[1] = 123.456;
Mit der Nachrichtenbox:
In die Zwischenablage kopieren
1 2 3 4
\f[1] \f4[1] \f0.2[1] \f4.4[1]
Ergibt folgende Ausgabe:
Ausgabe von Floats
  • In der ersten Zeile wurde die Länge von Vor- und Nachkommateil der Zahl automatisch ermittelt.
  • In der zweiten Zeile wurde eine Mindestanzahl an Ziffern für den Vorkommateil angegeben, welche durch die Zahl selbst nicht erreicht werden konnte; daher wurde vorne eine Null angehangen.
  • In der dritten Zeile wurden mindestens 0 Ziffern im Vorkommateil (= normaler Modus) und genau 2 Nachkommastellen angegeben.
  • In der vierten Zeile wurden mindestens 4 Vorkomma- und genau 4 Nachkommastellen angegeben, wobei am Vorkommateil eine Null angehangen wurde um die Mindestanzahl an Ziffern zu erreichen.
Information:
Wenn die Zahl so definiert wird, dass gar keine Nachkommastellen vorkommen sollen (z. B. \f0.0[1]), dann wird auch kein Dezimaltrennzeichen ausgegeben.
(Zum Beispiel: 123 von der ursprünglichen Zahl 123,456)

Der Skript-Platzhalter

Der Skript-Platzhalter wird durch eine Klammer-Auf gefolgt von einem Klammer zu angegeben ( ). Innerhalb der Klammern steht hierbei ein Formelausdruck, welcher in einen String konvertiert werden kann.
Achtung:
Es ist nicht möglich auf THIS-Verweise zuzugreifen, da innerhalb der Nachrichtenausgabe diese Information nicht zur Verfügung steht.

Beispiel

Mit der Nachrichtenbox:
In die Zwischenablage kopieren
1 2 3 4
Name: \(Actor[1].Name) Rang: \(Actor[1].Degree) \("Dies ist ein String") Zeit: \(String.Format("D2", Time.Hour) .. ":" .. String.Format("D2", Time.Minute) .. ":" .. String.Format("D2", Time.Second)) Uhr
Der RPG-Maker muss angepasst sein um die letzte Zeile einfügen zu können (ist für den Normalfall etwas zu lang).

Ergibt folgende Ausgabe:
Ausgabe von DestinyScript-Code
< Zurück
Fehler 67: Continue verweist nicht auf Schleife
Weiter >
DestinyDebugger

MessageLink


DestinyDebugger

Beschreibung

Wie bereits beim Destiny.Debugger-Objekt beschrieben gibt es eine Möglichkeit DestinyScript-Code zu debuggen. Hierbei ist es allerdings nicht möglich Skripte anzuhalten/fortzusetzen (die Funktionalität ist also stark eingeschränkt).

Es gibt drei Möglichkeiten um DestinyScript-Code zu debuggen:
  1. Die Fehleranzeige
  2. Der DestinyDebugger
  3. Die Debug-Ausgabe
< Zurück
MessageLink
Weiter >
Fehleranzeige

DestinyDebugger


Fehleranzeige

Beschreibung

Tritt ein Fehler in einem Skript auf, dann wird standardmäßig ein Fenster geöffnet in welchem der Fehler und das verursachende Skript angezeigt werden. Dieses Verhalten lässt sich mit den Objekten Errors und Error[] verändern.

Als Beispiel für die verwendete Grafik sei folgender, fehlerhafter DestinyScript-Code gegeben:

In die Zwischenablage kopieren
1 2 3 4 5 6 7
$

Errors.Resume();  // Bei Fehlern weiterlaufen (werden trotzdem angezeigt)

for(v[1] = 0; v[1] < 5; v[1]++)
  v[2] = 1 / 0;  // Division durch Null (= Fehler)
next;
Wird dieses Skript nun ausgeführt, dann erscheint folgendes Fenster:

Screenshot einer Fehlermeldung

Wichtig ist hierbei die Unterscheidung zwischen OK und dem Button mit dem Kreuz:
  • Bei OK (oder beim gewöhnlichen Fenster-schließen) wird die Meldung nur bestätigt. Wurde wie im Beispiel Errors.Resume() ausgeführt, dann können weitere Fehlermeldungen des gleichen DestinyScript-Codes folgen (hier wird derselbe Fehler fünf Mal aufgrund der Schleife ausgeführt).
  • Bei X (der Schaltfläche neben OK) wird die Meldung bestätigt und das aktuelle DestinyScript abgebrochen (unabhängig davon, ob Errors.Resume() ausgeführt wurde).
< Zurück
DestinyDebugger
Weiter >
DestinyDebugger

Fehleranzeige


DestinyDebugger

Beschreibung

Klickt man bei der Fehleranzeige auf den Button zur Anzeige des DestinyDebuggers oder führt man Destiny.Debugger.Open() aus, dann öffnet sich der DestinyDebugger. Dieser ermöglicht es ähnlich dem Debug-Fenster der RPG_RT den Inhalt von Eigenschaften aller Objekte zu betrachten.

Als Beispiel für die verwendete Grafik sei folgender DestinyScript-Code gegeben:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$
// Einige Variablen initialisieren
v[1] = 123;
a[1] = "Hallo";
a[2] = "Zeile 1" .. CRLF .. "Zeile 2";
Picture[1].LoadFromFile("Cloud");

// Den DestinyDebugger öffnen
Destiny.Debugger.Open();

// Das erste Picture wieder löschen
Picture[1].AuroraSheet.Free();
Während der Ausführung des Skriptes öffnet sich der DestinyDebugger. Man bekommt folgendes Fenster zu sehen:

Screenshot des DestinyDebuggers

Dieses Fenster ist gut sichtbar in zwei Bereiche unterteilt:
  • Links:
    Hier befindet sich eine Baumstruktur zur Auswahl des aktuellen Objekts
  • Rechts:
    Hier befindet sich eine Liste aller Eigenschaften/Konstanten des aktuell ausgewählten Objekts. Hier werden jedoch keine Methoden angezeigt!
Wie auf dem Screenshot zu erkennen ist, sieht man im ersten Augenblick eine leere Liste. Grund hierfür ist, dass in der Baumstruktur (links) noch kein Objekt ausgewählt wurde. Wählt man das oberste Objekt (Destiny.dll) aus (und klappt es auch noch auf), dann sieht die Liste wie folgt aus:

Screenshot des DestinyDebuggers #2

Beispiel zur Betrachtung normaler Werte

Navigiert man beispielsweise das v-Objekt an, so sieht man darunter den Eintrag [...]. Dies entspricht der Liste innerhalb des v-Objekts, also v[]. Wählt man den [...]-Eintrag aus, dann erscheinen in der rechten Liste alle Variablen innerhalb des v[]-Objekts. Wie zu erkennen ist, wird auch der im Beispielskript zugewiesene Wert der ersten Variablen dargestellt:

Screenshot des DestinyDebuggers (v-Objekt ist aufgeklappt)

Beispiel zur Betrachtung von mehrzeiligen Werten

Navigiert man anschließend das a-Objekt an, so hat dies grundsätzlich erstmal den gleichen Aufbau die das v-Objekt. So befindet sich unterhalb des a-Objekts die Liste der Werte (a[]). Wählt man diesen Eintrag aus, so sieht man folgende Einträge:

Screenshot des DestinyDebuggers (a-Objekt ist aufgeklappt)

Wie zu erkennen ist, ist einer der Einträge grün gefärbt. Ist ein Eintrag grün gefärbt, dann bedeutet dies, dass dort ein mehrzeiliger Wert dargestellt wird. Da dies in der Liste (wo jeder Eintrag nur eine Zeile hat) nicht anders darstellbar ist, wird der Eintrag daher eingefärbt.
Möchte man den genauen Wert jedoch sehen, so kann man einen Doppelklick auf die jeweilige Zeile der rechten Liste machen. Dann öffnet sich ein neues Fenster, in welchem der ausgewählte Wert genauer betrachtet werden kann:

Screenshot des Fensters zur Betrachtung eines mehrzeiligen Einzelwertes

Beispiel zur Betrachtung von AuroraSheets

Navigiert man anschließend das Picture-Objekt an, so fällt als erste Änderung auf, dass bei der Auswahl des [...]-Eintrags die rechte Liste leer ist. Stattdessen lässt sich dieser Eintrag erneut aufklappen. Grund dafür ist, dass jeder Eintrag in der Liste der Pictures selbst ein Objekt ist. Daher ist es in diesem Fall nicht möglich die Werte in der rechten Liste als Einzelwerte einfach so darzustellen. Wählt man nun eines der Picture[]-Objekte aus (in dem Beispiel das erste Picture), so kann man die Eigenschaften des ersten Pictures sehen. Eine Besonderheit existiert jedoch bei den AuroraSheet-Objekten. Wählt man das AuroraSheet-Objekt innerhalb des ersten Pictures aus, so sieht man, dass einer der Einträge blau dargestellt wird:

Screenshot des DestinyDebuggers (Picture[1].AuroraSheet ist aufgeklappt)

Dieser Eintrag ist das AuroraSheet-Handle, welches auch zum Kopieren von Grafiken anderer AuroraSheets benötigt wird. Möchte man die Grafik, welche hinter dem AuroraSheet steckt, sehen, so kann man einen Doppelklick auf die jeweilige Zeile der rechten Liste machen. Dann öffnet sich, wie beim vorherigen Beispiel mit dem mehrzeiligen Text, das Fenster zur Betrachtung des Einzelwertes. Hier kann man die Grafik innerhalb des AuroraSheets sehen:

Screenshot des Fensters zur Betrachtung eines AuroraSheet-Handles
< Zurück
Fehleranzeige
Weiter >
Debug-Ausgabe

DestinyDebugger


Debug-Ausgabe

Beschreibung

Verwendet man die Eigenschaften und Methoden des Destiny.Debugger.Output-Objektes, so kann man eine Debug-Ausgabe machen. Hierzu fügt man einfach über die Print-Methode oder die Text-Eigenschaft Text hinzu und zeigt die Ausgabe später über die Show-Methode an.

Als Beispiel für die verwendete Grafik sei folgender DestinyScript-Code gegeben:

In die Zwischenablage kopieren
1 2 3 4 5 6 7 8 9 10 11 12
$

// Den Inhalt der Debug-Ausgabe leeren
Destiny.Debugger.Output.Clear();

// Ein paar Zeilen in die Debug-Ausgabe einfügen
Destiny.Debugger.Output.Print("Zeile 1");
Destiny.Debugger.Output.Print("Zeile 2");
Destiny.Debugger.Output.Print("Zeile 3");

// Die Debug-Ausgabe anzeigen
Destiny.Debugger.Output.Show();
Während der Ausführung des Skriptes öffnet sich das Debug-Ausgabefenster und bekommt folgendes zu sehen:

Screenshot der Debug-Ausgabe

Wie man sieht wird jeder Text, den man hinzugefügt hat, in dem Eingabefeld angezeigt.
< Zurück
DestinyDebugger
Weiter >
Anhang

Debug-Ausgabe


Anhang

  • Änderungen der Skriptsprache
  • Verwendetes Protokoll für Destiny-Sockets
  • Vergleich mit anderen Patches
  • Berechnung von Lower-/Upper-Chips
< Zurück
Debug-Ausgabe
Weiter >
Änderungen der Skriptsprache

Anhang


Änderungen der Skriptsprache

Fehlerkorrekturen von Version 2.0.1.8 im Vergleich zu Version 2.0.0.0

  • Picture[].ActionValue++ verursachte einen Programmabsturz
  • Destiny.Debugger.Output.Text verursachte einen Programmabsturz
  • Aufrufe, wo alle Parameter optional sind, gingen nicht (z. B. Client[].Raw.Recv() oder Keyboard.GetKey())
  • Client[].Raw.Recv() hat den Fehler DESTINYERROR_MEMORY geworfen, wenn keine Daten anstanden und der Zieldatentyp String ist
  • In Server.Accept() wurden einige Werte nicht zurückgesetzt
  • Destiny.Load() ließ Dateihandles offen, sodass ein Destiny-Slot nur einmal je Spiel geladen werden konnte

Erweiterungen von Version 2.0.1.8 im Vergleich zu Version 2.0.0.0

  • Event[].CanMoveTo() hinzugefügt
  • Event[].MoveRoute hinzugefügt

Änderungen von Version 2.0 im Vergleich zu Version 1.0

  • "Double" wurde in allen Beschreibungen durch "Float" ersetzt, da Double und Dword (beides beginnt mit D) für Verwirrung sorgten
  • "Funktion" wurde in allen Beschreibungen durch "Methode" ersetzt, da alle Methoden an Objekte gebunden sind
  • Die Methoden des Logic-Objekts werten Strings jetzt als Leer/Nicht-Leer aus, statt "0" oder "1"
  • String.SubStr() hatte als Startposition negative Werte akzeptiert (jetzt gewollt; wird aber nun anders interpretiert)
  • String.Pos() gibt nun die Startposition zurück, wenn der Suchstring leer ist
  • Der Startpositionsparameter von String.Pos() ist nun optional
  • Der Längenparameter von String.SubStr() ist nun optional
  • String.Fill() nimmt jetzt beliebig viele Zeichen an (Produkt darf 2 GiB nicht überschreiten; die frühere Grenze lag bei 10000)
  • String.WeekdayName() und String.MonthName() haben nun "Sprache" als zusätzlichen, optionalen Parameter
  • Math.Sin() (und ähnliche Methoden) haben den Formatparameter nun als optionalen Parameter (Standardwert ist RAD)
  • Math.Sqrt() hat nun einen zusätzlichen, optionalen Parameter für die Angabe der Wurzeltiefe
  • Math.Round() (und ähnliche Methoden) haben nun den Parameter für die Stelle, auf die gerundet werden soll, als optionalen Parameter
  • Math.Int() hat jetzt das Synonym Math.Integer()
  • Math.Scale() hat jetzt das Synonym Math.Decimal() und Math.Dec()
  • Math.RoundUp() hat jetzt Math.Ceil() als Synonym
  • Math.RoundDown() hat jetzt Math.Floor() als Synonym
  • Keyboard.GetKey() und Keyboard.GetKeyText() haben jetzt einen zusätzlichen, optionalen Parameter, der angibt, wo die Suche nach dem Tastendruck beginnt
  • File[].SetFilePointer() hat nun einen zusätzlichen, optionalen Parameter für den Bezugspunkt
  • File[].WriteRawData() und File[].ReadRawData() haben jetzt den Längenparameter als optionalen Parameter
  • Game.SlotExists() wurde hinzugefügt
  • Convert.Double() hat jetzt das Synonym Convert.Float() (der alte Name ist nun obsolet)
  • Convert.Switch() hat jetzt das Synonym Convert.Bool() (der alte Name ist nun obsolet)
  • Destiny.Language kann jetzt zur Laufzeit verändert werden (dies ging vorher nicht; war allerdings anders (also falsch) dokumentiert)
  • Destiny.Save() hat nun einen zusätzlichen, optionalen Parameter für die Angabe der zu speichernden Speicherbereiche
  • Der Längenparameter von Client[].SendRawData() ist nun optional
  • Der Sockettyp-Parameter von Server.Listen() ist nun optional
  • Picture[].ActionValue wird beim Schreiben nun auf die dritte Nachkommastelle gerundet, damit Winkel wie 90° (die in RPG-Maker Winkelsyntax einen periodischen Bruch ergeben) korrekt dargestellt werden (danke für die Info an Cherry)
  • Der Socketstatus STATE_CLOSING wurde hinzugefügt (um auf Daten eines gerade geschlossenen Sockets zugreifen zu können)
  • Client[].SendRawData() versendet nun nichts, wenn die Länge gleich 0 ist. Vorher wurde die maximale Länge versendet, was aber nicht dokumentiert ist. Fehlt der Parameter, dann wird nun die maximale Länge versendet (der Wert des Parameters ist dann -1).
  • Event[].Dir1 wurde in Event[].DirMove umbenannt (Synonym für Event[].Dir1 wurde hinzugefügt).
  • Event[].Dir2 wurde in Event[].DirLook umbenannt (Synonym für Event[].Dir2 wurde hinzugefügt).
  • String.Chr() nimmt nun auch den Parameter 0 an (Änderung erfolgte in Version 1.0.6)
  • Die Fehlermeldung für ERROR_NOVALUE wurde angepasst, sodass diese sinnvoller ist (Änderung erfolgte in Version 1.0.6)
  • Directory.FindFirst() gibt nun einen Leer-String zurück, wenn keine Datei dem Muster entspricht (Änderung erfolgte in Version 1.0.6)

Erweiterungen von Version 2.0 im Vergleich zu Version 1.0

  • Einige Strukturelelemente wurden hinzugefügt (if, switch, do, for, break, continue, pause, exit)
  • Es wurde die Möglichkeit hinzugefügt Kommentare einzufügen
  • Es wurden zusätzliche Möglichkeiten zur Angabe von Strings hinzugefügt
  • Es wurde die Möglichkeit zur Angabe von Skriptcode im MessageLink hinzugefügt
  • Es wurde ein simpler Debugger hinzugefügt
  • a
    • a.Count wurde hinzugefügt
    • a.ReAlloc() wurde hinzugefügt
  • d
    • d.Count wurde hinzugefügt
    • d.ReAlloc() wurde hinzugefügt
  • f
    • f.Count wurde hinzugefügt
    • f.ReAlloc() wurde hinzugefügt
  • v
    • v.Count wurde hinzugefügt
  • s
    • s.Count wurde hinzugefügt
  • Actor
    • Actor.Count wurde hinzugefügt
    • Actor[]
      • Actor[].Weapon wurde hinzugefügt
      • Actor[].Shield wurde hinzugefügt
      • Actor[].Armor wurde hinzugefügt
      • Actor[].Helmet wurde hinzugefügt
      • Actor[].Accessory wurde hinzugefügt
      • Actor[].Charframe wurde hinzugefügt
      • Actor[].Charset wurde hinzugefügt
      • Actor[].Transparency wurde hinzugefügt
      • Actor[].Faceframe wurde hinzugefügt
      • Actor[].Faceset wurde hinzugefügt
      • Actor[].Default wurde hinzugefügt
      • Actor[].CriticalHitChance wurde hinzugefügt
      • Actor[].FixedEquipment wurde hinzugefügt
      • Actor[].StrongDefense wurde hinzugefügt
      • Actor[].TwoSwordStyle wurde hinzugefügt
      • Actor[].ControlledByAI wurde hinzugefügt
      • Actor[].MaxLevel wurde hinzugefügt
      • Actor[].AttributeEffect wurde hinzugefügt
      • Actor[].LevelAttribute wurde hinzugefügt
      • Actor[].Condition wurde hinzugefügt
      • Actor[].ConditionEffect wurde hinzugefügt
      • Actor[].Skill wurde hinzugefügt
      • Actor[].HasCondition() wurde hinzugefügt
      • Actor[].HasSkill() wurde hinzugefügt
      • Actor[].UseSkillName wurde hinzugefügt
      • Actor[].UnarmedBattleAnimation wurde hinzugefügt
  • Attribute-Objekt wurde hinzugefügt
  • Client
    • Client.Count wurde hinzugefügt
    • Client.ReAlloc() wurde hinzugefügt
    • Client.NextFree() wurde hinzugefügt
    • Client.CloseAll() wurde hinzugefügt
    • Client[]
      • Client[].Destiny wurde hinzugefügt
      • Client[].Raw wurde hinzugefügt
  • Command-Objekt wurde hinzugefügt
  • CommonEvent-Objekt wurde hinzugefügt
  • Condition-Objekt wurde hinzugefügt
  • Destiny
    • Destiny.Implemented() wurde hinzugefügt
    • Destiny.Debugger wurde hinzugefügt
  • Directory
    • Directory.FindLevel wurde hinzugefügt
    • Directory.FindCloseAll() wurde hinzugefügt
  • Error
    • Error.Count wurde hinzugefügt
    • Error.DisableAll() wurde hinzugefügt
    • Error.EnableAll() wurde hinzugefügt
    • Error[]
      • Error[].Raise() wurde hinzugefügt
  • Event und MapEvent
    • Event.Count wurde hinzugefügt
    • Event[]
      • Event[].Name wurde hinzugefügt
      • Event[].Charframe wurde hinzugefügt
      • Event[].FrameSimple wurde hinzugefügt
      • Event[].AuroraSheet wurde hinzugefügt
  • Faceset-Objekt wurde hinzugefügt
  • File
    • File.Count wurde hinzugefügt
    • File.ReAlloc() wurde hinzugefügt
    • File.NextFree() wurde hinzugefügt
    • File.CloseAll() wurde hinzugefügt
  • Game
    • Game.RM2K wurde hinzugefügt
    • Game.RM2K3 wurde hinzugefügt
    • Game.SlotExists() wurde hinzugefügt
  • Item-Objekt wurde hinzugefügt
  • Map
    • Map.AuroraSheet wurde hinzugefügt
    • Map.NumberOfSaves wurde hinzugefügt
    • Map.ScreenX wurde hinzugefügt
    • Map.ScreenY wurde hinzugefügt
    • Map.ScrollType wurde hinzugefügt
  • Math
    • Math.RandSeed wurde hinzugefügt
    • Math.Rand() wurde hinzugefügt
  • Panorama-Objekt wurde hinzugefügt
  • Picture
    • Picture.Count wurde hinzugefügt
    • Picture[]
      • Picture[].Filename wurde hinzugefügt
      • Picture[].LoadFromFile() wurde hinzugefügt (Änderung erfolgte in Version 1.0.6)
      • Picture[].SaveAs() wurde hinzugefügt (Änderung erfolgte in Version 1.0.6)
      • Picture[].AuroraSheet wurde hinzugefügt
  • Screen-Objekt wurde hinzugefügt
  • Skill-Objekt wurde hinzugefügt
  • String
    • String.CompareLex() wurde hinzugefügt

Fehlerkorrekturen von Version 2.0 im Vergleich zu Version 1.0

  • Keyboard.GetKey() konnte wenn keine Taste gedrückt wurde 0 nicht zurückgeben
  • Math.Sin() (und ähnliche Methoden) lösten bei einem ungültigen Format den Fehler DESTINYERROR_RANGE aus (Richtig ist nun: DESTINYERROR_VALUE)
  • Math.Round() (und ähnliche Methoden) akzeptierten krumme Zahlen als Stellenangabe (nun muss eine Ganzzahl als Stellenangabe verwendet werden)
  • Math.Decimal() hat bei dem Fehler DESTINYERROR_FLOATERROR Werte auf dem FPU-Stack gelassen, was zum Absturz des Spieles führen konnte
  • String.Replace() hat bei einem NULL-Zeichen geendet
  • String.Replace() hat ggf. einen NULL-String angelegt
  • String.ToUpper() und String.ToLower() haben NULL-Strings angelegt
  • String.WeekdayName() und String.MonthName() konnten unter besonderen Umständen falsche Fehlermeldungen ausgeben
  • Ein unbedeutender interner Fehler beim Laden von Pictures ist aufgetreten, da ein ehemals reservierter Wert mehrfach verwendet wurde
  • Client[] warf bei einem falschen Index den Fehler DESTINYERROR_VALUE (Richtig ist nun DESTINYERROR_ARRAYBOUND)
  • Bei sämtlichen Client[].RecvId() (und anderen Recv-Methoden) wurde nicht geprüft, ob die Verbindung überhaupt besteht
  • Unter besonderen Umständen wurde beim Empfangen von Daten über das Client-Objekts der Stack ungültig (was zum Absturz des Spieles führte)
  • Convert.Angle() warf bei ungültigen Winkelformaten den Fehler DESTINYERROR_RANGE (Richtig ist nun DESTINYERROR_VALUE)
  • Client[].Connect() und Server.Listen() funktionierten unter besonderen Umständen einfach nicht
  • String.Trim() lieferte falsche Ergebnisse, wenn der übriggebliebene Text nur ein Zeichen lang war
  • String.Pos() lieferte ein falsches Ergebnis zurück, wenn das Ergebnis nur wenige Zeichen groß war und am Ende des Suchstrings vorkam
  • String.Format() hat bei der Formatierung von Gleitkommazahlen nicht immer die richtige Anzahl an Vorkommastellen ausgegeben
  • String.Format() hat bei der Formatierung von der Gleitkommazahl 0.0 immer genau eine Nachkommastelle ausgegeben
  • String.WeekdayName() lieferte im Englischsprachigen für Sonntag (in Kurzform) ein falsches Ergebnis zurück ("Son" statt "Sun") — somit war die alte Version nicht zur RFC-2616 kompatibel
  • String.MonthName() kürzte Juni und Juli für Deutsch und Englisch (in Kurzform) nicht ab — somit war die alte Version nicht zur RFC-2616 kompatibel
  • Wurde das Spiel über eine Verknüpfung mit falschen Arbeitsverzeichnis gestartet, so griffen sämtliche Dateifunktionen (File[] und Directory) auf falsche Verzeichnisse zu
  • Besonders große Gleitkommazahlen wurden bei einer Stringkonvertierung in falscher Expontenzialschreibweise dargestellt (z. B.: Convert.String(123.4 * Math.Exp(100)) ergab 1,234e+12 (korrekt ist jedoch 1,234e+102))
  • Bei der wiederholten Konvertierung von der Gleitkommazahl 0.0 in einen String, wurden Werte auf dem FPU-Stack gelassen, was zum Absturz des Spieles führen konnte
  • In bestimmten Fällen lieferte Client[].State den Wert STATE_CLOSED zurück, produzierte bei einem anschließenden Client[].Connect() aber dennoch einen Fehler (das Socket war geschlossen, das Handle aber noch offen)
  • Destiny.Save() und Destiny.Load() warfen den Fehler DESTINYERROR_RANGE bei zu großen/zu kleinen Werten (Richtig ist nun DESTINYERROR_VALUE)
  • Math.Sin() (und ähnliche Methoden) haben bei einem ungültigem Winkelformat Werte auf dem FPU-Stack gelassen, was zum Absturz des Spieles führen konnte
  • Bei dem Fehler DESTINYERROR_FLOATERROR wären (sofern er mal auftritt) Werte auf dem FPU-Stack zurückgeblieben, was zum Absturz des Spielen führen würde
  • Math.Tan() (und ähnliche Tangens-Methoden) produzierten einen "Division durch Null"-Fehler bei bestimmten Werten
  • Game.Save() und Game.Load() warfen den Fehler DESTINYERROR_RANGE bei einem ungültigen Slot als Parameter (Richtig ist nun DESTINYERROR_VALUE)
  • Game.Save() und Game.Load() brachten das Spiel zum Absturz, wenn das Speichern/Laden fehlschlug (Beim Speichern wird der Fehler jetzt abgefangen; beim Laden wird nun vorher geprüft, ob die entsprechende Datei geöffnet werden kann)
  • Convert.Angle() warf den Fehler DESTINYERROR_RANGE (Richtig ist nun DESTINYERROR_VALUE)
  • Math.Power() und Math.Sqrt() führten bei der Null und bei negativen Zahlen (als Basis) unter Umständen zum Absturz des Spiels
  • Math.Log() (und ähnliche Methoden) führten bei der Null und bei negativen Zahlen zu dem Absturz des Spiels
  • Event[].JumpTime zeigte stets auf einen falschen Wert im Speicher und war somit noch unbrauchbarer als es ohnehin schon ist.
  • Event[].Speed verursachte einen Absturz des Spiels, wenn der Wert zu groß war. Nun ist der Wert auf den Bereich von 1 bis 6 beschränkt.
  • Convert.String() funktionierte nicht richtig (Korrektur erfolgte in Version 1.0.2)
  • Beim Beenden des Spiels ist immer eine Fehlermeldung aufgetreten (Korrektur erfolgte in Version 1.0.2)
  • Bei Windows XP mit SP1 konnte die Maus nicht abgefragt werden (Korrektur erfolgte in Version 1.0.3)
  • Server konnten maximal die Verbindung von einem Client annehmen (Korrektur erfolgte in Version 1.0.6)
  • Game.Load() funktionierte bei AutoStart-Events und PushKey-Events nicht (Korrektur erfolgte in Version 1.0.6)
  • Einige kleinere Fehler bei den Fehlernachrichten wurden behoben (so waren z. B. einige Fehlermeldungen nie auf Englisch) (Korrektur erfolgte in Version 1.0.6)
  • Die Anzahl der Bilder war seitens der Destiny.dll auf 250 begrenzt, was Probleme mit neueren Patches verursachte (Korrektur erfolgte in Version 1.0.8)
  • Unter besonderen Umständen konnten keine Fehlermeldungen mehr angezeigt werden (Korrektur erfolgte in Version 1.0.8)
  • In Verbindung mit String.Chr(0) wurden die Daten bei einer Konkatenation falsch im Speicher hinterlegt (z. B. a[1] = "Test" + String.Chr(0) + "Test2" erzeugte im Speicher für a[1] folgende Daten: "TestTest2" + String.Chr(0)) (Korrektur erfolgte in Version 1.0.10)
  • In Verbindung mit String.Chr(0) funktionierte String.Replace() nicht richtig. (Korrektur erfolgte in Version 1.0.10)
< Zurück
Anhang
Weiter >
Verwendetes Protokoll für Destiny-Sockets

Änderungen der Skriptsprache


Verwendetes Protokoll für Destiny-Sockets

Beschreibung

Das Destiny-Protokoll ist von Bananen-Joe speziell für den RPG-Maker entwickelt worden.
Es bietet die grundsätzlichen Funktionen zum versenden von Variablen, Switches, Dwords, Floats, Words, Bytes und Strings. Diese werden alle mit einer ID assoziiert und teilen sich in 8 Befehle auf (einer für jeden Datentyp + 1 extra für Switches). Alle versendeten Werte werden, wie auf I386-Prozessoren üblich, im "Little Endian"-Format versendet.
Information:
Das Destiny-Protokoll hat sich im Vergleich zum DestinyPatch 1.0 nicht geändert.

Aufbau eines Destiny-Protokoll-Befehls

B IIII W...
Der Aufbau ist recht simpel:
  1. Als erstes wird 1 Byte als Befehl gesendet (rot). Dieser entscheidet über das Format und die Länge des Wertes.
  2. Der erste Parameter des Befehls ist ein Dword (little endian), welcher der assoziierten ID entspricht (blau).
  3. Der zweite Parameter des Befehls ist dann der Wert im jeweiligen Datentyp (lila).

Liste der Destiny-Protokoll-Befehle

Befehlsbyte | Größe des Werts (Byte) | Format des Werts | Befehl | Beschreibung
V | 4 | Signed Dword | Client[].Destiny.SendVariable() | Der Wert einer Variablen (v[])
S | 0 | kein | Client[].Destiny.SendSwitch() | Ein Switch mit dem Wert true (s[])
s | 0 | kein | Client[].Destiny.SendSwitch() | Ein Switch mit dem Wert false (s[])
D | 4 | Signed Dword | Client[].Destiny.SendDword() | Der Wert eines Dwords (d[])
F | 8 | Float (Double) | Client[].Destiny.SendFloat() | Der Wert eines Floats (f[])
W | 2 | Signed Word | Client[].Destiny.SendWord() | Der Wert eines Words
B | 1 | Unsigned Byte | Client[].Destiny.SendByte() | Der Wert eines Bytes
A | 1 + n Bytes | Siehe Stringformat | Client[].Destiny.SendString() | Der Wert eines (kurzen) Strings (a[])

Stringformat

Bei dem Stringformat handelt es sich bei den Daten natürlich nicht um Zahlen, daher wird das Format etwas anders gewählt. Das erste Byte (nach dem Index) gibt die Länge des Strings an. Die nachfolgenden Bytes sind der Inhalt des Strings.

Hieraus lässt sich die Schwäche dieses Formats erkennen: Da die Längenangabe über ein Byte geschieht, ist die maximale Länge eines zu versendenden Strings 255 Zeichen.
Grund dieser Beschränkung war die Vereinfachung des Programmcodes.
(Das heißt der Programmierer war zu faul sich eine bessere Lösung einfallen zu lassen...)
Information:
Um Strings mit größerer Länge zu versenden kann man tricksen, indem man beispielsweise den String in Teile mit je 255 Zeichen aufteilt (außer dem letzten Teil, welcher kürzer sein kann). Die nachfolgenden Teile kann man mit der ID 0 versenden, sodass der später empfangene Wert an den vorherigen String angehangen werden kann.

Beispiele

Folgende Beispiele beziehen sich auf die Sende-Methoden des Client[].Destiny-Objekts.

SendVariable

In die Zwischenablage kopieren
1 2
$ Client[0].SendVariable(1, 2);
Das Ergebnis des SendVariable-Beispiels würde folgendes Datenpaket erzeugen (Hex-Dump):
56 01 00 00 00 02 00 00 00

SendSwitch

In die Zwischenablage kopieren
1 2 3
$ Client[0].SendSwitch(100, true); Client[0].SendSwitch(-200, false);
Das Ergebnis des SendSwitch-Beispiels würde folgendes Datenpaket erzeugen (Hex-Dump):
53 64 00 00 00
73 38 FF FF FF

SendDword

In die Zwischenablage kopieren
1 2
$ Client[0].SendDword(10000, 0x12345678);
Das Ergebnis des SendDword-Beispiels würde folgendes Datenpaket erzeugen (Hex-Dump):
44 10 27 00 00 78 56 34 12

SendFloat

In die Zwischenablage kopieren
1 2
$ Client[0].SendDouble(0xAABBCCDD, Math.Pi);
Das Ergebnis des SendDouble-Beispiels würde folgendes Datenpaket erzeugen (Hex-Dump):
46 DD CC BB AA 18 2D 44 54 FB 21 09 40

SendWord

In die Zwischenablage kopieren
1 2
$ Client[0].SendWord(0x987654, 100);
Das Ergebnis des SendWord-Beispiels würde folgendes Datenpaket erzeugen (Hex-Dump):
57 54 76 98 00 64 00

SendByte

In die Zwischenablage kopieren
1 2
$ Client[0].SendByte(0xD0C0B0A0, 3);
Das Ergebnis des SendByte-Beispiels würde folgendes Datenpaket erzeugen (Hex-Dump):
42 A0 B0 C0 D0 03

SendString

In die Zwischenablage kopieren
1 2
$ Client[0].SendString(1111111, "Hallo");
Das Ergebnis des SendString-Beispiels würde folgendes Datenpaket erzeugen (Hex-Dump):
41 47 F4 10 00 05 48 61 6C 6C 6F
< Zurück
Änderungen der Skriptsprache
Weiter >
Vergleich mit anderen Patches

Verwendetes Protokoll für Destiny-Sockets


Vergleich mit anderen Patches

Einleitung

Dieses Dokument soll einen kurzen Überblick über die heutzutage gängigsten Patches für den RPG-Maker machen und die Unterschiede zwischen jenen Patches und dem DestinyPatch anreißen.

Power Patch

Allgemeines

Dieser Patch wurde von Cherry entworfen (http://www.cherrytree.at/) und ermöglicht eine Vielzahl von Funktionen. Als Skriptsprache wird hier Lua verwendet, welche auch bei manchen anderen Programmen zur Verfügung steht. Als Besonderheit ist hier anzumerken, dass der Patch nicht die RPG_RT verändert sondern den Programmspeicher zur Laufzeit modifiziert. Somit läuft der Skriptcode parallel zu den Eventbefehlen ab (zur Synchronisierung müssen also Wartezeiten eingehalten werden). Neben dem Power Patch hat Cherry auch eine Vielzahl anderer Patches entworfen, wie den Hyper Patcher (1 und 2), den Power Patch Compact, den CharExpandPatch, der PicPointerPatch, usw. Einige dieser Patches verfügen über eine andere und/oder größere Funktionalität. Mit manchen dieser Patches (jene, welche die RPG_RT ebenfalls verändern) ist der DestinyPatch nicht (oder nur zufällig) kompatibel.

Vergleich mit dem DestinyPatch 2.0

Scripting | Power Patch | DestinyPatch
Verarbeitung des Skriptcodes (im Vergleich zu Events) | parallel | seriell
Verzweigungen | ja | ja
Schleifen | ja | ja
Eigene Funktionen | ja | nein
Eigene Klassen | nein | nein
Skripte einbinden | ja | nein
Verfügbare Funktionen | Power Patch | DestinyPatch
Mathematik | ja (mit StdLib-Plugin) | ja
Strings | ja (mit StdLib-Plugin) | ja
Logische Operationen | ja | ja
Binäre Operationen | nein | ja
Zugriff auf System | Power Patch | DestinyPatch
Maus | ja | ja
Tastatur | ja | ja
Uhrzeit | ja | ja
Dateien | ja | ja
Programme ausführen | ja | nein
Internet | nein | ja (nur TCP/IP)
Zugriff auf RPG_RT | Power Patch | DestinyPatch
Variablen / Switches | ja | ja
Events | nein | ja
Event-Befehle | nein | ja
Karte | nein | ja
Panorama | nein | ja
Pictures | teilweise (mit Propertymaps- und DrawText-Plugin) | ja
Spieldatenbank | teilweise (auf Helden mit HeroAccess-Plugin) | teilweise (Helden, Items, Techniken, Attribute, Konditionen und CommonEvents)
Spiel (Speichern/Laden) | teilweise (nur über simulierte Tastendrücke) | ja
RPG-Maker Versionen | Power Patch | DestinyPatch
RPG-Maker 2000 | alle | teilweise (nur 1.0.7)
RPG-Maker 2003 | alle | keine

Inelukis Tastenpatch

Allgemeines

Inelukis Tastenpatch wurde von Ineluki (keine Website bekannt) entworfen und war der erste populäre/relevante Patch für den RPG-Maker, da dieser es erstmalig erlaubte den Funktionsumfang des RPG-Makers zu erweitern. So ist es, wie der Name vermuten lässt, möglich auf sämtliche Tasten der Tastatur zuzugreifen. Zudem ist ein Zugriff auf die Maus möglich.

Scripting

Das Scripting erfolgt über präparierte WAV-Dateien, welche dann entsprechend interpretiert werden. Die Ausführung einer solchen WAV-Datei geschieht über Event-Befehle, somit läuft die Verarbeitung seriell ab (also das Spiel läuft erst weiter, wenn das Skript abgearbeitet ist). Um eine echte Skriptsprache handelt es sich hierbei jedoch nicht, da das "Scripting" hier über INI-Dateien abläuft, welche aufeinander verweisen können.

Vergleich mit dem DestinyPatch 2.0

Scripting | Tastenpatch | DestinyPatch
Verarbeitung des Skriptcodes (im Vergleich zu Events) | seriell | seriell
Verzweigungen | nein | ja
Schleifen | nein | ja
Eigene Funktionen | nein | nein
Eigene Klassen | nein | nein
Skripte einbinden | ja | nein
Verfügbare Funktionen | Tastenpatch | DestinyPatch
Mathematik | nein | ja
Strings | nein | ja
Logische Operationen | nein | ja
Binäre Operationen | nein | ja
Zugriff auf System | Tastenpatch | DestinyPatch
Maus | ja | ja
Tastatur | ja | ja
Uhrzeit | nein | ja
Dateien | nein (Logmeldungen sind jedoch möglich) | ja
Programme ausführen | ja | nein
Internet | nein | ja (nur TCP/IP)
Zugriff auf RPG_RT | Tastenpatch | DestinyPatch
Variablen / Switches | teilweise (nur Schreiben von Variablen) | ja
Events | nein | ja
Event-Befehle | nein | ja
Karte | nein | ja
Panorama | nein | ja
Pictures | nein | ja
Spieldatenbank | nein | teilweise (Helden, Items, Techniken, Attribute, Konditionen und CommonEvents)
Spiel (Speichern/Laden) | nein | ja
RPG-Maker Versionen | Tastenpatch | DestinyPatch
RPG-Maker 2000 | alle (RPG_RT Value! muss umgepatcht werden) | teilweise (nur 1.0.7)
RPG-Maker 2003 | alle (manche nur mit Umpatchen der RPG_RT) | keine

Disharmony

Allgemeines

Dieser Patch wurde von derula entworfen (http://www.uglyhorst.de/) und verbessert die Musikwiedergabe des RPG-Makers. Dieser Patch enthält zwar selbst keine Skriptsprache, ist aber mit Inelukis Tastenpatch kompatibel. Disharmony bringt eine eigene Engine zur Musikwiedergabe mit und wird als Ersatz für die Harmony.dll des RPG-Makers genutzt. Diese Engine unterstützt eine Vielzahl von Formaten (unter anderen MP3 und OGG). Sämtliche Besonderheiten der Midis (wie z. B. RPG-Maker eigene MIDI-Befehle um Schleifen zu setzen) wurden bei der Neuentwicklung auch berücksichtigt. Zudem ist die Musikwiedergabe von Midis mit Disharmony fehlerfreier: Zum Beispiel kann eine MIDI den "Pitch" von Instrumenten der Musikwiedergabe umstellen. Bei Disharmony wird diese Einstellung beim Wechsel von Midis korrekterweise zurückgesetzt, bei der Harmony.dll von Enterbrain geschieht dies jedoch nicht (somit hört manchmal sich eine Hintergrundmusik, die nach einer anderen Hintergrundmusik abgespielt wird, falsch an).
< Zurück
Verwendetes Protokoll für Destiny-Sockets
Weiter >
Berechnung von Lower-/Upper-Chips

Vergleich mit anderen Patches


Berechnung von Lower-/Upper-Chips

Das Chipset lässt sich im Groben in 6 Blöcke unterteilen:
  • Block A: Animiertes, normales Wasser
  • Block B: Animiertes, tiefes Wasser
  • Block C: Animierte Felder mit 4 Frames (z. B. ein Wasserfall)
  • Block D: Felder, dessen Ränder sich dem Gebrauch anpassen (z. B. Hohes Gras, Wüste mit Grasrand, ...)
  • Block E: Einzelfelder aus dem Lower-Chip-Bereich
  • Block F: Einzelfelder aus dem Upper-Chip-Bereich

Block A

Die Beschreibung hierzu ist derzeit noch nicht verfügbar.

Block B

Die Beschreibung hierzu ist derzeit noch nicht verfügbar.

Block C

Block C eines Chipsets

Hier sind die verwendeten Werte einfach gemäß der Grafik als Tabelle zu entnehmen.

Block D

Block D eines Chipsets

Hier wird ein Feld gemäß folgender Formel berechnet:
ID = 3950 + Block * 50 + Offset
Wobei Block im Bereich von 1 bis 12 liegt. Offset liegt entsprechend der Grafik im Bereich von 0 bis 46.

Block E

Block E eines Chipsets

Hier sind die verwendeten Werte einfach gemäß der Grafik als Tabelle zu entnehmen.

Block F

Block F eines Chipsets

Hier sind die verwendeten Werte einfach gemäß der Grafik als Tabelle zu entnehmen.
< Zurück
Vergleich mit anderen Patches
Weiter >
Schlusswort

Berechnung von Lower-/Upper-Chips


Schlusswort

Schlusswort von Version 1.0

Zum Grande Finale dieser Anleitung wollte ich noch eine Rezension über den DestinyPatch, sowie dessen Entwicklung, zufügen. Die Idee einen Patch für den RPG Maker 2000 zu schreiben hatte ich bereits vor einigen Jahren, allerdings fehlten mir damals noch die nötigen Kenntnisse um etwas handfestes zu entwickeln. Ich hatte versucht eine Lösung mit einer zweiten Exe-Datei zu entwickeln, welche die Speicherwerte der echten Exe-Datei ausliest und bearbeitet. Diese Lösung hat natürlich erhebliche Probleme mit sich gezogen, nicht nur wegen der Performance, sondern auch wegen den unterschiedlichen Speicheradressen der verschiedenen RPG_RT.exe. Zudem wäre ein weiteres Problem gewesen, dass der Überwachungsprozess gewissermaßen parallel gelaufen hätte und eine Einbindung auf manchen System sicherlich Probleme bereitet hätte.

Zur damaligen Zeit hatte ich allerdings die Idee entwickelt, dass ein Patch, welcher die Inhalte des Kommentar-Befehls auslesen könnte, optimal wäre. Dies hätte zum einen den Vorteil, dass sämtliche Befehle, die der Patch ausführen soll, im RPG-Maker eingegeben werden und zum anderen den Vorteil, dass die Ausführung eines Events während der Ausführung eines Patch-Befehls unterbrochen wird.

Drei Jahre später (Ende 2005 - zu der Zeit hatte ich schon einiges mehr an Wissen über Exe-Dateien erlangt sowie die Programmiersprache Assembler erlernt) hatte ich meine alte Idee nochmal aufgegriffen und angefangen den DestinyPatch zu entwickeln. Dafür habe ich die RPG_RT.exe disassembliert und anschließend per Hand (und mit Hilfe eines Hex-Editors) gepatcht. Der Patch von damals war zwar funktionstüchtig, allerdings auch unglaublich bescheiden, da beispielsweise kein richtiger Formelinterpreter vorhanden war. Ebenfalls machten mir einige Funktionen, wie zum Beispiel das Deaktivieren der F12-Taste, arge Probleme. Und da der Patch eher eine Zumutung als eine Hilfe war, habe ich das Projekt damals auf Eis gelegt.

Anfang 2007 bin ich nochmal in den Genuss gekommen ein Spiel für einen Freund zu modifizieren (mehr Leben, etc.) — und dabei hatte ich Blut geleckt. Daher habe ich damals das Projekt wieder aufgenommen und komplett überarbeitet. Doch diesmal bin ich mit Struktur rangegangen! So habe ich zum Beispiel für den Formelinterpreter mehrere Struktogramme entworfen, was die Arbeit wirklich ungemein vereinfacht hat. Zudem haben sich die Probleme wie die F12-Taste direkt beim ersten Anlauf beheben lassen. Manchmal ist es halt doch praktisch eine (kurze) Pause einzulegen. Das gesamte Jahr 2007 habe ich kontinuierlich (d. h. mindestens 1 Stunde pro Woche) an dem Patch weitergeschrieben, bis er schließlich Ende 2007 fertig war.

Der schwierigste Teil des Projektes, war jedoch der Entwurf dieser Hilfedatei hier, da das Schreiben linguistischer (und vorallem verständlicher) Texte wesentlich schwieriger ist als das Entwerfen von Code, welcher beispielsweise auf den Stack seiner Mutterprozeduren zugreift und diesen verwaltet. Jedoch hat das Dokumentieren des Patches auch Vorteile gebracht, da mir während des Schreibens einige unsinnige Funktionen aufgefallen sind, welche entfernt wurden, sowie einige sinnvolle Funktionen, die noch gar nicht eingebaut wurden (z. B. die If-Methode). Im Nachhinein sind mir auch einige überflüssige Funktionen aufgefallen, welche ich bei der ersten Projektlaufzeit (2005) eingebaut habe, aber dennoch dringelassen habe, da sie unter Umständen minimal nützlich sein könnten (wer braucht bitteschön einen Arkussekans?!).

Nun (Anfang 2008) ist der Patch geprüft und erstmal fertig. Ob neue Versionen rauskommen werden ist unklar, da es auch von der Resonanz der Benutzer abhängt, ob weitere Funktionen gewünscht sind, bzw. ob neue Versionen nötig sind. Zudem würden sich viele Leute wohl neue Funktionen wünschen, welche so schwer einzubauen sein werden, dass das Schreiben eines neuen Makers einfacher (und sowieso sinnvoller) wäre.

Nun auf jeden Fall wünsche ich allen Leuten, die (trotz der inzwischen veralteten RPG Maker 2000 Version) den Patch nutzen wollen viel Spaß dabei!

Schlusswort von Version 2.0

Mit dem Release des DestinyPatches 1.0 hatte ich stärkeren Kontakt zu anderen Patch-Herstellern gewonnen. Zum einen zu Cherry, welcher den Hyper-Patch entwickelt und zu derula, welcher Disharmony entwickelt. In der nachfolgenden Zeit hatte ich regen Kontakt zu beiden und wir haben auch gegenseitig Informationen ausgetauscht.

Mitte/Ende 2008 habe ich dann mit der Entwicklung der Nachfolgeversion des DestinyPatches 1.0 begonnen. Anfangs hatte die Nachfolgeversion noch die Versionsnummer 1.1 und sollte nur einige kleinere Änderungen beinhalten. Wie das aber nunmal so ist, wachsen die Ansprüche, sodass ich mich dazu entschied das Kernsystem von Grund auf neu zu entwickeln und die bestehende Funktionalität dahin zu portieren.

Ich entschied mich daher die zwei Projekte "DestinyScript" und "DestinyPatcher" neu aufzuziehen.
Der Beginn war "DestinyScript" (Destiny.dll), welches ich wieder in Assembler schrieb. Wesentliche Änderung sollte sein, dass die vereinfachte Skriptsprache mächtiger wird, also die Unterstützung von Strukturelementen wie if, do, for, ... und eben auch Unterobjekte zur Strukturierung. Mit ein bisschen Denken und ein paar Struktorgrammen ließen sich die dafür notwendigen Algorithmen auch schnell entwerfen.
Zu ungefähr dieser Zeit war meine Ausbildung zuende. Aufgrund der Wirtschaftskrise konnte ich nicht übernommen werden, sodass ich daraufhin einige Monate arbeitslos war. In dieser Zeit habe meine Zwangsfreizeit dazu genutzt viele der bestehenden Objekte in DestinyScript zu portieren und neue hinzuzufügen.

Später wechselte ich vom aktiven Projekt "DestinyScript" zum "DestinyPatcher" um diesen neu zu schreiben. Hierzu verwendete ich wieder C++ (MinGW) allerdings diesmal mit Code::Blocks als mit dem ausgestorbenen Dev-CPP. Im Zuge der Überarbeitung entschied ich mich das Dialogkonzept komplett zu überarbeiten. So war das Programm nun nicht mehr Frame-basiert (CreateWindowEx) sondern Dialog-basiert (CreateDialog). Dieses Vorgehen machte zwar pixelgenaue Arbeiten schwieriger, vereinfachte jedoch einige andere Aufrufe (z. B. kann man nun problemlos die Tab-Taste verwenden um zwischen den Steuerelementen hin und her zu schalten). Des Weiteren entschied ich mich die DFI-Skriptsprache (das sind die Dateien im Identify-Ordner des Patchers, welche dem Patcher sagen, wie er eine EXE-Datei zu bearbeiten hat) nicht mehr in Binärcode zu kompilieren. Dies geschieht nun automatisch beim Start des DestinyPatchers.

Ende 2009 entschied ich mich das Projekt "DestinyScript" in C++ neu zu schreiben. Einige der Konzepte erschienen mir inzwischen als veraltet, außerdem ist Assembler manchmal etwas wartungsintensiv. Anfang 2010 merkte ich, dass die C++-Variante sehr aufandsreich werden würde, da der bereits umgesetzte Code in Assembler doch mengenmäßig sehr viel war. Ich überlegte mir daher DestinyScript (die Sprache; also nicht die Objekte) sterben zu lassen und stellte im Forum eine demokratische Umfrage mit einigen Alternativen. Die meisten Leute stimmten für die Skriptsprache Lua, welche auch beim Hyper-Patch von Cherry verwendet wird. Daraufhin hatte ich mir Lua genauer angesehen um zu dem Schluss zu kommen, dass ich diese Sprache überhaupt nicht mag, bzw. dass einige Konzepte dieser Sprache einfach nicht mit dem bisherigen System in Einklang zu bringen sind. Drum ging ich demokratisch vor und entschied mich dazu das Abstimmungsergebnis einfach zu ignorieren. Nach weiterer Überlegung kam ich zu dem Schluss, dass der bisherige Code in Assembler mengenmäßig so viel war, dass eine Überarbeitung wohl das Einfachste (und schnellste) wäre.

Zu dieser Zeit fing ich an mit der Dokumentation des DestinyPatches 2.0 zu beginnen. Im Unterschied zur vorherigen Dokumentation wollte ich die Dokumentation über XML-Dateien generieren lassen. In der vorherigen Version hatte ich die HTML-Dokumente von Hand erstellt, was teilweise auch Fehler mit sich zog. Das Erstellen der Dokumentation wuchs letztendlich so stark an, dass sich daraus ein eigenes Projekt entwickelte.

Beim Dokumentieren fiel mir jedoch auf, dass noch einige Punkte vom DestinyScript und DestinyPatcher überarbeitet werden sollten. Ich fing daher an eine Liste aller noch offenen Punkte zu erstellen; diese Liste war/ist als "Meilensteinplan" innerhalb der Projektseite des DestinyPatches einzusehen. Vorteil dieses Vorgehens war zum einen eine bessere Struktur und zum anderen das Einbinden der noch aktiven (und interessierten) Teile der RPG-Maker Community. Anhand dieser Liste fing ich an die Projekte DestinyScript und DestinyPatcher erheblich zu verbessern, zu strukturieren und gefundene Fehler auszumerzen. So entstand auch das kleine, überschaubare Teilprojekt des Präprozessors, welcher beim Kompilieren der Destiny.dll die erstellten Eigenschaften/Methoden und innerhalb der Skriptsprache zur Verfügung stellt.

Nachdem alle offenen Punkte der Projekte DestinyScript und DestinyPatcher abgearbeitet waren, "frierte" ich jene Teile im Meilensteinplan ein und wollte nur noch die Dokumentation fertigstellen.
Diese letzte große Phase der Dokumentation zog sich wie Kaugummi. Diese Phase ging etwa anderthalb Jahre und beinhaltete im Wesentlichen die Dokumentation des Patches. Allerdings entdeckte ich beim Dokumentieren und Testen auch immer neue Fehler oder wichtige Funktionen, welche fehlten. Daraufhin korrigierte ich die Fehler und ergänzte die fehlenden Funktionen, was mehr oder minder zusätzliche Zeit kostete.

Nun allerdings — ca. 4 Jahre nach dem Release des DestinyPatches 1.0 — kann ich den DestinyPatch 2.0 präsentieren. Einige Konzepte mögen veraltet sein, doch immerhin ist der Release nach vier Jahren nun endlich mal fertig.

Was ich hoffe ist, dass ich nicht zu lange gebraucht habe, schließlich sind vier Jahre eine sehr lange Zeit. Die meisten Leute, welche damals den DestinyPatch benutzt haben, haben inzwischen mit dem Makern wieder aufgehört.
Den restlichen Leuten und jene, die neu hinzugekommen sind, wünsche ich jedoch viel Spaß und Erfolg mit der neuen Version des Patches!
< Zurück
Berechnung von Lower-/Upper-Chips
Weiter >
Impressum

Schlusswort


Impressum

Der gesamte DestinyPatch (DestinyScript und DestinyPatcher), sowie diese Anleitung hier wurden von David Gausmann (alias Bananen-Joe) entworfen.
Mein Dank geht zudem an MagicMaker, der mir Verbesserungsvorschläge und Grafiken zukommen ließ, welche auch hier in die Hilfe eingeflossen sind.

Bei Fragen (die nicht mit dieser Anleitung beantwortet werden konnten), Anmerkungen und Kritik könnt ihr mich gerne über die E-Mailadresse: destinydll [at] bananen-joe [punkt] de kontaktieren.

Und werft mal einen Blick auf meine Homepage!
http://www.bananen-joe.de/

Viel Spaß noch — euer Bananen-Joe. Bananen-Joe
< Zurück
Schlusswort
Weiter >

Impressum