scripting:tutorials:level2:countdowns
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung | |||
scripting:tutorials:level2:countdowns [2023/11/30 11:04] – fritz_98 | scripting:tutorials:level2:countdowns [2024/02/10 16:57] (aktuell) – fritz_98 | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
| | ||
if MyCounter >= MyCounterLimit then | if MyCounter >= MyCounterLimit then | ||
+ | -- Der Zähler wird zurückgesetzt | ||
+ | MyCounter = 0 | ||
-- hier geschehen Dinge | -- hier geschehen Dinge | ||
MyCounterEvent() | MyCounterEvent() | ||
Zeile 23: | Zeile 25: | ||
</ | </ | ||
- | **Hinweis**: | + | **Hinweis**: |
Der Nachteil hierbei ist, dass jedes Mal zwei globale Variablen benötigt werden, über die man einen Überblick behalten muss. Deshalb gibt es bereits vorgefertigt ein '' | Der Nachteil hierbei ist, dass jedes Mal zwei globale Variablen benötigt werden, über die man einen Überblick behalten muss. Deshalb gibt es bereits vorgefertigt ein '' | ||
+ | |||
+ | Im '' | ||
+ | |||
+ | \\ | ||
====Counter.SetLimit==== | ====Counter.SetLimit==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | Im Beispiel oben entspricht das der Zeile | ||
+ | <code lua> | ||
+ | MyCounterLimit = 240 | ||
+ | </ | ||
+ | die sich damit durch die Zeile | ||
+ | <code lua> | ||
+ | Counter.SetLimit(" | ||
+ | </ | ||
+ | ersetzen lässt. | ||
+ | |||
+ | \\ | ||
====Counter.Tick==== | ====Counter.Tick==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | Im Beispiel oben entspricht das den Zeilen | ||
+ | <code lua> | ||
+ | MyCounter = MyCounter + 1 | ||
+ | if MyCounter >= MyCounterLimit then | ||
+ | MyCounter = 0 | ||
+ | </ | ||
+ | die sich damit durch die Zeile | ||
+ | <code lua> | ||
+ | if Counter.Tick(" | ||
+ | </ | ||
+ | ersetzen lassen. | ||
+ | |||
+ | \\ | ||
+ | |||
====Counter.Reset==== | ====Counter.Reset==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | Im Beispiel oben entspricht das der Zeile | ||
+ | <code lua> | ||
+ | MyCounter = 0 | ||
+ | </ | ||
+ | die sich damit durch die Zeile | ||
+ | <code lua> | ||
+ | Counter.Reset(" | ||
+ | </ | ||
+ | ersetzen lässt. | ||
+ | |||
+ | \\ | ||
+ | |||
====Counter.Tick2==== | ====Counter.Tick2==== | ||
+ | '' | ||
+ | |||
+ | Mit '' | ||
+ | <code lua> | ||
+ | function MyCounterInit() | ||
+ | StartSimpleJob(" | ||
+ | end | ||
+ | |||
+ | function MyCounterCount() | ||
+ | -- Erstelle einen neuen Counter, setze das Limit fest und zähle ihn jede Sekunde hoch | ||
+ | if Counter.Tick2(" | ||
+ | -- hier geschehen Dinge | ||
+ | MyCounterEvent() | ||
+ | -- Job beenden | ||
+ | return true | ||
+ | end | ||
+ | end | ||
+ | </ | ||
---- | ---- | ||
====Zeitanzeige am Rand des Bildschirms==== | ====Zeitanzeige am Rand des Bildschirms==== | ||
- | * MapLocal_StartCountDown | + | Die Counter, die in den Abschnitten oben betrachtet werden, sind nur für das Skript sichtbar. Manchmal möchte man dem Spieler einen solchen Counter auch anzeigen, beispielsweise um einen nahenden Angriff genau zu datieren. Dazu gibt es die Funktion '' |
- | * MapLocal_StopCountDown | + | |
+ | **Achtung**: Die Funktion ist nur dazu da, einen Countdown anzuzeigen. Es wird dadurch **nicht** ein Ereignis ausgelöst. Das Ereignis muss an einer anderen Stelle im Skript am Ende eines Counters gesondert ausgelöst werden. | ||
+ | |||
+ | Um die Anzeige des Countdowns frühzeitig zu entfernen, kann '' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Im nächsten Kapitel beschreiben wir, wie im Kontrast zu den [[ scripting: | ||
+ | |||
+ | |||
+ | [[ scripting: | ||
+ | [[ scripting: | ||
+ | [[ scripting: |
scripting/tutorials/level2/countdowns.1701342251.txt.gz · Zuletzt geändert: 2023/11/30 11:04 von fritz_98