Enhance Tool IV

RT

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/447415/1069617/Enhance%20Tool%20IV.js

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Enhance Tool IV
// @namespace    http://tampermonkey.net/
// @version      0.13
// @description  RT
// @author       lyscop
// @match        *
// @include      *
// @grant        none
// ==/UserScript==
 
 
    
    function sleep(numberMillis) {
        var now = new Date();
        var exitTime = now.getTime() + numberMillis;
    
        while (true) {
            now = new Date();
            if (now.getTime() > exitTime)
                return;
        }
    }
    
     const goodsId = {
      '初始': '62258de568314c57c17abef8',
      '封魔': '62281f1068314c57c17ac41b',
      '盟重': '623d3bf6a439b27b1c4dd973',
    }
    
    function getParams(data) {  // GET参数格式化
      const keys = Object.keys(data).sort()
      let params = keys.reduce((rst, v) => rst += `${v}=${data[v]}&`, '').slice(0, -1)
      return params
    }
    
    async function postData(url = '', data = {}, method = 'POST') {  // 接口请求封装
      let request = {
        method: method,
        headers: {
          'Content-Type': 'application/json',
          'token': localStorage.getItem('token')
        },
        body: JSON.stringify(data)
      }
      method === 'GET' && delete (request.body)
      let params = method === 'GET' ? '?' + getParams(data) : ''
      const response = await fetch(`http://119.91.99.233:8088/api/${url}${params}`, request);
      return response.json();
    }
    
    
    async function getGoodsNum(name) {
      const result = await postData('getGoods', {}, 'GET')
        .then(res => {
          console.log(res)
          let num = 0
          if (res.status === 200) {
            res.data.goodsList.forEach(item => {  // 遍历物品
              if (item.name === name) num = item.count
            })
          }
          return num
        });
      return result
    }
    


    // 自动皮卡丘 基尔加丹 巫妖王
    var wsBool = false;
    var gjBool = false;
    var pkqBool = false;
    var jdBool = false;
    var wywBool = false;
    var numpkq = 0;
    var numjd = 0;
    var numwyw = 0;
    function autoPKQ() {
        var HPP;
        var d = new Date();
        var nowTime;
        var gjmap = document.getElementById("ixxgjmap").value;
        //var btns = document.getElementsByClassName("ant-btn ant-btn-primary");
        var btns = document.getElementsByClassName("ant-card-body")[5].getElementsByTagName("button");
        var btn = btns[btns.length-1];
        var wsEle = document.getElementsByClassName("ant-card-body")[5].getElementsByTagName("input")[7];
        var gjEle = document.getElementById('ixxgj');
        var newMap = document.getElementsByClassName("carddd")[2].getElementsByClassName("ant-card-head-title")[0].innerText.split(":")[0]
        var aps = document.getElementsByClassName("ant-tabs-tabpane ant-tabs-tabpane-active")[0].getElementsByTagName("p");
        for(var p=0; p<aps.length; p++) {
            if(aps[p].innerHTML.split(':')[0] == 'HP') {
                HPP = aps[p].innerHTML.split(":")[1].split("/")[1];
            }
        }
        if(('0' +d.getHours().toString()).slice(-2) == '13' && ('0' +d.getMinutes().toString()).slice(-2) == '00') {
            //console.log('HP:' + HPP);
            nowTime = ('0' +d.getHours().toString()).slice(-2) + ':' + ('0' +d.getMinutes().toString()).slice(-2);
            if(HPP < 1800) {
                showMessage(nowTime + ' 血太少不打皮卡丘');
                pkqBool = true;
                return;
            }

            console.log(nowTime + ' 打皮卡丘啦');
            for(var q=0; q<3; q++) {
                //showMessage(nowTime + ' 打皮卡丘啦');
            }

            if(btn.innerText == "停止挂机"){
                btn.click();
            }
            sleep(1000);
            unsafeWindow.chuansong("盟重土城回城石");
                    /*postData('goods', { id: goodsId['盟重'] })
                      .then(data => {
                        console.log(data);
                    });*/
                   
                //ppx(97,115);
            sleep(1000);
            var ips = document.getElementsByClassName("ant-card-body")[2].getElementsByTagName("input");
            ips[0].value = 97;
            ips[0].dispatchEvent(new Event('input'));
            ips[1].value = 115;
            ips[1].dispatchEvent(new Event('input'));
            
            sleep(1000);
            var gobtns = document.getElementsByClassName("ant-card-body")[2].getElementsByTagName("button");
            gobtns[gobtns.length-1].click();
            sleep(1000);
            // 显示怪物列表
            document.getElementsByClassName("ant-card-body")[3].getElementsByClassName("ant-tabs-nav ant-tabs-nav-animated")[0].childNodes[1].childNodes[2].click();

            pkqBool = true;
            console.log(nowTime + ' pkqBool '+ pkqBool);
            sleep(1000);
            var ele1 = document.getElementsByClassName("ant-card-body")[3].getElementsByTagName("a");
            for(var v=0; v<ele1.length; v++) {
                if(ele1[v].innerText.split(' ')[1] == '皮卡丘') {
                    ele1[v].parentNode.parentNode.parentNode.nextSibling.nextSibling.childNodes[1].childNodes[0].click();
                }
            }
            sleep(1000);
            btn.click();

            if(wsEle.checked) {
                wsEle.click();
                wsBool = true;
            }
            if(gjEle.checked) {
                gjEle.click();
                gjBool = true;
            }
            //pkqBool = true;
            //console.log(nowTime + ' pkqBool '+ pkqBool);
        }

        if(pkqBool && ('0' +d.getMinutes().toString()).slice(-2) > 10) {
            pkqBool = false;
            if(document.getElementById("map").innerText.indexOf("皮卡丘") == -1) {
                nowTime = ('0' +d.getHours().toString()).slice(-2) + ':' + ('0' +d.getMinutes().toString()).slice(-2);
                console.log(nowTime + '打鸡蛋啦');
                console.log(nowTime + ' pkqBool '+ pkqBool);
                for(var r=0; r<3; r++) {
                    //showMessage(nowTime + ' 打鸡蛋啦');
                }

                btn.click();
                unsafeWindow.chuansong("初始大陆回城石");
                /*postData('goods', { id: goodsId['初始'] })
                  .then(data => {
                    console.log(data);
                });*/
                //ppx(28,28);
                sleep(1000);
                var ips = document.getElementsByClassName("ant-card-body")[2].getElementsByTagName("input");
                ips[0].value = 28;
                ips[0].dispatchEvent(new Event('input'));
                ips[1].value = 32;
                ips[1].dispatchEvent(new Event('input'));
                sleep(1000);
                var btns = document.getElementsByClassName("ant-card-body")[2].getElementsByTagName("button");
                btns[btns.length-1].click();
                // 显示怪物列表
                document.getElementsByClassName("ant-card-body")[3].getElementsByClassName("ant-tabs-nav ant-tabs-nav-animated")[0].childNodes[1].childNodes[2].click();
                sleep(1000);
                var ele2 = document.getElementsByClassName("ant-card-body")[3].getElementsByTagName("a");
                for(var n=0; n<ele2.length; n++) {
                    if(ele2[n].innerText.split(' ')[1] == '基尔加丹') {
                        ele2[n].parentNode.parentNode.parentNode.nextSibling.nextSibling.childNodes[1].childNodes[0].click();
                    }
                }
                sleep(1000);
                btn.click();
                jdBool = true;
                console.log(nowTime + ' jdBool '+ jdBool);
            }
        }
        if(jdBool && ('0' +d.getMinutes().toString()).slice(-2) > 25) {
            jdBool = false;
            if(document.getElementById("map").innerText.indexOf("基尔加丹") == -1) {
                
                nowTime = ('0' +d.getHours().toString()).slice(-2) + ':' + ('0' +d.getMinutes().toString()).slice(-2);
                console.log(nowTime + '打巫妖王啦');
                console.log(nowTime + ' jdBool '+jdBool);
                for(var s=0; s<3; s++) {
                    //showMessage(nowTime + ' 打巫妖王啦');
                }
                btn.click();
                sleep(1000);
                unsafeWindow.autoGo('终结之地', function(){
                    //var btns = document.getElementsByClassName("ant-btn ant-btn-primary");
                    var btns = document.getElementsByClassName("ant-card-body")[5].getElementsByTagName("button");
                    var btn = btns[btns.length-1];
                    btn.click();
                });
                sleep(1000);
                if(document.getElementById("map").innerText.indexOf("巫妖王") > 0) {
                    wywBool = true;
                    console.log(nowTime + ' wywBool '+wywBool);
                    clearInterval(timer3);
                }
            }
        }
        if(wywBool &&
           ((('0' +d.getHours().toString()).slice(-2) == '13' && ('0' +d.getMinutes().toString()).slice(-2) > 40) ||
            (('0' +d.getHours().toString()).slice(-2) == '14' && ('0' +d.getMinutes().toString()).slice(-2) > 0))) {
            wywBool = false;
            
            if(document.getElementById("map").innerText.indexOf("巫妖王") == -1) {
                
                nowTime = ('0' +d.getHours().toString()).slice(-2) + ':' + ('0' +d.getMinutes().toString()).slice(-2);

                console.log(nowTime + ' wywBool ' + wywBool);
                //showMessage(nowTime + ' 挂机啦');
                console.log(nowTime + ' 挂机啦');
                btn.click();
                sleep(1000);
                // 去挂机地图
                unsafeWindow.autoGo(gjmap, function(){
                    //var btns = document.getElementsByClassName("ant-btn ant-btn-primary");
                    var btns = document.getElementsByClassName("ant-card-body")[5].getElementsByTagName("button");
                    var btn = btns[btns.length-1];
                    // 开始挂机
                    btn.click();
                });

                if(wsBool) {
                    wsEle.click();
                }
                if(gjBool) {
                    gjEle.click();
                }
            }
        }

    }
    setInterval(autoPKQ, 60000); //每分钟启动一次
 
 
    
    var wrapEle = document.createElement('div');
    wrapEle.id = "wrap";
    wrapEle.setAttribute('style', '' +
                         'position:fixed;' +
                         'right:0px;' +
                         'top:0px;' +
                         'width:300px;' +//最大宽度
                         //'padding:40px;' +
                         'background-color:rgba(255,255,255,0)!important;' +
                         'z-index:2147483647!important;' +//显示最顶层
                         '');
 
    //document.body.appendChild(wrapEle);//元素加入body 报错无法加入
    document.documentElement.appendChild(wrapEle);//元素加入body
 
    function showMessage(text) {
        const wrapDiv = document.getElementById("wrap");
        var div = document.createElement('div');
        div.setAttribute('style', '' +
                         'display:none!important;' +//去掉直接显示
                         'left:0px;' +
                         'top:0px;' +
                         'margin-left:auto;' +//table块靠右显示
                         //'position:absolute!important;' +
                         'font-size:22px!important;' +
                         'overflow:auto!important;' +
                         'background-color:rgba(255,255,255,0.7)!important;' +
                         'font-family:sans-serif,Arial!important;' +
                         'font-weight:normal!important;' +
                         'text-align:left!important;' +//左对齐
                         'color:#000!important;' +
                         'padding:0.1em 0.2em!important;' +
                         'border-radius:3px!important;' +
                         'border:1px solid #ccc!important;' +
                         //'max-width:350px!important;' +
                         'max-height:1216px!important;' +
                         'z-index:2147483647!important;' +
                         '');
 
        div.innerHTML = text;
        div.style.display = 'table';// 换行显示结果
        let fc = wrapDiv.firstElementChild
        if (fc) {
            wrapDiv.insertBefore(div,fc)
        } else {
            wrapDiv.appendChild(div);
        }
        setTimeout(() => {
            div.parentNode.removeChild(div);
        },6000)
    }