Kategorie: Nachrichten
Ab Engineversion: 5.1 OC
CustomMessage
Beschreibung
Gibt eine Nachricht aus.
Syntax
bool CustomMessage(string message, object obj, int plr, int offset_x, int offset_y, int color, id deco, id/object portrait, int flags);
Parameter
- message:
- Nachricht, die ausgegeben wird
- obj:
- [opt] Wenn ungleich
nil, wird die Nachricht über dem angegebenen Objekt ausgegeben. - plr:
- [opt] Nummer des Spielers, bei dem die Nachricht ausgegeben wird. Default ist
NO_OWNER, welches die Nachricht für alle Spieler anzeigt. - offset_x:
- [opt] x-Offset der Nachrichtenposition. Bei globalen Nachrichten ist dies die Viewportmitte. Bei Objektnachrichten ist dies relativ zur Standard-Nachrichtenposition über dem Objekt. Bei Portrait-Nachrichten (portrait!=0) ist das Offset relativ zur oberen, linken Viewportecke.
- offset_y:
- [opt] y-Offset der Nachrichtenposition.
- color:
- [opt] Farbe der Nachricht. Default ist 0xffffff (weiß).
- deco:
- [opt] ID der Objektdefinition, die für Dekoration der Nachricht verwendet wird. Wenn angegeben, wird die Nachricht von einem Rahmen umgeben. Nur gültig bei angegebenem Portrait.
- portrait:
- [opt] Definition oder Objekt dessen Grafik als Portrait benutzt werden soll.
- flags:
- [opt] Bitmaske zusätzlicher Optionen. Mögliche Werte:
Bit Konstante Beschreibung 0 MSG_NoBreak Wenn gesetzt, werden keine automatischen Zeilenumbruch bei langen Nachrichten eingefügt. 1 MSG_Bottom Nur globale Nachrichten. Für Portraitnachrichten mit Dekorationsrahmen: Das Nachrichtenoffset gibt die Verschiebung zur unteren Bildschirmkante anstatt zur oberen Bildschirmkante an. Für nicht-Portraitnachrichten setzt das Flag die Nachricht etwas tiefer. 2 MSG_Multiple Wenn gesetzt, werden vorherige Nachrichten des gleichen Typs nicht gelöscht.
Anmerkungen
Diese Funktion vereinigt die Funktionialitäten von Message und PlayerMessage und bietet zusätzliche Optionen an. Um in der Zukunft weitere Parameter einfügen zu können ohne eine neue Funktion zu erschaffen, enthält sie bewusst keine zusätzlichen Format-Parameter. Diese können über die Funktion Format erreicht werden.
Es gelten die üblichen Nachrichtenformatierungen. Beginnt die Nachricht mit einem "@", so wird die Nachricht dauerhaft angezeigt bis sie durch eine andere ersetzt wird. Das Zeichen "|" steht für einen Zeilenumbruch. Es können Nachrichtenformatierungen mit den Tags <i> (kursiv) und <c> (farbig) genutzt werden.
Nachrichten werden grundsätzlich angezeigt, bis eine von der Nachrichtenlänge abhängige Zeit vergangen ist oder sie durch eine zweite Nachricht gleicher Klasse ersetzt werden. Eine globale Nachricht (d.h. obj=0) ersetzt alle anderen globalen Nachrichten, und eine Objektnachricht (obj!=0) ersetzt alle anderen Objektnachrichten. Um mehrere Nachrichten gleicher Klasse anzuzeigen, sollte das Flag MSG_Multiple verwendet werden.
Beispiele
CustomMessage("This is <i>madness</i>!",nil,0);
Gibt die Nachricht "This is madness!" nur für Spieler 0 aus, wobei das Wort "madness" in kursiver Schrift angezeigt wird.
CustomMessage("<c ffff00>Tonki:</c> Hello, world", nil, NO_OWNER, 100,100, 0, GUI_MenuDeco, Clonk);
Gibt eine Nachricht mit Dekorahmen aus. Der Name Tonki ist gelb eingefärbt. Links von der Nachricht wird ein Clonk-Titelbild wird angezeigt. Es muss die Dekorationsdefinition GUI_MenuDeco geladen sein.
Siehe auch: Message, PlayerMessage


