赞
踩
zmud中ansi的颜色丰富了游戏的内容,除了系统返回给客户端的ansi字符显示以外,我们也可以通过客户端的%ansi函数来显示丰富的信息:
#help ansi
#SHOW %ansi(high,red)Hello%ansi(blink,blue,white)Word
比如在状态window显示相关灭妖信息,局部突出怪的名字和地点,以及内力信息。
#stw %ansi(high,red)@guai_name(@guai_nick)%ansi(normal)%cr在%ansi(high,orange)@guai_place%ansi(normal)%cr怪的内力:%ansi(blink,blue,white)@guai_neili%ansi(normal)
其中%cr为换行,可以将显示分多行显示。%ansi(normal)为恢复系统默认颜色.
通过这个函数,我们在客户端也可以输出丰富的ansi文字,甚至可以通过这个来做颜色触发器(因为zmud对屏幕上所有信息都可以触发,不管是不是通过本地#say出来的)。
相同道理,文字显示适用于所有向屏幕输出信息的命令,包括#say/#show/#st/#stw等。
ansi颜色的定义可以参考:ansi.h
- Ansi颜色:
- [0m 表示ansi颜色结束
- [1;33;45m第2项项五第[0m 表示以[1;33;45m定义的颜色文字直到[0m结束
-
- [1;33;45m 其中1表示高亮 33高亮前景色 45表示背景色 m为颜色定义后缀
-
- 具体定义见:
-
- // File : /include/ansi.h
- // Creator : Gothic@TMI-2
- //
- // The standard set of ANSI codes for mudlib use.
-
- #define ESC ""
- #define CSI ESC + "["
-
- /* Foreground Colors */
-
- #define BLK ESC+"[30m" /* Black */
- #define RED ESC+"[31m" /* Red */
- #define GRN ESC+"[32m" /* Green */
- #define YEL ESC+"[33m" /* Yellow */
- #define BLU ESC+"[34m" /* Blue */
- #define MAG ESC+"[35m" /* Magenta */
- #define CYN ESC+"[36m" /* Cyan */
- #define WHT ESC+"[37m" /* White */
-
- /* Hi Intensity Foreground Colors */
-
- #define HIR ESC+"[1;31m" /* Red */
- #define HIG ESC+"[1;32m" /* Green */
- #define HIY ESC+"[1;33m" /* Yellow */
- #define HIB ESC+"[1;34m" /* Blue */
- #define HIM ESC+"[1;35m" /* Magenta */
- #define HIC ESC+"[1;36m" /* Cyan */
- #define HIW ESC+"[1;37m" /* White */
-
- /* High Intensity Background Colors */
-
- #define HBRED ESC+"[41;1m" /* Red */
- #define HBGRN ESC+"[42;1m" /* Green */
- #define HBYEL ESC+"[43;1m" /* Yellow */
- #define HBBLU ESC+"[44;1m" /* Blue */
- #define HBMAG ESC+"[45;1m" /* Magenta */
- #define HBCYN ESC+"[46;1m" /* Cyan */
- #define HBWHT ESC+"[47;1m" /* White */
-
- /* Background Colors */
-
- #define BBLK ESC+"[40m" /* Black */
- #define BRED ESC+"[41m" /* Red */
- #define BGRN ESC+"[42m" /* Green */
- #define BYEL ESC+"[43m" /* Yellow */
- #define BBLU ESC+"[44m" /* Blue */
- #define BMAG ESC+"[45m" /* Magenta */
- #define BCYN ESC+"[46m" /* Cyan */
- // #define BWHT ESC+"[47m" /* White */
-
- #define NOR ESC+"[2;37;0m" /* Puts everything back to normal */
-
- /* Additional ansi Esc codes added to ansi.h by Gothic april 23,1993 */
- /* Note, these are Esc codes for VT100 terminals, and emmulators */
- /* and they may not all work within the mud */
-
- #define BOLD ESC+"[1m" /* Turn on bold mode */
- #define CLR ESC+"[2J" /* Clear the screen */
- #define HOME ESC+"[H" /* Send cursor to home position */
- #define REF CLR+HOME /* Clear screen and home cursor */
- #define BIGTOP ESC+"#3" /* Dbl height characters, top half */
- #define BIGBOT ESC+"#4" /* Dbl height characters, bottem half */
- #define SAVEC ESC+"[s" /* Save cursor position */
- #define REST ESC+"[u" /* Restore cursor to saved position */
- //#define REVINDEX ESC+"M" /* Scroll screen in opposite direction */
- #define SINGW ESC+"#5" /* Normal, single-width characters */
- #define DBL ESC+"#6" /* Creates double-width characters */
- #define FRTOP ESC+"[2;25r" /* Freeze top line */
- #define FRBOT ESC+"[1;24r" /* Freeze bottom line */
- #define UNFR ESC+"[r" /* Unfreeze top and bottom lines */
- #define BLINK ESC+"[5m" /* Initialize blink mode */
- #define U ESC+"[4m" /* Initialize underscore mode */
- #define REV ESC+"[7m" /* Turns reverse video mode on */
- #define HIREV ESC+"[1,7m" /* Hi intensity reverse video */
-

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。