武神传说wsmud辅助脚本开发(3) | 您所在的位置:网站首页 › 武神传说脚本懒人包 › 武神传说wsmud辅助脚本开发(3) |
再来处理师门任务的脚本, 先简单处理,就是假定需要上交的东西身上都有了(可以先把醉仙楼的东西都买好) 没有的就放弃. 主要是为了省时间,想要追求连续完成度的同学可以无视了 先看看初级版本的,以峨眉为例 function shimen(){ //需要提前买好物品 //进入师门(峨眉) cmd("jh fam 4 start") cmd("go west"); //请求任务 cmd("task sm al332ef82fa") //待改进,师父的id可能会变 //交任务 cmd("task sm al332ef82fa") //tt=setTimeout(function(){ //一次性延时 tt=setInterval(function(){ //循环等待 if(wsdata["cmds"]){ console.log(wsdata["cmds"].items[0]); c=wsdata["cmds"].items[0].cmd; //每次都执行第一个命令 cmd(c); wsdata["cmds"]=null; window.clearInterval(tt); } } , 1000); }这里有个问题,就是师父的id是一个变量,每次游戏重置会变化. 当然可以每次先用开发者工具查看一下,再修改脚本,但是这样也太麻烦了 所以改进一下 clear=0 cid='' function sm(){ //第一次用这个函数 //需要提前买好物品 cmd("stopstate") //停止当前工作 //进入师门(峨眉) cmd("jh fam 4 start") cmd("go west") _getsmid("峨嵋派第五代弟子 苏梦清") } function _getsmid(name){ tt=setInterval(function(){ //循环等待 if(clear ==1 ) {window.clearInterval(tt);return} if(wsdata["items"]){ console.log(wsdata["items"].items[0]); cname=wsdata["items"].items[0].name; cid=wsdata["items"].items[0].id; if (cname == name){ //console.log(cid); wsdata["items"]=null; window.clearInterval(tt); sm2() } } } , 1000); } function sm2(){//cid已经获得,用这个就可以了,不用每次都重新进 //请求任务 cmd("task sm "+cid) //交任务 cmd("task sm "+cid) _getsmcmd() } function _getsmcmd(){ tt=setInterval(function(){ //循环等待 if(clear ==1 ) {window.clearInterval(tt);return} if(wsdata["cmds"]){ console.log(wsdata["cmds"].items[0]); c=wsdata["cmds"].items[0].cmd; wsdata["cmds"]=null; window.clearInterval(tt); cmd(c) } } , 1000); }js这种语言是基于异步事件的,所以搞不好就会出现一些想象不到的异常. 比如象setInterval这种无限运行的定时器,一个不小心就会陷入死循环了 所以加一个clear,万一死循环了,可以通过输入clear=1来停止 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |