Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Treasury Log Scanner
- // @namespace http://ng-gaming.net/
- // @version 1.1
- // @description Makes it easier to read faction treasury logs.
- // @match https://cp.ng-gaming.net/faction.php?p=log
- // @match http://cp.ng-gaming.net/faction.php?p=log
- // @copyright 2013, Jamie
- // ==/UserScript==
- var list = new Array(),
- ranks = new Array(),
- divs = new Array(),
- rankguns = new Array(),
- tickets = new Array();
- var reg = new RegExp("_", "g");
- var n = 9;
- try {
- var req = new XMLHttpRequest();
- req.open("GET", "http://cp.ng-gaming.net/faction.php?p=roster", false);
- req.send();
- } catch (err) {
- var req = new XMLHttpRequest();
- req.open("GET", "https://cp.ng-gaming.net/faction.php?p=roster", false);
- req.send();
- }
- var res = req.responseText,
- inbrack = 0,
- res2 = "";
- for (i = 0; i < res.length; i++) {
- if (res[i] == '<') {
- inbrack = 1;
- continue;
- }
- if (res[i] == '>') {
- inbrack = 0;
- continue;
- }
- if (!inbrack) {
- res2 += res[i];
- }
- }
- res = res2.split('\n');
- for (i = 0; i < res.length; i++) {
- res[i] = res[i].trim().replace("(L) ", "");
- if (res[i].match("_") && res[i].length <= 20) {
- if (ranks.indexOf(res[(i - 2)].trim()) == -1) {
- ranks[n] = res[(i - 2)].trim();
- n--;
- }
- if (divs.indexOf(res[(i + 2)].trim()) == -1) {
- divs.push(res[(i + 2)].trim());
- }
- list.push(ranks.indexOf(res[(i - 2)].trim()));
- list.push(res[i].replace(reg, " ").trim());
- list.push(divs.indexOf(res[(i + 2)].trim()))
- }
- }
- delete res2;
- delete req;
- delete res;
- ranks.push("Unknown Member");
- divs.push("UNK");
- for (j = 0; j < ranks.length; j++) {
- rankguns[j] = new Array();
- tickets[j] = new Array();
- }
- var arrests = 0,
- tmoney = 0,
- gpay = 0,
- gpaya = 0,
- blast = 0,
- bfound = 0,
- bfirst = 0,
- bmost = 0,
- bleast = Infinity,
- vloss = 0,
- log = "",
- b = document.body.innerHTML;
- var pos = b.indexOf("margin-right:auto;padding:10px");
- pos = pos + b.substring(pos, pos + 100).indexOf(">") + 2;
- b = b.substring(pos, b.length);
- b = b.substring(0, b.indexOf("</div>"));
- log = b.replace(new RegExp("<br>", "gi"), "");
- delete b;
- log = log.replace(new RegExp("<< ", "gi"), "");
- log = log.replace(new RegExp(">", "gi"), "");
- var ar = log.split("\n");
- delete log;
- for (curloop = 0; curloop < ar.length; curloop++) {
- process(ar[curloop]);
- }
- function process(str) {
- var temp = str.match("Gov Paid .([0-9,]+)");
- if (temp) {
- str = parseInt(temp[1].replace(new RegExp(",", "g"), ""), 10);
- gpay += str;
- gpaya += str;
- return;
- }
- temp = str.match("Vehicle.*Maintainence fee cost .([0-9,]+)");
- if (temp) {
- vloss += parseInt(temp[1].replace(new RegExp(",", "g"), ""), 10);
- return;
- }
- temp = str.match("RTB fee cost .([0-9,]+)");
- if (temp) {
- vloss += parseInt(temp[1].replace(new RegExp(",", "g"), ""), 10);
- return;
- }
- temp = str.match("vault is at .([0-9,]+)");
- if (temp) {
- str = parseInt(temp[1].replace(new RegExp(",", "g"), ""), 10);
- if (!bfound) {
- bfound = 1;
- blast = str;
- bfirst = str;
- } else {
- blast = str;
- } if (str > bmost) {
- bmost = str;
- }
- if (str < bleast) {
- bleast = str;
- }
- return;
- }
- temp = str.match("([0-9,]+) has been sent to ");
- if (temp) {
- arrests++;
- temp = parseInt(temp[0].replace(new RegExp(",", "g"), ""), 10);
- gpaya += temp;
- if(!str.match("ticket of"))
- return;
- }
- if (str.match("HG Materials"))
- processLocker(str);
- if(str.match("ticket of"))
- processTicket(str);
- return 0;
- }
- function processTicket(str) {
- var temp = str.match("([0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}). (.*) has paid (.*)'s ticket of .([0-9]+) and .([0-9]+)");
- var amount = parseInt(temp[4],10);
- var issuer = temp[3];
- var receiver = temp[2]
- var timestamp = temp[1];
- var todep = parseInt(temp[5],10);
- tmoney += todep;
- if(list.indexOf(issuer) == -1) {
- var rank = ranks.length-1;
- var div = divs.length-1;
- } else {
- var rank = list[list.indexOf(issuer) - 1];
- var div = list[list.indexOf(issuer) + 1];
- }
- tickets[rank].push('[' + timestamp + '] ' + ranks[rank] + ' (' + divs[div] + ') ' + issuer + ' issued a citation to ' + receiver + ' for the amount of $' + makePrettyMoney(amount) + ' ($' + makePrettyMoney(todep) + ' placed in vault)');
- }
- function processLocker(str) {
- var temp = str.match("([0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}). (.*) took a (.*) out of.*cost of ([0-9,]+) HG");
- var gun = temp[3];
- var name = temp[2];
- var timestamp = temp[1];
- var mats = temp[4];
- if(list.indexOf(name) == -1) {
- var rank = ranks.length-1;
- var div = divs.length-1;
- } else {
- var rank = list[list.indexOf(name) - 1];
- var div = list[list.indexOf(name) + 1];
- }
- rankguns[rank].push('[' + timestamp + '] ' + ranks[rank] + ' (' + divs[div] + ') ' + name + ' took a ' + gun);
- }
- function makePrettyMoney(val) {
- var n = 0,
- ret = "";
- val = val.toString();
- for (i = val.length - 1; i >= 0; i--) {
- if (n == 3) {
- n = 0;
- ret = "," + ret;
- }
- ret = val[i] + ret;
- n++;
- }
- return ret;
- }
- var el = document.createElement("div");
- el.style.overflowY = "scroll";
- el.style.width = "100%";
- el.style.height = "450px";
- el.id = "filterlog";
- el.style.border = "#000 solid thin";
- el.style.padding = "10px";
- document.getElementById("content_wrap").appendChild(el);
- el.innerHTML = "<h2>Script results:</h2><br/>" + "<b>Tickets/Arrests:</b> " + makePrettyMoney(arrests) + '<br/>' + "<b>Ticket Profit:</b> $" + makePrettyMoney(tmoney) + "<br/>" + "<b>Vault High:</b> $" + makePrettyMoney(bmost) + '<br/>' + "<b>Vault Low:</b> $" + makePrettyMoney(bleast) + '<br/>' + "<b>Vault Beginning of Day:</b> $" + makePrettyMoney(blast) + '<br/>' + "<b>Vault Latest:</b> $" + makePrettyMoney(bfirst) + '<br/>' + "<b>Vehicle Fees:</b> $" + makePrettyMoney(vloss) + '<br/>' + "<b>Gov $$$ Received:</b> $" + makePrettyMoney(gpay) + '<br/>' + "<b>Net Profit:</b> $" + makePrettyMoney((bfirst - blast)) + "<br/><br/>";
- for (i = 0; i < tickets.length; i++) {
- if (tickets[i][0] == null) {
- el.innerHTML += "<h3 style=\"color: steelblue\">No tickets were issued by " + ranks[i] + "s</h3><br/>";
- continue;
- }
- el.innerHTML += "<h3 style=\"color: steelblue\">Tickets issued by " + ranks[i] + "s:</h3><br/>" + tickets[i].join("<br/>") + "<br/> <br/>";
- }
- el.innerHTML += "<b>--------------------------------------------------------------------------------------------------------------------------------------</b><br/><br/>";
- for (i = 0; i < rankguns.length; i++) {
- if (rankguns[i][0] == null) {
- el.innerHTML += "<h3 style=\"color: #BB0000\">No weapons were taken by " + ranks[i] + "s</h3><br/>";
- continue;
- }
- el.innerHTML += "<h3 style=\"color: #BB0000\">Weapons taken by " + ranks[i] + "s:</h3><br/>" + rankguns[i].join("<br/>") + "<br/> <br/>";
- }
- void 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement