![]() |
![]() |
#1 |
高级会员
![]() ![]() ![]() ![]() ![]() ![]() ![]() 注册: 07年11月19日
来自: 长安城
帖子: 276
声望力: 20
声望:
64
![]() 现金:502两梁山币
资产:502两梁山币
致谢数: 0
获感谢文章数:1
获会员感谢数:1 |
学习技能与数组
在MUD西游记中每个Palyer都有大量的技能需要学习、练习,这项工作成为挣潜能、武学、道行后最重要的一项任务。在我们学习过程中需要面对学什么、跟谁学、学多少等问题,总结一下目前泥友的学习方法: 方法一,手动按键跟老师学习,learn literate from he for 50, 特点:累人,效率低下。 方法二,简单机器人学习,这类机器人可以做到短时间无人值守,自动学习。特点:又很高的学习效率,应付少量潜能没什么大问题,大量不能做到全程无人值守,不能24小时学习。 方法三,高级机器人学习,全程无忧自动学习。特点。效率高,能学习大量潜能,理论上能一直挂着机器人学习一辈子 只要潜能够。 在这里我们就讨论一下第三种学习机器人的实现方式。 先看看这类机器人需要考虑什么因素, 一 安全这是最重要的,安全第一 二 食物、饮水 三 学什么 四 学多少 五 跟谁学习 六 怎么学,怎么升级 好,下面来说怎么解决这些问题。 一、 安全方面,我们需要加入防PK的触发语句,比如%x像杀死你之类的。 这时候打开LOG文件记录谁PK你,甚至反PK等嘿嘿。 二、 食物饮水可以考虑到狗肉和净瓶,也可以考虑去天竺买药吃,已经正循环的甚至可以忽略饮食,但综合考虑还是要吃点东西好,毕竟饿了谁也不舒服,我中意狗肉和净瓶,又香又好,不用走来走去的,免得麻烦。 三、学什么的我们可以这样考虑,分学习和练习两种,分别定义两个数组,LearnSkillList和PraticeSkillList。根据自己需要增添学要学习和练习的技能,不用管的技能就放一边。然后一定一个LearnStep变量从技能列表中获取当前学习或者练习的技能。 #VA LearnSkillsList {literate|force|unarmed|parry|dodge|spells|....} 采用%item 根据@LearnStep 从@LearnSkillsList 中得到CurrentSkill 四、定义一个TargetLevel来设定我们需要学习到多少级。 五、定义一个@Master变量来设定跟谁学习,适应老师经常下岗的情况。 六、在学习过程中,每次升级都看一次自己的技能,看一次老师的技能,再用两个变量存起来CurrentLevel和MaterLevel,如果@CurrentLevel>@MaterLevel 那么就是切磋了,切磋又两种情况,一种情况是需要4倍切磋的,一种是红了就去想别的办法升级的,因此在这里需要定一个 CurrentSkillUP的Alias来判断 是否切磋,如果是切磋 哪些是需要4倍潜能哪些不需要,然后再定义一个别名Manle判断不需要4倍的切磋的技能红了之后怎么去升级、回来和继续学习,同事还需要判断学习这项技能是否需要拿武器。 如果到了练习就简单了,只需要判断拿什么武器就可以了。 另外学习过程种怎么合理利用精神、气血、内力、发力这些就不用在这里讲了。 小孩子找大米吹气,没大米就只能慢慢打坐冥思了, 提供一个我测试后目前可以通用的打坐冥思公式: #math qxdazuo {((@forceRight+1)*2-@ForceLeft)*70/%min( @GenGu+@EnableForce, 315)} #math jsmingsi {((@FaliRight+1)*2-@FaliLeft)*70/%min( (@LingXing+@EnableSpells), 315)} BD后建议这样学习 #loop %eval( @LearnQn/%min( 50, (@JingShen-60)/%eval( 10*30/@WuXing))) {learn xxx from @master for 50;ef} learn @LearnSkill from @Master for %mod( @LearnQn, %min( 50, (@JS-60)/%eval( 10*30/@WuXing))) ef 学得超级快,潜能漏斗。 至于怎么获取技当前技能信息,只需要建立下面这样一条触发就可以了。 Patten:^%x%s%x%s~(@leanrnskill~)%s~-%s%x%s(%d)/%s(%d) CMD: CurrentLevel=%1;#if (%1>=@TargetLevel) {GetSkill} 其他因素: 可以根据CurrentLevel来计算出一共需要多少点,再统计已用去多少点,还需要多少点,当还需要的点数小于50的时候用将NeedQn赋值给 LearnQN,这样节约QN。 设定设定一些统计数据,在特定时间log效率报告。 设定tell密码,向小号报告目前技能、等级、已学习技能 还需学习什么技能、还有多少潜能等。 我目前的机器人就是采用第三种思路做出来的,正常运作N天都没有问题。 总体来讲,其实读书练习算是一个简单的机器人了,要做的尽善尽美还是需要付出一些时间。但同时也能大大提高我们练级的效率并帮我们节约大量时间和尽力。 其实只要灵活应用数组,做更庞大的机器人也不是什么难事。 另外我将核心的脚本放在附件当中,系统自动收钱5gold,给5GOLD就可以看了,不是我故意的,都是被版主逼的。要骂就骂版主。 可能有人问练习每次耗得气血怎么解决,其实在开始练习时会先把气血,精神打满,然后练习10次,计算一次每次消耗的内力 ,循环三次,取平均值再-10就得出10次练习需要的内力,然后再用每次打坐得到的内力除以这个数字,计算出下一个3次试练习的次数,如此循环知道正好合适为止,进入正式练习,每次切换practiceSkill都如此判断一次。 2010-07-23更新了几个公式。 ------下载此贴附件最少需要拥有1两梁山币,方有下载权限。------
此帖于 2010-08-23 11:39 被 jesh 编辑. |
![]() ![]() ![]() |
|
![]() ![]() |
![]() |