找回密码
 注册
搜索
查看: 827|回复: 13

基于公版,修改领悟不用判断是否Parry结尾

[复制链接]
门派:明教
发表于 2018-1-9 17:04:32 | 显示全部楼层 |阅读模式
本帖最后由 taskmgr@tj 于 2018-1-9 17:12 编辑

之前脱节太多,所以设置了 parry|blade|strike|force|dodge|parry,很快parry都领悟满了,之后发现不去领悟了,查询一些资料,看了下源码,发现以parry作为判断,这样如果parry结尾,并且满级就不会去领悟,所以稍微修改了一下,去领悟就不用判断是否为Parry结尾(只修改了非普通百姓那段,普通百姓的位置没动)

<!-- Produced by MUSHclient v 4.84 - www.mushclient.com -->

<font size=2 face="锟斤拷锟斤拷锟斤拷, FixedSys, Lucida Console, Courier New, Courier">
01/09/18 16:31:47【taskmgr】做菜任务:任务完成,获得【二百五十八点】点潜能,用时:【100】秒。
01/09/18 16:31:49【taskmgr】最小的技能:【strike】等级:【622】!
01/09/18 16:31:49【taskmgr】符合领悟条件,准备领悟!
01/09/18 16:31:49【taskmgr】去少林领悟
01/09/18 16:33:22【taskmgr】少林领悟完成
01/09/18 16:33:59【taskmgr】做菜任务:已到达任务地点【杭州城西湖边】,开始寻找【杭州城西湖边】的【邓翠】!
01/09/18 16:36:32【taskmgr】做菜任务:任务完成,获得【二百六十六点】点潜能,用时:【157】秒。
01/09/18 16:36:51【taskmgr】做菜任务:已到达任务地点【福州城北街】,开始寻找【福州城北街】的【祖洪嵘】!
01/09/18 16:39:11【taskmgr】做菜任务:任务完成,获得【二百四十九点】点潜能,用时:【148】秒。
01/09/18 16:39:24【taskmgr】做菜任务:已到达任务地点【苏州城西门外官道】,开始寻找【苏州城西门外官道】的【端木香青】!
01/09/18 16:42:30【taskmgr】做菜任务:任务完成,获得【二百零五点】点潜能,用时:【68】秒。
]01/09/18 16:46:33【taskmgr】做菜任务:任务完成,获得【三百一十九点】点潜能,用时:【55】秒。
01/09/18 16:50:22【taskmgr】做菜任务:任务完成,获得【三百九十二点】点潜能,用时:【158】秒。
01/09/18 16:51:41【taskmgr】做菜任务:任务完成,获得【二百五十六点】点潜能,用时:【72】秒。
01/09/18 16:51:43【taskmgr】最小的技能:【strike】等级:【622】!
01/09/18 16:51:43【taskmgr】符合领悟条件,准备领悟!
01/09/18 16:51:44【taskmgr】去少林领悟
01/09/18 16:53:32【taskmgr】少林领悟完成
01/09/18 16:55:06【taskmgr】做菜任务:已到达任务地点【峨嵋山华藏庵正殿】,开始寻找【峨嵋山华藏庵正殿】的【叶闻嵘】!
01/09/18 16:56:58【taskmgr】做菜任务:任务完成,获得【三百二十九点】点潜能,用时:【153】秒。



门派:明教
 楼主| 发表于 2018-1-9 17:10:36 | 显示全部楼层
不太懂 lua语言,我这个思路不知道大神可不可以借鉴

1、获取领悟中最小等级的,POT满足条件后,根据最小等级skill判断是否需要去领悟,而不再依赖parry
function check_pot(p_cmd) 中
  if hp.pot>=l_pot and skills["parry"] and skills["parry"].lvl<hp.pot_max-100 and skills["parry"].lvl>=450 then
    flag.lingwu=1
  end

  替换为

  local leastLevelSkills = getLeastLevel()
  if hp.pot>=l_pot and skills[leastLevelSkills] and skills[leastLevelSkills].lvl<hp.pot_max-100 and skills[leastLevelSkills].lvl>=450 then
    messageShow('符合领悟条件,准备领悟!')
    flag.lingwu=1
  end

2、在check_pot(p_cmd)方法结束后增加新的方法
获取领悟skills里最小的skill,如果有等级相同,就取第一个最小的skill


function getLeastLevel()
  skillsLingwu = {}
  skillsLingwu = utils.split(GetVariable("lingwuskills"),'|')
  waitsort = {}
  
  for k, v in ipairs (skillsLingwu) do
      local tmp_table = {}
      tmp_table.skillname  = v
      tmp_table.skilllevel = skills[v].lvl      
      table.insert(waitsort,tmp_table)

  end
  local sksmall = {}
  for k, v in ipairs (waitsort) do
      if k == 1 then
         sksmall.name = v.skillname
         sksmall.level = v.skilllevel
      end
      if (v.skilllevel - sksmall.level) < 0 then
         sksmall.name = v.skillname
         sksmall.level = v.skilllevel
      end
  end
  messageShow('最小的技能:【'..sksmall.name..'】等级:【'..sksmall.level..'】!')
  return sksmall.name

end

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

门派:昆仑派
发表于 2018-1-9 17:17:36 | 显示全部楼层
看不懂,不过好像很有用的
样子!
门派:明教
发表于 2018-1-9 19:39:40 | 显示全部楼层
其实只需要判断列表最后一个是不是满了就行了

skillsLingwu = {}
                skillsLingwu = utils.split(GetVariable("lingwuskills"),'|')
                if skillsLingwu ~= nil and skillsLingwu ~= '' then
                        local _lwskill = skillsLingwu[table.getn(skillsLingwu)]
                        if hp.pot>=l_pot and skills[_lwskill] and skills[_lwskill].lvl<hp.pot_max-100 then
                                flag.lingwu=1
                        end
                end

评分

1

查看全部评分

门派:桃花岛
发表于 2018-1-9 22:01:42 | 显示全部楼层
唉,看起来mush只能用现成的了。
门派:天龙寺
发表于 2018-1-9 22:10:46 | 显示全部楼层
对于不断完善公版mush的努力都应该给予一定的奖励
门派:姑苏慕容
发表于 2018-1-11 16:18:09 | 显示全部楼层
完善的越来越好了,加油啊
门派:明教
 楼主| 发表于 2018-1-11 17:15:30 | 显示全部楼层
xiren@tj 发表于 2018-1-9 19:39
其实只需要判断列表最后一个是不是满了就行了

skillsLingwu = {}

你这种方法,需要根据情况手工调整,始终把不满的基本武功放在最后,需要根据情况调整领悟的技能顺序,基本上很长时间调整一次。
我想的方法是不论你对领悟武功的顺序怎么调整,永远会有最低的一个,我只判断最低的一个就可以,设置好1次就不用再做手工调整。

&#128518;{:2_32:}
门派:明教
发表于 2018-1-11 17:18:46 | 显示全部楼层
taskmgr@tj 发表于 2018-1-11 17:15
你这种方法,需要根据情况手工调整,始终把不满的基本武功放在最后,需要根据情况调整领悟的技能顺序,基 ...

........
师兄你逻辑有点不对的地方
因为领悟是从前领悟到后的,所以最后一个等级永远会是<=前面的等级
这就是我说为什么只需要判断最后一个,就不会出现有技能不满而停止的情况
门派:明教
发表于 2018-1-11 17:19:39 | 显示全部楼层
taskmgr@tj 发表于 2018-1-11 17:15
你这种方法,需要根据情况手工调整,始终把不满的基本武功放在最后,需要根据情况调整领悟的技能顺序,基 ...

最后一个的等级永远不会超过前面        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-10 15:12 , Processed in 0.030952 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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