![]() |
|
![]() |
#1 |
初级会员
![]() ![]() ![]() ![]() ![]() ![]() 注册: 07年11月18日
帖子: 46
声望力: 0
声望:
23
![]() 积分:8
精华:1
现金:238两梁山币
资产:238两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
可以用#case命令,具体的看看我关于xyj2000灭妖机器人的制作介绍中有关#case 命令的解释,只须要稍微改动,把{}内的内容改为变量便于赋值,再在mud里做个弹出式按扭方便加入要学的技能就得了。
|
![]() |
![]() |
![]() |
#2 |
中级会员
![]() ![]() ![]() ![]() ![]() ![]() 注册: 03年03月13日
来自: TV
帖子: 87
声望力: 23
声望:
17
![]() 现金:109两梁山币
资产:109两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
懒惰促成机器的进步啊
|
![]() |
![]() |
![]() |
#3 |
高级会员
![]() ![]() ![]() ![]() ![]() 注册: 06年03月02日
帖子: 143
声望力: 21
声望:
15
![]() 现金:238两梁山币
资产:426两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
不是懒惰啊,其实我可以用下面的语句简单实现。我就是想搞的好看一些。太简单不是没意思么 #t+ LearnSkill #UNV LearnSkillList #UNV Learn_order skill_total=%numitems(skill_en_list) skill_order=1 skill_level=%prompt("","你要学到多少级" Learn_order=%prompt("", "输入你要学的技能,用|分开") learn_total=%numitems(@learn_order) #sh 你将要学习的技能有@learn_total项, 顺序是 @learn_order,到@skill_level级 #co 15 hp |
![]() |
![]() |
![]() |
#4 |
初级会员
![]() ![]() ![]() ![]() ![]() ![]() 注册: 07年11月18日
帖子: 46
声望力: 0
声望:
23
![]() 积分:8
精华:1
现金:238两梁山币
资产:238两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
#case @num {learnid=@learnone} {learnid=@learntow} {learnid=@learnthree} {learnid=learnfour}…… 按扭的作用就是方便将要学的技能按顺序赋值给learnone,learntwo,learnthree…… 这应该不是很难的,我以前制作过一个按扭赋值多个变量的,具体怎么做的忘记了,单位没说明,得回家看。 至于学习的触发中只须learn @learnid from @master,我觉得解决起来并不麻烦,只是相关技能的trigger不能省略,用于判断学习完成与否以及技能等级。 不知道我说明白没有。 |
![]() |
![]() |
![]() |
#5 |
初级会员
![]() ![]() ![]() ![]() ![]() ![]() 注册: 07年11月18日
帖子: 46
声望力: 0
声望:
23
![]() 积分:8
精华:1
现金:238两梁山币
资产:238两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
另外,考虑到误触发的问题可以将所有技能的trigger设置为默认关闭,在按扭的制作中加入相应的打开触发类的命令,即如果所学武功名称为dodge则在其按扭输入时加入打开#t+ learn_dodge;命令。或者在按扭中加入个说明,比如输入时要求对应输入所要开启的类。以达到相应的技能开关控制。
|
![]() |
![]() |
![]() |
#6 |
高级会员
![]() ![]() ![]() ![]() ![]() 注册: 06年03月02日
帖子: 143
声望力: 21
声望:
15
![]() 现金:238两梁山币
资产:426两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
|
![]() |
![]() |
![]() |
#7 |
高级会员
![]() ![]() ![]() ![]() ![]() 注册: 06年03月02日
帖子: 143
声望力: 21
声望:
15
![]() 现金:238两梁山币
资产:426两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
我最开始也是这样做的。 可是我现在是想做个通用的,不同的门派,不用的id都可以用。 我开始是skill一下。 然后把自己的所有的技能都放到一个字符串里面。这个很简单。 然后是要跳出一个列表,包括所有要学的技能,手动一个一个选下去,每次选一个,就会出来一个新的列表,但是少了先前选的那个,这个命令,我不知道如何实现了。 用case 语句,每次要学习的东西都要在变量里面手动改,觉得不够cool. 对了,你为什么不用 learnid=@learn@num呢?不就代替你这些语句了? |
![]() |
![]() |
![]() |
#8 |
初级会员
![]() ![]() ![]() ![]() ![]() ![]() 注册: 07年11月18日
帖子: 46
声望力: 0
声望:
23
![]() 积分:8
精华:1
现金:238两梁山币
资产:238两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
我也晕了,晕,再说个更简捷的办法 #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又可以完成列表技能的学习 |
![]() |
![]() |
![]() |
#9 |
初级会员
![]() ![]() ![]() ![]() ![]() ![]() 注册: 07年11月18日
帖子: 46
声望力: 0
声望:
23
![]() 积分:8
精华:1
现金:238两梁山币
资产:238两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
至于你说的skills直接抓取要学武功及其id也不是很难一个触发就搞定了 #trigger {(%x)~((*)~)*~-%s%d~/%s%d} {learn-name@namelist=%1;learn-id@namelist=%2;#add namelist 1} 这个应该能搞定,当然相应的#case的{}内的变量内容应与之相对应 |
![]() |
![]() |
![]() |
#10 |
初级会员
![]() ![]() ![]() ![]() ![]() ![]() 注册: 07年11月18日
帖子: 46
声望力: 0
声望:
23
![]() 积分:8
精华:1
现金:238两梁山币
资产:238两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 问一个自动学习机器人的问题
当然,mud的指令是有长度限制的,#case 变量 后面的语句如果过长会出现执行错误的情况,具体的解决办法是: #trigger {变量赋值} {#case 变量 {}{}{}{} {learnwhat=变量赋值二;将变量赋值为1,或者在下面的触发中启用新的变量}; #trigger {变量赋值二} {#case 变量 {} {} {} 如果用这个方法,须要在每样技能完成时#show @learnwhat;当然learnwhat的初始值要设定为最初触发的名字 |
![]() |
![]() |