文字MUD游戏论坛-天下泥潭群英会-水泊梁山  

返回   文字MUD游戏论坛-天下泥潭群英会-水泊梁山 > 西游之旅 > 『 机器人制作及下载 』

『 机器人制作及下载 』 如何从开始简单的数组、触发,到复杂的路径、地图、数据库等等。如何考虑周全的制作全自动的机器人让它能够24小时不停的帮你练功。

发表新主题 回复
 
LinkBack 主题工具 主题评分 显示模式
旧 2010-10-03   #1
初级会员
级别:0 | 在线时长:4小时 | 升级还需:1小时
 
schxv 的头像
 
注册: 08年02月24日
帖子: 30
声望力: 0
声望: 10 schxv 闻道则喜
现金:60两梁山币
资产:160两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
手把手教你改造zmud7.21机器人

目前比较盛行的tmt机器是运行在4.62下面的,本文将讨论如何将其搬到zmud7.21下面。
准备工作:下载并安装zmud7.21试用版或破解版,试用版zugg官方网站(www.zugg.com)上有,破解版三界论坛(www.sanjie.org)上有,下载tmt机器,xy论坛上就有。
zmud721的界面和462相差不大,新建一个character,连线进入,点击settings->import->settings...下拉式菜单,找到tmt机器,点击打开,在随后出现的弹出窗口,用shift选择左面窗口所有的类,点击两个窗口中间Add按钮,然后点击OK
这样就完成了第一步工作,你会看到你的zmud使劲的触发,不停的刷屏,点击右下角的小手枪,赶快停掉它吧。造成这种混乱触发的原因主要有以下三个
1)zmud在导入settings的时候,错误将某些pattern模式的triggers转换成expression,这种也是最好改的。只需要打开triggers窗口,将右边的option选项卡打开,依次看左边的triggers有哪个的option便成了expression,直接改为pattern即可。
2)triggers中触发行对变量名和中文的区分似乎不太清楚。解决办法,将triggers触发行中所有的@var加{}变成{@var},比如说原来是“@yao的尸体”则改成“{@yao}的尸体”,但如果有其它的分界符如“~(@yao~)的尸体”就不用改。
3)变量为空导致,打开变量设置窗口,给那些在triggers中要引用的变量设置一个值,设什么都可以,只要不空就行,tmt机器在使用中会适时地调整过来。
将触发行改过来后,打开triggers和alias,你会看到,有好多语句自动缩进,加了空格,颜色等等,好看多了,但是还有部分没有自动缩排,而且报错,这一般都是由于格式不符,还好,不是很多,加{}吧,e.g.将#alias pp juezhao改成#alias pp {juezhao}。
改完了triggers和alias,再打开小手枪,那种乱触发就没有了,这个时候,将zmud462中的timer对话框中的语句复制过来,粘贴到zmud721的timer中去。机器转型基本就算完工。如果你是个精致的人,而且这种精致常常显得必要,打开class吧,改变一下class的属性,比如从枯骨洞走出来的类slow1,slow2在连线时是肯定是要 关闭的,等等若此。
----
个人认为,zmud721最大的好处是编机器方便,支持pretty格式(类同于C语言中按层次自动缩进的意思),可以搜索(查找某个变量如何定义,在哪儿别修改,用于什么判断等等),还支持简单的纠错功能。好处多多,推荐使用,欢迎交流。

=========================================================================================
补充一下
将alias中suandan,suanyao中的[]改为%int,比如hz_rep=[%len(@hz_tmp)/2]改为hz_rep=%int( %len( @hz_tmp)/2)
点击进入class设置窗口,在其中点击选中view->show hidden下拉式菜单,将系统默认的路径Direction和DirectionDlg删掉。tmt的路径定义和系统默认设置不一样。
=========================================================================================
嗯,楼主加油,我以前也试着用过这些较高版本的,因为462在xp下太容易出问题了。
1、 从555开始,path里的#back定义就和462下不同了,但是在555里面还可以回退几步,好像三步吧,如果没有记错,但是到了7版本中,只有一个方向(貌似联机之后也是如此)。所以如果用path寻妖,除非把每步的时间间隔调大些,别的方法我现在是没有想到,希望有高手可以指导。
2、乱码。721里面比方说开封的“开”,盘丝洞的“丝”这些都是乱码。555里面好像“婷”“焰”“蝗”之类的是误码,所以接任务的时候可能会造成干扰。
3、就是高版本对命令要求比较严格,462下的一些命令可能到了高版本里会有问题的。
呵呵,楼主加油,如果有了好的机器,别忘了大家。
=========================================================================================
和swordor共同商讨:
1、在高版本的path中,并不是不支持#back,只是它的每一次#back必须要得到确认后才会在当前路径中删除最后一个动作,有点绕口,比方说,#sl nesw,#stop,#4 #back,就一直给你e,e,e,e...,因为这个e没有得到确认,解决办法是用triggers确认, #trigger {"这里没有这个人"} {#stop;#back}就可以了。因为“这里没有这个人”是由服务器发送的数据,在zmud客户端将它辨识为确认信息,于是就可以一步步back回去了。
2、乱码问题。在调试中,我也发现盘丝洞会引起误码,但从屏幕截取的原始数据来看是正确的,可能是zmud内部实现的问题。是否可以考虑运用一个字触发地名,好在姓开和丝的地方不是很多,但不知道还有没有其它的盲区。
3、诚如所言,zmud高版本的语法更为严格。比如以上提到的#alias 的定义方式,suanyao中的[]等等都有所变化。但同时也提供了很多新的功能,像多行触发等等。总的来说,高版本的zmud机器人对用户更透明,流程要更明晰一些。
机器已经改得差不多了,不幸小雨宕机,无法调试。sigh
============================================================================================
又及,由于path必须得到确认才能行动,所以要想#step正确工作,应:
1. 在slowwalking中到时自动放弃项 失效;
2. 将step time改为一个较大值,如5000(5s);
3. 在触发里加上确认再继续行走,如{#stop;#step;...}
schxv 当前离线  
回复时引用此帖

旧 2010-10-06   #2
初级会员
级别:1 | 在线时长:13小时 | 升级还需:2小时
 
abmer 的头像
 
注册: 07年10月28日
帖子: 29
声望力: 0
声望: 16 abmer 初领妙道
现金:124两梁山币
资产:124两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 手把手教你改造zmud7.21机器人

关于PATH,你可以考虑用ALIAS来实现

北大侠客行的论坛上有一篇文章,很详细地作了说明
abmer 当前离线  
回复时引用此帖
旧 2010-11-24   #3
初级会员
级别:0 | 在线时长:3小时 | 升级还需:2小时
 
mfic 的头像
 
注册: 06年11月20日
来自: 客栈
帖子: 15
声望力: 0
声望: 10 mfic 闻道则喜
现金:30两梁山币
资产:30两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 手把手教你改造zmud7.21机器人

dingdingdingding
帅哥 mfic 当前离线  
回复时引用此帖

旧 2010-11-26   #4
中级会员
级别:1 | 在线时长:5小时 | 升级还需:10小时
 
dragon425 的头像
 
注册: 10年11月15日
帖子: 61
声望力: 0
声望: 8 dragon425 闻道则喜
现金:22两梁山币
资产:22两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 手把手教你改造zmud7.21机器人

学习,一直用462,但好像很多人用721了,机器也多了起来,看起来要学习学习了
dragon425 当前离线  
回复时引用此帖

发表新主题 回复

添加到书签


发帖规则
不可以发表主师
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9, 现在的时间是 21:59.


Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue

Content Relevant URLs by vBSEO 3.6.1