北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 4520|回复: 3

【转】Ansi颜色使用。

[复制链接]
发表于 2011-12-15 09:24:16 | 显示全部楼层 |阅读模式
可以用来防止误触发的一种手段。。。——

ANSI 颜色使用研究  

      总所周知,ES2类的LPMUD是一个只有文字的世界,因为没有任何图像,所以
正是因为有16种ANSI颜色,才使得
我们这个世界变得丰富多彩,更有吸引力。出于一名巫师和一名网页制作者的考虑
,目前的巫师在使用ANSI颜色时,常常
不是惜墨如金一点都不用就是不分场合到处乱用,这样对于一个MUD的表现力而言
都是不好的。所以我今天有空就想随便
说说有关ANSI COLOR的一些使用方法,给大家参考。

    我们先从源头说起,之所以加了ANSI标示符的字符就可以显示不同的颜色,是
因为通过客户端像zMUD这样的软件,能
够从Winsock控件的DataArrival事件中传回的数据中识别出ANSI标示符,将其后面
的字符转换成指定的颜色,在Rich
Textbox中显示出来。这涉及一些简单的Windows网络编程,就不多谈了。至于
tintin+这些,虽然在Linux下使用的控件
和Windows不同,但原理还是一样的。

    一般来说,要在一个程序中使用ANSI颜色,人人都知道要在头上#include
,那么,这个“ansi.h”文件你打
开看过了没有呢?在一些welcome文件中那些初学者看来非常深奥的什么[1;37m这
样的字符你明白了它的意思没有呢?让
我们打开/include/ansi.h这个文件看一看吧:

// File : /include/ansi.h
// 这是MUDLIB的标准颜色设置,由Jjgod汉化

#define ESC "
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-12-15 09:25:09 | 显示全部楼层
ZMUD里的颜色触发  

作者:RIVER   

ZMUD的trigger允许在pattern中加入ANSI颜色代码,这样,  
引起触发不仅需要与从MUD中获得的文本匹配,而且也需要颜色一致。  
这一特性在防止错误触发时非常有用。  

例如:通常我们会在trigger中加入以下内容以防遭到NPC或PKer的毒手,  
#tr {^(你已经陷入半昏迷状态,随时都可能摔倒晕去)} {quit}  

注意:pattern中的符号(^)强制zMUD从一行的头部开始触发,不能省略,  
否则随便某人chat一句你就得丢盔卸甲,狼狈退出,以后还怎麽在江湖上混?  

但是,由于某些我也不知道的原因,在一些机器上,符号(^)不能正常发挥作用,  
这时就要用到颜色触发了。  

按以下步骤建立颜色触发  
1、在MUD输出窗口中选择需要引起触发的行;  
2、在建立trigger窗口中单击new建立一个新的触发;  
3、在options选项卡中的other options中选中color trigger;  
4、返回trigger选项卡,在pattern字段中用用Ctrl-v粘贴在步骤一选择的行,  
然后在command字段填入需要的命令,一个需要颜色匹配的触发就完成了。  

注意:一定要用Ctrl-v粘贴,而不能使用鼠标右键的粘贴命令。  
你也可以使用#color命令来建立一个颜色触发。  

另外,ANSI颜色序列由字串“%e[xxm”定义,其中xx是ANSI颜色值,定义如下:  
0 无属性 1 高亮 2 低亮 3斜体 4下划线 5闪烁 6快速闪烁 7反向显示 8 不可见;  

前景颜色:  
0黑 1兰blue 2绿 3蓝绿色 4红 5紫红 6棕 7灰 14黄 15白 128粗;  
前景高亮加 8 背景加深为*16 粗体加128;  

前景颜色:  
30 黑 31红 32绿 33黄 34 兰 35深红 36深兰 37 白 ;  

背景颜色:  
40 黑 41红 42绿 43黄 44 兰 35深红 36深兰 37 白  

因此,本文开头提到的逃命触发的例子现在可以写成:  
#tr {你%e[31m已经陷入半昏迷状态,随时都可能摔倒晕去} {quit}  
再也不用担心错误触发了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-12-15 14:42:34 | 显示全部楼层
上边的一个帖子,我发过了,嘿嘿嘿~~确实用来防止误触发的

另外,武当的炼丹,也需要颜色触发!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-2-27 23:17:51 | 显示全部楼层
学习了,顶
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-17 07:38 AM , Processed in 0.012025 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表