In diesem Tutorial soll erklärt werden, wie man einen Zahlencode innerhalb von Half-life abfragen kann. Damit kann man Sicherheitstüren erstellen, die sich erst nach Eingabe des richtigen Codes öffnen lassen (oder auch Ausrüstungscontainer wie in Doom3).
Als Beispiel soll hier eine Sicherheitstür mit einem vierstelligen Code erstellt werden. Der Code lautet 7 3 0 5, und die Sicherheitstür öffnet sich nur, wenn der Code in dieser Reihenfolge eingetippt wird.
Dazu werden folgende Entities benötigt:
Für die Erläuterung der einzelnen Entities möchte ich auf die Entity-Bibliothek verweisen, und nur auf die für dieses Beispiel relevanten Angaben eingehen.
Hier kann man eine Tür nach eigenem Geschmack bauen. Sie sollte in der Grundstellung geschlossen sein, damit man den Code zum Öffnen eingeben muß.
Einstellungen
Für jede einzelne Taste sollte man einen kleinen Brush erstellen. In meinem Beispiel habe ich 3 * 3 * 1 Einheiten verwendet, also relativ klein, damit das Ganze später realistisch aussieht. Des weiteren sollte man auf jede Front der Tasten eine Zahl texturieren, damit der Spieler auch weiß, welche Ziffer er gerade eingibt.
Dann wird jede Taste zu einem func-button umgewandelt.
Einstellungen
Flags
Hier wird nun der eigentliche Mechanismus mit den 10 trigger_changetarget und dem multimanager erstellt. Damit das Ganze durchschaubar bleibt, sollte man die Anordnung wie auf der Abbildung nachbilden.
In der untersten Reihe sind 4 Trigger („k1“), die dafür sorgen, daß man nach einer Falscheingabe wieder von vorne anfangen muß (bzw. kann man damit den Mechanismus sogar mehrmals verwenden). Präzise formuliert werden hier die Tasten „3“, „0“, und „5“ als falsch und die Taste „7“ als richtig eingestellt, da die „7“ ja die erste richtige Ziffer in dem Beispielcode sein soll („7-3-0-5“).
In der Reihe darüber („k2“) findet dann eine einfache Vertauschung statt. Die Ziffer „7“ wird als falsch und die Ziffer „3“ als richtig eingestellt. In der nächsten Reihe („k3“) wieder ein Austausch, Ziffer „3“ wird falsch und Ziffer „0“ richtig. Danach dann in der nächsten Reihe („k4“) wird Ziffer „0“ falsch und Ziffer „5“ richtig.
Wird dann letztendlich die Taste „5“ gedrückt, ist mit dem multimanager („k5“) das Ziel erreicht, und die Tür wird geöffnet. Sollte man während der Codeingabe eine falsche Taste drücken, wird die Eingabe zurückgesetzt. Dies ist wichtig, da sich der Spieler sonst relativ schnell den richtigen Code durch Ausprobieren erschummeln könnte (ohne Reset: 40 Versuche für richtigen Code, mit Reset: 10.000 Versuche für richtigen Code nötig). Die anderen Tasten müssen nicht weiter verändert werden, da sie in diesem Beispiel auf jeden Fall immer falsch sind.
Im folgenden die Einstellungen der einzelnen trigger_changetarget (immer von links nach rechts betrachtet (1), (2), …)
k1 (1) Einstellungen
k1 (2) Einstellungen
k1 (3) Einstellungen
k1 (4) Einstellungen
k2 (1) Einstellungen
k2 (2) Einstellungen
k3 (1) Einstellungen
k3 (2) Einstellungen
k4 (1) Einstellungen
k4 (2) Einstellungen
Und schließlich die Einstellungen des multimanager („k5“).
k5 Einstellungen
Mit einem Klick auf „SmartEdit“ im Eigenschaftenfenster des multimanagers wird selbiges deaktiviert, da die restlichen Einstellungen von Hand vorgenommen werden müssen.
k5 Einstellungen
Nun ist die Sicherheitstür mit Codeabfrage fertig. Gibt man an einer Stelle des Codes eine falsche Ziffer ein, wird die Eingabe wieder zurückgesetzt. Wird der Code in der richtigen Reihenfolge eingegeben, öffnet sich die Tür.
Hier möchte ich noch kurz ein paar Dinge ansprechen, damit man dieses Tutorial für das eigene Projekt verwenden kann.