FUNKTION:
varargs string in_color(string cmd, string str)
IMPLEMENTIERT:
/std/player/color.c
ARGUMENTE:
str: Der einzufaerbende String
cmd: Name des Farbereignisses, dessen Farbe benutzt werden soll
BESCHREIBUNG:
Erzeugt Farbe in der Ausgabe, der String ist nicht mehr umbrechbar!
Verwandelt den String str in einen (komplett) eingefaerbten String,
wenn der Spieler Farbe wuenscht. Benutzt man diese Funktion, muss
sich der Magier um die Einstellungen des Spielers also nicht
weiter kuemmern.
Das Farbereignis cmd muss eins der von der Lib definierten sein.
Welche das sind kann man selbst mit 'farbe' sehen. Fuer Spiele
im Mud steht die Gruppe "spiel-*" zur Verfuegung. Magier haben
mehr Ereignisse als Spieler. Wird cmd nicht angegeben, so wird nur
Fettdruck (bzw intensive Farbe, je nach Telnet-Programm des Spielers)
benutzt.
Diese Funktion fuegt direkt die Terminalsteuerzeichen ein. Wuerde
man den String nun via break_string(S) umbrechen, so wuerden die
Zeichen der Steuersequenzen mitgezaehlt und ein fehlerhafter
Umbruch ist die Folge. Andererseits ist der String nach dem Aufruf
der Funktion direkt ausgebbar.
RÜCKGABEWERT:
Eingefaerbter String (oder auch nicht, je nach Spielerwille)
BEMERKUNG:
Moechte man den eingefaerbten Text umbrechen, so sollte hierzu
use_color(L) benutzt werden. Diese Funktion fuegt Farbe ein,
ohne zu falschen Ergebnissen in break_string() zu fuehren. Allerdings
muss nach einem use_color() immer ein break_string() vor der Ausgabe
folgen.
BEISPIEL:
text = "Du bist taub.\n";
text = pl->in_color("teile-mit", text);
write(text);
FALSCH: (Nicht moeglich, vergl. use_color())
text = "Du bist taub.";
text = pl->in_color("teile-mit", text);
write(break_string(text));
SIEHE AUCH:
P_COLORS, break_string(S), use_color(L), GetCurrentColor(L)
|