Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
daedalus:interessante_funktionen [2015/08/18 22:15]
127.0.0.1 Externe Bearbeitung
daedalus:interessante_funktionen [2016/12/31 10:13] (aktuell)
milky-way Titel hinzugefügt
Zeile 1: Zeile 1:
 +====== 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. 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.
  
-== STARTUP_<​Name der ZEN> ==+==== 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. ​ 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> ==+=== 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. 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.
  
-[[Kasten G2]]+=== ZS_Dead ===
  
-== STARTUP_GLOBAL ==+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. 
  
-Wird immer direkt vor STARTUP_<​Name der ZEN> für jede Welt aufgerufen.+=== ZS_MM_Attack ===
  
-== INIT_GLOBAL ==+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.
  
-Wird immer direkt vor INIT_<​Name der ZEN> für jede Welt aufgerufen.+=== ZS_Attack ===
  
-== PLAYER_HOTKEY_SCREEN_MAP ==+Wie ZS_MM_Attack,​ nur für Menschen.
  
-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. ​+=== B_AssessDamage ===
  
-== PLAYER_HOTKEY_LAME_POTION ==+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
  
-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.+=== B_AssessMagic ===
  
-== PLAYER_HOTKEY_LAME_POTION ==+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.
  
-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.+=== PC_Sleep ===
  
-[[Kasten Ende]]+Wird aufgerufen, wenn der Spieler sich hinlegt und schläft. Nett, wenn im Schlaf etwas passieren soll.
  
-== ZS_Dead ​==+==== Nur Gothic 2 ====
  
-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. +=== STARTUP_GLOBAL ===
  
-== ZS_MM_Attack ==+Wird immer direkt vor STARTUP_<​Name der ZEN> für jede Welt aufgerufen.
  
-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.+=== INIT_GLOBAL ===
  
-== ZS_Attack ==+Wird immer direkt vor INIT_<​Name der ZEN> für jede Welt aufgerufen.
  
-Wie ZS_MM_Attack,​ nur für Menschen.+=== PLAYER_HOTKEY_SCREEN_MAP ===
  
-== B_AssessDamage ==+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. ​
  
-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+=== PLAYER_HOTKEY_LAME_POTION ===
  
-== B_AssessMagic ==+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.
  
-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.+=== PLAYER_HOTKEY_LAME_POTION ===
  
-== PC_Sleep == +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 getrunkenAllerdings kann man die Funktion beliebig anpassen, wenn man für seine Mod eine interessantere Funktion realisieren will.
- +
-Wird aufgerufen, wenn der Spieler sich hinlegt ​und schläftNett, wenn im Schlaf etwas passieren soll.+
daedalus/interessante_funktionen.1439928935.txt.gz · Zuletzt geändert: 2016/02/06 13:45 (Externe Bearbeitung)