Prüfen ob Figuren noch leben

Manchmal müssen wir wissen, ob Figuren oder Siedler noch leben.

Definieren wir zuerst "am Leben":

Am Leben ist eine Entity, wenn es sich um einen Siedler oder ein Gebäude handelt, der/das mindestens 1 Trefferpunkt hat.

Was lernen wir daraus?

  1. Eine Entity mit weniger als 1 Trefferpunkt ist tot
  2. Man kann abfragen ob eine Entity noch lebt
  3. Und weil man das kann, kann man damit Bedingungen knüpfen.

Prüfen ob ein Gebäude noch steht

Um zu Prüfen ob ein Gebäude noch steht, brauchen wir nur zu schauen, ob es noch existiert.

if IsExsiting("Baumhaus") then
      ...
end

Prüfen ob ein Siedler noch lebt

Um zu prüfen ob ein Siedler noch lebt, kann man man prinzipiell gleich vorgehen.

Außer es handelt sich um einen Helden. Hier muss man nachsehen, ob der Held existiert *und ob er gerade bewusstlos ist.

if IsExisting("hakim") and Logic.KnightGetResurrectionProgress(GetEntityId("hakim")) ~= 1 then
      ...
end

Dieses Konstrukt würde genau dann auslösen, wenn eine "hakim" genannte Entity existiert und bewusstlos ist. Sollte es sich nicht um einen Helden handeln wird 1 zurück gegeben. FIXME!

Im Falle der Bewusstlosigkeit würde eine Gleitkommazahl zwischen 0 und 1 zurückgegeben. Also z.B. 0.71. Diese Zahl steht für die Zeit, die der Held noch bewusstlos ist, in "richtigem" Prozent. Will man daraus eine Prozentdarstellung wie im Supermarkt erzeugen, muss man es mit 100 multiplizieren.

Zurück zu Beispiele | Drucken | Tags
Sofern nicht anders angegeben, steht der Inhalt dieser Seite unter Lizenz Creative Commons Attribution-ShareAlike 3.0 License