FUNKTION:
        void update_actions()

ARGUMENTE:
        keine

BESCHREIBUNG:
        Falls eine Aktion ein add_action() ausgeloest hat, werden mit dieser
        Funktion die neuen Befehle bei allen Lebewesen im aufrufenden Objekt
        bzw. in der Umgebung des aufrufenden Objektes aktiv.

RUECKGABEWERT:
        keiner

BEMERKUNGEN:
        Diese Funktion wird eigentlich nur benoetigt, wenn man mit add_action()
        anstelle von AddCmd() arbeitet (zB. bei Objekten, die nicht
        /std/thing/commands inheriten).

BEISPIELE:
        /* Normalerweise sollte man es SO gerade nicht machen. Stattdessen
         * sollte die "kletter"-Funktion pruefen, ob die Luke geoeffnet ist, 
         * und sich im Fehlerfall beschweren.
         * So aber dient es als schoenes Beispiel fuer update_actions() ;)
         */
        int oeffne(string str)
        {
          if( str == "luke" ) {
            write( "Du oeffnest die Luke. Du kannst jetzt nach unten klettern.\n");
            add_action("kletter", "kletter", 1);
            update_actions();
            return 1;
          }
          return 0;
        }

SIEHE AUCH:
  add_action(E), AddCmd(L), RemoveCmd(L)
