当前位置:梁山文学城 网络泥巴中文文字mud综合门户网站 泥潭帮助 网络泥巴中文文字mud综合门户网站 zMud帮助 网络泥巴中文文字mud综合门户网站

 机器人小技巧

机器人小技巧

精彩泥巴推荐

标题 作者 内容

作者:未知    更新时间:2004-11-03   阅读次数: 2532 次  

相关评论:0 篇   暂时无人对本文评分! 关键字:机器,robot,zmud

来源:水泊梁山之天下泥潭http://www.skymud.comhttp://www.spls.org(来源有误请尽快联系本站管理员

机器人小技巧

首先声明,我对编机器人不是很在行。以前自己用过的机器人基本上是靠打着“拿来主意”的招牌共

产过来的。这篇文章主要是写给一些新手看的,希望对他们今后编机器人能够有所帮助。用一句比较

流行的话来结束这段开场白吧:兄弟抛块砖,有玉的尽管砸过来! 

一:关于应付pk。 

1,自动提示 你是否有过这样的经历:挂上一个机器人,然后去做别的事情(比如上BBS),过了一

会回去一看,竟然被别人PK了。为了防止这种情况,我们可以做一个自动提示的trigger。只要一句

话就可以实现: 

#TRIGGER {^看起来(*)想杀死你!} {pker=%1;#mess 救命呀,@pker要杀我啦 !} {} 519 

(直接在zmud的命令栏中输入即可,下同) 

这样,当有人要杀你的时候。zmud就会自动弹出一个对话窗进行提示。顺便说一下,这里还需要考虑

到一些特殊的pk方法,例如冰刀,瞌睡虫,迷魂,蚀月之类。原理同上,不再赘述。 

2,自动保护 首先,可以在受重伤的情况下quit。这也是大家经常使用的方法。例如: 

#TRIGGER {^( 你受伤过重,已经有如风中残烛,随时都可能断气。 )} {quit} {quit} 519 

#TRIGGER {^( 你已经陷入半昏迷状态,随时都可能摔倒晕去。 )} {quit} {quit} 519 

#TRIGGER {^( 你受伤过重,已经奄奄一息,命在旦夕了。 )} {quit} {quit} 519 

#TRIGGER {^( 你上一个动作还没有完成,不能退出。)} {#wa 500;quit} {quit} 519 

注意最后一句话一定不能少,以防止你在busy的状态下遭到pk。顺便说一个命令:#di,输入后,zmud

会自动断线。在一些mud中,是不能对断线的玩家进行攻击的,所以可以利用这个命令进行断线保护。

:)) 

3,自动记录 如何知道你不在的时候,是谁PK了或者试图PK你呢?这里有两种方法可以实现。 

第一种:使用zmud的自动记录功能。只要在zmud的file菜单中选择new log,指定保存目录和保存文件

名。或者直接使用#log命令,例如,输入#log abc.txt,即可生成abc.txt的记录文件。想停止输入时输

入#log即可。这样,zmud就可以将所有的内容都储存成为txt文件。这样,只要打开该文件,你就可以

看到自己不在的时候发生的所有事情了。 

第二种:通过trigger将pker的id,中文名字记录下来,推荐使用。方法为: 

#TRIGGER {^看起来(*)想杀死你!} {pker=%1;id here;alias pker @pker} {} 519 

#TRIGGER {(@pker)(%s)= (%x)} {pkid=%1;alias pkid @pkid;#case %random(1,4) {chat @

pkid,我会报仇的} {chat @pkid,我记住你了} {chat @pkid,为什么要杀我?} {chat @pkid,走着瞧!}

 } {1} 519 

#TRIGGER {^你死了。} {#t+ rumor} {die} 519 

#TRIGGER {【谣言】某人:洒水车被(*)吃掉} {pker=%1;alias pker @pker;#t- rumor} {ru

mor} 518 } {rumor} 518 

这样就可以把最后一个要杀你的玩家的id设为alias中的pkid,中文名字为alias中的pker,并且随机给

他一个警告(玩家可以根据自己的喜好更改这些警告)。如果你不幸被杀,它还可以把系统的谣言记录下

来,即使pker变成别的玩家也无所遁形。这样,不管你下一次使用的是不是同一台机器。只要进入游

戏,看一下自己设定的alias中的pker和pkid。就可以知道仇家是谁了。 

4,防止误触发 

先举两个误触发的例子。例如,我在chat中谈道自己被妖怪打得不行,随便说了一句

“【闲聊】洒水车(Sanfeng):( 你已经陷入半昏迷状态,随时都可能摔倒晕去。 )”。 

这就有可能触发你的自动保护trigger,导致你quit。这是无意的误触发。还有一些恶意的误触发更令

人讨厌。举个例子,我和你在一起打山妖或者是水蛭精。你的trigger是当潜能为100时就飞回去和师

父学武功。我就可以在你身边“say 潜能: 100”,把你赶走。嘿嘿,够阴险吧? 

解决误触发也很简单在。首先,可以在需要触发的语句前加一个^(shift+6)符号。这就是用来防止误

触发的,可以强制pattern从每行的开头开始匹配。其次,可以通过#t+和#t-命令来开启或关闭一类t

rigger,从而避免误触发。例如上面通过记录谣言来确认pker的trigger就是使用的这个方法:先将记

录谣言的trigger起个名字(我用的是rumor)。当系统出现“你死了”的提示后,用#t+ rumor命令打开

rumor类trigger。而rumor这个trigger本身,可以在记录完pker的名字以后将自己关闭(#t- rumor)。

这样,就不 

会再被触发了。顺便介绍一个命令:#ig,这是一个很有用的命令,它使zmud禁用所有的trigger.(就是

zmud右下角的枪形图标上打叉的效果) 

二,关于全自动机器人。 

所谓的“全自动机器人”是指能够长时间运行,无须人看管的机器人。 

长时间运行,首先就需要解决食物和饮水的问题。这里以西游记450为例:

可以做一个自动判断食物的trigger,当食物小于某一固定数值(例如100)的时候,就去天竺买一颗 

“养身丹”补充。具体方法为: 

#TRIGGER {食物:%s(%d)/ 400%s} {food=%1;#if (@food<100) {fly tianzhu;#8 w;s 

;s;e;buy dan from hou;eat dan}} {food} 519 

(这里的数值400为食物最大值,因人而异) 

无人看管,就需要自动连线来应付断线。自动连线主要有两种方法。 

第一种是设置alias,方法为: 

#ALIAS atconnect {gb;no;YOURNAME;YOURPASSWORD} 

这种方法比较简单,易用,推荐使用。不过需要注意的是,这样一来,你的PASSWORD就被储存

在ALIAS之中了。如果不是在自己的机器上的话,最好不要SAVE,这样ZMUD被关闭后就找

不到你的trigger了。或者干脆及时删除。 

第二种是用trigger。 

第一句:#TRIGGER {您的英文名字:} {%char} { autolog} 963 

第二句:#TRIGGER {请输入密码:} {%pass;#T- autolog} { autolog} 963 

其实,当你的character第一次连线进入的时候,zmud都会提问你是否设置自动连线的。只要选择“Y

ES”即可。此时,你的PASSWORD将会以*****的形式被储存下来。这也是极不安全的,只要

使用一些黑客软件(例如snadboy)就可以轻松破解,从而获得你的密码。 

还有一种特殊情况:mudos重启或者你由于发生意外被迫quit。此时,你重新连进游戏后,进入的是南

城客栈或者其它你save的地方,而且身上除了法宝和钱之外一无所有。这种情况,可以用一些特殊的

语句来触发。所谓特殊的语句,就是指只有当你第一次连线进入的时候才会出现的提示的话。例如: 

“目前权限:(*)”等等。 

如果因为遇到pker或者其它情况而不想自动连线。可以通过更改密码的方法来破坏自动连线。 

要想实现机器人的全自动,需要考虑到非常多的情况。但是,无论如何仔细,也没有绝对的把握保证

你的机器人不出问题。一般来讲,越是复杂的机器人就越容易出错,越容易停下来。万一出现这种情

况,该怎么办呢?这就需要用到finger命令了。finger 某人,就可以得知有关该玩家的连线,权限等

资料。例如:finger sanfeng就可以看到: 

英文代号: sanfeng 

姓 名: 洒水车 

权限等级: (player) 

电子邮件地址: 不告诉你 

上次连线: Fri Aug 25 10:35:34 2000 

洒水车目前正在连线中。 

当该玩家连续60秒以上未输入任何命令时,就会出现如下的话: 

洒水车目前正在连线,已发呆 100 秒钟。 

利用finger命令,我们就可以应付机器人停止的意外情况了。先找一个 dummy,放在南城客栈,set n

o_accept(防止别人用毒刀暗算)。每隔60秒就finger你的主id,如果出现发呆的情况下就tell他一句

话。而当主ID接收到dummy发送的信息后就可以继续运行了。 

5 关于自动升级。

很多自动的机器人都是打架长潜能,然后去和师父学武功的。当你的武功比师父低的时候,机器人

好做。但是,到了后期,你的武功高于师父,就需要判断是否学够了。否则,将会浪费大量的潜能。

 

下面这个trigger可以进行自动判断(这个是针对xyj450的原码的) 

#TRIGGER {基本轻功*%s(%d)/(*)$ } {#if %eval((%1+1)*(%1+1)-%trim(%2))<0 {...} {...

} } {} 519 

上面是以基本轻功为例的。 

三,杂七杂八 

先说说一个简单的命令:#cap。这个命令 可以把你想要的信息抓下来,在另外一个窗口储存下来,从

而方便浏览。例如,你想把所有聊天的内容放到talk窗口中去,就可以用下面这个trigger来实现。 

#TRIGGER {【} {#cap talk} {} 519 

一些人气很旺的站点,由于在线玩家比较多,所以聊天内容也很多,从而导致聊还动速度过快。既然

我们已经用#cap命令将聊天内容抓到talk窗口中,就可以用#gag命令把主窗口中的聊天内容摒闭掉。

方法为: 

#TRIGGER {【} {#gag} {} 519 

这样,即使打开聊天频道,聊天的内容也不会出现在你的主窗口中了。 

#gag命令还可以摒闭掉你不想看到的内容,例如某某人走了过来什么的。 

对一些重要的或者是敏感的字符,例如你要杀的妖怪,仇家,黄金什么的,可以用#cw或#co来改变颜色

,达到便于识别的目的。。#cw可以使一个字符串改变颜色,#co可以使字符串所在的整行改变颜色。

 

#TRIGGER {洒水车} {#cw 10} {} 519 

如果想让一个颜色更亮丽一些,就在它原来的值上加8,比如9就表示更亮的兰色;如果是想改变背景

的颜色,就将它原来的值乘16;比如要想得到红色的背景则使用的颜色代码为64;改变前景的字体要

再加上128。 

比如: 

#co 159 设置最后接受的一行文本是蓝底粗黑白体(1*16+15+128) 

其中的10代表亮绿色。至于具体哪个数字对应什么颜色嘛,大家自己慢慢试验吧,呵呵@_@ 

最后,再简单说说zmud中的button,key,status以及paths,也就是按钮,宏键,状态条和自动行走。 

我们可以把一些常用的命令做成按钮。只要在Action菜单中选择Make button即可(或者直接ctrl+b

)。可以设置button的位置,种类,尺寸,颜色,开启或者关闭时的显示等等。至于具体的做法则很简

单,不再多说。如果你看不太懂英语的话,可以下载一个中文版的zmud。 

keys就是用某一个键值代替具体的命令。例如,可以用F12代替quit(方便逃命的说)。zmud提供了一

些默认的宏键。小键盘区的方向键就分别表示south,north,east,west等。可以用如下的方法设置宏键

:按ctrl+k键,zmud会提示你“Press key combination to define/edit”,按下你想要定义的键(例

如F12),这时zmud又会提示你“Enter definat ion for this key”,输入你想要用宏键代替的命令

(例如quit)。 

状态条还是蛮有用处的。它可以提示你要做的任务或者是要灭的妖怪的名字,更可以帮你计算做任务

或者是灭妖的速度和效率。比如用状态条来记录要灭的妖,灭妖次数以及奖励。先定义一个trigger来

提取相应的变量(假设@yaoguai和@jiangli分别为灭妖对象和奖励数目)。再用鼠标右击状态条,选D

efine status bar,在status line里输入“要灭的妖:@yaoguai”和“奖励:@jiangli”。至于次数统

计,先在变量中定义“jiang”的数值为1,再做一个每次奖励的时候#add jiang 1的trigger,最后在状

态条中输入“奖励次数:@jiang”即可。 

自动行走容许你将走过的一段路定义为一个路名,然后在路的起点与终点间你可以高速短时的行走这

对于找妖怪是非常有用的。有了自动行走,就不用自己费力地敲键盘到处找妖怪了。很多mud网站都可

下载到自动找妖怪的机器人。最简单的自动行走的制作方法,就是在path菜单中选择“开始录制(s

tart recording)”,然后把你想要自动行走的路径走一遍,走完以后“结束录制(stop recording)”

,再按照提示给这段路径起一个名字就可以了。另外,在paths菜单中的settings选项中还可以设置更

改每走一步的时间间隔。默认数值为五秒,太长了。开始自动行走也很简单,比如先做一个走遍长安

城的paths,并命名为changan,这时只要输入#slow changan(这是慢速行走,如果想快速行走,使中间

没有时间间隔,输入“.changan”),就可以按照既定的路径行走了,当你想停下来的时候,输入#sto

p即可。如果你走错了方向,你可以用#BACKUP 来走回去。#REVERSE还可以让你反方向行走。 

自动行走是建立在定义好的方向上的,如north 等,可以增加这些定义做更多的事,比如增加o 作为

open door;那么你就可以在走动中开门入房了了. 

【本页链接】http://www.spls.org/article/2004-11/article-1099415037.htm

返回水泊梁山首页    返回本目录    上一篇: 如何使用proxy上MUD    下一篇: 关于赌博
   我要评论 姓名:
  内容:  请控制字数少过128个中文字
  天书: 
   我要评分 分数:  介于0.00~5.00之间,满分5分!   
   相关评论( 本文暂无相关评论)

搜索泥巴妙文

Loading

更多泥潭帮助妙文

  西游各地方秘密 [1]
  我是一个叛徒 [295]
  我的判师 [346]
  判师隆中对 [1346]
  招聘督察 [66]
  关于取经ITEM [1950]
  关于取经NPC的问题 [1399]
  我的夜 [85]
  西游记2000总站取经13-24 [10123]
  西游记2000总站取经1-12 [11989]
  西游记各种技能的介绍 ( [8892]
  西游记 兵器大赏 [3973]
  取经小西天过关纪录 [2004]
  取经通天河过关log [1601]
  二十八关取经之第六关 [2174]
  火焰山过关秘籍 [2432]
  二十八关取经之第一关 [3053]
  痴风梦月的技能最强篇-- [6063]