此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.cloud/scripts/447160/1065463/Enhance%20Tool%20I%20test.js
您需要先安装一款用户样式管理器扩展(如 Stylus)后才能安装此样式。
您需要先安装一款用户样式管理器扩展(如 Stylus)后才能安装此样式。
您需要先安装一款用户样式管理器扩展(如 Stylus)后才能安装此样式。
您需要先安装一款用户样式管理器扩展后才能安装此样式。
您需要先安装一款用户样式管理器扩展后才能安装此样式。
您需要先安装一款用户样式管理器扩展后才能安装此样式。
(我已经安装了用户样式管理器,让我安装!)
// ==UserScript==
// @name Enhance Tool I test
// @namespace http://tampermonkey.net/
// @version 0.3
// @description RT
// @author lyscop
// @match *
// @include *
// @grant none
// ==/UserScript==
// dps显示x
var DPSx=0;
unsafeWindow.dpsx = function dpsx(){
var aps = document.getElementsByClassName("ant-tabs-tabpane ant-tabs-tabpane-active")[0].getElementsByTagName("p");
if(aps.length<20){
return;
}
//计算是物理还是法术
for(var p=0; p<aps.length; p++) {
if(aps[p].innerHTML.split(':')[0] == '物理攻击') {
var wgs = aps[p].innerText.split(":")[1].split("-");
}
if(aps[p].innerHTML.split(':')[0] == '物理暴击几率') {
var wgjl = aps[p].innerText.split(":")[1].split("%")[0];
}
if(aps[p].innerHTML.split(':')[0] == '物理暴击倍率') {
var wgbl = aps[p].innerText.split(":")[1].split("%")[0];
}
if(aps[p].innerHTML.split(':')[0] == '法术攻击') {
var fgs = aps[p].innerText.split(":")[1].split("-");
}
if(aps[p].innerHTML.split(':')[0] == '法术暴击几率') {
var fgjl = aps[p].innerText.split(":")[1].split("%")[0];
}
if(aps[p].innerHTML.split(':')[0] == '法术暴击倍率') {
var fgbl = aps[p].innerText.split(":")[1].split("%")[0];
}
}
var d = 0;
if(wgs.length==1){
return
}
if(parseInt(wgs[1])>parseInt(fgs[1])){
d = (parseInt(wgs[0])+parseInt(wgs[1]))/2*parseInt(wgjl)*parseInt(wgbl)/10000;
} else {
d = (parseInt(fgs[0])+parseInt(fgs[1]))/2*parseInt(fgjl)*parseInt(fgbl)/10000;
}
d = d.toFixed(2);
var txt = ""+d;
if(DPSx == d){
return;
}
if(DPSx!=0){
var dx = d-DPSx;
dx = dx.toFixed(2);
if(d>DPSx){
txt += "<span style='color: red;'> +"+dx+"</span>"
} else {
txt += "<span style='color: green;'> "+dx+"</span>"
}
}
DPSx = d;
document.getElementById("dps").innerHTML=txt;
}
// 升级所需时间x
function upLevelx(){
var href = window.location.href;
if( href.indexOf("login")>0){
return;
}
dpsx();
//console.log("upup...");
var ps = document.getElementsByClassName("ant-tabs-tabpane ant-tabs-tabpane-active")[0].getElementsByTagName("p");
if(ps.length<4){
return;
}
var elem;
for(var p=0; p<ps.length; p++) {
if(ps[p].innerHTML.split(':')[0] == ' 经验') {
elem = ps[p];
}
}
var title = elem.getAttribute("title")
if(title){
var all = title.split("/")[1];
var now = title.split("/")[0];
var xl = elem.nextSibling.innerText.split(":")[1];
xl = xl.split("/")[0];
var txt = "";
if(xl>0) {
var mins = (all-now)/xl;
if(mins>60){
mins = mins/60;
txt += mins.toFixed(2)+"小时";
} else {
txt += mins.toFixed(2)+"分钟";
}
}
document.getElementById("levelUp").innerHTML=txt;
}
}
setInterval(upLevelx, 5000);//每分钟检查一次
// 自动皮卡丘 基尔加丹 巫妖王
function autoPKQ() {
var HPP;
var wsBool = false;
var d = new Date();
var gjmap = document.getElementById("ixxgjmap").value;
var btns = document.getElementsByClassName("ant-btn ant-btn-primary");
var btn = btns[btns.length-1];
var wsEle = document.getElementsByClassName("ant-card-body")[5].getElementsByTagName("input")[7];
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].innerText.split(":")[1].split("/")[1];
}
}
if(('0' +d.getHours().toString()).slice(-2) == '13' && ('0' +d.getMinutes().toString()).slice(-2) == '00') {
if(HPP < 1800) return;
console.log('打皮卡丘啦');
for(var q=0; q<3; q++) {
showMessage('打皮卡丘啦');
}
if(btn.innerText == "停止挂机"){
btn.click();
}
unsafeWindow.chuansong("盟重土城回城石");
if(wsEle.checked) {
wsEle.click();
wsBool = true;
}
ppx(95,115);
window.setTimeout(function(){
console.log('ok')
var btns = document.getElementsByClassName("ant-btn ant-btn-primary");
var btn = btns[btns.length-1];
// 开始挂机
btn.click();
}, 2000);
}
if(('0' +d.getHours().toString()).slice(-2) == '13' && ('0' +d.getMinutes().toString()).slice(-2) == '15') {
//console.log('打鸡蛋啦');
for(var r=0; r<3; r++) {
showMessage('打鸡蛋啦');
}
if(btn.innerText == "停止挂机"){
btn.click();
}
unsafeWindow.chuansong("初始大陆回城石");
ppx(28,28);
window.setTimeout(function(){
//console.log('ok')
var btns = document.getElementsByClassName("ant-btn ant-btn-primary");
var btn = btns[btns.length-1];
// 开始挂机
btn.click();
}, 2000);
if(wsEle.checked) {
wsEle.click();
wsBool = true;
}
}
if(('0' +d.getHours().toString()).slice(-2) == '13' && ('0' + d.getMinutes().toString()).slice(-2) == '35') {
//console.log('打巫妖王啦');
for(var s=0; s<3; s++) {
showMessage('打巫妖王啦');
}
if(btn.innerText == "停止挂机"){
btn.click();
}
unsafeWindow.autoGo('终结之地', function(){
var btns = document.getElementsByClassName("ant-btn ant-btn-primary");
var btn = btns[btns.length-1];
// 开始挂机
btn.click();
});
if(wsEle.checked) {
wsEle.click();
wsBool = true;
}
}
if(('0' +d.getHours().toString()).slice(-2) == '14' && ('0' +d.getMinutes().toString()).slice(-2) == '00') {
gj();
if(wsBool) {
wsEle.click();
}
console.log('挂机');
}
}
//setInterval(autoPKQ, 60000); //每分钟启动一次
// 日志显示每小时金币、灵石数量
var hour1;
var gold1;
var stone1;
var hour2;
var gold2
var stone2;
var goldData;
var stoneData;
var strData="<div>";
function getData(){
var d = new Date();
var nowTime = ('0' +d.getHours().toString()).slice(-2) + ':' + ('0' +d.getMinutes().toString()).slice(-2);
var elem = document.getElementsByClassName('ant-tabs-tabpane')[0].getElementsByTagName("p");
if(('0' +d.getMinutes().toString()).slice(-2) == '00') {
//if(('0' +d.getSeconds().toString()).slice(-2) == '00') {
if(!GM_getValue('gold1')) {
hour1 = ('0' +d.getHours().toString()).slice(-2);
//gold1 = elem[1].innerHTML.split(':')[1];
//stone1 = elem[2].innerHTML.split(':')[1];
for(var i=0; i<elem.length; i++) {
if(elem[i].innerHTML.split(':')[0] == '金币') {
gold1 = elem[i].innerHTML.split(':')[1];
}
if(elem[i].innerHTML.split(':')[0] == '灵石') {
stone1 = elem[i].innerHTML.split(':')[1];
}
}
GM_setValue('hour1', hour1);
GM_setValue('gold1', gold1);
GM_setValue('stone1', stone1);
//console.log(nowTime + ' 开始')
strData += '数据记录'
} else {
hour2 = ('0' +d.getHours().toString()).slice(-2);
//gold2 = elem[1].innerHTML.split(':')[1];
//stone2 = elem[2].innerHTML.split(':')[1];
for(var j=0; j<elem.length; j++) {
if(elem[j].innerHTML.split(':')[0] == '金币') {
gold2 = elem[j].innerHTML.split(':')[1];
}
if(elem[j].innerHTML.split(':')[0] == '灵石') {
stone2 = elem[j].innerHTML.split(':')[1];
}
}
if(hour2 - GM_getValue('hour1') == 1 || hour2 - GM_getValue('hour1') == -23) {
goldData = gold2 - GM_getValue('gold1');
stoneData = stone2 - GM_getValue('stone1');
if(goldData < 0) {
goldData = 0;
GM_setValue('gold1', gold2);
}
if(stoneData < 0) {
stoneData = 0;
GM_setValue('stone1', stone2);
}
GM_setValue('hour1', hour2);
GM_setValue('gold1', gold2);
GM_setValue('stone1', stone2);
strData += nowTime +'<br>每小时金币 '+goldData+'<br>每小时灵石 '+ stoneData + ' / '+ stone2 + ' - '+ GM_getValue('stone1') + '<br>'
} else {
GM_setValue('hour1', hour2);
GM_setValue('gold1', gold2);
GM_setValue('stone1', stone2);
//console.log(nowTime + ' 开始')
strData += '数据记录'
}
}
strData +="</div>";
$("#ixxlog").append(strData);
var ele = document.getElementById('ixxlog');
//ele.scrollTop=500
ele.scrollTop = ele.scrollHeight;
}
}
//setInterval(getEData, 60000); //每分钟启动一次
// 计算效率
var goldEff;
var stoneEff;
var hourEff;
var minEff;
var leave1;
var leave2;
var firstTime;
var firstGold;
var firstStone;
var goldElt;
var stoneElt;
var resetAll = document.createElement('a');
var goldTag = document.createElement('p');
var stoneTag = document.createElement('p');
var timeTag = document.createElement('p');
function getEffDataInit() {
var elt = document.getElementsByClassName('ant-tabs-tabpane')[0].getElementsByTagName("p");
firstTime = Date.parse(new Date());
for(var i=0; i<elt.length; i++) {
if(elt[i].innerHTML.split(':')[0] == '金币') {
goldElt = elt[i];
//console.log(goldElt);
firstGold = elt[i].innerHTML.split(':')[1];
}
if(elt[i].innerHTML.split(':')[0] == '灵石') {
stoneElt = elt[i];
//console.log(goldElt);
firstStone = elt[i].innerHTML.split(':')[1];
}
}
resetAll.href = '#';
//resetAll.onclick = 'resetAllData()'
resetAll.onclick = function(){
resetAllData()
};
resetAll.innerText = ' 重置All';
goldTag.innerText = ' 效率:0/小时';
stoneTag.innerText = ' 效率:0/小时';
timeTag.innerText = ' 时长:0小时 0分钟';
elt[0].append(resetAll);
goldElt.nextSibling.parentNode.insertBefore(goldTag, goldElt.nextSibling);
stoneElt.nextSibling.parentNode.insertBefore(stoneTag, stoneElt.nextSibling);
elt[0].nextSibling.parentNode.insertBefore(timeTag, elt[0].nextSibling);
GM_setValue('firstTime', firstTime);
GM_setValue('firstGold', firstGold);
GM_setValue('firstStone', firstStone);
//console.log(firstGold + firstStone)
}
window.setTimeout(getEffDataInit, 2000);
function resetAllData() {
var newGoldEffTag;
var newStoneTag;
var elt = document.getElementsByClassName('ant-tabs-tabpane')[0].getElementsByTagName("p");
for(var h =0; h<elt.length; h++) {
if(elt[h].innerHTML.split(':')[0] == '金币') {
newGoldEffTag = elt[h].nextSibling;
}
if(elt[h].innerHTML.split(':')[0] == '灵石') {
newStoneTag = elt[h].nextSibling;
}
}
newGoldEffTag.innerHTML = ' 效率:0/小时';
newStoneTag.innerHTML = ' 效率:0/小时';
console.log('ok')
for(var i=0; i<elt.length; i++) {
if(elt[i].innerHTML.split(':')[0] == ' 经验') {
elt[i].nextSibling.childNodes[1].click();
}
}
clearInterval(getEffData);
setInterval(getEffData, 60000);
}
function getEffData(){
var href = window.location.href;
if( href.indexOf("login")>0){
return;
}
getData();
autoPKQ();
var elt = document.getElementsByClassName('ant-tabs-tabpane')[0].getElementsByTagName("p");
var nowTime = Date.parse(new Date());
var nowGold;
var nowStone;
var newGoldEffTag;
var newStoneTag;
var newTimeTag;
for(var j=0; j<elt.length; j++) {
if(elt[j].innerHTML.split(':')[0] == '金币') {
newGoldEffTag = elt[j].nextSibling;
nowGold = elt[j].innerHTML.split(':')[1];
}
if(elt[j].innerHTML.split(':')[0] == '灵石') {
newStoneTag = elt[j].nextSibling;
nowStone = elt[j].innerHTML.split(':')[1];
}
}
goldEff = parseInt((nowGold - GM_getValue('firstGold')) / ((nowTime - GM_getValue('firstTime')) / (3600 * 1000)));
//console.log(goldEff);
stoneEff = parseInt((nowStone - GM_getValue('firstStone')) / ((nowTime - GM_getValue('firstTime')) / (3600 * 1000)));
//console.log(stoneEff);
if(goldEff < 0) {
goldEff = 0;
GM_setValue('firstGold', nowGold);
}
if(stoneEff < 0) {
stoneEff = 0;
GM_setValue('firstStone', nowStone);
}
leave1 = (nowTime - GM_getValue('firstTime')) % (24 * 3600 * 1000);
hourEff = Math.floor(leave1 / (3600 * 1000));
leave2 = leave1 % (3600 * 1000);
minEff = Math.floor(leave2 / (60 * 1000)) + 1;
//console.log(minEff)
newGoldEffTag.innerHTML = ' 效率:' + goldEff + '/小时';
newStoneTag.innerHTML = ' 效率:' + stoneEff + '/小时';
elt[0].nextSibling.innerHTML = ' 时长:' + hourEff + '小时 ' + minEff + '分钟';
}
setInterval(getEffData, 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)
}