您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world!
// ==UserScript== // @name Faction Attack Counter // @namespace http://tampermonkey.net/ // @version 1.7 // @description try to take over the world! // @author H1k3 // @grant GM_setClipboard // @include https://www.torn.com/factions.php?step=your* // @run-at document-end // ==/UserScript== (function() { 'use strict'; // Your code here... })(); var api_key = '';//-----------------CHANGE HERE var members = new Array();var indexsave;var members2 = new Array(); var timer=1000000000; const now = new Date() const secondsSinceEpoch = Math.round(now.getTime() / 1000) var d_to = parseInt(secondsSinceEpoch),d_from=d_to-86400; var trigger = 0;var number = 0;var count=0;var call = "",call2="";var number2 = 0;var me2=true; addStuff(); function appendButton(){ var buttonEl = document.createElement("a"); buttonEl.id = "cad"; var buttonTextEl = document.createElement("button"); buttonTextEl.className = "copy_a_d"; buttonTextEl.innerHTML = "Copy Attack Data"; buttonEl.appendChild(buttonTextEl); document.getElementById("top-page-links-list").appendChild(buttonEl); } appendButton(); document.getElementById("cad").addEventListener("click", function(){GM_setClipboard(members2.replace(/},/g,'\n').replace(/{/g,'').replace('[','').replace(']',''));}); $.post("https://api.torn.com/faction/?selections=&key="+api_key, function(data, status){ $.each(data.members, function(index, value) { members.push({name: value.name, id: index,last_on: value.last_action.relative,loss: 0, success: 0, respect: 0, escape: 0,lastpull: 0}); }); //console.log(members);//Object.keys(data.attacks).length);// alert("Data: " + data + "\nStatus: " + status); });call="https://api.torn.com/faction/?selections=attacksfull&key="+api_key+"&from="+1000000000; call_attacks(); function call_attacks(){ setTimeout(function(){ $.post("https://api.torn.com/faction/?selections=attacksfull&key="+api_key+"&from="+timer.toString(), function(data, status){trigger=0; if(Object.keys(data.attacks).length === 0 && data.attacks.constructor === Object){console.log("utoh");}//console.log(data); else{$.each(data.attacks, function(index, value) { if(trigger==0){number2=index;d_to=parseInt(value.timestamp_started);trigger=1;} if(parseInt(value.timestamp_ended)>parseInt(timer)){timer=value.timestamp_ended;} members.forEach(function(item,index2){ if(members[index2].id==value.attacker_id&&members[index2].lastpull<index) {members[index2].lastpull=index; if(value.result=="Lost"){members[index2].loss++;} else if(value.result=="Attacked"){members[index2].success++;members[index2].respect =Math.round(members[index2].respect+value.respect_gain);} else if(value.result=="Mugged"){members[index2].success++;members[index2].respect =Math.round(members[index2].respect+value.respect_gain);} else if(value.result=="Hospitalized"){members[index2].success++;members[index2].respect =Math.round(members[index2].respect+value.respect_gain);} else if(value.result=="Special"){members[index2].success++;members[index2].respect =Math.round(members[index2].respect+value.respect_gain);} else if(value.result=="Stalemate"){members[index2].loss++;} else if(value.result=="Timeout"){members[index2].loss++;} else if(value.result=="Interrupted"){members[index2].loss++;} else if(value.result=="Assist"){members[index2].success++;} else if(value.result=="Escape"){members[index2].escape++;} else{console.log(value);} } //if(members[index].id==value.attacker_id&&value.respect_gain>0){members[index].respect =members[index].respect+value.respect_gain;members[index].success++;} //else if(members[index].id==value.attacker_id&&value.result=="Lost"){members[index].loss++;} //else if(members[index].id==value.attacker_id&&value.respect_gain==0){members[index].loss++;} else if(members[index2].id==value.defender_id&&members[index2].lastpull<index) {members[index2].lastpull=index; if(value.result=="Lost"){members[index2].success++;} else if(value.result=="Attacked"){members[index2].loss++;} else if(value.result=="Mugged"){members[index2].loss++;} else if(value.result=="Hospitalized"){members[index2].loss++;} else if(value.result=="Escape"){members[index2].escape++;} else if(value.result=="Assist"){members[index2].loss++;} else if(value.result=="Stalemate"){members[index2].loss++;} else if(value.result=="Timeout"){members[index2].loss++;} else if(value.result=="Interrupted"){members[index2].loss++;} //else{console.log(value);} //console.log(value);.members[index2].respect.toFixed(2); } }); });call="https://api.torn.com/faction/?selections=attacksfull&key="+api_key+"&start=1000"; //var mess2; var mess= "";// = JSON.stringify(members.sort()); members2 = JSON.parse(JSON.stringify(members));//members.slice(0); var table = document.getElementById("hhStats");//console.log(table); // $("#hhStats").find("tr").click(function(){ // $(this).addClass('selected').siblings().removeClass('selected'); // var value=$(this).find('td:nth-child(2)').html(); //alert(value); //}); // var table = document.getElementById("mytab1"); //for (var i2 = 0, rows; rows = table.rows[i2]; i2++) { // for (var j = 0, col; col = rows.cells[j]; j++) { //iterate through cells //cells would be accessed using the "cell" variable assigned in the for loop //console.log(col); for (var i = 0; i < members2.length; i++) { if ($('#hhStats td:contains(' + members2[i].name + ')').length) { $('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[0].innerHTML=members2[i].name; $('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[1].innerHTML=members2[i].respect; $('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[2].innerHTML=members2[i].success; $('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[3].innerHTML=members2[i].loss; $('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[4].innerHTML=members2[i].last_on; $('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[5].innerHTML=members2[i].id; $('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[6].innerHTML=members2[i].lastpull;//sortTable(); //var cell8 if(members2[i].success<50){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E1";} else if(members2[i].success<100){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E2";} else if(members2[i].success<150){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E3";} else if(members2[i].success<200){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E4";} else if(members2[i].success<250){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E5";} else if(members2[i].success<300){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E6";} else if(members2[i].success<350){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E7";} else if(members2[i].success<400){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E8";} else if(members2[i].success<450){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E9";} else if(members2[i].success<500){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E9-2";} else if(members2[i].success<550){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "E9-3";} else if(members2[i].success<600){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "W1";} else if(members2[i].success<650){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "W2";} else if(members2[i].success<700){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "W3";} else if(members2[i].success<750){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "W4";} else if(members2[i].success<800){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML= "O1";} else if(members2[i].success<850){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O2";} else if(members2[i].success<900){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O3";} else if(members2[i].success<1000){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O4";} else if(members2[i].success<1050){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O5";} else if(members2[i].success<1100){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O6";} else if(members2[i].success<1150){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O7";} else if(members2[i].success<1200){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O8";} else if(members2[i].success<1250){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O9";} else if(members2[i].success<1300){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O10";} else if(members2[i].success<1350){$('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode.children[7].innerHTML = "O11";} // console.log($('#hhStats td:contains(' + members2[i].name + ')')[0].parentNode); } else { var row = table.insertRow(1); var cell1 = row.insertCell(0);cell1.innerHTML = ""+members2[i].name; var cell2 = row.insertCell(1);cell2.innerHTML = ""+members2[i].respect; var cell3 = row.insertCell(2);cell3.innerHTML = ""+members2[i].success; var cell4 = row.insertCell(3);cell4.innerHTML = ""+members2[i].loss; var cell5 = row.insertCell(4);cell5.innerHTML = ""+members2[i].last_on; var cell6 = row.insertCell(5);cell6.innerHTML = ""+members2[i].id; var cell7 = row.insertCell(6);cell7.innerHTML = ""+members2[i].lastpull;//sortTable(); var cell8; if(members2[i].success<50){cell8 = row.insertCell(7);cell8.innerHTML = "E1";} else if(members2[i].success<100){cell8 = row.insertCell(7);cell8.innerHTML = "E2";} else if(members2[i].success<150){cell8 = row.insertCell(7);cell8.innerHTML = "E3";} else if(members2[i].success<200){cell8 = row.insertCell(7);cell8.innerHTML = "E4";} else if(members2[i].success<250){cell8 = row.insertCell(7);cell8.innerHTML = "E5";} else if(members2[i].success<300){cell8 = row.insertCell(7);cell8.innerHTML = "E6";} else if(members2[i].success<350){cell8 = row.insertCell(7);cell8.innerHTML = "E7";} else if(members2[i].success<400){cell8 = row.insertCell(7);cell8.innerHTML = "E8";} else if(members2[i].success<450){cell8 = row.insertCell(7);cell8.innerHTML = "E9";} else if(members2[i].success<500){cell8 = row.insertCell(7);cell8.innerHTML = "E9-2";} else if(members2[i].success<550){cell8 = row.insertCell(7);cell8.innerHTML = "E9-3";} else if(members2[i].success<600){cell8 = row.insertCell(7);cell8.innerHTML = "W1";} else if(members2[i].success<650){cell8 = row.insertCell(7);cell8.innerHTML = "W2";} else if(members2[i].success<700){cell8 = row.insertCell(7);cell8.innerHTML = "W3";} else if(members2[i].success<750){cell8 = row.insertCell(7);cell8.innerHTML = "W4";} else if(members2[i].success<800){cell8 = row.insertCell(7);cell8.innerHTML = "O1";} else if(members2[i].success<850){cell8 = row.insertCell(7);cell8.innerHTML = "O2";} else if(members2[i].success<900){cell8 = row.insertCell(7);cell8.innerHTML = "O3";} else if(members2[i].success<1000){cell8 = row.insertCell(7);cell8.innerHTML = "O4";} else if(members2[i].success<1050){cell8 = row.insertCell(7);cell8.innerHTML = "O5";} else if(members2[i].success<1100){cell8 = row.insertCell(7);cell8.innerHTML = "O6";} else if(members2[i].success<1150){cell8 = row.insertCell(7);cell8.innerHTML = "O7";} else if(members2[i].success<1200){cell8 = row.insertCell(7);cell8.innerHTML = "O8";} else if(members2[i].success<1250){cell8 = row.insertCell(7);cell8.innerHTML = "O9";} else if(members2[i].success<1300){cell8 = row.insertCell(7);cell8.innerHTML = "O10";} else if(members2[i].success<1350){cell8 = row.insertCell(7);cell8.innerHTML = "O11";} //console.log("No"); } // var html2; //document.getElementById("hhStats").children[0].children[0].insertAdjacentHTML("beforeend", html2); delete members2[i].id;delete members2[i].lastpull; //Do something }sortTable(); members2 = members2.sort();members2 = JSON.stringify(members2); //sortTable(); number=number2;count=1;console.log(members);call_attacks();} }); }, 2000);} members2.sort(function(a,b) { return parseInt(a.success) - parseInt(b.success); }); function addStuff() { var html = '<table id="hhStats" style="float:right; border: 1px solid black;width:100%;text-align:center;">'; //for (var i = 0; i < 10; i++) html += '<tr><th>' +"User"+ '</th><th>' +"Respect"+ '</th><th>'+"Success"+'</th><th>'+"Loss"+'</th><th>'+"Last On"+'</th><th>'+"ID"+'</th><th>Last Logged</th><th>Rank</th></tr>'; //html += '<tr><th>' +"User"+ '</th><th>' +"Respect"+ '</th><th>'+"Success"+'</th><th>'+"Loss"+'</th><th>'+"Last On"+'</th><th>'+"ID"+'</th><th>Last Logged</th></tr>'; html += '</table>'; //document.getElementById("faction-news").appendChild(html); document.getElementById("factions") .insertAdjacentHTML("beforeend", html);console.log(document.getElementById("hhStats").children[0].children[0]); } function sortTable() { var table, rows, switching, i, x, y, shouldSwitch; table = document.getElementById("hhStats"); switching = true; /*Make a loop that will continue until no switching has been done:*/ while (switching) { //start by saying: no switching is done: switching = false; rows = table.rows; /*Loop through all table rows (except the first, which contains table headers):*/ for (i = 1; i < (rows.length - 1); i++) { //start by saying there should be no switching: shouldSwitch = false; /*Get the two elements you want to compare, one from current row and one from the next:*/ x = rows[i].getElementsByTagName("TD")[2]; y = rows[i + 1].getElementsByTagName("TD")[2]; //check if the two rows should switch place: if (Number(x.innerHTML) > Number(y.innerHTML)) { //if so, mark as a switch and break the loop: shouldSwitch = true; break; } } if (shouldSwitch) { /*If a switch has been marked, make the switch and mark that a switch has been done:*/ rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; } } }