找回密码
 注册
搜索
楼主: lhgchong@tj

仿semic: 自动九宫山任务

[复制链接]
门派:古墓派
发表于 2022-8-23 17:58:00 | 显示全部楼层
zyueyue@tj 发表于 2022-8-23 15:07
用这个模式是可以的。

因为没弄明白这个时间触发是那个句子   和机制   只能想出这么个笨办法
门派:铁掌帮
 楼主| 发表于 2022-8-28 21:30:20 | 显示全部楼层
因为缺省是手持恢复武器,而且过江自动练功可能练技能导致激发技能不是想要的战斗技能。
我改造了一下九宫山代码。一般默认会把pkpfm设置为切换战斗武器、战斗技能 。
那就做成在九宫山下,1)先等5秒,再执行pkpfm切换战斗武器、技能
2) 再等5秒,执行原来的set_jgs_full()进山。确保装备武器,且不会flood。
需要的参考。用在烂柯山也可以。
简单地说,就是将原来的function set_jgsjob()换名为function set_jgsjob_full(),并重写了function set_jgsjob()。

  1. -------九宫山任务-----------------by semic
  2. function go_jgs()
  3. ysnum=0  --任务完成标记
  4. jobtarget='无'
  5. tfcnt=0
  6. return go(set_jgsjob,"九江周边","九宫山脚")
  7. end

  8. function set_jgsjob()
  9.    wait.make(function()
  10.                  print('开始等待5秒_1')
  11.                  wait.time(5)
  12.                  print('5秒等待结束_1')
  13.                  exe('pkpfm')
  14.                  
  15.                  print('开始等待5秒_2')
  16.                  wait.time(5)
  17.                  print('5秒等待结束_2')
  18.                  set_jgsjob_full()
  19.                 end)
  20. end


  21. function set_jgsjob_full()
  22.     job.time.b=os.time()
  23.   messageShow('开始九宫山剿匪任务!')
  24.    job.name='diemenglou'
  25.    flag.idle=0
  26.       fastLocate()
  27.           DeleteTriggerGroup("jgsjob")        
  28.             create_trigger_t('jgsjob1',"^(> )*忽然一个黑影出现在你眼前。",'','jgsjob_consider')
  29.                 create_trigger_t('jgsjob2',"^(> )*(\\D*)见势不妙,身形几个起落就消失在山野之中。",'','jgsjob_goon')
  30.                 create_trigger_t('jgsjob3','^(> )*你感觉今天有点累了,还是回去休息吧','','jgsjob_finish')
  31.                 create_trigger_t('jgsjob4',"^(> )*看起来(\\D*)想杀死你!",'','jgsjob_name')
  32.         SetTriggerOption("jgsjob1","group","jgsjob")
  33.         SetTriggerOption("jgsjob2","group","jgsjob")
  34.         SetTriggerOption("jgsjob3","group","jgsjob")
  35.         SetTriggerOption("jgsjob4","group","jgsjob")
  36.         EnableTriggerGroup("jgsjob",true)
  37.        jgsjob_find()
  38.           wait.make(function()
  39.           wait.time(1)
  40.      print('设置搜索路径成功!')
  41.      jgsjob_find_back()
  42.           end)
  43. end
  44. function jgsjob_finish()
  45. tfcnt=10
  46. end
  47. function jgsjob_name(n,l,w)
  48. jobtarget=w[2]
  49. print('土匪|'..jobtarget)
  50. create_trigger_t('jgsjob5','^(> )*(.*)九宫山山贼(\\D*) '..jobtarget..'\\((\\D*)\\) <战斗中>','','jgsjob_kill')
  51.          SetTriggerOption("jgsjob5","group","jgsjob")
  52. EnableTrigger("jgsjob5",true)
  53. end
  54. function jgsjob_consider()
  55. exe('look')
  56. flag.find=1
  57. print('发现土匪!')
  58. end
  59. function jgsjob_kill(n,l,w)
  60. EnableTrigger("hpheqi1",true)
  61. EnableTrigger("jgsjob5",false)
  62. flag.find=1
  63. job.id=string.lower(w[4])
  64. print('nmae='..jobtarget)
  65. print('k='..job.id)
  66. heqi=0
  67. exe('kill '..job.id)
  68. exe('hp')
  69. kezhiwugong()
  70. kezhiwugongAddTarget(jobtarget,job.id)
  71. end
  72. function jgsjob_goon()
  73. kezhiwugongclose()
  74. heqi=0
  75. flag.idle=0
  76. flag.find=0
  77. tfcnt=tfcnt+1
  78. print('清除土匪【'..tfcnt..'】个 ,继续任务!!')
  79. if tfcnt>=10 then
  80.   print('清除土匪【'..tfcnt..'】个任务完成, 准备离开副本!')
  81.   exe('ne;nu;sd;su;nd;ne;nu;sd;ed;ed;nu;sd;sd;nu;ed;nu;sd;ed;ne;ed;wu;nd;eu;wd;say arrive entrance')
  82.   return checkWait(outjgs,2)
  83. end
  84. if jgs_path_steps<=1 then
  85. checkWait(jgsjob_move,1)
  86. elseif jgs_path_steps==2 then
  87.   checkWait(jgsjob_moveB,1)
  88. end
  89. end
  90. function outjgs()  ---leave FB
  91.     job.time.e=os.time()
  92.         job.time.over=job.time.e-job.time.b
  93. messageShow('清除土匪【'..tfcnt..'】个任务完成, 用时【'..job.time.over..'】秒!')
  94. EnableTriggerGroup("jgsjob",false)
  95. EnableTriggerGroup("hpheqi",false)
  96. fastLocate()
  97. exe('nd;y')
  98. --return checkWait(checkPrepareOver,2)
  99. return check_busy(check_food)
  100. end
  101. function jgsjob_find()  
  102. jgs_path_steps=0
  103. tmp_jgspath=0
  104. jgsno=0
  105. local jgs_pathgo='club;eu;wd;su;ed;wu;sw;wu;nu;sd;wu;nu;sd;sd;nu;wu;wu;nu;sd;sw;nu;sd;su;nd;sw'
  106.        tmp_jgspath=utils.split(jgs_pathgo,';')
  107.        for i=1,table.getn(tmp_jgspath) do         
  108.        end           

  109. end

  110. function jgsjob_move()
  111.    if tfcnt>=10 then return checkWait(outjgs,1) end
  112.    if flag.find==1 then return end
  113.            jgs_path_steps=1  --1 go
  114. if jgsno<table.getn(tmp_jgspath) then
  115. jgsno=jgsno+1
  116. print('入山搜寻步数: '..jgsno)
  117. exe(tmp_jgspath[jgsno])
  118. else
  119. if ysnum==0 then print('返回搜索!') jgsno=0 return jgsjob_moveB() else tfcnt=10 end
  120. end
  121.           wait.make(function()
  122.           wait.time(0.6)
  123.                  jgsjob_move()
  124.           end)
  125. end
  126. -------九宫山返回遍历----------------------
  127. function jgsjob_find_back()  
  128. jgs_path_steps=1
  129. tmp_jgspathbb=0
  130. jgsno=0
  131. local jgs_pathback='ne;nu;sd;su;nd;ne;nu;sd;ed;ed;nu;sd;sd;nu;ed;nu;sd;ed;ne;ed;wu;nd;eu;wd;'
  132.        tmp_jgspathbb=utils.split(jgs_pathback,';')
  133.        for i=1,table.getn(tmp_jgspathbb) do         
  134.        end         
  135.             print('-------------进入副本开始!-------------------')
  136.                   exe('enter;y')
  137.                           wait.make(function()
  138.              wait.time(1.5)
  139.                     if flag.find==0 then return jgsjob_move() end  ---第一步遇到土匪停止搜索
  140.                 end)
  141. end
  142. function jgsjob_moveB()
  143.     job.time.e=os.time()
  144.         job.time.over=job.time.e-job.time.b
  145.    if flag.find==1 then return end
  146.            jgs_path_steps=2  --2 back
  147. if jgsno<table.getn(tmp_jgspathbb) then
  148. jgsno=jgsno+1
  149. print('返回搜寻步数: '..jgsno)
  150. exe(tmp_jgspathbb[jgsno])
  151. else
  152. if ysnum==0 then
  153. print('目前用时..【'..job.time.over..'】秒..重新搜索!')
  154. jgsno=0
  155. end
  156. if job.time.over>1800 then   ---这里设定副本超时时间为15分钟
  157. tfcnt=15
  158.    print('搜索超时,准备离开副本!')
  159.   messageShow('搜索超时,准备离开副本!')
  160. end
  161. return jgsjob_move()  
  162. end
  163.           wait.make(function()
  164.           wait.time(0.6)
  165.                  jgsjob_moveB()
  166.           end)
  167. end
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-16 19:55 , Processed in 0.026608 second(s), 13 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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