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

求教机器人

[复制链接]
门派:不明
发表于 2011-6-21 13:08:49 | 显示全部楼层 |阅读模式
现在的robot学习部分的设置是这样,
有一个变量skillslist {force,parry,dodge,strike,blade}
学习的时候从force开始,一旦达到exp支持的上限就学下一个

我想改成robot自己识别skillslist里面级别最低的一项,每次提示技能升级时触发cha,重新判定当前学习技能,
如果list里面的技能等级相同,则仍然按顺序学。

请高手提供个思路和实现的方法。

thx
门派:不明
发表于 2011-6-22 13:28:16 | 显示全部楼层
理论上可以实现,不过好麻烦啊
门派:不明
发表于 2011-6-22 13:44:03 | 显示全部楼层
本帖最后由 xlang@ts 于 2011-6-22 13:44 编辑

简单的提供个思路
skillslist=1,2,3,4,5,6
是你备选技能
skill 就是你当前准备学的技能
#if @1<@2<@3<@4<@5<@6 {skill=1;xxx} {xxx}
#if @2<@1<@3<@4<@5<@6 {skill=2;xxx} {xxx}
#if @3<@1<@2<@4<@5<@6 {skill=3;xxx} {xxx}
#if @4<@1<@2<@3<@5<@6 {skill=4;xxx} {xxx}
#if @5<@1<@2<@3<@4<@6 {skill=5;xxx} {xxx}
#if @6<@1<@2<@3<@4<@5 {skill=6;xxx} {xxx}

但是语句好像不可以这样,具体你再研究
我感觉好像是应该:
#if (@1<@2 & @1<@3 & @1<@4 & @1<@5 & @1<@6) {skill=1;xxx} {xxx}

这样的话每次当师傅那里 就可以先检查最低的技能优先学,否则,正常学
  
门派:不明
发表于 2011-6-22 14:00:45 | 显示全部楼层
不是很有意义,也就是鬼谷节约3秒钟
门派:不明
 楼主| 发表于 2011-6-22 14:37:22 | 显示全部楼层
意义在于skills脱节,不能full的阶段,能均衡发展,不至于出现force比blade高30级的情况

经过高人指点和琢磨,1小时测试,已经搞定了,呵呵

建几个变量min=0 max=0 minsk maxsk
通过cha指令一次性抓取最低技能等级和最低技能,以及最高技能等级
#tri *%s~((*)~)*%s(%d)/
{
#if (@min=0) {min=%2;
minsk=%1};
#if (@max=0) {max=%2;
maxsk=%1};
#if (@min>%2)  {min=%2;
minsk=%1};
#if (@max<%2) {max=%2;
maxsk=%1}
}


抓到数值以后在学习指令中设置判断,这部分就很简单了
门派:不明
发表于 2011-6-22 15:15:28 | 显示全部楼层
直接把要补的skill的list顺序放到前面就可以了, 做这个判断,永远就学最低的了?也不是很好阿.
门派:不明
发表于 2011-6-22 15:30:36 | 显示全部楼层
看的一塌糊涂,不知所云啊我迷糊
门派:不明
发表于 2011-6-22 20:36:51 | 显示全部楼层
也可以做个简单的小循环,
设置一个简单的变量@xx,赋值xx=1,然后开始学习force,每次50点,学完来个
“ #show @xx个技能学完”,就会显示“1个技能学完”,
这时触发"#add xx 1",接着学习parry,
然后继续显示"#show @xx个技能学完",就会显示"2个技能学完"
依次类推,等到xx=5时就让xx=1,循环就好了,
比如这次才学到xx=2没有潜能,那么下次来还是从xx=2开始,不会先学force
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-22 21:15 , Processed in 0.043684 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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