找回密码
 注册
搜索
查看: 3488|回复: 46

无法风版自动抓雪蛛机器人

[复制链接]
门派:桃花岛
发表于 2019-5-3 14:04:49 | 显示全部楼层 |阅读模式
  1. -----------自动抓雪蛛by桃花岛无法风2019.3.16----------
  2. function check_xuezhu_status()
  3.         local xuezhu_status=GetVariable("xuezhu_status")
  4.         if xuezhu_status==nil then
  5.            messageShow('未找到雪蛛变量:xuezhu_status,请尽快设置!','white','black')
  6.         elseif xuezhu_status=="0" then
  7.            messageShow('本周还未抓到雪蛛,启动自动抓雪蛛机器人,前往抓雪蛛!','white','black')
  8.            return xuezhu_status
  9.         elseif xuezhu_status=="1" then
  10.            messageShow('已问程灵素要了真丹,现在前往抓雪蛛!','white','black')
  11.            return xuezhu_status
  12.         elseif xuezhu_status=="-1" then
  13.            messageShow('程灵素给了假丹,小贱人!怒!!!现在前往抓雪蛛!','white','black')
  14.            return xuezhu_status
  15.         end
  16. end
  17. function xuezhuTrigger()
  18.     DeleteTriggerGroup("xuezhuAsk")
  19.     create_trigger_t('xuezhuAsk1',"^(> )*你向程灵素打听有关『五毒教』的消息",'','xuezhuAsk')
  20.     create_trigger_t('xuezhuAsk2',"^(> )*这里没有这个人。$",'','xuezhuNobody')
  21.     SetTriggerOption("xuezhuAsk1","group","xuezhuAsk")
  22.     SetTriggerOption("xuezhuAsk2","group","xuezhuAsk")
  23.     EnableTriggerGroup("xuezhuAsk",false)
  24.     DeleteTriggerGroup("xuezhuAccept")
  25.     create_trigger_t('xuezhuAccept1',"^(> )*程灵素说道:「五毒教的禁地种满了各种奇花异草,其中大部分具有巨毒\\D*",'','xuezhuAccept')
  26.     create_trigger_t('xuezhuAccept2',"^(> )*你获得一颗九雪碧云丹。$",'','eatDan')
  27.     create_trigger_t('xuezhuAccept3',"^(> )*你把一颗九雪碧云丹,轻轻咬碎含进嘴里,顿觉神明意朗,脸色红润。$",'','xuezhu_go')
  28.     create_trigger_t('xuezhuAccept4',"^(> )*程灵素说道:「你上次答应我的事情还没做\\D*",'','fakeDan')
  29.     SetTriggerOption("xuezhuAccept1","group","xuezhuAccept")
  30.     SetTriggerOption("xuezhuAccept2","group","xuezhuAccept")
  31.     SetTriggerOption("xuezhuAccept3","group","xuezhuAccept")
  32.     SetTriggerOption("xuezhuAccept4","group","xuezhuAccept")
  33.     EnableTriggerGroup("xuezhuAccept",false)
  34.     DeleteTriggerGroup("xuezhuFight")
  35.     create_trigger_t('xuezhuFight1','^(> )*你晃动了半天,发现什麽也没有。','','xuezhuFail')
  36.     create_trigger_t('xuezhuFight2','^(> )*你轻轻摇晃树藤,忽然掉下一只雪蛛。','','xuezhuFight')
  37.     create_trigger_t('xuezhuFight3','^(> )*雪蛛神志迷糊,脚下一个不稳,倒在地上昏了过去。','','getxuezhuX')
  38.     create_trigger_t('xuezhuFight4',"^(> )*你将雪蛛扶了起来背在背上。",'','givecheng')
  39.         create_trigger_t('xuezhuFight5',"^(> )*雪蛛「啪」的一声倒在地上,挣扎着抽动了几下就死了。",'','xuezhuFail')
  40.         --create_trigger_t('xuezhuFight6',"^(> )*(你附近没有这样东西。|雪蛛突然蹿到地上不见了。)",'','xuezhuFail')
  41.         create_trigger_t('xuezhuFight6',"^(> )*雪蛛突然蹿到地上不见了。",'','xuezhuFail')
  42.     SetTriggerOption("xuezhuFight1","group","xuezhuFight")
  43.     SetTriggerOption("xuezhuFight2","group","xuezhuFight")
  44.     SetTriggerOption("xuezhuFight3","group","xuezhuFight")
  45.     SetTriggerOption("xuezhuFight4","group","xuezhuFight")
  46.         SetTriggerOption("xuezhuFight5","group","xuezhuFight")
  47.         SetTriggerOption("xuezhuFight6","group","xuezhuFight")
  48.     EnableTriggerGroup("xuezhuFight",false)
  49.     DeleteTriggerGroup("xuezhuFinish")
  50.     create_trigger_t('xuezhuFinish1','^(> )*程灵素说道:「你果然言而有信,下次你要再去五毒教来找我吧。」','','xuezhuFinish')
  51.     SetTriggerOption("xuezhuFinish1","group","xuezhuFinish")
  52.     EnableTriggerGroup("xuezhuFinish",false)
  53. end
  54. function xuezhuTriDel()
  55.         dis_all()
  56.         EnableTriggerGroup("xuezhuAsk",false)
  57.         EnableTriggerGroup("xuezhuAccept",false)
  58.         EnableTriggerGroup("xuezhuFight",false)
  59.         EnableTriggerGroup("xuezhuFinish",false)
  60.         DeleteTriggerGroup("xuezhuAsk")
  61.         DeleteTriggerGroup("xuezhuAccept")
  62.         DeleteTriggerGroup("xuezhuFight")
  63.         DeleteTriggerGroup("xuezhuFinish")
  64. end
  65. function getxuezhu0()
  66.         xuezhuTrigger()
  67.         go(askcheng,'苗疆','药王居')
  68. end
  69. function getxuezhu1()
  70.         xuezhuTrigger()
  71.         xuezhu_go()
  72. end
  73. function askcheng()
  74.         EnableTriggerGroup("xuezhuAsk",true)
  75.         EnableTriggerGroup("xuezhuAccept",true)
  76.         exe('ask cheng about 五毒教')
  77.         create_timer_s('walkWait4',3.0,'askcheng1')
  78. end
  79. function askcheng1()
  80.         exe('ask cheng about 五毒教')
  81. end
  82. function xuezhuAsk()
  83.         EnableTimer('walkWait4',false)
  84.         DeleteTimer("walkWait4")
  85.     EnableTriggerGroup("xuezhuAsk",false)
  86. end
  87. function xuezhuAccept()
  88.         EnableTimer('walkWait4',false)
  89.         DeleteTimer("walkWait4")
  90.         wait.make(function()
  91.          wait.time(2)
  92.         exe('yes')       
  93.     end)
  94.         SetVariable("xuezhu_status","1")
  95. end
  96. function eatDan()
  97.         EnableTimer('walkWait4',false)
  98.         DeleteTimer("walkWait4")
  99.     exe('fu dan')
  100.         create_timer_s('walkWait4',1.0,'eatDan1')
  101. end
  102. function eatDan1()
  103.         exe('fu dan')
  104. end
  105. function fakeDan()
  106.         EnableTimer('walkWait4',false)
  107.         DeleteTimer("walkWait4")
  108.         SetVariable("xuezhu_status","-1")
  109.         return xuezhu_go()
  110. end
  111. function xuezhu_go()
  112.         EnableTimer('walkWait4',false)
  113.         DeleteTimer("walkWait4")
  114.         if not Bag["火折"] and drugPrepare["火折"] then
  115.            if locl.weekday == '四' and locl.hour ==8 then
  116.           return checkPrepareOver()
  117.            else
  118.                   return checkFire()
  119.            end
  120.         end
  121.         EnableTriggerGroup("xuezhuAccept",false)
  122.         EnableTriggerGroup("xuezhuFight",true)
  123.         go(yaoshuteng,'苗疆','山洞')
  124. end
  125. function yaoshuteng()
  126.         EnableTriggerGroup("xuezhuFight",true)
  127.         exe('dian fire;yao shuteng')
  128.         create_timer_st('walkWait4',1.0,'yaoshuteng1')
  129. end
  130. function yaoshuteng1()
  131.         exe('dian fire;yao shuteng')
  132. end
  133. function xuezhuFail()
  134.         xuezhuTriDel()
  135.         messageShow('雪蛛不在,一会再来抓!','white','black')
  136.         return checkPrepareOver()
  137. end
  138. function xuezhuFight()
  139.         EnableTimer('walkWait4',false)
  140.         DeleteTimer("walkWait4")
  141.         wait.make(function()
  142.          wait.time(3)
  143.                  weapon_unwield()
  144.         exe('unset wimpy;wield mu jian;jiali 100;hit xue zhu')
  145.     end)
  146. end
  147. function getxuezhuX()
  148.         exe('get xue zhu')
  149. end
  150. function givecheng()
  151.         EnableTriggerGroup("xuezhuFinish",true)
  152.         go(givexuezhu,'苗疆','药王居')
  153. end
  154. function givexuezhu()
  155.         exe('give cheng xue zhu')
  156.         create_timer_st('walkWait4',1.0,'givexuezhu1')
  157. end
  158. function givexuezhu1()
  159.     exe('give cheng xue zhu')
  160. end
  161. function xuezhuFinish()
  162.         local x=GetVariable("xuezhu_status")
  163.         if x=='-1' then
  164.            SetVariable("xuezhu_status","0")
  165.         end
  166.         if x=='1' then
  167.            SetVariable("xuezhu_status","2")
  168.            messageShow('本周已成功抓到雪蛛,请安心游戏!:)','red','black')
  169.         end
  170.     xuezhuTriDel()
  171.         weapon_wield()
  172.         return checkPrepareOver()
  173. end
  174. -----------自动抓雪蛛by桃花岛无法风2019.3.16----------
复制代码

评分

1

查看全部评分

门派:桃花岛
 楼主| 发表于 2019-5-3 14:13:33 | 显示全部楼层
上面这段放在shujian.lua的最下边,有以下注意事项——

1.mush需要添加雪蛛变量xuezhu_status,这里边记录抓雪蛛的状态:

-1,上周要了真丹,未给程灵素雪蛛;或者程灵素给了假丹,需要先抓一只还账,再要真丹,再抓第二只雪蛛。
0,本周服务器重启,未要真丹,未给雪蛛,会自动要真丹,抓雪蛛。
1,本周要了真丹,未抓到雪蛛。
2,本周抓雪蛛完毕,可以安心游戏!

2.抓雪蛛的战斗部分,采用了weapon_unwield(),卸下所有兵器,装备木剑,加力100的方式,这样不会打死雪蛛,但需要设置购买木剑。不习惯这种方式的,可以设置jiali 30,空手打雪蛛,但不好说是否会打死雪蛛。
战斗完毕之后,weapon_wield(),装备恢复武器,用木剑的朋友,记得添加unwield mu jian

3.由于摇树藤需要火折,在周四重启之后,火折很可能第一时间买不到,我没有做杂货铺提取火折的code,所以重启后第一小时不买火折,这样只要真丹,不抓雪蛛,大家也可以添加杂货铺取火折code,第一时间去抓雪蛛。

4.如果不想让机器人抓雪蛛,想避开高峰,可以手动设置xuezhu_status=2,这样默认已经抓到了雪蛛,机器人就不会去了,然后在夜晚人少的时候,再将其设置为1,即要到真丹未抓到雪蛛,就会自动去了!
门派:桃花岛
 楼主| 发表于 2019-5-3 14:17:13 | 显示全部楼层
  1. function login()
  2.     dis_all()
  3.     DeleteTriggerGroup("login")
  4.         create_trigger_t('login1',"^您上次连线地址是",'','logincheck')
  5.     create_trigger_t('login2',"^请您输入这个人物的识别密码\\(passwd\\):",'','login_passwd')
  6.     SetTriggerOption("login1","group","login")
  7.         SetTriggerOption("login2","group","login")
  8.     local l_id=GetVariable("id")
  9.     local l_passwd=GetVariable("passwd")
  10.     Note(l_id,l_passwd)
  11.     if l_id~=nil and l_passwd~=nil then
  12.        Send(l_id)
  13.        Send(l_passwd)
  14.        Send('y')
  15.     else
  16.        return shujian_set()
  17.     end
  18. end
  19. function logincheck()
  20. xuezhu_require=1
  21. end
复制代码
门派:桃花岛
 楼主| 发表于 2019-5-3 14:20:09 | 显示全部楼层
本帖最后由 liumaisj@tj 于 2019-5-3 14:24 编辑


上面这段是服务器重启或断线重连的判断!在shujian.lua内,我只是添加了一行触发器,用来判断重连的。

经测试,如果是在断线之内重连,不会出现“您上次连线地址是”,如果quit或服务器重启,则会出现这行信息,所以用其作为断线重连的判断。

然后记得在shujian.lua顶上,设置xuezhu_require=0,用其作为是否断线重连的标记!
门派:桃花岛
 楼主| 发表于 2019-5-3 14:23:23 | 显示全部楼层
  1.         if xuezhu_require==1 then
  2.            if GetVariable("xuezhu_status")~=nil and GetVariable("xuezhu_status")=='2' then
  3.                SetVariable("xuezhu_status","0") --重启之后初始化自动抓雪蛛变量为0
  4.            end
  5.            if GetVariable("xuezhu_status")~=nil and GetVariable("xuezhu_status")=='1' then
  6.               SetVariable("xuezhu_status","-1") --如果上周要了真丹,未给雪蛛,重启之后初始化自动抓雪蛛变量为-1
  7.            end
  8.            xuezhu_require=0
  9.         end
  10.        
  11.         local x=check_xuezhu_status()
  12.         if x=='0' then return getxuezhu0() end
  13.         if x=='-1' or x=='1' then return getxuezhu1() end
  14.        
  15.     return checkPrepareOver()
复制代码
门派:桃花岛
 楼主| 发表于 2019-5-3 14:29:27 | 显示全部楼层

上边是最后一段code,添加在shujian.lua 的 checkprepare()函数内,由于这个函数内容很多,我只节选了部分!

记得添加在checkprepare()函数的底部,return checkPrepareOver()的上边。

意思是所有的检查工作都做完后,如果发现标记xuezhu_require==1,则说明断线重连或服务器重启,需要将雪蛛变量重置!

然后用x=check_xuezhu_status()判断雪蛛变量,为0则要真丹,再抓雪蛛!
为-1或1的,则直接去抓雪蛛,以免重复要丹,得到了假丹!

好了,雪蛛机器人还是比较复杂的,虽然早在一个多月前就搞了出来,但是测试直到今天才算稳定!
大家可以试试,有任何问题回帖,我会帮助解决的!
门派:古墓派
发表于 2019-5-3 14:58:35 | 显示全部楼层
哇,感谢分享!看样子雪蛛是要越来越难抓了!
门派:大轮寺
发表于 2019-5-3 20:42:30 | 显示全部楼层
风神出品,必属精品,谢谢分享!
门派:峨嵋派
发表于 2019-5-4 15:03:01 | 显示全部楼层
感谢分享 劳动节的礼物啊
门派:丐帮
发表于 2019-5-4 15:28:37 | 显示全部楼层
outm@tj 发表于 2019-5-3 14:58
哇,感谢分享!看样子雪蛛是要越来越难抓了!

这样会越来越好抓的,机器越稳定浪费越少
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-5 23:52 , Processed in 0.042688 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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