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

文字MUD游戏论坛-天下泥潭群英会-水泊梁山 (http://www.aolai.org/forums/index.php)
-   『 机器人制作及下载 』 (http://www.aolai.org/forums/forumdisplay.php?f=5)
-   -   问一个自动学习机器人的问题 (http://www.aolai.org/forums/showthread.php?t=15165)

mdcfil 2009-04-28 12:28

回复: 问一个自动学习机器人的问题
 
另外,考虑到误触发的问题可以将所有技能的trigger设置为默认关闭,在按扭的制作中加入相应的打开触发类的命令,即如果所学武功名称为dodge则在其按扭输入时加入打开#t+ learn_dodge;命令。或者在按扭中加入个说明,比如输入时要求对应输入所要开启的类。以达到相应的技能开关控制。

jsad 2009-04-28 12:31

回复: 问一个自动学习机器人的问题
 
我最开始也是这样做的。
可是我现在是想做个通用的,不同的门派,不用的id都可以用。
我开始是skill一下。
然后把自己的所有的技能都放到一个字符串里面。这个很简单。
然后是要跳出一个列表,包括所有要学的技能,手动一个一个选下去,每次选一个,就会出来一个新的列表,但是少了先前选的那个,这个命令,我不知道如何实现了。
用case 语句,每次要学习的东西都要在变量里面手动改,觉得不够cool.
对了,你为什么不用
learnid=@learn@num呢?不就代替你这些语句了?



引用:

作者: mdcfil (帖子 101863)
#case @num {learnid=@learnone ("{learnid=@learnone")} {learnid=@learntow ("{learnid=@learntow")} {learnid=@learnthree ("{learnid=@learnthree")} {learn...


mdcfil 2009-04-28 12:35

回复: 问一个自动学习机器人的问题
 
我也晕了,晕,再说个更简捷的办法
#case @num {learn-name=@learnonen-name;learnid=learnone-id} {learn-name=learntwo-name;learn-id=learntwo-id}

技能的触发可以用下面的这句
#trigger {@learn-name~(@learn-id~)*~-%s(%d)~/%s(%d)} {判断是否完成学习要求,如果完成则num+1}
相信这应该可以解决了。当然trigger的格式我记不太清楚,不一定是我这个。
按扭制作时既输入技能中文名,又输入技能英文名,既可以减少trigger又可以完成列表技能的学习

jsad 2009-04-28 12:36

回复: 问一个自动学习机器人的问题
 
恩,说的对
我是jineng=xxx;#t+ learn_@jineng 来实现的


引用:

作者: mdcfil (帖子 101869)
另外,考虑到误触发的问题可以将所有技能的trigger设置为默认关闭,在按扭的制作中加入相应的打开触发类的命令,即如果所学武功名称为dodge则在其按扭输入时加入打开#t+ learn_dodge;命令。或者在按扭中加入个说明,比如输入时要求对应输入所要开启的类。以达到相应的技能开关控制。


mdcfil 2009-04-28 12:41

回复: 问一个自动学习机器人的问题
 
至于你说的skills直接抓取要学武功及其id也不是很难一个触发就搞定了
#trigger {(%x)~((*)~)*~-%s%d~/%s%d} {learn-name@namelist=%1;learn-id@namelist=%2;#add namelist 1}
这个应该能搞定,当然相应的#case的{}内的变量内容应与之相对应

jsad 2009-04-28 12:44

回复: 问一个自动学习机器人的问题
 
。。。。。

我打算是用菜单选择的,不想手动写进去。我前面的贴出来机器就是我现在用的,是自己手动写变量。我现在就想用鼠标点点,不想写字。
您老再想想办法?#case 语句是一定要自己手动赋值每个技能变量的。
比如你现在learnone=parry, 下次你第一个不想学parry了,而是dodge了,不就是要手动把learnone改成dodge什么的么?


引用:

作者: mdcfil (帖子 101878)
我也晕了,晕,再说个更简捷的办法
#case @num {learn-name=@learnonen-name;learnid=learnone-id ("{learn-name=@learnonen-name;learnid=learnone-id")} {learn-name=lea...


mdcfil 2009-04-28 12:49

回复: 问一个自动学习机器人的问题
 
当然,mud的指令是有长度限制的,#case 变量 后面的语句如果过长会出现执行错误的情况,具体的解决办法是:
#trigger {变量赋值} {#case 变量 {}{}{}{} {learnwhat=变量赋值二;将变量赋值为1,或者在下面的触发中启用新的变量};
#trigger {变量赋值二} {#case 变量 {} {} {}
如果用这个方法,须要在每样技能完成时#show @learnwhat;当然learnwhat的初始值要设定为最初触发的名字

jsad 2009-04-28 12:52

回复: 问一个自动学习机器人的问题
 
恩,我从前用这个,现在用
#trigger {(%x)~((*)~)*~-%s%d~/%s%d} {learn-name=%additem(%1,learn-name);learn-id=%additem(%2,learn-id)}。开始学习用字符串命令代替多个变量赋值了。
这2个方法差不多,就是想换换花样


引用:

作者: mdcfil (帖子 101884)
至于你说的skills直接抓取要学武功及其id也不是很难一个触发就搞定了
#trigger {(%x)~((*)~)*~-%s%d~/%s%d} {learn-name@namelist=%1;learn-id@namelist=%2;#add ("{learn-name@namelist...


suming 2012-08-18 15:10

回复: 问一个自动学习机器人的问题
 
:em19::em22::em24::em23:啊啊 为什么我什么为什么为什么
啊啊 为什么我什么为什么为什么
:em01:

cjsscn 2012-10-15 16:38

回复: 问一个自动学习机器人的问题
 
看看觉得好高深啊,还是努力学习变量吧


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

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

站长 fengyue


Content Relevant URLs by vBSEO 3.6.1