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

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

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

发表新主题 回复
追加精华  
LinkBack 主题工具 主题评分 显示模式
旧 2008-08-04   #1
黄金会员
黄金会员三级会员
级别:7 | 在线时长:158小时 | 升级还需:22小时级别:7 | 在线时长:158小时 | 升级还需:22小时级别:7 | 在线时长:158小时 | 升级还需:22小时级别:7 | 在线时长:158小时 | 升级还需:22小时
 
argus 的头像
 
注册: 03年08月26日
帖子: 350
声望力: 25
声望: 33 argus 初领妙道
积分:10
精华:4
现金:2两梁山币
资产:6064两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
如何提高tri的效率和安全性

如何提高tri的效率和安全性
这是我发在浙大仙侣情缘站的帖子,觉得有些思想这里也适用。特贴出来,不足之处,还望不吝指教。

玩MUD离不开tri,无论是“手动”还是“挂机”,而高效并安全的tri无异于你多拥有一项“LUCKY”技能。可以说只要是手动能办到的事情,tri都能办到,只是也许你要花费比手动多N倍的脑筋和精力。这里讲的tri指的是24小时全自动运行的机器人。我自己的tri运行效率大概每分钟武学2000/道行2000/潜能3000/黄金1-3gold,挂机到50M一共死亡1次(ID未转世)。相信我还是有资格就tri的效率和安全性问题谈一下自己的看法,与tri爱好者共勉。主要从思路来谈,不谈具体的制作细节。当然,tri只是效率和安全性的一个重要方面,其它方面如先天特技、种族、门派、网速等等也对效率和安全有较大的影响。

1。要有好的挖泥工具
工具当然很重要。拿铁锹挖泥和开挖土机挖泥显然不可同日而语。现在应用最多的工具可能还是ZMUD4.62,ZMUD5.55用的人估计也不少。ZMUD最高版本据我所知到了7.21,高版本有更多更好的功能,数据运算和触发动作更快,特别是数据库和automapper功能更加完善,为制作更为复杂的机器人提供了方便。ZMUD4.62界面简洁,功能基本都能满足应用要求,推荐新手使用,本人目前就在使用这个版本。ZMUD以外的工具我没有用过,相信也有一些不错的,玩家可根据自己的喜好选择。有些挖泥软件可能比较差,会引起误触发、死机等,无形中降低了效率和安全性。选择的时候要慎重。

2。做好总体规划
正如盖房需要建筑设计图,编写机器人也要先做好总体规划,心里应该有个大概的思路,最好能够写下来,特别是编写一些较为复杂的机器人时,更应如此。先做什么,后做什么,将流程图写下来,容易帮助自己理清思路,容易发现问题,提前解决。这样编写tri的时候心中有数,思路清晰。比如李靖灭妖机器,其流程可能是这样的:准备工作(装备、武器、药品及其它)-〉打坐冥思-〉问任务-〉找怪-〉杀怪-〉处理获得的随机装备-〉处理特殊状况(比如解毒、降杀气、补食物饮水等等)-〉去JJT或TTSX等待(不涨mudage)直到可以问下次任务-〉重复循环以上步骤。这是整个机器的主要流程,另外tri还必须处理一些突发事件:比如被别人的怪抓住、飞行失败、被怪引入火焰山(装备物品有可能被烧毁!)、被别人或者对别人喊杀、武器盔甲被break(生命危险!!)、被高手的怪叫杀等等。遇到这些情况要优先进行处理,否则很有可能就此挂掉。

3。细节要考虑清楚
有了总体计划,下面应该考虑将其细化,具体到每一个细节。流程图里面每一个步骤,实际上是一个模块,它包括很多细节问题需要处理。比如“准备工作(装备、武器、药品及其它)”这一步,你要考虑需要准备什么盔甲?什么兵器?(必须确保有盔甲武器的状态下再去灭妖,否则光屁股战斗牺牲的机会很大)金创药混元丹人参灵芝等药品各需要准备多少?如何判断你准备的药品已经足够了还是太多了?太少了?如何准备?如何实现?(药品太少战斗有危险,太多又太浪费钱)。再比如“问任务”,你需要考虑问不到任务怎么办?(时间没到,或者你上个任务没完成等等),何时需要取消任务?拿到任务以后如何做?还有不能让别人的信息触动了你的机器人等等。再如“处理获得的随机装备”,打到的随机装备最好能够拿回来,把垃圾卖掉而把好装备存放起来。这样也能弥补因为买药而花掉的钱。也有可能把极品的装备存放起来。如何判断哪些是垃圾哪些是好装备?(最简单的是把什么牛皮、蟒皮直接卖掉,而把诸神、麒麟等存放起来等以后手动淘宝)。细节考虑的越多,处理的越好,tri的效率和安全性就会提高。当然,tri要力求简洁,不能是大量简单触发的堆砌。

4。做好战斗引擎
好的战斗引擎是整个机器人安全性的保障。如何有效而安全的与妖怪战斗,需要仔仔细细的考虑清楚。如何发招?如何吃药?如何吸气?看似小问题,其实都是性命攸关的大问题,很多英雄好汉不幸牺牲,基本都与此有关。简单说之,比如此时已经受伤,那么pfm还是稍后再发为妙(因为你发pfm后的busy时间内很可能被怪再次击中而丧命),先吃药疗伤为佳。这就需要在发pfm的tri中加个是否受伤的判断。再如如何吃药?是一个受伤的信息下#30 eat yao;exert recover还是另寻他法?怪一个pfm下来你同时连续几个#30,是不是就输入了上百个命令?接下来一连串 你一次输入太多命令了。。。是不是让你在怪的攻击面前苦不堪言?吃不了药也逃不掉,眼睁睁地任由怪蹂躏至死。其实很多情况下即使你气血为-1一个exert recover就能恢复了,但如果此时你却干些不相干的事情比如exert refresh,或者发一个pfm,那恐怕大罗金仙也难救你了。所以战斗引擎的制作要重视起来,触发要尽量简洁,输入的命令尽量节省但全面,毕竟死一次你大半天的挂机收获都搭进去了。战斗部分的基本原则就是:随时保持full HP,先疗伤后发招,输入的命令尽量少而精。看到很多人的tri,气血都只有50%不到了还在狂发perform,这种情况我觉得要想不挂实在太难了,早晚得挂. 还有很多tri,整个战斗过程中不吸一口气,不吃一颗药,做超人啊!?把怪干掉是你的运气,被怪干掉不稀奇.

5。触发要尽量简洁
这一条单独拿出来再强调一下。触发一定要精简,能不用触发的尽量不用触发,多个触发能合并到一起的尽量合并成一个触发。大量触发信息的堆砌会严重影响机器运行的速度。但是精简的意思不是缺漏,而是要尽量囊括所有的可能性。下面举例简单说明之。
比如一个简简单单的打鸟机器人。你会怎么做?是不是可能会这么做:

pattern:你打到一只麻雀/斑鸠。。。
commond:#wa 500;daniao

pattern:你什么都没打到。。。
commond:#wa 500;daniao

pattern:装好弹弓再打吧。。。
commond:#wa 500;daniao

pattern:看起来草头神想杀死你!
commond:。。。

pattern:你受伤过重,奄奄一息。。。
commond:。。。去TTSX

pattern:你头重脚轻,摇摇晃晃。。。
commond:。。。去TTSX

pattern:你正忙着呢,不能移动!。。。
commond:。。。去TTSX

其实可以再精简一下:

pattern:{你打到一只|你什么都没打到|装好弹弓再打吧}
commond:#wa 500;daniao

pattern:看起来草头神想杀死你!
commond:。。。

pattern:{你受伤过重,奄奄一息|你头重脚轻,摇摇晃晃|你正忙着呢,不能移动!}
commond:。。。去TTSX

原来7条触发信息,现在变成3条。

其实可以继续精简:
实际上打鸟这样的事情根本不需要用到触发器,用timer就可以了。时间定为1秒或者2秒,命令行为:#4 e;#10 s;d;TTSX;u;#10 n;#4 w;daniao。你只需要先走到打鸟的地方,或者到南海的TTSX,然后启动timer就可以安全的打鸟了,其安全性要比上面的tri高,效率也高,如果网速可以,基本不会当掉而发呆。

还有很多的事情都可以这么做。比如打坐冥思。timer命令如下:d;TTSX;u;dazuo 500。当然,这里举的例子都是非常简单的,实际中遇到的情况可能要复杂的多。但只要细细考虑,总是有办法精简的。

再举一个例子,比如灭妖中问李靖拿任务这样一个触发,很多人可能是这么做的:

pattern:李靖对你说道:近有XXX XXX在XXX为非做歹,请速去降伏!
commond:。。。一系列相关指令。。。

pattern:这位XXX,妖魔已经除尽,不妨先去休息。
commond:。。。一系列相关指令。。。

pattern:老夫不是请你去降伏XXX吗?
commond:。。。一系列相关指令。。。

但是,你有没有想过可能会出现以下情况?(尽管出现的概率很小)

pattern:这里没有这个人。
commond:。。。?????。。。

pattern:但是现在李靖的状态没法给你任何答复。
commond:。。。?????。。。

pattern:你对着雪梨喃喃自语。
commond:。。。?????。。。

pattern:你对着犁头喃喃自语。
commond:。。。?????。。。

pattern: (没有任何信息)
commond:。。。?????。。。

如果你的tri没有考虑到上述几种情况,那么很可能你的机器人因此而发呆。如果你的tri又没有防止发呆的部分,那么你的机器人很可能因此而停止运行。(如何防止发呆在第6点中讨论)

我是这么处理的:
alias:
#alias asklijing {#T+ asklijing;fly sky;gotolijing;ask li jing about kill;#wa 1500;set brief 询问任务}

trigger:
class: asklijing
pattern:李靖对你说道:近有XXX XXX在XXX为非做歹,请速去降伏!
command:#T- asklijing;...一系列相关指令...

pattern:设定环境变数 brief = "询问任务"
command:....接着做下一件事的指令...

解释一下.如果拿到任务就屏蔽掉asklijing这一class,接着就去找怪杀怪。如果没有拿到任务那么第二个tri被触发,接下来该干什么就写入什么命令。这样做不但间洁而且囊括了所有的情况,也减少了机器发呆的机会。当然第二个触发里面也需要很多判断,首先如果上一个灭妖任务你完成了,那么就去做下一件事情。如果上一个任务你没有完成,那么你可能还想再去搜寻一遍(因为上一遍可能刚好和怪错过了没有搜到),或者你已经搜寻了几遍了还没有找到,此时就需要取消任务再问下一个任务。

6。要防止发呆
再好的tri也会出意外运行中断而导致发呆。一段时间内(比如5分钟内)没有任何武学道行潜能的增长谓之发呆。很多机器人效率不高与发呆时间太长有关。30分钟或者1个小时净做无用功,这样的机器人效率怎么可能高起来?太多的#wa 5000,#wa 10000也会让你的机器人效率大打折扣。那么如何判断机器是否发呆了?方法其实有很多。比如可以每隔一段时间检查自己的增长,比如可以检查多长时间没跟李靖见过面了。等等。
比如我是这么做的:首先我timer设定为120秒,用一个变量idle来计数。也就是每隔120秒idle加1。如果idle>2(6分钟)那么我认为机器在发呆,tri就会自动采取措施重新运行。当完成一个任务获得经验值的时候,idle会被清零重新开始计数。如果一直没有经验值的增加,那么idle就一直累加。
这就是说,我必须要在6分钟内完成一个任务,否则防idle系统就会启动。但有些任务可能会耗时较长,比如NT任务的降。这时候你可以把怪投降一次就idle清零,基本可以解决问题。

悄悄的我来了,没有人在意。
在热闹的西游世界,我独守自己一方天空。
在超慢的网速下,顽强的默默的生存。
argus 当前离线  
回复时引用此帖

旧 2008-08-04   #2
中级会员
级别:2 | 在线时长:29小时 | 升级还需:1小时级别:2 | 在线时长:29小时 | 升级还需:1小时
 
wormsking 的头像
 
注册: 08年07月03日
帖子: 139
声望力: 18
声望: 14 wormsking 闻道则喜
现金:104两梁山币
资产:304两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 如何提高tri的效率和安全性

哈哈 土匪跑这里来了 ^_^
wormsking 当前离线  
回复时引用此帖
旧 2008-08-05   #3
黄金会员
黄金会员三级会员
级别:7 | 在线时长:158小时 | 升级还需:22小时级别:7 | 在线时长:158小时 | 升级还需:22小时级别:7 | 在线时长:158小时 | 升级还需:22小时级别:7 | 在线时长:158小时 | 升级还需:22小时
 
argus 的头像
 
注册: 03年08月26日
帖子: 350
声望力: 25
声望: 33 argus 初领妙道
积分:10
精华:4
现金:2两梁山币
资产:6064两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 如何提高tri的效率和安全性

晕,偶不是土匪,偶是bang。
argus 当前离线  
回复时引用此帖

旧 2008-08-06   #4
中级会员
级别:2 | 在线时长:29小时 | 升级还需:1小时级别:2 | 在线时长:29小时 | 升级还需:1小时
 
wormsking 的头像
 
注册: 08年07月03日
帖子: 139
声望力: 18
声望: 14 wormsking 闻道则喜
现金:104两梁山币
资产:304两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 如何提高tri的效率和安全性

o ......

搞错了你们2个名字很想啊。。。。

什么时候你的机器 让偶学习学习^_^
wormsking 当前离线  
回复时引用此帖
旧 2008-08-15   #5
高级会员
级别:2 | 在线时长:23小时 | 升级还需:7小时级别:2 | 在线时长:23小时 | 升级还需:7小时
 
jackylxl 的头像
 
注册: 04年12月27日
帖子: 109
声望力: 22
声望: 23 jackylxl 初领妙道
现金:170两梁山币
资产:170两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 如何提高tri的效率和安全性

见识了。。。可惜偶学不会了
jackylxl 当前离线  
回复时引用此帖
旧 2008-08-16   #6
中级会员
级别:2 | 在线时长:29小时 | 升级还需:1小时级别:2 | 在线时长:29小时 | 升级还需:1小时
 
wormsking 的头像
 
注册: 08年07月03日
帖子: 139
声望力: 18
声望: 14 wormsking 闻道则喜
现金:104两梁山币
资产:304两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 如何提高tri的效率和安全性

期待 再来点文章。。。。。让偶可以好好学习一下^_^
wormsking 当前离线  
回复时引用此帖

旧 2008-08-21   #7
初级会员
级别:1 | 在线时长:9小时 | 升级还需:6小时
 
henanwg 的头像
 
注册: 08年08月20日
帖子: 41
声望力: 0
声望: 16 henanwg 初领妙道
现金:64两梁山币
资产:64两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 如何提高tri的效率和安全性

学习中,提高中,向高手迈进!!!!
henanwg 当前离线  
回复时引用此帖
旧 2008-08-22   #8
中级会员
级别:2 | 在线时长:29小时 | 升级还需:1小时级别:2 | 在线时长:29小时 | 升级还需:1小时
 
wormsking 的头像
 
注册: 08年07月03日
帖子: 139
声望力: 18
声望: 14 wormsking 闻道则喜
现金:104两梁山币
资产:304两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: 如何提高tri的效率和安全性

继续支持。。。。。。。。。。。。。。。。。
wormsking 当前离线  
回复时引用此帖

发表新主题 回复

添加到书签


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

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



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


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

站长 fengyue

Content Relevant URLs by vBSEO 3.6.1