Alter : 31 Ort : Brunswiek *helllau* Anmeldedatum : 24.01.08
Thema: Nachrichten Fr Apr 04, 2008 9:14 pm
Messages Messages (zu Deutsch: Nachrichten) werden fast immer benutzt um Text bei Clonk auszugeben.
Schwierigkeitgrad: *****
Als erstes schauen wir uns mal die Funktion Message("Text", Objekt) an. "Text" muss in Häkchen geschrieben werden und ist der Text, der nachher ausgegeben wird, "Objekt" ist das Objekt, wo der Text ausgegeben wird. "Objekt" kann weggelassen werden, worauf der Text in der Bildschirmmitte ausgegeben wird. Wenn man aber nicht alles in eine Zeile quetschen will, nimmt man einfach |. Alles was hinter dem | steht, kommt in die nächste Zeile.
Ein paar Beispiele:
/*-- cooler Flint --*/
#strict
func Hit() { Message("Du hast mir wehgetan!|Auch Flints haben Rechte!", this()); //this() ist das Objekt, welches diese Funktion beinhaltet. return(1); }
Werfen wir den Flint, so sagt er frech: "Du hast mir wehgetan! Auch Flints haben Rechte!".
Spoiler:
Viel Spaß bei Clonk
Zuletzt von Mega Hazard am Mo Apr 14, 2008 6:42 pm bearbeitet; insgesamt 1-mal bearbeitet (Grund : Hinzufügen eines Schwierigkeitsgrades)
Simsi Staatssekretär
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 30.03.08
Thema: Textformatierung Di Apr 15, 2008 12:32 pm
So, dass waren von MegaHazard die Grundfunktionalitäten der Message()-Funktion. Hier folgen nun Tipps zur Textformatierung, d.h. wie man den Text anders aussehen lässt.
Hier meine Tipps zur Textformatierung:
1. schräger Text: Message("<i>Hallo Welt!</i>"); Der Text, der schräg geschrieben werden soll, muss zwischen <i> und </i> stehen. Es können auch mehrere <i></i>'s ineinander geschachtelt werden: Message("Dieser <i>Text <i>wird <i>immer <i>schiefer <i>!</i></i></i></i></i>");
2. Farbige Schrift: Message("<c ff0000>Hallo Welt</c>"); Der Text der farbig erscheinen soll muss zwischen <c ******> und </c> stehen. Anstatt ****** muss man Buchstaben zwischen a und f oder zahlen zwischen 0 und 9 stehen. Wär nett wenn hier jemand schreiben würde welcher Code welche Farbe wird.
3. Bilder im Text: Message("{{CLNK}}|Dies ist ein Clonk!"); Bilder werden mit {{ ID-des-Objektes }} eingefügt.
4. Text mit Script verbinden: %s ist ein Platzhalter für eine String-variable, d.h. eine Zeichenkette: Message("Ich heiße %s!", GetName(this())); Diese Funktion gibt eine Nachricht mit dem Namen des Objektes zurück, von der es aufgerufen wurde.
%x ist ein Platzhalter für ein Farbcode: Message("Meine Farbe ist <c %x>diese hier </c>!",GetColorDw(this())); Diese Funktion gibt eine Nachricht aus, wie z.B.: Meine Farbe ist diese hier!.
%d ist ein Platzhalter für eine Zahl: Message("Hier gibt es %d Clonks", ObjectCount(CLNK)); (Weiß nicht obs funktioniert) Diese Nachricht gibt aus, wieviele Clonks im moment im spiel sind.
so, wenn jemand noch weitere Ideen für Textformatierung hat, kann er sie ja auch hier schreiben.
Zuletzt von Simsi am Di Apr 15, 2008 7:31 pm bearbeitet; insgesamt 1-mal bearbeitet
Mega Hazard Staatsrat
Alter : 31 Ort : Brunswiek *helllau* Anmeldedatum : 24.01.08
Thema: Schwierigeitsstufe Di Apr 15, 2008 4:32 pm
Schön, dass du auch was ins Tutorial postest, aber eig. hatte ich es so kurz gehalten, damit es noch für die blutigsten Anfänger schnell zu überblicken ist.
Simsi Staatssekretär
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 30.03.08
Thema: Antwort auf MegaHazard Di Apr 15, 2008 7:27 pm
hm, also man könnte ja so machen dass du unten in deim Post oder ich oben in mein post hinschreib, dass das die grundfunktion der nachrichten war, und nun folgt, wie man die nachrichten noch "aufpeppen" kann. ich schreibs mal bei mir oben hin ok?
Umezawa Feldmarschall
Alter : 29 Anmeldedatum : 30.12.08
Thema: Re: Nachrichten Sa Feb 07, 2009 1:30 am
Zu den Farbwerten: Die ersten beiden Ziffern sind Rot in Hexadezimal-Zahlen, also 0,1,2,3,4,5,6,7,8,9,a(=10),b(=11),c(=13),d(=14),e(=15),f(=16) kann an eine Stelle kommen. Die erste Stelle ist dabei das 16fache der zweiten Stelle, somit lassen sich Zahlen zwischen 0 und 255(jetzt wisst ihr auch warum bei RGB() Zahlen bis 255 erlaubt sind) angeben. Also 00=0, ff=255. Die nächsten beiden Stellen geben dementsprechend den Grünwert an, und die letzten beiden Blau.
Angaben ohne Gewehr!!!
Shadow Clonk
Alter : 32 Ort : Thalheim (Erzgeb.) Anmeldedatum : 23.12.08
Thema: Re: Nachrichten Mo Feb 09, 2009 2:27 pm
du könntest gleich mit reinschreiben wie man eine WallMessage an z.B. Schildern, Wegweisern und Co macht. (Wenn du nicht schon hast, habs nur mal überflogen da ichs schon weiß ^^)
Kai Kapitän
Alter : 28 Anmeldedatum : 29.12.08
Thema: Re: Nachrichten Mo Feb 09, 2009 4:58 pm
nene, das wir sonst zu kompliziert, ist ja für anfänger gedacht, trotzdem gute idee^^
Donky Hauptman
Alter : 26 Ort : In der Nähe Hamburgs Anmeldedatum : 03.11.09
Thema: Re: Nachrichten Sa Jan 09, 2010 11:23 am
Simsi: Müsste das mit %s und co nicht eig zB
Zitat :
Message(Format("...%s",GetName(this())),this())
heißen? Bei mir gibt es sonst eine Fehlermeldung(ich lasse mich gern eines Besseren belehren )
PS: Übersicht? Ich hasse Übersicht!!!!!
Zuletzt von Donky am Sa Jan 09, 2010 4:35 pm bearbeitet; insgesamt 1-mal bearbeitet
der kleine boss Vizeadmiral
Alter : 28 Ort : In einem gaaaaanz kleinen Kaff in Austria Anmeldedatum : 21.03.09
Thema: Re: Nachrichten Sa Jan 09, 2010 3:04 pm
wenn man ein @ vor den text tut bleibt die messgae solange bis eien neue engezeigt werden soll.
Message("@auf ewig >:=D");
Elfangor General
Alter : 32 Ort : Mainz Anmeldedatum : 26.06.08
Thema: Re: Nachrichten Sa Jan 09, 2010 3:31 pm
Simsi schrieb:
Message("Hier gibt es %d Clonks", ObjectCount(CLNK)); (Weiß nicht obs funktioniert)
Nein das Funktioniert nicht, denn der zweite Par von Message ist ja wie wir wissen ein Objekt und ObjectCount() gibt einen Int zurück. Du könntest es glaub ich so schreiben (in Java geht es):
Code:
Message("Hier gibt es "+ObjectCount(CLNK)+" Clonks")
Dabei wird nur der erste Parameter verwendet denn der zweite gibt _nur_ den Ort an.
Simsi Staatssekretär
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 30.03.08
Thema: Re: Nachrichten Sa Jan 09, 2010 7:19 pm
Sind nicht alle Parameter nach dem zweiten bei der Message()-Funktion für diese Platzhalter gedacht? also z.B.: