Advertisement
Guest User

test 2

a guest
Jan 28th, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.29 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Treasury Log Scanner
  3. // @namespace http://ng-gaming.net/
  4. // @version 1.1
  5. // @description Makes it easier to read faction treasury logs.
  6. // @match https://cp.ng-gaming.net/faction.php?p=log
  7. // @match http://cp.ng-gaming.net/faction.php?p=log
  8. // @copyright 2013, Jamie
  9. // ==/UserScript==
  10.  
  11. var list = new Array(),
  12. ranks = new Array(),
  13. divs = new Array(),
  14. rankguns = new Array(),
  15. tickets = new Array();
  16. var reg = new RegExp("_", "g");
  17. var n = 9;
  18. try {
  19. var req = new XMLHttpRequest();
  20. req.open("GET", "http://cp.ng-gaming.net/faction.php?p=roster", false);
  21. req.send();
  22. } catch (err) {
  23. var req = new XMLHttpRequest();
  24. req.open("GET", "https://cp.ng-gaming.net/faction.php?p=roster", false);
  25. req.send();
  26. }
  27. var res = req.responseText,
  28. inbrack = 0,
  29. res2 = "";
  30. for (i = 0; i < res.length; i++) {
  31. if (res[i] == '<') {
  32. inbrack = 1;
  33. continue;
  34. }
  35. if (res[i] == '>') {
  36. inbrack = 0;
  37. continue;
  38. }
  39. if (!inbrack) {
  40. res2 += res[i];
  41. }
  42. }
  43. res = res2.split('\n');
  44. for (i = 0; i < res.length; i++) {
  45. res[i] = res[i].trim().replace("(L) ", "");
  46. if (res[i].match("_") && res[i].length <= 20) {
  47. if (ranks.indexOf(res[(i - 2)].trim()) == -1) {
  48. ranks[n] = res[(i - 2)].trim();
  49. n--;
  50. }
  51. if (divs.indexOf(res[(i + 2)].trim()) == -1) {
  52. divs.push(res[(i + 2)].trim());
  53. }
  54. list.push(ranks.indexOf(res[(i - 2)].trim()));
  55. list.push(res[i].replace(reg, " ").trim());
  56. list.push(divs.indexOf(res[(i + 2)].trim()))
  57. }
  58. }
  59. delete res2;
  60. delete req;
  61. delete res;
  62. ranks.push("Unknown Member");
  63. divs.push("UNK");
  64. for (j = 0; j < ranks.length; j++) {
  65. rankguns[j] = new Array();
  66. tickets[j] = new Array();
  67. }
  68.  
  69. var arrests = 0,
  70. tmoney = 0,
  71. gpay = 0,
  72. gpaya = 0,
  73. blast = 0,
  74. bfound = 0,
  75. bfirst = 0,
  76. bmost = 0,
  77. bleast = Infinity,
  78. vloss = 0,
  79. log = "",
  80. b = document.body.innerHTML;
  81. var pos = b.indexOf("margin-right:auto;padding:10px");
  82. pos = pos + b.substring(pos, pos + 100).indexOf(">") + 2;
  83. b = b.substring(pos, b.length);
  84. b = b.substring(0, b.indexOf("</div>"));
  85. log = b.replace(new RegExp("<br>", "gi"), "");
  86. delete b;
  87. log = log.replace(new RegExp("&lt;&lt; ", "gi"), "");
  88. log = log.replace(new RegExp("&gt;", "gi"), "");
  89. var ar = log.split("\n");
  90. delete log;
  91. for (curloop = 0; curloop < ar.length; curloop++) {
  92. process(ar[curloop]);
  93. }
  94.  
  95. function process(str) {
  96. var temp = str.match("Gov Paid .([0-9,]+)");
  97. if (temp) {
  98. str = parseInt(temp[1].replace(new RegExp(",", "g"), ""), 10);
  99. gpay += str;
  100. gpaya += str;
  101. return;
  102. }
  103. temp = str.match("Vehicle.*Maintainence fee cost .([0-9,]+)");
  104. if (temp) {
  105. vloss += parseInt(temp[1].replace(new RegExp(",", "g"), ""), 10);
  106. return;
  107. }
  108. temp = str.match("RTB fee cost .([0-9,]+)");
  109. if (temp) {
  110. vloss += parseInt(temp[1].replace(new RegExp(",", "g"), ""), 10);
  111. return;
  112. }
  113. temp = str.match("vault is at .([0-9,]+)");
  114. if (temp) {
  115. str = parseInt(temp[1].replace(new RegExp(",", "g"), ""), 10);
  116. if (!bfound) {
  117. bfound = 1;
  118. blast = str;
  119. bfirst = str;
  120. } else {
  121. blast = str;
  122. } if (str > bmost) {
  123. bmost = str;
  124. }
  125. if (str < bleast) {
  126. bleast = str;
  127. }
  128. return;
  129. }
  130. temp = str.match("([0-9,]+) has been sent to ");
  131. if (temp) {
  132. arrests++;
  133. temp = parseInt(temp[0].replace(new RegExp(",", "g"), ""), 10);
  134. gpaya += temp;
  135. if(!str.match("ticket of"))
  136. return;
  137. }
  138. if (str.match("HG Materials"))
  139. processLocker(str);
  140. if(str.match("ticket of"))
  141. processTicket(str);
  142. return 0;
  143. }
  144.  
  145. function processTicket(str) {
  146. 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]+)");
  147. var amount = parseInt(temp[4],10);
  148. var issuer = temp[3];
  149. var receiver = temp[2]
  150. var timestamp = temp[1];
  151. var todep = parseInt(temp[5],10);
  152. tmoney += todep;
  153. if(list.indexOf(issuer) == -1) {
  154. var rank = ranks.length-1;
  155. var div = divs.length-1;
  156. } else {
  157. var rank = list[list.indexOf(issuer) - 1];
  158. var div = list[list.indexOf(issuer) + 1];
  159. }
  160. 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)');
  161. }
  162.  
  163. function processLocker(str) {
  164. 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");
  165. var gun = temp[3];
  166. var name = temp[2];
  167. var timestamp = temp[1];
  168. var mats = temp[4];
  169. if(list.indexOf(name) == -1) {
  170. var rank = ranks.length-1;
  171. var div = divs.length-1;
  172. } else {
  173. var rank = list[list.indexOf(name) - 1];
  174. var div = list[list.indexOf(name) + 1];
  175. }
  176. rankguns[rank].push('[' + timestamp + '] ' + ranks[rank] + ' (' + divs[div] + ') ' + name + ' took a ' + gun);
  177. }
  178.  
  179. function makePrettyMoney(val) {
  180. var n = 0,
  181. ret = "";
  182. val = val.toString();
  183. for (i = val.length - 1; i >= 0; i--) {
  184. if (n == 3) {
  185. n = 0;
  186. ret = "," + ret;
  187. }
  188. ret = val[i] + ret;
  189. n++;
  190. }
  191. return ret;
  192. }
  193. var el = document.createElement("div");
  194. el.style.overflowY = "scroll";
  195. el.style.width = "100%";
  196. el.style.height = "450px";
  197. el.id = "filterlog";
  198. el.style.border = "#000 solid thin";
  199. el.style.padding = "10px";
  200. document.getElementById("content_wrap").appendChild(el);
  201. 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/>";
  202. for (i = 0; i < tickets.length; i++) {
  203. if (tickets[i][0] == null) {
  204. el.innerHTML += "<h3 style=\"color: steelblue\">No tickets were issued by " + ranks[i] + "s</h3><br/>";
  205. continue;
  206. }
  207. el.innerHTML += "<h3 style=\"color: steelblue\">Tickets issued by " + ranks[i] + "s:</h3><br/>" + tickets[i].join("<br/>") + "<br/> <br/>";
  208. }
  209. el.innerHTML += "<b>--------------------------------------------------------------------------------------------------------------------------------------</b><br/><br/>";
  210. for (i = 0; i < rankguns.length; i++) {
  211. if (rankguns[i][0] == null) {
  212. el.innerHTML += "<h3 style=\"color: #BB0000\">No weapons were taken by " + ranks[i] + "s</h3><br/>";
  213. continue;
  214. }
  215. el.innerHTML += "<h3 style=\"color: #BB0000\">Weapons taken by " + ranks[i] + "s:</h3><br/>" + rankguns[i].join("<br/>") + "<br/> <br/>";
  216. }
  217. void 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement