DE EN FR ES IT CZ

5. Erste Skripte für Pias Keller

Erste Skripte für Pias Keller

Pia am Lüftungsgitter, daneben ein Klickzähler an der Wand, die Katze schaut zu

Jetzt wird es praktisch. Im Keller gibt es einen Wert fehlversuche mit Anfangswert 0 und die Bedingung gitter_offen aus dem ersten Guide.

Die Funktion

Leg ein Definitions-Skript keller an:

-- Zählt einen falschen Versuch am Gitter.
-- Gibt true zurück, sobald es drei oder mehr Versuche waren.
function fehlversuch()
  local n = Values["fehlversuche"].Int + 1
  Values["fehlversuche"].Int = n
  return n >= 3
end

Die Aktion

Am Gitter gibt es eine Aktion für falsche Gegenstände. Dort baust du:

Wenn Lua-Rückgabewert:  return fehlversuch()
    Text ausgeben:      „Die Schrauben! Ich brauch was zum Drehen.“
Sonst
    Text ausgeben:      „Hm. So nicht.“
Ende Wenn

Die ersten beiden Fehlversuche bekommen eine kurze Antwort, ab dem dritten einen klaren Hinweis. Die Funktion kannst du an jeder anderen Stelle wieder benutzen, ohne etwas neu zu bauen.

Eine Abfrage, viele Stellen

Ob Pia den Keller verlassen kann, hängt von zwei Dingen ab. Statt diese Abfrage in jeder Aktion zu wiederholen:

function kannRaus()
  return Conditions["gitter_offen"].Value
     and Values["fehlversuche"].Int < 10
end

In jeder Aktion steht dann nur noch return kannRaus(). Ändert sich die Regel, änderst du sie an genau einer Stelle.

Für reine Kombinationen aus Bedingungen gibt es auch ohne Lua die „Kombinierte Bedingung“. Mehr dazu im Wiki unter Spielzustände strukturieren.

Regel zum Mitnehmen
Skripte entscheiden, Aktionen zeigen. Texte, Animationen und Töne bleiben im Editor.

Deine Aufgabe
Bau fehlversuch() nach und teste dreimal hintereinander einen falschen Gegenstand am Gitter.