hwm_easy_rools

Скрипт ускоряющий игру в рулетку.

目前为 2019-06-12 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name hwm_easy_rools
  3. // @author Kleshnerukij
  4. // @description Скрипт ускоряющий игру в рулетку.
  5. // @version 1.7.7
  6. // @homepage https://greasyfork.org/ru/scripts/11127-hwm-easy-rools
  7. // @namespace https://greasyfork.org/ru/scripts/11127-hwm-easy-rools
  8. // @include http://www.heroeswm.ru/roulette.php
  9. // @include http://qrator.heroeswm.ru/roulette.php
  10. // @include http://178.248.235.15/roulette.php
  11. // @include http://www.lordswm.com/roulette.php
  12. // @include https://www.heroeswm.ru/roulette.php
  13. // @include https://qrator.heroeswm.ru/roulette.php
  14. // @include https://178.248.235.15/roulette.php
  15. // @include https://www.lordswm.com/roulette.php
  16. // @encoding utf-8
  17. // ==/UserScript==
  18.  
  19. // (c) Клешнерукий http://www.heroeswm.ru/pl_info.php?id=7076906
  20.  
  21. var rs_user_gold = new RegExp('gold\\.gif.*?<td>([\\d,]*)','i');
  22. var rs_user_lvl = new RegExp('<td>([\\d,]*)<\\/td><\\/tr><\/tbody><\\/table><\\/td><\\/tr><\/tbody><\\/table>&nbsp','i');
  23. var rs_user_cur = new RegExp('([\\d,]*)<\\/b><\\/td><\\/tr><\/tbody><\\/table>','i');
  24.  
  25. var user_gold = rs_user_gold.exec(document.body.innerHTML);
  26. user_gold = getCorrectNumber(user_gold[1]);
  27.  
  28. var user_lvl = rs_user_lvl.exec(document.body.innerHTML);
  29. user_lvl = getCorrectNumber(user_lvl[1]).slice(0, -3);
  30.  
  31. var user_cur = rs_user_cur.exec(document.body.innerHTML);
  32. user_cur = getCorrectNumber(user_cur[1]);
  33.  
  34. document.getElementsByTagName('table')[34].onclick = function(event) {
  35. if (document.getElementById('cForm') !== null) {
  36. document.getElementById("cForm").remove();
  37. }
  38. var field = event.target;
  39.  
  40. while (field != document.getElementsByTagName('table')[34]) {
  41. if (field.tagName == 'IMG') {
  42. cFormCreate(field, event);
  43. break;
  44. }
  45. field = field.parentNode;
  46. }
  47. document.getElementsByTagName('table')[35].getElementsByTagName('input')[2].value = field.title;
  48. };
  49.  
  50. function cFormCreate(field, event) {
  51. var host = window.location.hostname;
  52. var rs_name_img = new RegExp('.*\\/(.*)\\.gif','i');
  53. var name_img = rs_name_img.exec(field.src)[1];
  54. document.getElementsByName('bettype')[0].value = "";
  55. document.getElementsByName('bet')[0].value = "";
  56.  
  57. var c_form = document.createElement('div');
  58. c_form.id = "cForm";
  59. c_form.style.position = "absolute";
  60. c_form.style.width = "200px";
  61. //c_form.style.minHeight = "170px";
  62. c_form.style.margin = "0px";
  63. c_form.style.padding = "0px";
  64. c_form.style.background = "#E4E0D3";
  65.  
  66. c_form.style.WebkitBoxShadow = "0px 0px 15px #000";
  67. c_form.style.MozBoxShadow = "0px 0px 15px #000";
  68. c_form.style.BoxShadow = "0px 0px 15px #000";
  69. c_form.style.top = event.clientY;
  70. c_form.style.left = event.clientX;
  71.  
  72. var author = document.createElement('div');
  73. author.id = "author";
  74. author.style.height = "25px";
  75. author.style.width = "100%";
  76. author.style.margin = "20px 0px -5px 35px";
  77. author.style.cursor = "pointer";
  78. author.style.color = "#000";
  79. author.innerHTML = "<a href=\"http://"+host+"/sms-create.php?mailto=%CA%EB%E5%F8%ED%E5%F0%F3%EA%E8%E9&subject=%CF%EE+%EF%EE%E2%EE%E4%F3+%F1%EA%F0%E8%EF%F2%E0+hwm_easy_rools\">Сообщить об ошибке</a>";
  80.  
  81. var c_form_head = document.createElement('div');
  82. c_form_head.id = "c_form_head";
  83. c_form_head.style.height = "25px";
  84. c_form_head.style.width = "196px";
  85. c_form_head.style.margin = "2px 2px 0px 2px";
  86. c_form_head.style.background = "#2B903D";
  87. c_form_head.style.color = "#000";
  88.  
  89. var c_form_head_num = document.createElement('div');
  90. c_form_head_num.id = "c_form_head_num";
  91. c_form_head_num.style.height = "23";
  92. c_form_head_num.style.float = "left";
  93. c_form_head_num.style.fontSize = "15px";
  94. c_form_head_num.innerHTML = field.title;
  95. c_form_head_num.style.color = "#fff";
  96. c_form_head_num.style.padding = "2px 0 0 0";
  97.  
  98. var c_form_head_close = document.createElement('div');
  99. c_form_head_close.id = "close_form";
  100. c_form_head_close.innerHTML = "X";
  101. c_form_head_close.style.width = "21px";
  102. c_form_head_close.style.height = "25px";
  103. c_form_head_close.style.float = "right";
  104. c_form_head_close.style.padding = "0px 0px 0px 6px";
  105. c_form_head_close.style.fontSize = "20px";
  106. c_form_head_close.style.color = "#fff";
  107. c_form_head_close.style.background = "#CC3322";
  108. c_form_head_close.style.cursor = "pointer";
  109.  
  110. c_form_head_close.onclick = function() {
  111. var elem = document.getElementById("cForm");
  112. elem.remove();
  113. };
  114.  
  115. var message = document.createElement('text');
  116. message.id = "message";
  117.  
  118. var t = document.createElement('table');
  119.  
  120. var tbody = document.createElement('tbody');
  121.  
  122. var min_cur = 0;
  123. if (user_lvl > 4) {
  124. min_cur = user_lvl*25;
  125. } else min_cur = 100;
  126.  
  127. var residue_rate = user_lvl*1000-user_cur;
  128.  
  129. var first_cur = Math.ceil(min_cur/100);
  130. var last_cur = parseInt(user_lvl)+9;
  131. var cur_step = 0;
  132. var step = 0;
  133. var print_min_cur = false;
  134. var br = false;
  135.  
  136. for (var i = first_cur; i <= last_cur; i++) {
  137. console.log(i);
  138. var td = document.createElement('td');
  139. td.style.width = "42px";
  140. td.style.height = "20px";
  141. td.style.padding = "0px 3px";
  142. td.style.color = "#fff";
  143. td.style.background = "#2B903D";
  144. td.style.fontSize = "13px";
  145. td.style.cursor = "pointer";
  146.  
  147. td.onmouseover = function(){
  148. this.style.background = "#DDD9CD";
  149. this.style.color = "#000";
  150. };
  151. td.onmouseout = function(){
  152. this.style.background = "#2B903D";
  153. this.style.color = "#fff";
  154. };
  155.  
  156. if (step % 4 === 0) {
  157. var tr = document.createElement('tr');
  158. }
  159.  
  160. if (user_gold >= min_cur && residue_rate >= min_cur) {
  161. if (i < (first_cur+1) && user_lvl > 5 && step === 0 && print_min_cur === false && ((user_lvl/4)-Math.floor(user_lvl/4)) !== 0) {
  162.  
  163. td.style.title = min_cur;
  164. td.innerHTML = min_cur;
  165.  
  166. i--;
  167. print_min_cur = true;
  168.  
  169. } else {
  170. if ((i * 100) < 1000) {
  171. cur_step = i * 100;
  172. } else {
  173. cur_step = (i - 9) * 1000;
  174. }
  175.  
  176. if (user_gold <= cur_step) {
  177. cur_step = user_gold;
  178. br = true;
  179. }
  180.  
  181. if (residue_rate <= cur_step) {
  182. cur_step = residue_rate;
  183. br = true;
  184. }
  185.  
  186. td.style.title = cur_step;
  187.  
  188. if (cur_step % 1000 === 0) {
  189. cur_step = String(cur_step);
  190. cur_step = cur_step.slice(0, -3);
  191. cur_step = cur_step + 'к';
  192. }
  193.  
  194. td.innerHTML = cur_step;
  195. }
  196. } else {
  197. if (residue_rate < min_cur) {
  198. message.innerHTML = "Больше ставить нельзя";
  199. } else if(user_gold < min_cur) {
  200. message.innerHTML = "Недостаточно средств";
  201. }
  202. break;
  203. }
  204.  
  205.  
  206. td.ondblclick = function () {
  207. document.getElementsByName('bettype')[0].value = field.title;
  208. document.getElementsByName('bet')[0].value = this.style.title;
  209. document.getElementsByName('rform')[0].submit();
  210. };
  211.  
  212. tr.appendChild(td);
  213.  
  214. if (step % 4 === 0) {
  215. tbody.appendChild(tr);
  216. }
  217. if (br) break;
  218. step++;
  219. }
  220. t.appendChild(tbody);
  221.  
  222. c_form_head.appendChild(c_form_head_num);
  223. c_form_head.appendChild(c_form_head_close);
  224. c_form.appendChild(c_form_head);
  225. c_form.appendChild(t);
  226. c_form.appendChild(message);
  227. c_form.appendChild(author);
  228. document.body.appendChild(c_form);
  229. }
  230.  
  231. function getCorrectNumber (num) {
  232. num = num.replace(/,/i,"");
  233. return num;
  234. }