| 
 | 
 
 本帖最后由 kkfromch@tj 于 2019-2-22 17:58 编辑  
 
【主要功能介绍】: 
1.本机器人实现了pk/蝶梦楼单独的一套pfm(与任务pfm分开)。 
2.并对pfm进行分拆,包括“克制pfm”和“实际pfm”,便于战斗时的灵活组合。 
3.加入了“憋合气”的功能,可以对“憋合气”的数值进行设定,只有达到并超过这个合气值后,才会释放pfm。 
4.还能对不启动fpk,无法获取id的对手进行克制,调动克制模块。 
 
【如何使用】: 
1.将原有mush文件夹备份后,把所有文件复制到mush/lua文件夹下,覆盖原有文件。 
2.按照论坛说明,将新的代码放入shujian.lua文件中。 
3.启动mush后,输入“pkset”,按照提示完成所有设定。 
4.输入"who -门派 -l",查询pk目标当前状态,例如:"who -murong -l",就是查询慕容所有玩家的状态,然后去岳不群、宋远桥、岳灵珊、长江北等处蹲坑。 
5.到达目的地后,输入"pks",填入对方id,就自动启动计时器,不断发出“follow xxx;kill xxx”的指令。 
6.点击右侧窗口的红色“pk憋合气-开/关”按钮,实现是否憋合气的功能(注:任务模式中该功能无效,不论按钮是否打开,都不会憋合气)。 
7.蝶梦楼pk需要使用修改后的土拨鼠自动蝶梦楼文件,否则无法在蝶梦楼上使用本机器人。 
http://www.sjever.net/bbs/forum.php?mod=viewthread&tid=206799 
(先按照土拨鼠自动蝶梦楼安装调试完毕后,再将pk机器人经过修改后的diemenglou.lua覆盖进去,切记别搞反了啊!) 
 
【功能展望和不足】: 
1.本机器人没有对玩家的桃花岛玉箫剑法“险妙”属性进行识别,也未对其它门派的特殊武功属性进行程序判断和控制。 
2.本机器人的克制模块是基于馆长的kezhiwugong.lua,比较陈旧,有些武功也许有招式缺漏或误判,例如“四象掌”和“般若掌”,我就是统统丢入“无属性”里的。 
3.本机器人的战斗机制是采取公版mush的心跳模式,也就是预先将pfm alias存在服务器上,每一次心跳执行一遍,因为属性克制需要不断jifa武功,因此会有减合气的情况发生,除非将心跳模式改成客户端相应模式,比如jifa一次后,除非敌人变招,否则不进行二次jifa,这样才能最大限度不消耗合气。(此功能也许会在下一个版本中实现。) 
 
总之,对于以上克制功能不足的改进,以及自动pk机器人的继续完善,将是下一个版本的主要内容,希望大家多提宝贵意见,谢谢! 
 
由于本人水平有限,如有错漏之处,还望海涵。:) 
(桃花岛无法风,2018年12月27日) 
 
--------------------------------------------------- 
 
shujian.lua修改内容: 
 
1. 在文件上边增加变量pkheqi=0的定义。 
 
2. 在函数setAlias()里面,加入"pkset" 和"pks"两个alias及函数。 
 
function setAlias() 
    create_alias_s('stop','stop','disAll') 
        create_alias_s('iset','iset','shujian_set')         
        create_alias_s('start','start','main') 
        create_alias_s('pkset','pkset','setpk') 
        create_alias_s('pkstart','pks','pk_start') 
        create_alias_s('qu_wd','qu_wd','goto_set.wd') 
        create_alias_s('qu_sl','qu_sl','goto_set.sl') 
        create_alias_s('qu_xy','qu_xy','goto_set.xy') 
        create_alias_s('qu_xs','qu_xs','goto_set.xs') 
        create_alias_s('qu_hs','qu_hs','goto_set.hs') 
        create_alias_s('qu_yz','qu_yz','goto_set.yz') 
        create_alias_s('qu_lzdk','qu_lzdk','goto_set.lzdk') 
        create_alias_s('qu_thd','qu_thd','goto_set.thd') 
        create_alias_s('qu_dl','qu_dl','goto_set.dl') 
        create_alias_s('tj','tj','jobExpTongji') 
        create_alias_s('setlian','setlian','setLian') 
        create_alias_s('setlearn','setlearn','setLearn') 
        create_alias_s('setlingwu','setlingwu','setLingwu') 
        create_alias_s('setdzxy','setdzxy','setdzxy') 
        create_alias_s('duanzao','duanzao','duanzao') 
        create_alias_s('zhizao','zhizao','zhizao') 
        create_alias_s('xuexi','xuexi','xuepot') 
        create_alias_s('xc','xc','setxcexp') 
        create_alias_s('wdj','wdj','inWdj') 
        create_alias_s('dolost','dolost','dolostletter') 
        create_alias_s('setjob','setjob','jobSet') 
        create_alias('sz','^sz(.*)$','goto("%1")') 
        SetAliasOption ('sz','send_to','12') 
        create_alias('dushu','^dushu(.*)$','dushu("%1")') 
        SetAliasOption ('dushu','send_to','12') 
        create_alias('full','^full(.*)$','fullSkill("%1")') 
        SetAliasOption ('full','send_to','12') 
end 
 
3. 以下内容,放在函数function setLingwu()结束后的下边。 
 
function pk_start() 
     l_result=utils.inputbox ("你要PK的目标是(英文ID)?", "PK-Target", GetVariable("pk_target"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("pk_target",l_result) 
     end 
   if l_result then 
      create_timer_s('walkWait4',0.4,'pk_start1')         
   end     
end 
function pk_start1() 
        exe('follow '..GetVariable("pk_target")) 
        exe('kill '..GetVariable("pk_target")) 
end 
function setpk() 
         l_result=utils.inputbox ("你打算憋多少合气?(不填默认240)", "heqi_number", GetVariable("heqi_number"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("heqi_number",l_result) 
        else 
          SetVariable("heqi_number","240") 
     end 
         l_result=utils.inputbox ("填写你的克制无属性PK-PFM(克制无)是?", "zpk_pwu", GetVariable("zpk_pwu"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pwu",l_result) 
   end 
    l_result=utils.inputbox ("填写你的克制空属性PK-PFM(克制空)是?", "zpk_pkong", GetVariable("zpk_pkong"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pkong",l_result) 
        end 
   l_result=utils.inputbox ("填写你的正属性PK-PFM是? (克制险)", "zpk_pzhen", GetVariable("zpk_pzhen"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pzhen",l_result) 
   end 
   l_result=utils.inputbox ("填写你的奇属性PK-PFM(克制妙)", "zpk_pqi", GetVariable("zpk_pqi"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pqi",l_result) 
   end 
   l_result=utils.inputbox ("填写你的刚属性PK-PFM(克制慢)", "zpk_pgang", GetVariable("zpk_pgang"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pgang",l_result) 
   end 
   l_result=utils.inputbox ("填写你的柔属性PK-PFM(克制快)", "zpk_prou", GetVariable("zpk_prou"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_prou",l_result) 
   end 
   l_result=utils.inputbox ("填写你的快属性PK-PFM(克制刚)", "zpk_pkuai", GetVariable("zpk_pkuai"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pkuai",l_result) 
   end 
   l_result=utils.inputbox ("填写你的慢属性PK-PFM(克制柔)", "zpk_pman", GetVariable("zpk_pman"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pman",l_result) 
   end 
   l_result=utils.inputbox ("填写你的秒属性PK-PFM(克制正)", "zpk_pmiao", GetVariable("zpk_pmiao"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pmiao",l_result) 
   end 
   l_result=utils.inputbox ("填写你的险属性PK-PFM(克制奇)", "zpk_pxian", GetVariable("zpk_pxian"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("zpk_pxian",l_result) 
   end 
   l_result=utils.inputbox ("填写你的默认PK-PFM(起手pfm或无法识别对方武功的应对,类似pfmpfm设定)是?", "pkpfm", GetVariable("pkpfm"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("pkpfm",l_result) 
        end 
      l_result=utils.inputbox ("填写你的PK-PFM(只包含pfm,不包含wield武器或jifa)", "mypfm", GetVariable("mypfm"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("mypfm",l_result) 
           end 
           l_result=utils.inputbox ("填写你的buff-PFM(pk时使用的buff技能)", "mybuff", GetVariable("mybuff"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("mybuff",l_result) 
           end 
           l_result=utils.inputbox ("填写你的debuff-PFM(pk时使用的debuff技能)", "mydebuff", GetVariable("mydebuff"), "宋体" , "12") 
   if not isNil(l_result) then 
      SetVariable("mydebuff",l_result) 
           end 
end 
 
------------------- 
准备好了吗?让我们来一场轰轰烈烈的pk吧! 
 
修复日志: 
2018.12.27 修复合气值没有从字符转变成数字的报错。修复计时器walkwait4无法删除的报错。 
2019.01.31 版本更新,添加了对玉箫剑法、五虎断门刀、空明拳、双属性般若掌、护镖伙伴出招的识别,以及pk状态下采用非心跳模式变换克制。 
2019.02.21 版本更新,修复了忙状态下不能再次激发的问题。 
2019.02.22 版本更新,修复了对独孤九剑等自身武功的误识别问题。 |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册  
 
×
 
 
评分
- 
2
查看全部评分 
 
- 
 
 
 
 
 |