北大侠客行MUD论坛

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

鳌拜摸经计时机器人,以及机器人的设计

[复制链接]
发表于 2012-4-5 16:22:35 | 显示全部楼层 |阅读模式
本帖最后由 suxxx 于 2012-4-5 10:18 AM 编辑

有感于鳌拜那摸经书的混乱局面,一天下来大部分cd都被破坏掉了,前些天我做了个计时机器人挂在那。效果很好,这几天下来几乎没有破坏cd的现象。虽然有人用机器人自动摸书,但是说手动玩家只要按时间点去,还是有机会的。
昨天有好心人(我不知道他是否愿意让我说名字,我这里还是隐藏了,谢谢这位兄弟)直接送了我两本书,让我不用花力气去摸书了。我的摸书计时机器人还会继续挂下去服务大众,不过我也有很多时间不能上,曾经有人让我共享这个机器人,所以我就共享在这里,如果我没上线,谁把这机器人挂上,那也是好事一桩。
另外在设计这个机器人的时候,也用到了几个有趣的功能,高手们也许看不上,但对我们机器人新手来说分享下经验也是有好处的。

先说下机器人的表现:
计时开始以后,每10秒会说以下内容,方便来房间的人查看:
苏小小说道:「上次进密室的人是大怪兽,还有36分钟密室才能刷新,请不要轻易破坏刷新cd」
苏小小说道:「可以在helpme频道打"鳌拜经书时间"来查询这个刷新时间」
苏小小说道:「在这里也可以say ... "查询进入记录"来查询所有进入密室的记录」

为了让刚进房间的人不用等10秒才看到cd,只要look sux,就可以看到title:
【 女协领 】朝廷九品官员 协领「还有35分钟密室才能刷新,详情稍等我会说」苏小小(Sux)
这个title每分钟都会变。

另外为了方便玩家不用到这个房间就可以查询时间,在helpme频道里提供了查询,只要打"helpme 鳌拜经书时间”,那么就能看到:
【求助】苏小小(Sux): 上次进密室的人是大怪兽,还有33分钟密室才能刷新
【求助】苏小小(Sux): 请不要轻易破坏刷新cd

为了大家能够查询本次连线阶段,所有的进入密室记录,提供了面前查询,在sux面前,打“say 查询进入记录”就能看到:
苏小小说道:「本次计时在线期间,进入密室的记录如下:」
苏小小说道:「09:06 ... 有个故事」
苏小小说道:「10:06 ... 晓逛」
苏小小说道:「10:07 ... 有个故事」
苏小小说道:「11:06 ... 有个故事」
苏小小说道:「11:07 ... 毫毛」
苏小小说道:「12:07 ... 有个故事」
苏小小说道:「12:07 ... 晓逛」
苏小小说道:「13:09 ... 晓逛」
苏小小说道:「13:09 ... 毫毛」
苏小小说道:「13:09 ... 毫毛」
苏小小说道:「13:09 ... 毫毛」
苏小小说道:「13:10 ... 毫毛」
苏小小说道:「14:12 ... 大怪兽」
苏小小说道:「15:14 ... 大怪兽」


机器人实现起来,其实很简单,就一个button,2条alias,3条trigger



首先,怎么计算时间,这里我们可以设置一个变量作为初始时间变量:
#math booktime1 %number( %time( h))*60+%number( %time( n))
然后每次看到有人下密室了就重新计算这个时间,以作为计算还剩多少时间的根据。

每10秒计算一次剩余时间,然后say,nick就可以了。
#math booktime2 %number( %time( h))*60+%number( %time( n))
#math booktime @booktime2-@booktime1
#math booktime_left 60-@booktime+1
第二、三行合并成一句也可以,为什么剩余时间要加1呢,因为现在是按分钟计算的,有秒的误差,显示为0分钟了,实际可能还差几十秒,所以还是多1分钟比较保险。

至于查询记录,那个用到了zmud7.21的列表型变量,实现起来也很容易,每次看到有人进入,就往变量表里加一个记录。
#var who_enter2 %additem( @who_enter, @who_enter2)
#var who_enter_time %additem( %time( t), @who_enter_time)}
不过这里要注意,必须用%additem函数,不能用#additem命令,差别在于#additem不会加入重名的参数,这个曾经困扰了我不少时间。

要查询的时候,就用变量递归来提取出所有记录就可以了,一条alias语句就可以实现。
#ALIAS show_who_enter {#if @num<=%numitems( @who_enter2) {say %item( @who_enter_time, @num) %item( @who_enter2, @num);#add num 1;show_who_enter}}


最后留个小尾巴,这里提供的机器人比我自己用的少了一个功能,我的计时机器人会在时间少于5分钟的时候,每10秒通知所有在线的id(不用操心主id是什么名字),这样主id在做做任务的时候也绝对不会错过时间,哈哈。实现起来非常简单,有高手知道的别说哦,不知道的,来游戏里问我吧,嘿嘿嘿。

北大侠客行MUD,中国最好的MUD

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-4-5 16:26:47 | 显示全部楼层
看得出来楼主玩得很开心^_^
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2012-4-5 16:27:55 | 显示全部楼层
编写机器人是玩mud的一大乐趣,大家都来写吧,哈哈
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-4-5 17:01:15 | 显示全部楼层
小小来玩mush吧,比zmud好玩,不懂的地方可以问nol
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2012-4-5 17:04:48 | 显示全部楼层
mush,装了个,完全不知道哪里入手啊,这入门不容易啊。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2012-4-5 18:45:07 | 显示全部楼层
俺支持小小同学坚守zmud阵地
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 09:55 AM , Processed in 0.012996 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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