找回密码
 注册
搜索
查看: 727|回复: 7

机器人指导(如何在机器人中学习所有技能)

[复制链接]
门派:不明
发表于 2010-8-15 20:04:04 | 显示全部楼层 |阅读模式
其实我刚玩书剑还没到三天 刚练的emei

今天停机了 没事干跑这来发点贴子 算是给大家做点贡献

言归正传 我的网下职业是程序员 所以做起mud机器人来比较得手应手 所有的机器人是我自己写的
本来到巡城时本想下个机器人再修改的 结果下载了导了两次zmud都死掉了 没办法只好自己写了一个
因为对书剑的路径不熟还真颇花了我一番功夫 刚昨晚弄好可以连续挂着了 结果早上又来个悼念日停机了 ... 呃 又扯远了

网上成熟的巡城机器人也有了 我就不重新发了 因为巡城机器人并不难做 只要对路径熟基本上所有人都可以做出来

我只是指几点改进的意见

=================华丽的分割线===============
因为我看很多机器人对变量的使用并不熟练 而我的机器人中则是充满了变量和判断 这样可以更智能一些

在我的机器人中 巡城回山学的是所有的技能 而不是单一的技能 这一点我觉得现在流行的几个巡城机器人可能并没有做到

所以针对这一点我谈一下我是怎么做的

首先我们设定一个变量 名叫叫做 skill
变量设定的方法... 这个 可以直接在输入条里输入 比方说输入 skill=linji-zhuang
这个变量代表当前需要学习的技能

另外我们再设定一个 技能的学习顺序 我设的变量名叫 skillOrder; 你可以在输入条里输入skillOrder=0 这个代表所有的技能列表的学习顺序

好了接下来我们设定技能的学习列表
我做了一个别名 叫 setSkill 内容为 #math skillOrder @skillOrder+1;#case (@skillOrder) {skill=linji-zhuang} {skill=force} {skill=dacheng-fofa} {skill=dodge} {skill=anying-fuxiang} {skill=parry} {skill=sword} {skill=huifeng-jian}
你也可以在输入条输入 #alias 设定它

我解释下
#math为计算变量 每调用一次setSkill他将他的值加1 我原先全预设为0 那么每调用一次就加一
#case指令是 根据前面条件的值选择后面相应的指令
那么 当 skillOrder值是1时 那么要学的技能就被设定为linji-zhuang
skillOrder是2时 要学的技能则被设定为 基本内功 以此类推
大家看 在这里我把师傅的基本上所有的技能都列出来了

因为我发现巡城的pot很多 很有溢出的状况... 这也可能是我走了极端悟性30的结果吧 我估计学这么多技能还用不光pot... 我个人挂了一个晚上已经把 linterate 和dacheng-fofa都full了
以上语句中没有literate是因为已经找师傅学到了100了 无法再找师傅学了才去掉的 大家可以自行加上去

==========================
继续上面的话题 变量设定好后我们就可以在机器人中使用它
每次巡城回来 我们都 将skill变量和skillOrder重置一下
语句如下
#ac 你恭恭敬敬地向静照师太磕头请安,叫道:「师父!」 {skillOrder=1;skill=linji-zhuang;hp;#wa 2000;xf}

以上 xf是我设定的一个 别名 设定如下
#alias xf {#if @pot>5 {xue shitai @skill 5} {xue shitai @skill @pot}}

以上pot是一个变量 里面储存的是我当前的潜能值 我给出该获取语句 每次hp后我是将所有的状态都存入到了变量中以便判断
#ac {·食物·%s(%d).%d~%              ·潜能·%s(%d) /%s(%d)} {food=%1;pot=%2;maxpot=%3;#math lv @maxpot-100}

以上当前食物状态存入了 food这个变量 潜能和潜能的上限分别存入 pot和maxpot中 同时计算出当前等级存入 lv变量
其它状态的获取语句大家可以自行写

=======接上面
每次回来后我们都把skill变量和skillOrder重置后 然后我们要在触发器中让他循环以full所有的技能
也就是调用setSkill这个上面设定好的别名
我给几个语句
#ac 也许是缺乏实战经验,你对*师太的回答总是无法领会。 {setSkill;yun jing}
#ac 这项技能你的程度已经不输你师父了。 {setSkill;yun jing}
#ac 你必须去学堂学习读书写字。 {setSkill;yun jing}

这样每次回来你就根本不用担心学什么好了 反正都要学的 按顺序学下来就是了
如果担心以上技能全full完了 你的潜能还没用完 你可以再加一个判断 以免造成可能的死循环

我的做法如下 修改以上setSkill别名
首先加上一个变量fulled代表是否技能已full 当所有的顺序轮到最后时 那么所有的技能都full了 这时我们的潜能并没有用完(当然我目前暂时还没碰到这种情况 不过先做了以防万一)
语句如下 #alias setSkill {#math skillOrder @skillOrder+1;#case (@skillOrder) {skill=linji-zhuang} {skill=force} {skill=dacheng-fofa} {skill=dodge} {skill=anying-fuxiang} {skill=parry} {skill=sword} {skill=huifeng-jian} {fulled=1}}

然后修改别名xf 加上判断
#alias xf {#if @fulled=0 {#if @pot>5 {xue shitai @skill 5} {xue shitai @skill @pot}} {goSleep}}
以上 goSleep是代表去睡觉的别名 如 w;nu;sleep
代表如果fulled状态为真时 停止学习去睡觉

睡醒后我习惯性的来个consider
语句如下
#ac 你一觉醒来 {i;sd;e;hp;consider}

consider这个动作后触发
#ac 你开始认真考虑。 {#if @hulu!=一 {drop hulu 2};#if (@pot>0 and @fulled=0) {xf} {jingzhaotoem;#wa 3000;emeitomo;cunqian;e;n;n;#wa 3000;cdtozhu;az}}

这里第一个判断是... 因为我自动吃喝捡了地上的清水葫芦 刚开始时身上老是有好多个清水葫芦 所以我现在每次醒来都检查一下身上是不是有超过一个葫芦 太多的话把老的丢掉一个(丢新的会把老的喝空的..)

第二个判断就是 如果 潜能大于零 并且技能没有full 继续和师傅学 否则去巡城
以上别名分别是 jingzhaotoem 是静照到峨眉报国寺门口 emeitomo 是门口到钱庄 cunqian是存钱(以免身上钱越来越重)
然后是 成都到朱那 然后是 az相当于 ask zhu about 巡城

================又见华丽的分割线=============================
以上 别的语句就不多贴了 大家可以参照着修改自己的机器人 使它多一点智能化
经过不断的思考与修正 加入大量的变量和判断 使机器人基本上可以完全模拟人的操作 这样才能安安心心的挂机然后睡觉
当然... 以上我机器人中都没有加入反干扰和防pk... 这个 反正我是新手 ... 只能求大家别来杀我了 bow all

以上机器人制作经验希望能对大家有所帮助
门派:不明
 楼主| 发表于 2010-8-15 20:07:30 | 显示全部楼层

噢 忘了提一点

刚忘了提一点
用fulled变量判断是否技能已经full
回来时记得把fulled变量重置
例句如下:
#ac 你恭恭敬敬地向静照师太磕头请安,叫道:「师父!」  {fulled=0;skillOrder=1;skill=linji-zhuang;hp;#wa 2000;xf}
门派:不明
发表于 2010-8-15 23:57:49 | 显示全部楼层
好东西,可惜我是机器人盲。。。
门派:不明
发表于 2010-8-16 08:34:18 | 显示全部楼层
wx30以后很难混的呀
门派:不明
发表于 2010-8-16 09:53:29 | 显示全部楼层
挺好的~

不过如果是hs  sx  wd   sx 等这种job 的机器人,你再自己做的话,这个工程量就太大了。。。。
门派:不明
发表于 2010-8-16 09:55:25 | 显示全部楼层
另外不建议带葫芦,因为很多吃饭的地方会因为你身上的葫芦而不让你离开的~

还有,#if @hulu!=一  这个句型严格说来是会产生bug的~
门派:不明
发表于 2010-8-16 12:33:52 | 显示全部楼层
你要有时间最好写个HS+SX的 还可以自动开关鬼谷的那最完美了
门派:不明
发表于 2010-8-17 15:09:58 | 显示全部楼层
真是高手啊。。。。。。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-8-11 02:51 , Processed in 0.037152 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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