Íme, újra írásra szántam magam, s ezúttal a színek szövegésével (OMFG; reggel van) szövegek színezésével fogok foglalkozni. Alapvetõen a dolog nem nehéz, de hátha akad valaki, aki még nem ismeri. Szeretném megjegyezni, hogy ez csakis a 0.3c verzióban mûködik!Magát a színt a kiírandó szövegbe kell beilleszteni {RRGGBB} formában. Az eddig használt integer típusban mentett színek 0xRRGGBBAA formátumban vannak mentve, így, ha megszeretnénk kapni egy szín beillesztendõ kódját, elég levenni a 0x-et (hex elõtag), illetve az utolsó két számot (alpha komponens), illetve hozzáadni a { és } jeleket.
Konkrét példa:
Kiírandó szöveg: Y2K
SendClientMessageToAll(0xF81414AA, \"Y{FFAF00}2{6EF83C}K\");
Hát ez így great! Kicsit még magyaráznék, utána jön egy kis trükk... Az Y-nak nem adtam meg még egyszer a színét, hiszen a függvény elsõ paramétere a kezdõszínt adja, azaz, amivel a szöveg legeleje kiíródik. Ha esetleg nekünk így nem tetszene, a következõ a megoldás:
SendClientMessageToAll(-1, \"{F81414}Y{FFAF00}2{6EF83C}K\");
Remélem érthetõ! Most vetõdik fel a kényelmetlenség: mi történik, ha neadj\'isten 1000 karakteres szöveget szeretnénk kiszínezni. Oda-vissza ugráljuk a kódban, ki-be másolgatva a színkódokat? Íme a trükkje: definiálni kell a színkódokat, nem megfeledkezve a { és } jelekrõl, pl.:
#define TC_RED {F81414}
#define TC_ORANGE {FFAF00}
#define TC_GREEN {6EF83C}
Most a definiált színkódokat be tudjuk illeszteni, ha lezárjuk a szöveget (\" karakterrel), odaírjuk a definiált nevet, majd újra megnyitjuk a szöveget és írjuk tovább, pl.:
SendClientMessageToAll(-1, \"\"#TC_RED\"Y\"#TC_ORANGE\"2\"#TC_GREEN\"K\");
Máris sokkal átláthatóbbak a színek, és egyszerûbb is õket létrehozni!
SendClientMessageToAll(-1, \"\"#TC_RED\"KÖSZÖNÖM A FIGYELMET! #\"TC_GREEN\"KÉRDÉSEK?\");