|
楼主 |
发表于 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()。
- -------九宫山任务-----------------by semic
- function go_jgs()
- ysnum=0 --任务完成标记
- jobtarget='无'
- tfcnt=0
- return go(set_jgsjob,"九江周边","九宫山脚")
- end
- function set_jgsjob()
- wait.make(function()
- print('开始等待5秒_1')
- wait.time(5)
- print('5秒等待结束_1')
- exe('pkpfm')
-
- print('开始等待5秒_2')
- wait.time(5)
- print('5秒等待结束_2')
- set_jgsjob_full()
- end)
- end
- function set_jgsjob_full()
- job.time.b=os.time()
- messageShow('开始九宫山剿匪任务!')
- job.name='diemenglou'
- flag.idle=0
- fastLocate()
- DeleteTriggerGroup("jgsjob")
- create_trigger_t('jgsjob1',"^(> )*忽然一个黑影出现在你眼前。",'','jgsjob_consider')
- create_trigger_t('jgsjob2',"^(> )*(\\D*)见势不妙,身形几个起落就消失在山野之中。",'','jgsjob_goon')
- create_trigger_t('jgsjob3','^(> )*你感觉今天有点累了,还是回去休息吧','','jgsjob_finish')
- create_trigger_t('jgsjob4',"^(> )*看起来(\\D*)想杀死你!",'','jgsjob_name')
- SetTriggerOption("jgsjob1","group","jgsjob")
- SetTriggerOption("jgsjob2","group","jgsjob")
- SetTriggerOption("jgsjob3","group","jgsjob")
- SetTriggerOption("jgsjob4","group","jgsjob")
- EnableTriggerGroup("jgsjob",true)
- jgsjob_find()
- wait.make(function()
- wait.time(1)
- print('设置搜索路径成功!')
- jgsjob_find_back()
- end)
- end
- function jgsjob_finish()
- tfcnt=10
- end
- function jgsjob_name(n,l,w)
- jobtarget=w[2]
- print('土匪|'..jobtarget)
- create_trigger_t('jgsjob5','^(> )*(.*)九宫山山贼(\\D*) '..jobtarget..'\\((\\D*)\\) <战斗中>','','jgsjob_kill')
- SetTriggerOption("jgsjob5","group","jgsjob")
- EnableTrigger("jgsjob5",true)
- end
- function jgsjob_consider()
- exe('look')
- flag.find=1
- print('发现土匪!')
- end
- function jgsjob_kill(n,l,w)
- EnableTrigger("hpheqi1",true)
- EnableTrigger("jgsjob5",false)
- flag.find=1
- job.id=string.lower(w[4])
- print('nmae='..jobtarget)
- print('k='..job.id)
- heqi=0
- exe('kill '..job.id)
- exe('hp')
- kezhiwugong()
- kezhiwugongAddTarget(jobtarget,job.id)
- end
- function jgsjob_goon()
- kezhiwugongclose()
- heqi=0
- flag.idle=0
- flag.find=0
- tfcnt=tfcnt+1
- print('清除土匪【'..tfcnt..'】个 ,继续任务!!')
- if tfcnt>=10 then
- print('清除土匪【'..tfcnt..'】个任务完成, 准备离开副本!')
- 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')
- return checkWait(outjgs,2)
- end
- if jgs_path_steps<=1 then
- checkWait(jgsjob_move,1)
- elseif jgs_path_steps==2 then
- checkWait(jgsjob_moveB,1)
- end
- end
- function outjgs() ---leave FB
- job.time.e=os.time()
- job.time.over=job.time.e-job.time.b
- messageShow('清除土匪【'..tfcnt..'】个任务完成, 用时【'..job.time.over..'】秒!')
- EnableTriggerGroup("jgsjob",false)
- EnableTriggerGroup("hpheqi",false)
- fastLocate()
- exe('nd;y')
- --return checkWait(checkPrepareOver,2)
- return check_busy(check_food)
- end
- function jgsjob_find()
- jgs_path_steps=0
- tmp_jgspath=0
- jgsno=0
- 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'
- tmp_jgspath=utils.split(jgs_pathgo,';')
- for i=1,table.getn(tmp_jgspath) do
- end
- end
- function jgsjob_move()
- if tfcnt>=10 then return checkWait(outjgs,1) end
- if flag.find==1 then return end
- jgs_path_steps=1 --1 go
- if jgsno<table.getn(tmp_jgspath) then
- jgsno=jgsno+1
- print('入山搜寻步数: '..jgsno)
- exe(tmp_jgspath[jgsno])
- else
- if ysnum==0 then print('返回搜索!') jgsno=0 return jgsjob_moveB() else tfcnt=10 end
- end
- wait.make(function()
- wait.time(0.6)
- jgsjob_move()
- end)
- end
- -------九宫山返回遍历----------------------
- function jgsjob_find_back()
- jgs_path_steps=1
- tmp_jgspathbb=0
- jgsno=0
- 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;'
- tmp_jgspathbb=utils.split(jgs_pathback,';')
- for i=1,table.getn(tmp_jgspathbb) do
- end
- print('-------------进入副本开始!-------------------')
- exe('enter;y')
- wait.make(function()
- wait.time(1.5)
- if flag.find==0 then return jgsjob_move() end ---第一步遇到土匪停止搜索
- end)
- end
- function jgsjob_moveB()
- job.time.e=os.time()
- job.time.over=job.time.e-job.time.b
- if flag.find==1 then return end
- jgs_path_steps=2 --2 back
- if jgsno<table.getn(tmp_jgspathbb) then
- jgsno=jgsno+1
- print('返回搜寻步数: '..jgsno)
- exe(tmp_jgspathbb[jgsno])
- else
- if ysnum==0 then
- print('目前用时..【'..job.time.over..'】秒..重新搜索!')
- jgsno=0
- end
- if job.time.over>1800 then ---这里设定副本超时时间为15分钟
- tfcnt=15
- print('搜索超时,准备离开副本!')
- messageShow('搜索超时,准备离开副本!')
- end
- return jgsjob_move()
- end
- wait.make(function()
- wait.time(0.6)
- jgsjob_moveB()
- end)
- end
复制代码
|
|