Lpc Manpages

FUNKTION:
     varargs void shout( string text, mixed where )

DEFINIERT IN:
     /secure/simul_efun.c

ARGUMENTE:
     text
          Der Text, der ausgegeben werden soll

     where [optional]
          Wo soll man den Text ueberall hoeren koennen?

BESCHREIBUNG:
     Der Text 'text' wird an alle Spieler in einem Gebiet ausgegeben.
     Wird der Parameter 'where' weggelassen bzw. ist er null, so geht der
     Text an alle Spieler im Mud. Das catch_tell() von NPCs wird nicht
     ausgeloest.

     Ist 'where' eine Zahl != 0, so wird der Text nur an Spieler ausgegeben,
     die sich im selben Gebiet aufhalten wie this_player(). Dabei wird die
     Zugehoerigkeit zum selben Gebiet an den ersten zwei Ebenen des Pfades
     der Raeume festgemacht. Befindet sich this_player() z.B. in
     "/d/ebene/irgendwo", so geht der Text an alle Spieler, deren Aufenthalts-
     orte in "/d/ebene/*" liegen.

     Fuer 'where' kann auch direkt ein Pfad angegeben werden. So wuerde ein
     'shout( txt, "/players/" )' an alle Spieler gehen, die sich in
     (eigentlich nicht erwuenschten) Raeumen in /players/* befinden.

     Um mit einem Aufruf gleich mehrere Pfade abzudecken, kann auch ein Array
     von Strings uebergeben werden. Alle Pfade werden als 'regular expression'
     interpretiert. Dadurch ist es moeglich, die Zielraeume auf einfache Art
     sehr genau einzuschraenken.

     HINWEIS: Bitte ueberleg vor jedem shout() genau, ob es wirklich noetig
     ist, dass _jeder_ etwas davon mitbekommt oder ob es nicht vielleicht
     sinnvoller ist, das Zielgebiet etwas einzuschraenken. Im Zweifelsfall
     sollte der zustaendige RM aufpassen, dass die Spieler nicht durch allzu
     zahlreiche shouts belaestigt werden.

RUeCKGABEWERT:
     keiner

BEISPIELE:
     shout( "Du spuerst, wie ein Zittern durch das AnderLands geht.\n" );
        Der allseits bekannte Text wird an alle Spieler im AL ausgegeben.

     shout( "Du hoerst eine gewaltige Explosion.\n", 1 );
        Von der Explosion bekommen alle Spieler in derselben Gegend etwas mit,
        aber nicht am anderen Ende des Muds.

     shout( "Irgendwo ist ein Baum umgefallen.\n", "/d/wald/" );
        ... gibt eine Meldung in der Region Wald aus.

     shout( "Aufwachen Du Idler!\n", "/players/.*/workroom" );
        Mit Hilfe von regular expressions kann man recht einfach z.B. alle
        Workrooms auf einmal adressieren.

     shout( "Halloooooo, Echoooooo!\n", ({ "/d/gebirge/", "/d/ebene/" }) );
        Wenn der Spieler hoch oben auf dem Berg laut genug ruft, hoert man
        ihn auch noch weit in der Ebene.

DOKUMENTIERT:
     28.11.1999 von Tiamak@MorgenGrauen

SIEHE AUCH:
     write(), say(), tell_object(), tell_room(), regexp()