Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
tipps_und_tricks:zeit [2015/08/18 22:16] 127.0.0.1 Externe Bearbeitung |
tipps_und_tricks:zeit [2016/12/31 09:16] (aktuell) milky-way update formatierung |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | == Mitternachtlicher Funktionsaufruf == | + | ====== Mitternachtlicher Funktionsaufruf ====== |
<code> | <code> | ||
B_RefreshArmor | B_RefreshArmor | ||
Zeile 82: | Zeile 82: | ||
}; | }; | ||
</code> | </code> | ||
- | == Trigger und Funktionsaufruf mit beliebigen zeitlichen Intervall == | + | ===== Trigger und Funktionsaufruf mit beliebigen zeitlichen Intervall ===== |
Zuerst braucht man einen ocTriggerScript Vob in allen Welten (hier heißt er SCHLEIFE), der nach x Sekunden (0 = keine Verzögerung) eine Funktion aufruft. Der Trigger kann irgendwo an einer unerreichbaren Stelle sein, es ist nur wichtig, dass er existiert, ein Visual braucht er auch nicht. Der Trigger muss aber unendlich oft ausführbar sein und sollte mind. 1 Sekunde Verzögerung (fireDelaySec) haben, damit Gothic etwas Luft zum reagieren hat. | Zuerst braucht man einen ocTriggerScript Vob in allen Welten (hier heißt er SCHLEIFE), der nach x Sekunden (0 = keine Verzögerung) eine Funktion aufruft. Der Trigger kann irgendwo an einer unerreichbaren Stelle sein, es ist nur wichtig, dass er existiert, ein Visual braucht er auch nicht. Der Trigger muss aber unendlich oft ausführbar sein und sollte mind. 1 Sekunde Verzögerung (fireDelaySec) haben, damit Gothic etwas Luft zum reagieren hat. | ||
Als zweites brauchen wir eine Funktion, die nach Ablauf den Trigger wieder feuert: | Als zweites brauchen wir eine Funktion, die nach Ablauf den Trigger wieder feuert: | ||
Zeile 100: | Zeile 100: | ||
</code> | </code> | ||
Initialisieren muß man das per __Wld_SendTrigger ("SCHLEIFE");__ in den init_//irgendwas// Funktionen in startup.d | Initialisieren muß man das per __Wld_SendTrigger ("SCHLEIFE");__ in den init_//irgendwas// Funktionen in startup.d | ||
- | == Trigger zu bestimmter Tageszeit == | + | |
+ | |||
+ | ===== Trigger zu bestimmter Tageszeit ===== | ||
(von NicoDE [http://forum.rpg-ring.com/forum/showthread.php?threadid=28724 Original-Thread]) | (von NicoDE [http://forum.rpg-ring.com/forum/showthread.php?threadid=28724 Original-Thread]) | ||
Zeile 115: | Zeile 117: | ||
2) | 2) | ||
- | [[Kasten G2]] | + | **Gothic 2: |
- | InitTimeTrigger() in der INIT_GLOBAL* aufrufen. | + | InitTimeTrigger() in der INIT_GLOBAL* aufrufen.** |
- | [[Kasten Ende]] | + | |
- | [[Kasten G1]] | + | **Gothic 1: |
- | InitTimeTrigger() in allen Init-Funktionen der Welten aufrufen. | + | InitTimeTrigger() in allen Init-Funktionen der Welten aufrufen.** |
- | [[Kasten Ende]] | + | |
<code> | <code> | ||
Zeile 131: | Zeile 133: | ||
</code> | </code> | ||
- | Was im Endeffekt dafür sorgt, dass für die angebenen Zeitpunkte eine Objekt-Routine angelegt wird, die für ein OnTrigger-Event sorgt, welches EVT_TIMETRIGGER_FUNC() aufruft. Es sollte **niemals** eine Objekt-Routine für 23:59 angelegt werden, da diese Rountine nie als 'erledigt' erkannt wird (und somit werden ab dem zweiten Tag keine Routinen/Events mehr aufgerufen). | + | Was im Endeffekt dafür sorgt, dass für die angegebenen Zeitpunkte eine Objekt-Routine angelegt wird, die für ein OnTrigger-Event sorgt, welches EVT_TIMETRIGGER_FUNC() aufruft. Es sollte **niemals** eine Objekt-Routine für 23:59 angelegt werden, da diese Routine nie als 'erledigt' erkannt wird (und somit werden ab dem zweiten Tag keine Routinen/Events mehr aufgerufen). |
3) Eine EVT_TIMETRIGGER_FUNC() schreiben | 3) Eine EVT_TIMETRIGGER_FUNC() schreiben |