Advertisement
Guest User

Untitled

a guest
Apr 27th, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.72 KB | None | 0 0
  1. // ==UserScript==
  2. // @name profoot_coeff
  3. // @namespace http://pfpf
  4. // @version 0.1
  5. // @description Show team coeff for profoot
  6. // @author karma
  7. // @match http://109.234.156.5/*
  8. // @match https://game.pfm.su/*
  9. // @require http://code.jquery.com/jquery-latest.js
  10. // http://keith-wood.name/js/jquery.plugin.js
  11. // http://keith-wood.name/js/jquery.countdown.js
  12. // @require http://rendro.github.io/countdown/javascripts/jquery.countdown.js
  13. // @grant GM_setValue
  14. // @grant GM_getValue
  15. // ==/UserScript==
  16.  
  17. (function(){
  18. console.log("pf-coeff started");
  19.  
  20. if (window.top === window.self) {
  21. console.log("dropping " + document.location.href);
  22. return;
  23. }
  24.  
  25. function get_str_num (o) {
  26. var t = o.text();
  27. var tt = o.attr("title");
  28.  
  29.  
  30. if (!isNaN(t)) {
  31. return +t;
  32. }
  33.  
  34. tt = tt.replace(/[^0-9]/g, "")
  35.  
  36. if (!isNaN(tt)) {
  37. return +tt;
  38. }
  39.  
  40. console.log("ERROR: t = " + t + " tt = " + tt);
  41. return 0;
  42. }
  43.  
  44. $(window).bind('load', function() {
  45. if (!$(".nt-title").length) {
  46. console.log("pf-coeff: dropping");
  47. return;
  48. }
  49. var link_ref= $("center .itext2").first();
  50. var link = link_ref.val();
  51. var tmp = link.split("=");
  52. var id = parseInt(tmp[1],10)
  53. var html;
  54. var dom;
  55. var res;
  56. var min_tdate = 0;
  57. var num_train = 0;
  58.  
  59. $(document).find("div.pb-stat").find("img").each(function() {
  60. var t = $(this).attr("title");
  61. var re = /тренировка до (.*)/;
  62. var a = t.match(re);
  63. if (a != null) {
  64. num_train++;
  65. console.log(a[1]);
  66. var tmp1 = a[1].split(" ");
  67. var tmp2 = tmp1[0].split(".");
  68. var tmp3 = tmp1[1].split(":");
  69. //console.log(tmp2);
  70. var d = new Date(tmp2[2],parseInt(tmp2[1])-1,tmp2[0], tmp3[0], tmp3[1]);
  71. //console.log(d);
  72. // console.log(d);
  73. if (min_tdate == 0 || d < min_tdate) {
  74. min_tdate = d;
  75. }
  76. } else {
  77. console.log('not matched');
  78. }
  79. });
  80.  
  81. //$(".nt-title").append("<b> TEST </b>");
  82.  
  83.  
  84. if (min_tdate != 0) {
  85. console.log(min_tdate);
  86. }
  87.  
  88. if (isNaN(id)) {
  89. console.log("failed to get team id");
  90. }
  91. console.log(id);
  92. $.post("ajax/profile.php",{ "id":id },
  93. function(data) {
  94. var gk_min = 0, gk_max = 0, fr_min = 0, fr_max = 0, mid_min = 0, mid_max = 0, def_min = 0, def_max = 0;
  95. var pa = {};
  96. var tdate = 0;
  97. var balance = 1;
  98. res = data.split('|');
  99. html = res[1];
  100. dom = $(html);
  101. //console.log(html);
  102. //console.log(dom);
  103. //dom.find("#pb");
  104. var dft = dom.find('#df_table').children().first();
  105. var mdt = dom.find('#md_table').children().first();
  106. var frt = dom.find('#fr_table').children().first();
  107. var ft = dom.find('#formation_table').text().trim();
  108. dft = get_str_num(dft);
  109. mdt = get_str_num(mdt);
  110. frt = get_str_num(frt);
  111. var sch = ft.split("-");
  112. var dfn = parseInt(sch[0]);
  113. var mdn = parseInt(sch[1]);
  114. var frn = parseInt(sch[2]);
  115. var dfr = dft/dfn;
  116. var mdr = mdt/mdn;
  117. var frr = frt/frn;
  118. var balmsg = "";
  119. /*
  120. console.log(dft);
  121. console.log(dfn);
  122. console.log(dfr);
  123. console.log(mdr);
  124. console.log(frr);
  125. */
  126.  
  127. $(".nt-head-title").append(dfr + "-" + mdr + "-" + frr);
  128.  
  129. if (dfr >= 2*mdr) {
  130. balance = 0;
  131. balmsg += 'ЗП ';
  132. }
  133.  
  134. if (dfr >= 2*frr) {
  135. balance = 0;
  136. balmsg += 'ЗН ';
  137. }
  138.  
  139. if (frr >= 2*dfr) {
  140. balance = 0;
  141. balmsg += 'НЗ ';
  142. }
  143.  
  144. if (frr >= 2*mdr) {
  145. balance = 0;
  146. balmsg += 'НП ';
  147. }
  148.  
  149. if (mdr >= 2*dfr) {
  150. balance = 0;
  151. balmsg += 'ПЗ ';
  152. }
  153.  
  154. if (mdr >= 2*frr) {
  155. balance = 0;
  156. balmsg += 'ПН ';
  157. }
  158.  
  159. if (balance) {
  160. $("#special-offer").append("<font color='green' style='background-color:black;font-size:30px;'><b>Баланс</b></font")
  161. } else {
  162. $("#special-offer").append("<font color='red' style='background-color:black;font-size:30px;'><b>Дисбаланс (" + balmsg + ")</b></font")
  163. }
  164.  
  165. dom.find(".pb-cont").each(function() {
  166. //console.log($(this));
  167. var t = $(this).find(".pb-t").first().text();
  168. var rate = $(this).find(".pb-r").first().text();
  169. var name = $(this).find(".pb-n").first().text();
  170.  
  171.  
  172. pa[name] = rate;
  173. //console.log(rate);
  174. //console.log(t);
  175. var r = parseInt(rate, 10);
  176. if (isNaN(r)) {
  177. console.log("can't parse rate");
  178. }
  179.  
  180. if (t === "Г") {
  181. if (gk_min == 0) {
  182. gk_min = r;
  183. }
  184. if (gk_max == 0) {
  185. gk_max = r;
  186. }
  187.  
  188. if (r < gk_min) {
  189. gk_min = r;
  190. }
  191. if (r > gk_max) {
  192. gk_max = r;
  193. }
  194. } else if (t === "З") {
  195. if (def_min == 0) {
  196. def_min = r;
  197. }
  198. if (def_max == 0) {
  199. def_max = r;
  200. }
  201.  
  202. if (r < def_min) {
  203. def_min = r;
  204. }
  205. if (r > gk_max) {
  206. gk_ax = r;
  207. }
  208. } else if (t === "П") {
  209. if (mid_min == 0) {
  210. mid_min = r;
  211. }
  212. if (mid_max == 0) {
  213. mid_max = r;
  214. }
  215.  
  216. if (r < mid_min) {
  217. mid_min = r;
  218. }
  219. if (r > mid_max) {
  220. mid_max = r;
  221. }
  222. } else if (t === "Н") {
  223. if (fr_min == 0) {
  224. fr_min = r;
  225. }
  226. if (fr_max == 0) {
  227. fr_max = r;
  228. }
  229.  
  230. if (r < fr_min) {
  231. fr_min = r;
  232. }
  233. if (r > fr_max) {
  234. fr_max = r;
  235. }
  236. }
  237. //console.log(t + ' ' + r);
  238. //console.log(pa);
  239. });
  240.  
  241. var gk_rate = gk_max/gk_min;
  242. var fr_rate = fr_max/fr_min;
  243. var mid_rate = mid_max/mid_min;
  244. var def_rate = def_max/def_min;
  245.  
  246.  
  247. /*
  248. console.log(gk_rate);
  249. console.log(def_rate);
  250. console.log(mid_rate);
  251. console.log(fr_rate);
  252. console.log(pa);
  253. */
  254.  
  255.  
  256. $(".pb-cont").each(function() {
  257. var e = $(this) .find(".pb-n").first();
  258. var n = e.text();
  259. //console.log(n);
  260. e.append("<div id='pb-rate' style='border: 1px solid black'>"+pa[n]+"</div>");
  261. //console.log(pa[n]);
  262.  
  263. });
  264.  
  265. $(".nt-title").append("<font color='gray'> <b>" + gk_rate.toFixed(2) + "</font>/<font color='green'>" + def_rate.toFixed(2) + "</font>/<font color='orange'>" + mid_rate.toFixed(2) + "</font>/<font color='red'>" + fr_rate.toFixed(2) + "</b> </font>");
  266. //var pbs = dom.jQuery("#pb");
  267. //console.log(pbs);
  268. // html = $.parseHTML(res[1]);
  269. // console.log(html);
  270. $(".head-right").prepend("<div id='tmsg' style='color:red'></div><div id='countdown'> </div>");
  271.  
  272. if (num_train == 0) {
  273. $("#tmsg").html("Требуем зарплату!");
  274. console.log("HERE!");
  275. } else if (num_train < 4) {
  276. $("#tmsg").html("Хотим аванс!");
  277. }
  278.  
  279. if (min_tdate != 0) {
  280. console.log(min_tdate);
  281. $("#countdown").countdown({date:min_tdate, render: function(data) {
  282. $(this.el).html("<b>" + data.days + " <span> дней </span>" + data.hours + " <span> часов </span>" + data.min + " <span> минут </span>" + data.sec + " <span> секунд</span></b>");
  283. }});
  284. }
  285. });
  286.  
  287.  
  288. });
  289. /*
  290. var observer = new MutationObserver(function(mutations) {
  291. mutations.forEach(function(mutation) {
  292. console.log(mutation);
  293. });
  294. });
  295.  
  296. var target = document.querySelector('#popup');
  297. observer.observe(target, { attributes: true, attributeOldValue:true, subtree: true, characterData: true, childList: true });
  298.  
  299. $("#popup").on("appear")
  300. */
  301.  
  302. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement