🏠 返回首頁 

IRON Nation Audit

Submit nation stats to our server


Install this script?
// ==UserScript==
// @name            IRON Nation Audit
// @namespace
// @description     Submit nation stats to our server
// @version         1.0
// @author          Ryahn ([email protected])
// @include         *://*.cybernations.net/nation_drill_display.asp?Nation_ID=*
// @exclude         file://*
// @grant           Cookies
// ==/UserScript==
var title = 'Manual IRON Nation Audit';
var inter = 15;
var nationPageText = /Private Nation Messages/;
var allianceText = /Financial</;
var allicanceAffiliation = /Independent Republic Of Orange Nations/;
var rank = /(Pending)/;
var loca = window.location.href;
var updatestring = '&update=1';
var serverURL =  'http://45.55.173.93/iron/parse.php';
var body = document.body;
body.addEventListener('contextmenu', initMenu, false);
var menu = body.appendChild(document.createElement('menu'));
menu.outerHTML = '<menu type="context" id="mymenu">' +
'\t<menuitem label="' + title + '" icon="data:image/png;base64 ,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD9/f0H/Pv7Gfn4+Cj49/cr+fj4KPv6+x79/PwS/f39Dvz8/BX8/PwV/fz8Ev39/Qz8/PwV+/v7HPz8/Bj9/f0M9vX1MOnm51Lf3Nxi19DQdN3V1m7y8PA+9/b2MPTz8zjw7u5C9PLzOPj39yv29PQz7errSuzp6kz29PQz9vX1MNzZ2mWvoqKofh4e/4AAAP+AAAD/hBQU/9G/v43g3t5gv62un4AAAP/Uvr6N3tvbZLaxsZSBGBj/gAAA/+Ti4lq0sLCXfRER/38MDP+OZWXjiWRk44ETE/+BCgr/xb29i56JicGAAAD/t5ubs6+rq5tjKCn/gAAA/4AAAP/Qzc11flpb6oAAAP+2kpK75OLiWtjV1Wu4np6ujjg4/7epqaOOeHjPgAAA/49sbN1yYWHdewIC/30EBP+AAAD/w7+/h3Y7O/+AAAD/4tbXa/j29i7z8fE88O7uQuro6E3LyMh8gWlq24AAAP9oP0D/cBgY/3sDA/9wLy//gAAA/8bCw4N2PT3/gAAA/+HV1W739vYw9PPzOPLw8D7s6epMycbGfmxSU+qAAAD/bSAg/4AAAP9uNjf/dkFB/4AAAP/T0NBxiWxs24AAAP+rfn7N4t/fXtvX2GfGsrKbrHd30LisrZxfREX1gAAA/38AAP+BGxv/rqipnH1ISfqAAAD/5+XlVLy3uI58HBz/fgUF/39CQv+BS0z4gQ8P/4IMDP/BuLmRdFtc5YAAAP+AAQH/xbS0mcbCw4OLWlrtgAAA//j39yrh3t9evra2k4AxMf9/CAj/gAEB/4kmJ//Zycp+4N7eYLGgoKuCEhL/rHJy0+/t7UTg3d1gsY6Pv4gZGf/9/f0K+Pf3Ku3r7Ejk4uJa4+DgXOrn51Dz8fE8+Pb2LvXz9DXu7O1G8e7vQvj29i75+Pgo9fP0NfLw8D739vYw////AP39/QH9/f0P+/r6Hvr5+ST6+foi/Pv7Gf38/BL9/f0O/Pz8Ffz8/Bj9/PwS/f39Cv39/Qz8/PwU/fz8FP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD//wAA//8AAMCIAACAAAAAjAAAAB+AAAAfgAAAjAAAAIAAAADBjAAA//8AAP//AAD//wAA//8AAA=="></menuitem>' +
'</menu>';
document.querySelector('#mymenu menuitem').addEventListener('click', nationSearch, false);
function initMenu(aEvent) {
// Executed when user right click on web page body
// aEvent.target is the element you right click on
var node = aEvent.target;
var item = document.querySelector('#mymenu menuitem');
body.setAttribute('contextmenu', 'mymenu');
}
nationSearch();
setInterval(nationSearch, inter * 60 * 1000);
function nationSearch() {
// Test the text of the body element against our regular expression.
if (nationPageText.test(document.body.innerHTML)) {
console.log('inside 1st if');
//Check if they are in NpO
if (allianceText.test(document.body.innerHTML) &&
allicanceAffiliation.test(document.body.innerHTML) &&
(!rank.test(document.body.innerHTML))) {
console.log('inside 2nd if');
// If update in URL, Update
function sendMessage(data, isReloadNeeded) {
var httpRequest = new XMLHttpRequest();
httpRequest.open('POST', serverURL, true);
httpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
httpRequest.send('source=' + encodeURIComponent(data));
if (isReloadNeeded) {
var newURL = loca.replace(updatestring, "");
window.location.href = newURL + updatestring;
}
}
var next = localStorage.getItem('next');
console.log(next);
if (next == null || next == undefined || localStorage.getItem('next') < new Date().getTime()) {
// Debugging
//alert(next + ' ' + inter + ' ' + new Date().getTime());
localStorage.setItem('next', new Date().getTime() + inter * 1000 * 60); // Iter minutes @ 10000
var isReloadNeeded = (null == next);
sendMessage(document.body.outerHTML, isReloadNeeded);
} else if (loca.indexOf(updatestring) >= 0) {
sendMessage(document.body.outerHTML);
}
}
}
}