匿名修仙小帮手

匿名修仙小帮手,走起!!!

目前为 2022-04-22 提交的版本。查看 最新版本

// ==UserScript==
// @name         匿名修仙小帮手
// @namespace
// @version      0.9.1
// @description  匿名修仙小帮手,走起!!!
// @author       iuv@喝水
// @match        https://game.nimingxx.com/*
// @icon         https://www.google.com/s2/favicons?domain=nimingxx.com
// @grant        unsafeWindow
// @license      MIT
// @namespace https://game.nimingxx.com
// ==/UserScript==
var ixx = window;
(function() {
    'use strict';
    var m = [];
    m["陨真禁地"]=["飞羽林"];
    m["飞羽林"]=["阳城驿站","陨真禁地"];
    m["阳城驿站"]=["飞羽林","阳城"];
    m["阳城"]=["阳城驿站","黑森林"];
    m["黑森林"]=["阳城","红叶林","追风谷"];
    m["红叶林"]=["黑森林"]
    m["追风谷"]=["黑森林","林中栈道"];
    m["林中栈道"]=["追风谷","聚灵城","长树林海","洛月驿站"];
    m["聚灵城"]=["林中栈道"];
    m["长树林海"]=["林中栈道"];
    m["洛月驿站"]=["林中栈道","黑芦森林","碧炎山脉"];
    m["黑芦森林"]=["洛月驿站","黑芦沼泽"];
    m["黑芦沼泽"]=["黑芦森林","沼影岭"];
    m["沼影岭"]=["黑芦沼泽","阴冥界"];
    m["阴冥界"]=["沼影岭"];
    m["碧炎山脉"]=["洛月驿站","炽焰火山","通天道"];
    m["炽焰火山"]=["碧炎山脉","冰莲青湖"];
    m["冰莲青湖"]=["炽焰火山","冰神禁地","青灵城","云凤平原"];
    m["冰神禁地"]=["冰莲青湖","冰神宫"];
    m["冰神宫"]=["冰神禁地"];
    m["青灵城"]=["冰莲青湖","黑市驿站","丹城"];
    m["黑市驿站"]=["青灵城","黑市","丹城"];
    m["黑市"]=["黑市驿站"];
    m["丹城"]=["黑市驿站","青灵城","云凤平原"];
    m["云凤平原"]=["丹城","冰莲青湖","云溪灵湖","云天山峰"];
    m["云溪灵湖"]=["云凤平原","海灵宫","云天山峰"];
    m["海灵宫"]=["云溪灵湖"];
    m["云天山峰"]=["云溪灵湖","云凤平原","无极峰","落樱山脉"];
    m["无极峰"]=["云天山峰","无极宗"];
    m["无极宗"]=["无极峰","镇仙塔"];
    m["镇仙塔"]=["无极宗"];
    m["落樱山脉"]=["云天山峰","凌云山脉","通天道"];
    m["凌云山脉"]=["落樱山脉","凌云剑阁"];
    m["凌云剑阁"]=["凌云山脉"];
    m["通天道"]=["落樱山脉","碧炎山脉","九幽前路"];
    m["九幽前路"]=["通天道","九幽殿"];
    m["九幽殿"]=["九幽前路","九幽后峰"];
    m["九幽后峰"]=["九幽殿"];
    var maps = [];
    maps.push(['','','','阴冥界','','','','','',''])
    maps.push(['陨真禁地','飞羽林','','沼影岭','','九幽后峰','','','',''])
    maps.push(['','阳城驿站','红叶林','黑芦沼泽','','九幽殿','凌云剑阁','','',''])
    maps.push(['','阳城','黑森林','黑芦森林','','九幽前路','凌云山脉','','',''])
    maps.push(['','','追风谷','','','','','','',''])
    maps.push(['','聚灵城','林中栈道','洛月驿站','碧炎山脉','通天道','落樱山脉','','',''])
    maps.push(['','','长树林海','','炽焰火山','','云天山峰','无极峰','无极宗','镇仙塔'])
    maps.push(['','','冰神禁地','冰莲青湖','云凤平原','云溪灵湖','','','',''])
    maps.push(['','','','冰神宫','青灵城','丹城','海灵宫','','',''])
    maps.push(['','','','','','黑市驿站','','','',''])
    maps.push(['','','','','','黑市','','','','关闭'])
    function byId(id){
        return document.getElementById(id);
    }
    function byClass(id){
        return document.getElementsByClassName(id);
    }
    // 寻路算法
    unsafeWindow.ixxdep = function dep(parent, now ,target){
        var list = m[now];
        var stepNum = 0;
        var next = [];
        for(var i=0;i<list.length;i++){
            var l = list[i]
            if(!parent.includes(l)){
                if(target == l){
                    return [target]
                }
                var tmpParent = Array.from(parent);
                tmpParent.push(l)
                var ret = unsafeWindow.ixxdep(tmpParent, l, target);
                var subStepNum = ret.length;
                if((stepNum == 0 && subStepNum >0) || (subStepNum >0 && subStepNum < stepNum)){
                    stepNum = subStepNum;
                    ret.push(l);
                    next = ret
                }
            }
        }
        return next
    }
    var RET = [];
    // 使用速力开关
    var SL = false;
    // 寻人
    unsafeWindow.ixxgogogo = function gogogo(){
        // 获取下拉选择目标
        var target = byId("gogogo").value;
        if(target == ""){return}
        unsafeWindow.ixxgobase(target);
    }
    // 切换地图基本方法, cb为切换到地图后回调函数
    unsafeWindow.ixxgobase = function gobase(target, cb, taskIdx){
        // 隐藏寻路
        byId("ixxmap").style.display="none";
        if(target == ""){
            if(cb){
                setTimeout(cb, 500);
            }
            return;
        }
        // 获取当前所在地图
        var now = byClass("m-t")[0].innerText.split(":")[2].split("\n")[0];
        var ret = unsafeWindow.ixxdep([now],now,target);
        // 如果开启速力版本,则大于三步的占任务传送
        if(SL && taskIdx>=0 && ret.length > 3){
            byClass("user-task-info")[taskIdx].click();
            setTimeout(cb, 600);
            return;
        }
        RET = ret;
        // 倒序走
        setTimeout(function(){unsafeWindow.ixxgo(cb)}, 500);
    }
    // 定时走路,等待场景切换
    unsafeWindow.ixxgo = function go(cb){
        if(RET.length<=0){
            if(cb){
                setTimeout(cb, 100);
            }
            return
        }
        // 获取当前所在地图
        var now = byClass("m-t")[0].innerText.split(":")[2].split("\n")[0];
        var next = RET[RET.length-1];
        if(now == next){
            RET.pop();
            if(RET.length<=0){
                // 如果有回调函数,则执行
                if(cb){
                    setTimeout(cb, 100);
                }
                return
            }
            next = RET[RET.length-1];
        }
        console.log("go:"+next);
        var list = byClass("can-move-map")[0].getElementsByTagName("span");
        for(var j=1; j<list.length; j++){
            var name = list[j].innerText.trim();
            if( name == next){
                list[j].click();
            }
        }
        setTimeout(function(){unsafeWindow.ixxgo(cb)}, 1100);
    }
    // 停止走路
    unsafeWindow.ixxstop = function stop(){
        RET = []
    }
    // 找药灵
    unsafeWindow.ixxyao = function yao(){
        // 显示任务详情
        showTaskDetail();
        console.log("go yao");
        var tasks = byClass("user-task-info");
        var status = true;
        for(var i=0;i<tasks.length;i++){
            if(tasks[i].innerText.indexOf("采药")>=0){
                status = false;
            }
        }
        // 没有任务说明已达上限
        if(status){return}
        var list = byClass("task-brief");
        if(list && list.length>0){
            for(var j=0; j<list.length; j++){
                var name = list[j].innerText.trim();
                if(name.indexOf("击败 药灵")>0){
                    name = name.split("】")[0].split("【")[1];
                    console.log(name);
                    unsafeWindow.ixxgobase(name, unsafeWindow.ixxautoyao, j);
                    return;
                }
            }
        }
        setTimeout(unsafeWindow.ixxyao, 1000);
    }
    // 打药灵
    unsafeWindow.ixxautoyao = function autoyao(){
        var ixxid = "";
        var list = byClass("scene-name");
        var taskList = byClass("task-brief");
        for(var j=0; j<taskList.length; j++){
            var name = taskList[j].innerText.trim();
            if(name.indexOf("药灵")>0){
                ixxid = name.split("药灵")[1].split("\n")[0];
            }
        }
        console.log("去打药灵"+ixxid);
        for( var i= 0; i< list.length; i++){
            if(list[i].innerText.indexOf("药灵"+ixxid)>=0){
                list[i].parentElement.parentElement.parentElement.getElementsByTagName("div")[1].getElementsByTagName("img")[0].click();
                setTimeout(function(){unsafeWindow.ixxautodancheng(100)},800);
            }
        }
    }

    // 自动回丹城
    unsafeWindow.ixxautodancheng = function autodancheng(num){
        if(num<=0){return}
        num = num-1;
        console.log("自动判断药灵是否被击败,击败回丹城接任务");
        var log = byClass("bat-log")[0].getElementsByTagName("span")[0].innerText;
        if(log.indexOf("完成 [寻找药灵] 任务")>0){
            unsafeWindow.ixxgobase("丹城", unsafeWindow.ixxgetyao);
        } else {
            setTimeout(function(){unsafeWindow.ixxautodancheng(num)},800);
        }
    }
    // 回丹城
    unsafeWindow.ixxdancheng = function dancheng(){
        console.log("回丹城接任务");
        unsafeWindow.ixxgobase("丹城", unsafeWindow.ixxgetyao);
    }

    // 接药灵任务
    unsafeWindow.ixxgetyao = function getyao(){
        byClass("npc-p")[0].getElementsByTagName("span")[0].click();
        setTimeout(function(){byClass("npc-btn")[0].click();},500);
        setTimeout(unsafeWindow.ixxyao, 1000);
    }
    // 添加X10,X20, X50使用按钮
    unsafeWindow.ixxbatch = function batch(num){
        var list = byClass("ant-tooltip-inner");
        var txt = byId("ixxuselist").value;
        for( var i= 0; i< list.length; i++){
            if(list[i].getElementsByTagName("p").length>0){
                var t = list[i].getElementsByTagName("p")[0].innerText;
                if(txt == t){
                    var usebtn = list[i].getElementsByTagName("button")[0];
                    setTimeout(function(){unsafeWindow.ixxbatchbase(usebtn,num)},600);
                }
            }
        }
    }
    // 批量使用基础方法
    unsafeWindow.ixxbatchbase = function batchbase(usebtn, num){
        console.log("批量使用第"+num+"个");
        if(num<=0){return}
        usebtn.click();
        num = num-1;
        setTimeout(function(){unsafeWindow.ixxbatchbase(usebtn,num)},600);
    }
    // 刷新批量使用列表
    unsafeWindow.ixxuselist = function ueslist(){
        var list = byClass("ant-tooltip-inner");
        var options = "";
        for( var i= 0; i< list.length; i++){
            var btns = list[i].getElementsByTagName("button");
            if(btns.length > 0 && (btns[0].innerText == "使用" || btns[0].innerText == "鉴定")){
                var t = list[i].getElementsByTagName("p")[0].innerText;
                options += "<option value='"+t+"'>"+t+"</option>"
            }
        }
        byId("ixxuselist").innerHTML = options;
    }
    // 接降妖任务
    unsafeWindow.ixxGetXy = function getXy(){
        byClass("npc-p")[1].getElementsByTagName("span")[0].click();
        setTimeout(function(){byClass("npc-btn")[0].click();},500);
        setTimeout(unsafeWindow.ixxGoXy, 1000);
    }
    // 找妖兽
   unsafeWindow.ixxGoXy = function goXy(){
       // 显示任务详情
       showTaskDetail();
       console.log("去找妖兽");
       var tasks = byClass("user-task-info");
       var status = true;
       for(var i=0;i<tasks.length;i++){
           if(tasks[i].innerText.indexOf("降妖")>=0){
               status = false;
           }
       }
       // 没有降妖任务说明已达上限
       if(status){
           return;
       }
       var list = byClass("task-brief");
       if(list && list.length>0){
           for(var j=0; j<list.length; j++){
               var name = list[j].innerText.trim();
               if(name.indexOf("击败 妖兽")>0){
                   name = name.split("】")[0].split("【")[1];
                   console.log(name);
                   unsafeWindow.ixxgobase(name, unsafeWindow.ixxAutoXy, j);
                   return;
               }
           }
       }
       setTimeout(unsafeWindow.ixxGoXy, 1000);
    }
    // 自动打妖兽
    unsafeWindow.ixxAutoXy = function autoXy(){
        if(!unsafeWindow.ixxId){
            var taskList = byClass("task-brief");
            for(var j=0; j<taskList.length; j++){
                var name = taskList[j].innerText.trim();
                if(name.indexOf("妖兽")>0){
                    unsafeWindow.ixxId = name.split("妖兽")[1].split("\n")[0];
                }
            }
        }
        console.log("去打妖兽"+unsafeWindow.ixxId);
        // 获取怪物列表
        var list = byClass("scene-name");
        for( var i= 0; i< list.length; i++){
            if(list[i].innerText.indexOf("妖兽"+unsafeWindow.ixxId)>=0){
                list[i].parentElement.parentElement.parentElement.getElementsByTagName("div")[1].getElementsByTagName("img")[0].click();
                // 获取当着所在
                var root = byClass("m-t")[0].innerText.split(":")[2].split("\n")[0];
                var sides = []
                var listSide = byClass("can-move-map")[0].getElementsByTagName("span");
                for(var n=1; n<listSide.length; n++){
                    var sideName = listSide[n].innerText.trim();
                    sides.push(sideName);
                }
                setTimeout(function(){unsafeWindow.ixxAutoFj(root, sides)},1000);
                return true;
            }
        }
        return false;
    }
    // 附近找找妖兽
    unsafeWindow.ixxAutoFj = function autoFj(root, sides){
        // 刷新任务
        byClass("el-icon-refresh")[0].click();
        var tasks = byClass("user-task-info");
        var status = true;
        for(var i=0;i<tasks.length;i++){
            if(tasks[i].innerText.indexOf("降妖")>=0){
                status = false;
            }
        }
        if(status){
           unsafeWindow.ixxGoLinZhong();
           return;
        }
        console.log("附近找妖兽中。。。");
        var log = byClass("bat-log")[0].getElementsByTagName("span")[0].innerText;
        if(log == "结算结束 ..."){
            // 获取当着所在
            var now = byClass("m-t")[0].innerText.split(":")[2].split("\n")[0];
            if(root == now){
                var next = sides.pop();
                if(next){
                    unsafeWindow.ixxgobase(next, function(){unsafeWindow.ixxAutoFj(root,sides)});
                } else {
                    return
                }
            } else {
                var ret = unsafeWindow.ixxAutoXy();
                // 当前场景没找到妖兽
                if(!ret){
                    unsafeWindow.ixxgobase(root, function(){unsafeWindow.ixxAutoFj(root,sides)});
                }
            }
        } else {
            setTimeout(function(){unsafeWindow.ixxAutoFj(root, sides)},1000);
        }
    }
    // 去接降妖任务
    unsafeWindow.ixxGoLinZhong = function goLinZhong(){
       console.log("go linzhong");
       unsafeWindow.ixxgobase("林中栈道", unsafeWindow.ixxGetXy);
    }
    // 去接寻宝任务
    unsafeWindow.ixxGoYangCheng = function goYangCheng(){
       console.log("去阳城寻宝");
       unsafeWindow.ixxgobase("阳城", unsafeWindow.ixxGetXb);
    }
    // 接寻宝任务
    unsafeWindow.ixxGetXb = function getXb(){
        byClass("npc-p")[0].getElementsByTagName("span")[0].click();
        setTimeout(function(){byClass("npc-btn")[0].click();},500);
        setTimeout(unsafeWindow.ixxGoXb, 1000);
    }
    // 找寻宝小妖
   unsafeWindow.ixxGoXb = function goXb(){
       // 显示任务详情
       showTaskDetail();
       console.log("去找寻宝小妖");
       var tasks = byClass("user-task-info");
       var status = true;
       for(var i=0;i<tasks.length;i++){
           if(tasks[i].innerText.indexOf("寻宝")>=0){
               status = false;
           }
       }
       // 没有降妖任务说明已达上限
       if(status){
           return;
       }
       var list = byClass("task-brief");
       if(list && list.length>0){
           for(var j=0; j<list.length; j++){
               var name = list[j].innerText.trim();
               if(name.indexOf("击败 寻宝小妖")>0){
                   name = name.split("】")[0].split("【")[1];
                   console.log(name);
                   unsafeWindow.ixxgobase(name, unsafeWindow.ixxAutoXb, j);
                   return;
               }
           }
       }
       setTimeout(unsafeWindow.ixxGoXb, 1000);
    }
    // 自动打寻宝小妖
    unsafeWindow.ixxAutoXb = function autoXb(){
        if(!unsafeWindow.ixxId){
            var taskList = byClass("task-brief");
            for(var j=0; j<taskList.length; j++){
                var name = taskList[j].innerText.trim();
                if(name.indexOf("寻宝小妖")>0){
                    unsafeWindow.ixxId = name.split("寻宝小妖")[1].split("\n")[0];
                }
            }
        }
        console.log("打寻宝小妖"+unsafeWindow.ixxId);
        // 获取怪物列表
        var list = byClass("scene-name");
        for( var i= 0; i< list.length; i++){
            if(list[i].innerText.indexOf("寻宝小妖"+unsafeWindow.ixxId)>=0){
                list[i].parentElement.parentElement.parentElement.getElementsByTagName("div")[1].getElementsByTagName("img")[0].click();
                setTimeout(function(){unsafeWindow.ixxautoyangcheng(100)},800);
            }
        }
        return false;
    }
    // 自动回阳城接寻宝任务
    unsafeWindow.ixxautoyangcheng = function autoyangcheng(num){
        if(num<=0){return}
        num = num-1;
        console.log("自动判断寻宝小妖是否被击败,击败回阳城接任务");
        var log = byClass("bat-log")[0].getElementsByTagName("span")[0].innerText;
        if(log.indexOf("完成 [寻宝] 任务")>0){
            unsafeWindow.ixxgobase("阳城", unsafeWindow.ixxGetXb);
        } else {
            setTimeout(function(){unsafeWindow.ixxautoyangcheng(num)},800);
        }
    }
    // 炼丹
    unsafeWindow.ixxLianDan = function liandan(status, num){
        if(num<=0){
            return
        }
        var btns = byId("alchemy").getElementsByTagName("button");
        // action 是开始炼丹
        if(status == "action"){
            if(btns[0].disabled){
                if(btns[1].getAttribute("class").indexOf("loading") < 0){
                    setTimeout(function(){unsafeWindow.ixxLianDan(status, num)}, 5000);
                } else {
                    setTimeout(function(){unsafeWindow.ixxLianDan(status, num)}, 1000);
                }
            } else {
                status = "start";
                btns[0].click();
                setTimeout(function(){unsafeWindow.ixxLianDan(status, num)}, 5000);
            }
        // 开始5秒注灵可点说明材料不全
        } else if(status == "start" && btns[1].getAttribute("class").indexOf("loading") < 0 ){
            return;
        } else {
            status = "end"
            if(btns[1].getAttribute("class").indexOf("loading") < 0){
                btns[1].click();
                setTimeout(function(){btns[1].click();}, 1000);
                setTimeout(function(){btns[2].click();}, 1800);
                num = num-1;
                status = "action"
                setTimeout(function(){unsafeWindow.ixxLianDan(status, num)}, 3000);
            } else {
                setTimeout(function(){unsafeWindow.ixxLianDan(status, num)}, 5000);
            }
        }

    }
    // 连点
    var IXX_NEXT_ID;
    var IXX_NEXT_NOTION_ID;
    unsafeWindow.ixxAgainBat = function againBat(){
        var t = byId("ixxbat").value;
        IXX_NEXT_ID = setInterval(()=>{
            document.querySelector('.again-bat').click();
        },t)
        IXX_NEXT_NOTION_ID = setInterval(()=>{
            var notion = byClass("el-notification left")[0];
            if(notion && notion.innerText && notion.innerText.indexOf("正在战斗中..")>0){
                notion.remove();
            }
        }, 1000);
        byId("ixxbatstart").disabled=true;
        byId("ixxbatstop").disabled=false;
    }
    // 停止连点
    unsafeWindow.ixxStopAgainBat = function stopAgainBat(){
        clearInterval(IXX_NEXT_ID);
        clearInterval(IXX_NEXT_NOTION_ID);
        byId("ixxbatstart").disabled=false;
        byId("ixxbatstop").disabled=true;
    }
    // 宗门任务
    var IXX_SECT_ID;
    unsafeWindow.ixxSect = function sect(t){
        var tasks = byClass("user-task-info");
        for(var i=0;i<tasks.length;i++){
            if(tasks[i].innerText.indexOf("青龙")>=0){
                return
            }
        }
        byClass("sect-btn")[1].click();
        if(t){
            IXX_SECT_ID = setInterval(sect, 1000);
            byId("ixxSectStart").disabled=true;
            byId("ixxSectStop").disabled=false;
        }
    }
    // 宗门任务
    unsafeWindow.ixxSectStop = function sectStop(){
        clearInterval(IXX_SECT_ID);
        byId("ixxSectStart").disabled=false;
        byId("ixxSectStop").disabled=true;
    }
    // 后台运行
    function backgroundRun(){
        console.log("启用后台运行功能...");
        // 后台运行js设置,防止节能影响定时任务
        const chromeVersion = /Chrome\/([0-9.]+)/.exec(window?.navigator?.userAgent)?.[1]?.split('.')[0];
        if (chromeVersion && parseInt(chromeVersion, 10) >= 88) {
            const videoDom = document.createElement('video');
            const hiddenCanvas = document.createElement('canvas');

            videoDom.setAttribute('style', 'display:none');
            videoDom.setAttribute('muted', '');
            videoDom.muted = true;
            videoDom.setAttribute('autoplay', '');
            videoDom.autoplay = true;
            videoDom.setAttribute('playsinline', '');
            hiddenCanvas.setAttribute('style', 'display:none');
            hiddenCanvas.setAttribute('width', '1');
            hiddenCanvas.setAttribute('height', '1');
            hiddenCanvas.getContext('2d')?.fillRect(0, 0, 1, 1);
            videoDom.srcObject = hiddenCanvas?.captureStream();
        }
    }
    // 开启关闭速力
    unsafeWindow.ixxSL = function ixxSL(){
        SL = byId("ixxsl").checked;
    }
    var TASK_LIST=[];
    // 触发任务详情
    function showTaskDetail(){
        // 刷新任务
        byClass("el-icon-refresh")[0].click();
        TASK_LIST = byClass("user-task-info");
        for(var j=0; j<TASK_LIST.length; j++){
            TASK_LIST[j].dispatchEvent(new Event('mouseenter'));
        }
        setTimeout(function(){
            for(var j=0; j<TASK_LIST.length; j++){
                TASK_LIST[j].dispatchEvent(new Event('mouseleave'));
            }
        },100);
    }
    // 自动登录(不可用)
    function autoLogin(){
        var href = window.location.href;
        if( href == "https://game.nimingxx.com/home"){
            var notions = byClass("el-notification left");
            for(var i=0;i<notions.length;i++){
                var notion = notions[i]
                if(notion && notion.innerText && notion.innerText.indexOf("你已掉线.")>0){
                    window.location.href="https://game.nimingxx.com/login";
                    setTimeout(autoLogin,2000);
                }
            }

        } else {
            byClass("login-panl")[0].getElementsByTagName("button")[0].click();
        }
    }
    // 初始化方法
    function init(){
        // 页面初始化
        var href = window.location.href;
        if( href == "https://game.nimingxx.com/home"){
            backgroundRun();
            // 扩展功能
            var html = "<div id='ixxdiv' style='color:#000;text-align:left;position: absolute;margin-left: -100px;'>";
            // 添加寻路
            var mapTxt = '<button onclick="document.getElementById(\'ixxmap\').style.display=\'\';">寻路</button><div id="ixxmap" style="display:none;position: fixed; left: 200px; top: 10px;z-index:9999; width: 800px; background: #aaa;">'
            for(var m = 0;m<maps.length;m++){
                var ma = maps[m];
                mapTxt += '<div class="el-row" style="margin-top: 10px;">';
                for(var n= 0;n<ma.length;n++){
                    if(ma[n]){
                        var man = ma[n];
                        if(man=="关闭"){
                            man = "";
                        }
                        mapTxt += '<div style="border: double 1px;cursor: pointer;text-align:center;" style="border:double 1px;cursor: pointer;text-align:center;" class="el-col el-col-2" onclick="window.ixxgobase(\''+man+'\')">'+ma[n]+'</div>';
                    } else {
                        mapTxt += '<div class="el-col el-col-2">&nbsp;</div>';
                    }
                }
                mapTxt += '</div>';
            }
            mapTxt += '</div>';
            html+=mapTxt;
            // 添加寻人
            html+="寻人:<select id='gogogo' onchange='window.ixxgogogo()' style='width:64px'> <option value=''>请选择</option><option value='陨真禁地'>化真雷劫</option><option value='林中栈道'>林中道士</option> <option value='林中栈道'>凌中天</option> <option value='林中栈道'>小道童</option> <option value='聚灵城'>修士接引人</option> <option value='追风谷'>景君宁</option> <option value='黑森林'>白稚君</option> <option value='黑森林'>胡天修士</option> <option value='阳城'>盗极生</option> <option value='阳城'>福顺法师</option> <option value='阴冥界'>鬼影地仙</option> <option value='碧炎山脉'>吕真人</option> <option value='无极峰'>青风道长</option> <option value='无极宗'>无极导师</option> <option value='无极宗'>陆地虎</option> <option value='镇仙塔'>守塔人</option> <option value='丹城'>旭日药师</option> <option value='黑市'>乐古奸商</option> <option value='炽焰火山'>南宫逸</option> <option value='冰神禁地'>天华</option> <option value='冰神宫'>落凡</option> </select>"
            // 停止走路
            html+='<button onclick="window.ixxstop()">停止</button>'
            // 常用地图
            html+='常:<button onclick="window.ixxgobase(\'无极峰\')">无极</button><button onclick="window.ixxgobase(\'沼影岭\')">沼泽</button><button onclick="window.ixxgobase(\'云天山峰\')">云天</button><button onclick="window.ixxgobase(\'镇仙塔\')">塔</button><button onclick="window.ixxgobase(\'林中栈道\')">林中</button>'
            // 接药灵任务
            html+="药灵:<button onclick='window.ixxdancheng()'>接</button>&nbsp;";
            // 打药灵
            html+="<button onclick='window.ixxyao()'>打</button>";
            // 接寻宝任务
            html+="寻宝:<button onclick='window.ixxGoYangCheng()'>接</button>&nbsp;";
            // 打寻宝小妖
            html+="<button onclick='window.ixxGoXb()'>打</button>";
            // 接降妖任务
            html+="降妖:<button onclick='window.ixxGoLinZhong()'>接</button>&nbsp;";
            // 打妖兽
            html+="<button onclick='window.ixxGoXy()'>打</button><br/>";
            // 批量使用
            html+="批量:<select id='ixxuselist' style='width:50px'></select><button onclick='window.ixxuselist()'>刷新</button><button onclick='window.ixxbatch(30)'>X30</button><button onclick='window.ixxbatch(50)'>X50</button><button onclick='window.ixxbatch(100)'>X100</button>";
            // 自动炼丹
            html+="炼丹:<button onclick='window.ixxLianDan(\"action\",10)'>X10</button><button onclick='window.ixxLianDan(\"action\",20)'>X20</button><button onclick='window.ixxLianDan(\"action\",30)'>X30</button>";
            // 连点
            html+="连点:<input id='ixxbat' value='2100' style='width:60px'/><button onclick='window.ixxAgainBat()' id='ixxbatstart'>开始</button><button id='ixxbatstop' onclick='window.ixxStopAgainBat()' disabled>停止</button>";
            html+="速力:<input id='ixxsl' onclick='window.ixxSL()' type='checkbox'>";
            // 接宗门
            html+="宗门:<button onclick='window.ixxSect(1)' id='ixxSectStart'>接</button><button onclick='window.ixxSectStop()' id='ixxSectStop' disabled>停</button>";
            html+="</div>"
            var h = byClass("game-top-menu")[0].innerHTML;
            byClass("game-top-menu")[0].innerHTML = h+html;
        } else {
            //setTimeout(autoLogin,2000);
            setTimeout(init,1000);
        }
    }
    init();
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址