Eine Tür erstellen


Bei Objekten die unterschiedliche Zustände haben muss auf die jeweiligen Zustände unterschiedlich reagiert werden. Nehmen wir mal eine Tür die auf und zu sein kann. Zustand 1 ist Tür geschlossen und Zustand 2 geöffnet. Der erste Teil des Skripts sieht so aus :

on (mouse)
 {
 if_obj (tür ; 1)
   showinfo (Tür ; true)
 if_obj (tür ; 2)
   showinfo (Ausgang ; true)
 }

on (click)
 {
 if_obj (tür ; 1)
   walkto (self ; x1 ; y1)
 if_obj (tür ; 2)
   walkto (self ; x2; y2)
 }

Für x1,y1,x2 und y2 sind natürlich richtige Zahlen einzutragen, die die zu eurer Walkmap und euren Raum passen.
Hier wird nun jeweils anders reagiert je nach Zustand der Tür. Ist die Tür zu läuft der Charakter an einen Punkt wo er die Tür öffnen kann, ist sie schon offen geht er ein Stück weiter um den Raum verlassen zu können. Bei dieser Tür wie auch bei anderen Objekten die ihren Zustand ändern kann es sein das die Walkmap angepasst werden muss. In diesem Fall wäre die Koordinate im Falle einer offenen Tür zu Beginn nicht begehbar und würde durch das öffnen freigegeben.

on (open)
 {
 if_obj (tür ; 2)
   break ()

 setobj (tür ; 2)
 pickup (self)
 setwalkmap (deinRaum ; x2 ; y2 ; true)
 }

Der erste Teil überprüft ob die Tür nicht schon auf ist und bricht wenn ja das Skript ab durch den Befehl break ().
Danach wird der Zustand der Tür geändert, der Charakter macht seine Nehmen Animation und die Stelle des Ausgangs auf der Walkmap wird freigestellt.