Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
daedalus:interessante_funktionen [2015/08/18 20:15] 127.0.0.1 Externe Bearbeitung |
daedalus:interessante_funktionen [2026/02/05 10:19] (aktuell) 193.170.238.43 (wortwörtlich) Doppelten Absatz entfernt (copy paste fehler) |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Interessante Funktionen ====== | ||
| + | |||
| Auf dieser Seite finden sich zahlreiche in den Original-Gothic-Skripten vorkommende Funktionen samt einer kurzen Erläuterung, | Auf dieser Seite finden sich zahlreiche in den Original-Gothic-Skripten vorkommende Funktionen samt einer kurzen Erläuterung, | ||
| - | == STARTUP_< | + | ==== Gothic 1 und 2 ==== |
| + | |||
| + | === STARTUP_< | ||
| 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_< | + | === INIT_< |
| 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, | 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, | ||
| - | [[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_< | + | === 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_< | + | === ZS_Attack === |
| - | == PLAYER_HOTKEY_SCREEN_MAP == | + | Wie ZS_MM_Attack, |
| - | Wird aufgerufen, wenn der Spieler die Taste M drückt. Soll eine Karteninstanz zurückgeben, | + | === 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, |
| - | 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, |
| - | 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_< |
| - | 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_< |
| - | Wie ZS_MM_Attack, | + | === PLAYER_HOTKEY_SCREEN_MAP === |
| - | == B_AssessDamage == | + | Wird aufgerufen, wenn der Spieler die Taste M drückt. Soll eine Karteninstanz zurückgeben, |
| - | 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, | + | === 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, | ||
| - | |||
| - | == PC_Sleep == | ||
| - | |||
| - | Wird aufgerufen, wenn der Spieler sich hinlegt und schläft. Nett, wenn im Schlaf etwas passieren soll. | ||