Benutzer-Werkzeuge

Webseiten-Werkzeuge


Interessante Funktionen

Auf dieser Seite finden sich zahlreiche in den Original-Gothic-Skripten vorkommende Funktionen samt einer kurzen Erläuterung, wann diese aufgerufen werden. Diese Liste soll im Meer von Skript-Dateien eine Orientierungshilfe sein, welche Funktionen besonders interessant für eine Anpassung sind.

Gothic 1 und 2

STARTUP_<Name der ZEN>

Wird aufgerufen, sobald der Spieler die Welt zum ersten Mal betritt. Danach nie wieder, auch nicht nach dem Laden! In diese Funktion kommen unter anderen die Wld_InsertNpc und Wld_InsertItem - Befehle hinein. Will man einen Zeitverlust simulieren (z.B. bei der ersten Reise durch die verlassene Mine oder durchs Tor nach Jhakendar), kann ein Wld_Settime eingesetzt werden.

INIT_<Name der ZEN>

Wird jedes Mal aufgerufen, wenn die Welt geladen wird. Hier werden Mob-Tagesabläufe definiert (Lagerfeuer gehen nachts an etc), das Verhalten zwischen den einzelnen Gilden initialisiert, Räume den Gilden zugewiesen etc. Auch ein Kapitelwechsel kann hier durchgeführt werden.

ZS_Dead

Wird aufgerufen, sobald ein NSC/Monster stirbt. In self befindet sich der Tote, in other sein Mörder (falls vorhanden). Die XP-Vergabe und Respawns können hier kontrolliert werden. Eignet sich auch gut, wenn nach dem Tod einer bestimmten Person sofort etwas passieren soll (z.B. Tagebucheintrag) oder man das Inventar anpassen will.

ZS_MM_Attack

Kontrolliert zusammen mit ZS_MM_Attack_Loop das Verhalten aller Monster im Kampf. Dazu zählt auch die Verfolgung. Damit lassen sich viele schöne Dinge machen.

ZS_Attack

Wie ZS_MM_Attack, nur für Menschen.

B_AssessDamage

In G1 heißt diese Funktion ZS_ReactToDamage. Auch wenn diese Funktionen eigentlich dazu gedacht sind, NSC die Möglichkeit zu geben, auf Schaden mit Nah- oder Fernkampfwaffen zu reagieren, kann man sie auch missbrauchen, um besondere Schadensarten umzusetzen. Beispiele: Beliars Klaue oder Schaden, wenn man versucht, Geister anzugreifen. Beim Aufruf der Funktion ist self das Opfer des Angriffs und other der Angreifer

B_AssessMagic

Wird aufgerufen, wenn ein NSC (self) von einem Zauber getroffen wird. In other steht der Magier, der den Zauber geworfen hat. In G2 kann man mit Npc_GetLastHitSpellID(self) genau feststellen, welcher Zauber den NSC getroffen hat. In G1 geht das leider nur ungenauer mit Npc_GetActiveSpell(other). In dieser Funktion können die Auswirkungen von bestimmten Zaubern skriptseitig kontrolliert werden.

PC_Sleep

Wird aufgerufen, wenn der Spieler sich hinlegt und schläft. Nett, wenn im Schlaf etwas passieren soll.

Nur Gothic 2

STARTUP_GLOBAL

Wird immer direkt vor STARTUP_<Name der ZEN> für jede Welt aufgerufen.

INIT_GLOBAL

Wird immer direkt vor INIT_<Name der ZEN> für jede Welt aufgerufen.

PLAYER_HOTKEY_SCREEN_MAP

Wird aufgerufen, wenn der Spieler die Taste M drückt. Soll eine Karteninstanz zurückgeben, welche dann angezeigt wird. Gibt die Funktion Null oder einen negativen Wert zurück, versucht Gothic, ItWr_Map_<Name der Welt> zu öffnen. Hat der Spieler dieses Item nicht im Inventar, passiert überhaupt nichts. Erstellt man neue Welten und/oder Karten, sollte man diese Funktion anpassen, damit M auch die Neuerungen berücksichtigt.

PLAYER_HOTKEY_LAME_POTION

Diese Funktion wird aufgerufen, wenn in der Gothic.ini usePotionKeys auf 1 steht und der Spieler die Manatranktaste (normalerweise P) drückt. Im Originalscripten wird dann der stärkste Manatrank schnell getrunken. Allerdings kann man die Funktion beliebig anpassen, wenn man für seine Mod eine interessantere Funktion realisieren will.

PLAYER_HOTKEY_LAME_POTION

Diese Funktion wird aufgerufen, wenn in der Gothic.ini usePotionKeys auf 1 steht und der Spieler die Heilttranktaste (normalerweise H) drückt. Im Originalscripten wird dann der stärkste Heiltrank schnell getrunken. Allerdings kann man die Funktion beliebig anpassen, wenn man für seine Mod eine interessantere Funktion realisieren will.

daedalus/interessante_funktionen.txt · Zuletzt geändert: 2016/12/31 10:13 von milky-way