发一个BT点的:[全]自动练功机器人
一整天折腾的结晶。这个机器人之所以称之为全是因为它可以根据你定制的列表,自动一项一项地把列表中的技能练到指定等级,中间完全不需要任何操作。
依旧延续MSQUARE的一贯作风,尽力保证精气神使用的最大化。
依旧ZMUD7.21版,其他版本不保证可用。
使用任何MSQUARE编写的机器人,请导入以下状态提取触发器#CLASS {Status} {enable}
#VAR exp {0}
#VAR jingli {0}
#VAR jingshen {0}
#VAR neili {0}
#VAR pot {0}
#VAR qixue {0}
#VAR jingli_max {0}
#VAR jingshen_max {0}
#VAR neili_max {0}
#VAR qixue_max {0}
#VAR qixue_health {0}
#VAR jingshen_health {0}
#TRIGGER {【%s潜能%s】%s(%d)} {#var pot %1}
#TRIGGER {【%s经验%s】%s(%d)} {#var exp %1}
#TRIGGER {【%s精神%s】%s(%d)%s/%s(%d)%s~[(*)~%~]%s【%s精力%s】%s(%d)%s/%s(%d)} {
#var jingshen %1
#var jingshen_max %2
#var jingshen_health %3
#var jingli %4
#var jingli_max %5
}
#TRIGGER {【%s气血%s】%s(%d)%s/%s(%d)%s~[(*)~%~]%s【%s内力%s】%s(%d)%s/%s(%d)} {
#var qixue %1
#var qixue_max %2
#var qixue_health %3
#var neili %4
#var neili_max %5
}
#CLASS 0如出现其它问题,请回帖说明。
使用说明:
开始命令:sleep_transfer
开始前请确认sleep_condi和sleep_lian两个类别被disable,其他3个类别均enable。
不要随便移动别名、变量和触发器的位置,不要随便改子分类名,除非你确认你完全看透了代码。
sleep_accomplish别名会在所有练习完成以后被执行,你可以加一些想要的东西把这个变态的自动链连得更长。
默认运行地点是自己家里,用完了精气神就会睡觉,所以名字机器人叫sleep。
其他可以睡觉的地方理论上也可。但是需要修改断线重连(人物已经离线情况--主要是服务器重启)后的路径,即"客店留言板"触发器的内容。
没有包含断线自动重连(断线但人物未离线)的触发,请把你自己的断线重连触发器指向sleep_recon_cmd别名
这个机器人用到了数据库,想要保持机器人自动运行的话,需要导入数据库文件,并且在机器人运行过程中数据库窗口要保持打开!(可以最小化,我觉得这应该是ZMUD的BUG)
数据库项目说明:
id:武功英文id
name:武功中文名
type:武功的enable类型
wield:练习武功需要装备的武器id(请自行保证身上有该武器)
lian_type:武功分为两种类型:练习时消耗内力的(condi)和练习时不消耗内力的(lian)
qixue_bound:练习武功要求的最低气血值
neili_bound:练习武功要求的最低内力值
注:以上3项(lian_type,qixue_bound,neili_bound)的类型和数据可以通过help menpai-xxxx查到,但是不一定对,最好自己试验确定。例如灵鹫的两种空手功夫都没写会消耗内力,但是实际上都要消耗。
附件里有一个我创建好了的数据库作为例子。依葫芦画瓢填你的武功就行了,数据库武功数据,前面几项都应该是永远固定的,只有aim_lvl是目标等级是需要根据需要每次都要填写的,cur_lvl是当前等级,触发器会自动抓取写入,不用填,填了也没用。
变量sleep_list是需要修炼的武功列表(数据库不是),顺序是由这个变量里的武功顺序决定的,一定要按照需要的顺序填。注意自行理清武功等级限制关系排序,比如太极剑不能超过太极拳等等。填写的是武功的英文id。
sleep_list里的英文id,数据库里的英文id必须和sk出来的英文id完全一致。
中文名必须和武功升级信息中显示的完全一致。
修炼的武功数据数据库里必须有,即sleep_list里的id必须对应一个数据库里的id,并且条目的数据要完备(除了cur_lvl)。
每次使用前把sleep_cnt置零。“每次”的定义为每次修改sleep_list列表之后
或者将
#VAR skill_id %item( @sleep_list, @sleep_cnt)
替换为:
#VAR skill_id %pop(sleep_list)
#IF (@sleep_cnt>%numitems( @sleep_list)) {sleep_accomplish} {sleep_transfer_sign}
替换为:
#IF (%numitems(@sleep_list)==0) {sleep_accomplish} {sleep_transfer_sign}
替换之后与之前的区别在于练完一个技能就会从列表里删一个。替换坏处是如果出问题机器人提前认为技能练完了之后想改回去的话得手动重新写。好处是不用在每次使用时把sleep_cnt置零,这个变量可以删掉。
其他应该没啥了,想起来再补
[ 本帖最后由 msquare 于 2008-5-3 04:12 PM 编辑 ] ttk_05 ttk_05 ttk_05 ttk_05
chat* no1msquare 用不起的路过..............整个4.62的。
另外不要和我说英文,ok? 原帖由 cqdsm 于 2008-5-3 08:55 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
用不起的路过..............整个4.62的。
另外不要和我说英文,ok?
没啥英文啊 我是先把当前的功夫等级用变量设定好,在庙里查自己能练到多少级,又或者自己的最高基本内功是多少,在触发器中得用{你的*提升了}作为功夫提升加一,练到等级了利用#t+、#t-开关下一个特殊功夫。
比如,当前基本招架180,特殊剑法100,特殊刀法120,设定好后当特殊剑法练到180后,触发器自动把剑法#t-,#t+刀法就能两个到练满了。
我这种做法可能会麻烦点,但相对新人会对机器人比较容易理解与改动,楼主的是好,但多少有点炫耀自己能力的味道,不希望别人改动自己的机器人,因为要提取(%d)(%s)等数字变量,很多新人都搞不懂,现在论坛上的新人都说要发大家都能用的机器人,是因为高手发的都太高深,只有他们能看明白,没办法让人去一步步消化。
所以希望高手们多站在新手的立场给予支持和帮助。
[ 本帖最后由 akis 于 2008-5-3 03:15 PM 编辑 ] 原帖由 akis 于 2008-5-3 03:10 PM 发表 http://web.pkuxkx.com/forum/images/common/back.gif
我是先把当前的功夫等级用变量设定好,在庙里查自己能练到多少级,又或者自己的最高基本内功是多少,在触发器中得用{你的*提升了}作为功夫提升加一,练到等级了利用#t+、#t-开关下一个特殊功夫。
比如,当前基本招架 ...
你说我炫耀自己的水平未免太过分了。如果把花费大量时间做出来的机器人分享出来要被称为炫耀的话,那么以后大概没有人会再发机器人到论坛上来了。我加那一句不要随便修改和移动代码是因为我在设计这个机器人的时候使用了一些很难一眼看出来的映射关系,如果没有注意这些映射关系就直接进行修改很可能造成机器人无效。
更何况你用的技巧简单不带表你的机器人改起来简单。事实上正因为使用的都是简单的技巧,所以实现复杂的功能会需要繁杂的代码。假设需要定义一个连续自动练5个技能的机器人,我的机器人在把数据输入数据库之后只需要修改两个变量。而你的呢?发出来看看?哪个更适合新手使用?
你说的方法确实理解起来简单没有错,但是如果你要说帮助新人的话不如写一个仔细讲解自己比较简单的机器人的帖子。我已经写了的那个解析灵鹫扫雪机器人的帖子一样,而这个机器人发出来一开始就是为了直接让人拿着就能用而不是为了让人理解的。顺便一提,你所说的那些技巧我那个帖子里都分析了。
[ 本帖最后由 msquare 于 2008-5-3 04:08 PM 编辑 ] 哦...........我say sorry,是我说的过份了,问题有二:
1、你的机器人如果是一拿出来就能用,只能造就懒惰的人更加懒惰,做什么任务都要人提供机器人,而自己不去学习。
2、当用过你的机器人后,想学习,但因为里面过与复杂,学习是由浅到深,并不是你解悉了就会明白的,也可能我相对笨,玩这么久都只理解一部份,所以自我认为你写的挺难学。虽然自己写的机器人比较长,比较简单,比较麻烦,但一看到能不停的run,那种感觉是没法比的。所以我说要先写简单而麻烦的,让新手一步步理解,带动他们去改适合自己用的心态。
其实在现今图型游戏充斥的社会,玩MUD的可以说差不多剩下70后的一群人,看到游戏里的ID都是大米大米的,在这个游戏夹逢里要生存下去,真是任重道远啊 大家心平气和的讨论吧,共同学习。
另外纠正一下:还有有些其他年龄层的人的。比如我是80后,我也玩的很开心。花花也应该是80后。mud讲究的是一种想象,一种自己发挥的空间。应人而异吧。yct11 呵呵。。。。。。80后的都是大学生吧?mud在大学一直都挺流行的,记得我是95-96年左右开始玩mud的,可以算是老一辈了,那时那有机器人这种说法,都是用手指头在键盘按按按的,玩了一年多放弃了,生活所逼啊.................现在可以说是成家立业了,还是忘不了以前在江湖瓢泼的日子啊 原帖由 akis 于 2008-5-3 06:07 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
呵呵。。。。。。80后的都是大学生吧?mud在大学一直都挺流行的,记得我是95-96年左右开始玩mud的,可以算是老一辈了,那时那有机器人这种说法,都是用手指头在键盘按按按的,玩了一年多放弃了,生活所逼啊......... ...
我也是80后。MUD现在在大学已经不流行了。如果不是初中时候玩过我也不会来玩的。