blob: 1e146317d6d18a6e78f71221e027c5d09200ccde [file] [log] [blame]
Farben im Mud
*************
Farben in der Ausgabe werden im MorgenGrauen bislang eher selten
verwendet und die Einfaerbung meistens den Triggern des Clients
ueberlassen. Moechte man allerdings direkt etwas (farblich)
markieren, stehen hierfuer einige Hervorhebungs-Tags zur
Verfuegung, welche in ReceiveMsg() durch die passenden Steuercodes
fuer den Terminaltypen des Clients ersetzt werden.
Hierfuer muss die Ausgabe lediglich durch ReceiveMsg() und deren
Wrapper erfolgen, weitere Massnahmen sind weder noetig noch
empfohlen.
Benutzt werden diese Tags, indem die in den auszugebenden Text
zwischen zwei "%^" gesetzt werden: "`%^tag%^markierter
Text%^endetag%^`". Hierbei sollte dann ReceiveMsg() allerdings auch
der Zeilenumbruch ueberlassen werden.
Zu beachten ist, dass je nach Client bzw. seinem Terminaltyp nicht
alle Tags benutzbar sind. Falls z.B. der Client kein ANSI
untertuetzt und die Spielerin dieses abgeschaltet hat, werden diese
Tags nicht gesendet oder als Tag "normal" behandelt.
Technisch erfolgt die Ersetzung mittels terminal_colour(), welches
man nutzen koennte, um Farben in eine Ausgabe zu bringen, ohne
ReceiveMsg & Co zu nutzen. Allerdings ist aktuell die Farbtabelle
des Spielerobjekts nicht abfragbar.
Tag-Liste
=========
Logische Hervorhebungen
-----------------------
Zusaetzlich zu den direkt physischen Hervorhebungen (s.u.) gibt es
noch logische Hervorhebungen, welche zu einer vom Spieler
konfigurierbaren (TODO) Darstellung fuehren:
mention
Erwaehnungen eines Charnamens mit @Charname
normal
Normale Darstellung des Clients
Physische Hervorhebungen
------------------------
Diese Hervorhebungen stellen direkt eine bestimmte Farbe oder
Darstellung ein.
Vordergrundfarben (ANSI)
black, red, green, yellow, blue, purple, cyan, white
Hintergrundfarben (ANSI)
bg_black, bg_red, bg_green, bg_yellow, bg_blue, bg_purple,
bg_cyan, bg_white
Sonstiges (VT100, ANSI)
bold (fettgedruckt), underlined (unterstrichen), blink
(blinkend), invers (Vorder- und Hintergrundfarbe invertiert)
Beispiel
========
this_player().ReceiveMsg(
"Zesstra wirft Dir einen %^red%^roten Eimer%^normal%^ an den
Kopf.", MT_LOOK, MA_EMOTE);
SIEHE AUCH
==========
ReceiveMsg(), *../efun/terminal_colour*, P_TTY, P_TTY_TYPE
Letzte Aenderung: 10.22.2022