Timer

 

Timer sind wichtig fⁿr Shellmaps und Missionen. Wenn ihr beispielsweise wollt, dass ein Script erst eine gewisse Zeit nachdem die Map gestartet hat, angreift, mⁿsst ihr zunΣchst einen Timer definieren. Es gibt zwei M÷glichkeiten einen Timer zu setzen. Entweder ganz normal, dass die Einheit beispielsweise 5 Minuten, nachdem die Map geladen hat, angreifen soll. Man kann einen Timer aber auch so scripten, dass eine bestimmte Einheit z.B. 5 Minuten nachdem ein GebΣude zerst÷rt wurde, angreift.

 

Normaler Timer

 

Hierfⁿr erstellen wir einfach ein neues Script im Ordner "neutral" und nennen es ganz kreativ "Timer". Dann wΣhlen wir als Script "Scripting->Seconds countdown timer -- set". Unten wird dann der Name des Timers eingestellt, zum Beispiel "angriff". Dann noch die Zeit, in der der Timer abgelaufen sein soll, also beispielsweise 300 Sekunden (=5 Minuten).

Jetzt kann man den Timer als Bedingung bei einem anderen Script einsetzen. Wenn also eine Einheit 5 Minuten nach Laden der Map angreifen soll, einfach das Angriffsscript aufrufen und bei "Script Conditions" "Timer expired" wΣhlen, unten den Namen des TImers einstellen, bei uns also "angriff", und fertig.

 

Besonderer Timer

 

Soll ein Timer erst nach einem gewissen Ereignis beginnen zu zΣhlen, gibt zwei M÷glichkeiten, ihn zu starten. Einmal kann man einfach in dem Script, das den Timer definiert, bei den Script Conditions eine Bedingung einstellen, beispielsweise dass die Einheit XXX zerst÷rt wurde. Dann beginnt der Timer erst zu zΣhlen, wenn die Einheit zerst÷rt wurde.

 

Eine andere M÷glichkeit ist, einen Timer zusammen mit einem anderen Script zu definieren. Hat man beispielsweise eine Kamerafahrt als Zwischensequenz gescriptet, die durch eine andere Bedingung als einen Timer hervorgerufen wurde, und m÷chte 5 Minuten nachdem die Fahrt zu Ende ist eine Einheit angreifen lassen, ist diese Methode n÷tig.

 

Dazu wΣhlen wir das Script der Zwischensequenz und gehen in "Actions if true". Dann erstellen wir unter allen aufgefⁿhrten EintrΣgen einen neuen Eintrag "Scripting->Seconds countdown timer -- set". Unten geben wir jetzt einen Namen (z.B. "sequenz") und die Dauer des Timers ein, also bei uns 300 Sekunden.

 

Jetzt einfach nur noch bei dem Script, das das Angreifen der Einheit definiert, als Bedingung "Timer expired" und als Namen "sequenz" einstellen, und schon wird die Einheit 5 Minuten nachdem die Zwischensequenz begonnen hat angreifen.