2010-04-05 | #1 |
高级会员
注册: 03年03月14日
来自: 长安
帖子: 161
声望力: 23
声望:
53
现金:-643两梁山币
资产:-101两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
新手写机器人
先看个帖子,这几天自己在做机器人,我会把自己做的体会与遇到的问题写到这里.希望对大家有所帮助.先看个贴,内容我会陆续写上
|
|
2010-04-05 | #2 |
高级会员
注册: 03年03月14日
来自: 长安
帖子: 161
声望力: 23
声望:
53
现金:-643两梁山币
资产:-101两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 新手写机器人
晕,不能编辑吗?本想边玩边写,写一点是一点,不能编辑只能有时间写一段再贴出来了faint
|
|
2010-04-06 | #3 |
高级会员
注册: 03年03月14日
来自: 长安
帖子: 161
声望力: 23
声望:
53
现金:-643两梁山币
资产:-101两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 新手写机器人
自动找怪首先是要做好路径,路径可以通过命令行记录也可以通过菜单来录制 1.通过命令行 首先输入命令#mark,然后你输入的路径就会被记录下来,当你走完路径后,输入#path aaa.这样路径就被保存为aaa 2.通过菜单,在操作(acction)下有个记录路径的菜单,点击菜单后就会保存你下面走的路径,当走完后点保存,会再弹出一个窗口给你保存这个记录的名字. 好了,通过上面的介绍相信你一定可以制作路径了.现在你输入#sl aaa(你的路径名,有些低版本可能是#sl .aaa.可以查看mud的help文档)就可以走了. 很多新人在这一步可能会遇见问题,那就是路径只走一步就不走了,这是为什么呢?这个我们就要从#slow 说起了. #slow 看help文档.他需要一个返回命令来告诉服务器该走下一步了,如果没有返回命令那么他就不发送下一个指令.当然这个要不要返回命令是可以设置的 在我们的view菜单->参数设字_>gerenal里面有个slow walking选线,点击后右边的设置窗口会一个"超时异常行走的设置".如果这个选项打上勾就表示需要返回 命令,不打就表示不需要返回命令.在这个勾下面还有一个输入框,让你输入时间.现在分两种情况来说明这个时间的输入.1就是你不打勾是输入的时间:如果你没有 打勾,那么你输入500,也就是每过0.5秒就执行一个命令(你路径的下一个方向),而不管有没有给服务器传送一个#ok命令.也就是说你只要不输入#stop 不管 你的路径对不对都会执行玩你本次路径所有的命令.2 如果你打勾了,如果你输入是500,那么如果你0.5秒没有发送#ok命令,那么路径就会slow walking about而 停止.这时候怎么办呢?我们每次走路时不是有一句: 这里xxx出口是 xxxx那么我门可以做一个触发:pattern是 这里(*)出口是 cmd是#ok.这样我们每走一步都会发 一个#ok.这样路径就可以继续走下去了.考虑到网络延迟,这样时间可以设置为5000,也就是如果5秒没有接到我们的#ok命令,路径才会终止. 这样你输入 #sl .路径名 就可以遍历整个你要找的城市了. 路径会做了,那么下面我们就说说怎么让他自动找怪,也就是找到怪后自动停下来(明天继续吧,空闲时间打这么多字不容易) |
|
2010-04-07 | #4 |
高级会员
注册: 03年03月14日
来自: 长安
帖子: 161
声望力: 23
声望:
53
现金:-643两梁山币
资产:-101两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 新手写机器人
晕,没有人看吗?那就慢慢写.打击积极性啊
|
|
2010-04-19 | #5 |
中级会员
注册: 10年04月12日
帖子: 69
声望力: 15
声望:
15
积分:9
精华:1
现金:247两梁山币
资产:247两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 新手写机器人
这么好的帖子为什么没人顶!继续呀,楼主,我给你发PM了
|
|
2010-04-19 | #6 |
天平座童虎
注册: 02年05月24日
来自: 莲花宝座
帖子: 5,957
声望力: 97
声望:
1639
积分:18
精华:29
现金:3172两梁山币
资产:1701044两梁山币
致谢数: 2
获感谢文章数:10
获会员感谢数:10 |
回复: 新手写机器人
我支持啊!!我第一个支持!! 哦哦哦,第二个!呵呵呵。。。 楼主加油啊! |
|
|
|
2010-04-20 | #7 |
高级会员
注册: 03年03月14日
来自: 长安
帖子: 161
声望力: 23
声望:
53
现金:-643两梁山币
资产:-101两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 新手写机器人
哈哈,今天看到有人看帖子,看来可以继续写下去,这是我第一次写机器人,会把写机器的一些心得给写下来
|
|
2010-04-20 | #8 |
中级会员
注册: 10年04月12日
帖子: 73
声望力: 15
声望:
20
现金:9两梁山币
资产:9两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 新手写机器人
呵呵,我来看哦!
|
|
2010-04-20 | #9 |
高级会员
注册: 03年03月14日
来自: 长安
帖子: 161
声望力: 23
声望:
53
现金:-643两梁山币
资产:-101两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 新手写机器人
那么下面我们就说说怎么自动找怪:这里以yuan的怪为例 1.我们先建一个job的类如图 这个类点击新建那个按钮,选择类就新建了一个类,把这个类命令为job. 2.类建好了后.我们就建一个trigger,当yuan对你说话时触发.因为yuan的话是两句,我不知道能不能用两行匹配触发,我做了一个折中的方案.就是yuan说第一句话时,打开我们找怪的类,避免人多问的时候误触发我们的机器. ^袁天罡将手中桃木剑向四方一划,对你说道: 这句就是我们要触发的句子,^符号表示前面匹配,就是屏幕开头就是这一句话,否则不触发 如:[闲聊]xxx说道:袁天罡将手中桃木剑向四方一划,对你说道: 这句如果有^那么就不会触发我们的trigger,如果没有,我们触发器就会触发,因为他会忽略掉前的[闲聊]xxx说道: 下面的value就是我们要执行的命令 #t+ getguai 的意思是打开类getguai(打开类那么这个类里面的trigger可以执行,否则不执行) 那么下面我们就来看getguai这个类 我们在这里建一个trigger,就是当yuan对你说灭妖时候的话 近有(%x)~((*)~)在(*)出没,为害不小,请速去收服! %x是一个通配符,非空字符他基本上都能通配.用括号括起来就表示里面是表示一个字符串变量 ~((*)~)来是什么呢.因为我们的(符号会被解释为特殊字符( (后面是变量 ),但是这一句怎么解释呢: 近有狐狸精(huli jing)在高老庄出没 我们的第一个(%x)表示狐狸精,那么huli jing 怎么解释出来呢?如果我们继续用(*) (注释:*可以通配任意字符,也就是*可以代表一切字符).那么*代表的就是(huli jing),他连括号都表示出来了,而我们想要的是huli jing.那么huli jing 前面的括号怎么表示呢,那么就用转意符~了,~(表示这个(就是括号而不是表示(他后面是跟一个变量. 在这里我们定义三个变量:yao=%1 这里%1就是这第一个括号里面的内容. yaoguai=%lower(%2) 这里%2是第二个括号里面的内容.%lower是只把%2里面的字符转化为小写 place=%3 就是第三个括号里面的内容了,也就是地点了 #sh 你说道: go @place 就是在屏幕上打出这句话,用来做下一步触发 下面是第三步:根据yuan的信息找怪.我们建一个map类来专门处理各个地方找怪 他的触发源就是刚才上一个找怪我们自己在屏幕上打出的字:#sh …………………….. 假如那个怪在长安,我们建一个trigger 你说道:go 长安城$ Value是一个别名:changanguai.现在我们看看这个changanguai是个什么样的别名 ------下载此贴附件最少需要拥有1两梁山币,方有下载权限。------
|
|
2010-04-20 | #10 |
高级会员
注册: 03年03月14日
来自: 长安
帖子: 161
声望力: 23
声望:
53
现金:-643两梁山币
资产:-101两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 新手写机器人
图片不知道怎么上传,就放在那个word文档里面
|
|