找回密码
 注册
搜索
查看: 1472|回复: 2

手把手教你做机器人

[复制链接]
门派:不明
发表于 2010-3-21 15:51:38 | 显示全部楼层 |阅读模式
先了解指令:
alias,就是路径,比如说,你从当铺到钱庄要走六条街(6步),如果你不用alias,你就得一步一步走。可能要花个十几二十秒的,但如果你用alias定义了bank=n;e;n;n;n;w,当你在当铺输入bank的时候,1秒钟,你就到了钱庄。大大节省了时间。一些常用的alias,请看alias大全,你可以用#alias bank {n;e;n;n;n;w}来直接用命令方式定义bank这个alias,也可以到alias按钮里用new来定义。
trigger就是触发,触发就是说假如屏幕上出现了符合要求的语句,你就会自动做什么动作。比如,你在练功的时候,可能要手动检查是否饿了,是否应该去吃饭,而假如用trigger,当屏幕上出现食物值比较少的时候,就会自动吃饭再练功,完全不必要你再手动检查了。又比如,你在机器人练功,但是练到skills发红的时候就一定要跟师父学一点才能继续练下去,这些也可以用trigger来触发,而不用手动检查、控制。你可以用#tr {pattern内容} {command内容} 的方式定义触发,或者在trigger的按扭里去定义。
variables是定义变量的,变量就是我用来存放“精,气,精力”等会变化的值的东东。你直接输入jingli=0,你就定义了一个叫jingli的变量,并把它取值为0,你可以按下variables按钮来看到它。
定义了变量,下面我们要抓“精”的值来将它放到jingli这个变量里去。
按下triggers按钮,trigger,我们上面已经说过了,是触发。
在pattern里输入·精力·(%s)(%x)(%s)/
在command里输入        jingli=%2
save
这样就将精的值抓到jingli这个变量里了。
不信,你在做好之后,打一个hp,然后按下variable按钮,看看jingli这个变量的value是不是你的jing的值?如何类推呢?精力,气也是一样的抓法!
[]代表空格(因为你不能拷贝mail里的字)
精[][]:(%s)(%d)/(%s)
精力:(%s)(%d)(%s)/(%s)(%s)
气[][]:(%s)(%d)/(%s)
定义了变量jing(抓精),jingli(精力),qi(气),所以,现在你有了精,精力,气的值啦!

If是定义条件的,#if语句的形式是#if () {} {},就是假如()内的条件成立,则执行第一个{}里的命令,否则执行第二个{}里的命令。
比如:我想在精大于50的时候ok,小于50的时候就不ok,就是说按jing的条件来判断,我们用英文里的if语句:if jing>50 then ok, else not ok, right?这你应该看得懂。不过呢在这里要做一点规范化的小小改动。我用[]代表要空一格,那么规范的if语句如下:
#if[](@变量名+判断条件)[]{如果满足判断所做命令}[]{如果不满足判断所做的命令}
注意:导出if语句用#if;而变量的引用要带一个@展开!

例如我有jing这个变量,里面放了精的值,我想精大于50时说两句话,精小于50时cha一下,那么:
command:#if[](@jing>50)[]{say ok;say 你是个大笨蛋}[]{cha}
这只是当你敲一个hp时发生的。那么我要循环着做呢,就要在判断后面的命令里带入hp命令,这样,当精大于50时,我说了两句话,再HP一下就循环了,而不满足时,我cha一下,再HP一下,也循环了。就是:
command:#if[](@jing>50)[]{say ok;say 你是个大笨蛋;hp}[]{cha;hp}
门派:不明
 楼主| 发表于 2010-3-21 15:52:01 | 显示全部楼层
下面举几个例子:


在慕容yue tree练轻功

pattern:·精力·(%s)(%x)(%s)/
command:#if (%2>300) {#10 yue tree;#wa 2000;yun jingli;hp} {cha;sleep}
解释:如果第二个变量抓到的(精力)值大于300,做十下yue tree的动作,并再使用hp来触发,否则睡觉。
pattern:你一觉醒来
command:#if (@needfood=0) {} {needfood=0;jump down;s;e;#4 s;get all;#4
n;w;n;yue tree;#4 eat putao;#4 eat guiyuan;#4 drink tea};yun
jingli;hp
解释:如果睡醒了,先判断是否需要食物,如果需要,就下去拿食物,再hp触发,如果不需要,直接hp触发。
pattern:·食物·(%s)(%x).
command:#if (%2<50) {needfood=1} {}
解释:判断抓到的食物值是否小于50,如果小于,说明需要吃东西了,将变量needfood设置为1。
pattern:(%x)在树枝间来回的跳跃。
command:#gag
解释:因为这一句话在人多练dodge的时候很flood,所以用#gag把它屏蔽掉。
pattern:你在树枝间跃来跳去,但是再跳下去好象对你的轻功没多大的帮助。
command:#beep
解释:yue tree最高可到101级,超过101级便beep提示停止robot。
练skills抓红字学师父

pattern:□逍遥游(%s){()xiaoyaoyou{}}(%s)-(%s)(%x)(%s)(%x)/(%s)(%x)
command:level=%6;lian_total=%8;#math abc @level*@level+200;#if (@lian_total>@abc) {needxue=1} {needxue=0}
解释:如果你要练杖法或是刀法,只要把“逍遥游”和“xiaoyaoyou”改为相应的值即可。
pattern:□逍遥游(%s){()xiaoyaoyou{}}(%s)-(%s)(%x)(%s)(%x)/(%x)
command:level=%6;lian_total=%7;#math abc @level*@level+200;#if (@lian_total>@abc) {needxue=1} {needxue=0}
解释:为什么有两句呢?第二句是适合skills超过300级左右的,因为最后面一个值在超过300左右之后,已经很大了,会顶着/,所以不需要在partten里加入(%s),同样抓%7而不是%8。

pattern:你一觉醒来
command:#if (@food_value<50) {get mantou;#5 eat mantou} {};#if (@water_value<50) {#5 drink} {};#if (@needxue=1) {e;s;xue xi xiaoyaoyou 1;n;w} {};e;lian dodge 0;yjl;lian dodge 0;yjl;lian dodge0;w;hp;cha;sleep
解释:是否需要食物与水,或者是否需要向师父学一点。你可以改成xue hong或者是**master。
----------------------------------------------------------------------------------------------------------------------

在星宿砸壁练基本杖法

pattern:·气血·(%s)(%x)/
command:qi=%2
解释:抓气的值放到qi这个变量里。
pattern:·精力·(%s)(%x)/
command:jingli=%2
解释:抓精力的值放到jingli这个变量里。
pattern:·食物·(%s)(%x)/
command:food=%2
解释:抓食物的值放到food这个变量里。
pattern:·精血·(%s)(%x)/
command:jing=%2;#if (@jing>100 and @jingli>100 and @qi>100) {#5 za bi;yun qi;#wa 3000;yun jing;#wa 3000;yun jingli;#wa 3000;hp} {#if (@food>50) {sleep} {needfood=1}}
解释:抓精血的值放到jing这个变量里,查看三个值是否都大于100,如果都大于,则砸五下,否则,若食物值大于50即睡觉准备循环砸壁,若食物小于50则寻找食物后,再行睡觉准备循环砸壁。
pattern:你一觉醒来
command:yun qi;#wa 3000;yun jingli;#wa 3000;yun jing;#wa 3000;hp
解释:睡醒后先运气、运精、运精力,补满气血、精力、精血,再用hp触发砸壁。
门派:不明
发表于 2010-3-21 21:52:03 | 显示全部楼层
这个确实是不错!但是还是看了头晕啊~~~~~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-24 23:40 , Processed in 0.023615 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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