支持单次追捕
个别异常情况,比如犯人跑了,需要手动辅助.
未来也许会增加自动放弃,自动重复的功能
用法(在开发者工具console控制台):
ym.s0()
ym={
zid:"",
m:0,
s:function(n){ //连续执行.
ym.m=n;
ym._s();
},
_s:function(){
console.log("ym:"+ym.m);
if(ym.m>0){
ym.m--;
ym.s0();
}
},
s0:function(){
cmd("jh fam 0 start") //扬州
cmd("go west")
cmd("go north")
cmd("go north")
_getnpc("程药发",ym.s1)
},
_getymtask:function(cb){
cmd("tasks")
tt=setInterval(function(){ //循环等待
if(clear ==1 ) {window.clearInterval(tt);return}
if(wsdata["dialog"] && wsdata["dialog"].dialog == "tasks"){
tinfo=wsdata["dialog"].items[3]["desc"];//"desc":"扬州知府委托你追杀逃犯:锺离青,据说最近在少林派-钟楼出现过,你还有3分33秒去寻找他,目前完成0/20个,共连续完成0个。"
console.log(tinfo);
//截取名字和地点.js中文正则不好用
ninfo=tinfo.split(',')[0] //扬州知府委托你追杀逃犯:锺离青
name=ninfo.substr(12);
ainfo=tinfo.split(',')[1]; //据说最近在少林派-钟楼出现过
ainfo1=ainfo.substr(5,ainfo.length-8);
fname=ainfo1.split('-')[0];
aname=ainfo1.split('-')[1];
window.clearInterval(tt);
cb(name,fname,aname);
}
}
, 1000);
},
s1:function(npcid){
ym.zid=npcid;
console.log(ym.zid)
cmd("ask1 "+npcid) //请求追捕任务
//cmd("ask2 "+npcid) //放弃追捕任务
setTimeout(ym.s1a, 1000); //延时一会
},
s1a:function(){
ym._getymtask(ym.s2)
},
s2:function(name,fname,aname){
gomap(fname,aname);
_findnpc(name,fname,aname,ym.s3,ym.s2a) //找不到,用备用点
},
i:0,
s2a:function(name,fname,aname){
//尝试其他同名地点,最多重试4次
//for ( ym.i=1; ym.i<5; ym.i++){
console.log(ym.i)
if(ym.i<=4){
ym.i++;
mname=aname+ym.i;
if(maps[fname][mname]){
gomapa(fname,mname); //相对寻路
_findnpc(name,fname,aname,ym.s3,ym.s2a) //找不到,
}
else{
console.log("ym not found "+ym.i);
ym.i=0;
ym.fangqi()
}
}
else {
console.log("ym not found after :"+ym.i)
ym.i=0;
ym.fangqi();
}
},
s3:function(npcid){
ym.i=0;
cmd("kill "+npcid) //主动叫杀
peasy() //pfm
_zd(ym.s4)
},
s4:function(){
//下一个任务
_liaoshang(ym._s)
},
fangqi:function(){
cmd("jh fam 0 start") //扬州
cmd("go west")
cmd("go north")
cmd("go north")
cmd("ask2 "+ym.zid) //放弃追捕任务
ym.s1(ym.zid)
}
}