Dokumentation zu: channeld(WL)

HR Image


CONCEPT:
      Channeld

DESCRIPTION:
      Noch sehr sehr unvollstaendig! Hier nur eine Kurzuebersicht ueber
      die Externen Master:

      Alle Funktionen sind optional! Wenn nichts vorhanden ist, wird die
      Ebene komplett vom Channeld verwaltet. Moechte man eine Funktion
      genauer und selber steuern, so nimmt man sie einfach in den Master
      auf.

      Bitte Master als Objekte _nur_ fuer diesen Zweck anlegen. Wenn ein
      Master buggt, buggen alle Channels!

      Folgende Funktionen koennen angelegt werden:

      int ChannelSend(string channel, mixed username, mixed msg, int cmd);
        Damit erhaelt der Master die Meldung und kann sie verwerten.
        usernames und msg koennen Strings sein (einfacher Fall) oder Arrays
        aus Strings (bei Bedarf), die enthalten dann ({ Invis-Name,
        Vis-Name }) sowie ({ Ausgabemeldung, Spezialmeldung an Ausgeber })
        Rueckgabewerte sind (bei anderen Werten ist das Verhalten undefiniert):
           1 - Ausgabe erfolgreich
           0 - Ausgabe via channeld vornehmen
          -1 - Fehler

      int CheckChannelUser(object user, string channel, int action);
        Darf der Spieler den Kanal benutzen? Dann muss 0 zurueckgegeben
        werden. Wenn nicht ist -1 zurueckzugegeben. Bei anderen Werten ist
        das Verhalten undefiniert! Erzmagier duerfen allen Kanaelen lauschen
        und sprechen. Sprecherlaubnis beinhaltet immer Lauscherlaubnis.
        Bemerkung: Oft kann es sinnvoll sein zu testen, ob user ueberhaupt
        ein Spieler ist - denn sonst muessen in Npcs und Raeumen (oder
        anderen Objekten, die die Meldung erzeugen wollen) alle Eigenschaften
        die hier im externen Master getestet werden vorhanden sein.
        action: 1 - lauschen (betreten)   2 - sprechen

      void RegisterChannelUser(object user, string channel);
        Damit wird der ext. Master informiert, wenn 'user' die Ebene
        betritt. Der Master kann nun nichts mehr dagegen tun; ein (in
        Wirklichkeit mehrere) Aufruf von CheckChannelUser() ging diesem
        voraus. Wird nach dem (erfolgreichen) Betreten aufgerufen.

      void UnregisterChannelUser(object user, string channel);
        Damit wird der ext. Master informiert, wenn 'user' die Ebene
        verlaesst. Wird nach dem (erfolgreichen) Verlassen aufgerufen.
        Die Funktion wird nicht bei gezwungenem Verlassen durch Channeld-
        Reload aufgerufen!

SEE ALSO:


Start » Magierhandbuch » Docu » Konzepte » Channeld Letzte Generierung: 25.04.2021, 01:58
Email an: mud@wl.mud.de
Valid HTML 4.01!