Greasy Fork 还支持 简体中文。

hwm_roulette

hwm_roulette_script

目前為 2023-12-02 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name hwm_roulette
  3. // @namespace http://tampermonkey.net/
  4. // @version 2.0
  5. // @description hwm_roulette_script
  6. // @author Salmon
  7. // @match https://my.lordswm.com/roulette.php*
  8. // @match https://www.heroeswm.ru/roulette.php*
  9. // @include https://my.lordswm.com/roulette.php*
  10. // @include https://www.heroeswm.ru/roulette.php*
  11. // @icon https://www.google.com/s2/favicons?sz=64&domain=lordswm.com
  12. // @grant none
  13. // @license MIT
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18. //common styles
  19. const styledBtn = 'border: none; overflow: hidden; width:350px; margin-bottom: 4px; margin-top: 4px; text-overflow: ellipsis; white-space: nowrap; color: #592c08; font-family: verdana,geneva,arial cyr; position: relative; text-align: center; font-weight: 700; background: url(../i/homeico/art_btn_bg_gold.png) #dab761; background-size: 100% 100%; border-radius: 5px; box-shadow: inset 0 0 0 1px #fce6b0,inset 0 0 0 2px #a78750,0 0 0 1px rgba(0,0,0,.13); line-height: 25px; cursor: pointer; transition: -webkit-filter .15s;transition: filter .15s;'
  20.  
  21. //constants
  22. const nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36'];
  23.  
  24. const createEl = (el, style, innerText, placeholder, type) => {
  25. let element = document.createElement(el);
  26. if (style) element.style = style;
  27. if (innerText) element.innerText = innerText;
  28. if (placeholder) element.placeholder = placeholder;
  29. if (type) element.type = type;
  30. return element;
  31. }
  32.  
  33. let link = [...document.getElementsByTagName('a')];
  34. link = link.filter(el => el.innerText === 'Прошлая игра');
  35. if (link[1] === undefined) {
  36. setTimeout(() => location.reload(), 10000);
  37. return;
  38. } else {
  39. link = link[1].href;
  40. }
  41.  
  42. const fetchXml = (callback, link) => {
  43. const xhr = new XMLHttpRequest();
  44. xhr.open('get', link);
  45. xhr.setRequestHeader('Content-type', 'text/html; charset=windows-1251');
  46. if (xhr.overrideMimeType) {
  47. xhr.overrideMimeType('text/html; charset=windows-1251');
  48. }
  49.  
  50. xhr.addEventListener('load', () => {
  51. let parser = new DOMParser();
  52. let doc = parser.parseFromString(xhr.responseText, "text/html");
  53. callback(doc);
  54. })
  55. xhr.send();
  56. }
  57.  
  58. //show/hide Script panel
  59. let toogleRouletteScript = JSON.parse(localStorage.getItem('toogleRouletteScript'));
  60. if (toogleRouletteScript === null) localStorage.setItem('toogleRouletteScript', JSON.stringify(true));
  61. let toogleShow = toogleRouletteScript;
  62. const toogleRouletteScriptBtn = createEl('div', 'width: 90px; height: 90px; border-radius: 100%; background: wheat; cursor: pointer; position: absolute; z-index: 99999; top: 110px; left: 5px;');
  63. toogleRouletteScriptBtn.addEventListener('click', () => {
  64. toogleShow = !toogleShow;
  65. localStorage.setItem('toogleRouletteScript', JSON.stringify(toogleShow));
  66. panel.style.visibility = toogleShow ? 'visible' : 'hidden';
  67. })
  68. toogleRouletteScriptBtn.innerHTML = `<div><img style='width: 90px; height: 90px' src='https://cfcdn.lordswm.com/i/new_top/_panelRoulette.png'/></div>`;
  69. document.body.appendChild(toogleRouletteScriptBtn);
  70.  
  71. //Bet value
  72. let moneyValue = JSON.parse(localStorage.getItem('moneyValue'));
  73. if (moneyValue === null) localStorage.setItem('moneyValue', JSON.stringify(1000));
  74. const setMoneyValue = createEl('input', 'height: 25px; width: 350px; border: 1px solid #592c08; border-radius: 5px;', '', 'ставка', 'number');
  75. const setMoneyValueBtn = createEl('button', styledBtn, 'Задать ставку');
  76. const setMoneyValueInfoBlock = createEl('div', 'font-weight: bold;', `Ставка: ${moneyValue}`);
  77.  
  78. setMoneyValueBtn.addEventListener('click', () => {
  79. localStorage.setItem('moneyValue', JSON.stringify(setMoneyValue.value));
  80. location.reload();
  81. });
  82.  
  83.  
  84. //Resource amount
  85. let resourceAmount = document.getElementById('ResourceAmount').innerText.replace(',', '');
  86. let resourceAmountStop = JSON.parse(localStorage.getItem('resourceAmountStop'));
  87. if (resourceAmountStop === null) localStorage.setItem('resourceAmountStop', JSON.stringify(0));
  88. const setResourceAmountStop = createEl('input', 'height: 25px; width: 350px; border: 1px solid #592c08; border-radius: 5px;', '', 'сумма остановки', 'number');
  89. const setResourceAmountStopBtn = createEl('button', styledBtn, 'Задать сумму остановки');
  90. const toogleResourceAmountStop = JSON.parse(localStorage.getItem('toogleResourceAmountStop'));
  91. if (toogleResourceAmountStop === null) localStorage.setItem('toogleResourceAmountStop', JSON.stringify(false));
  92. const toogleResourceAmountStopBtn = createEl('button', styledBtn, `${toogleResourceAmountStop ? 'Выключить остановку по сумме' : 'Включить остановку по сумме'}`);
  93. const resourceAmountStopInfoBlock = createEl('div', 'font-weight: bold;', `Сумма остановки: ${resourceAmountStop}`);
  94.  
  95. setResourceAmountStopBtn.addEventListener('click', () => {
  96. localStorage.setItem('resourceAmountStop', JSON.stringify(setResourceAmountStop.value));
  97. location.reload();
  98. });
  99.  
  100. toogleResourceAmountStopBtn.addEventListener('click', () => {
  101. localStorage.setItem('toogleResourceAmountStop', JSON.stringify(!toogleResourceAmountStop));
  102. location.reload();
  103. });
  104.  
  105. //Bets sorted by higher bet
  106. let betsAmountHTML = document.getElementsByTagName('table')[17];
  107. let betsAmountBlock = [...betsAmountHTML.getElementsByTagName('tr')];
  108. let label = betsAmountBlock.shift();
  109. betsAmountBlock = betsAmountBlock.sort((a, b) => Number(b.firstChild.innerText.replace(',', '')) - Number(a.firstChild.innerText.replace(',', '')));
  110. betsAmountBlock = betsAmountBlock.reduce((acc, el) => {
  111. acc += `<tr>${el.innerHTML}</tr>`;
  112. return acc;
  113. }, label.innerHTML)
  114. betsAmountHTML.innerHTML = `<tbody>${betsAmountBlock}</tbody>`;
  115.  
  116. //Bet buttons and inputs
  117. let betInput = [...document.getElementsByTagName('input')]
  118. betInput = betInput.filter(el => el.name === 'bet')[0];
  119.  
  120. let betType = [...document.getElementsByTagName('input')]
  121. betType = betType.filter(el => el.name === 'bettype')[0];
  122.  
  123. let betBtn = [...document.getElementsByTagName('input')]
  124. betBtn = betBtn.filter(el => el.value === 'Поставить!')[0];
  125.  
  126. //Creating panel element and playstyle buttons
  127. const panel = createEl('div', 'position: absolute; top: 150px; right: 30px; width: 450px; heigth: 250px; background-color: wheat; padding: 7px; text-align: center;', '');
  128. panel.style.visibility = toogleShow ? 'visible' : 'hidden';
  129.  
  130. const resetBtn = createEl('div', 'width: 40px; height: 40px; cursor: pointer;');
  131. resetBtn.innerHTML = `<div><img style='width: 40px; height: 40px' src='https://cfcdn.lordswm.com/i/pl_info/btn_reset.png'/></div>`;
  132. const br = createEl('div', 'border-radius: 7px; border-bottom: 4px solid rgb(218, 183, 97); ; border-top: 4px solid rgb(218, 183, 97); margin: 6px;');
  133.  
  134. //Setting Gameplays
  135. let playOneNum = JSON.parse(localStorage.getItem('playOneNum'));
  136. if (playOneNum === null) localStorage.setItem('playOneNum', JSON.stringify(true));
  137.  
  138. let playMultiNums = JSON.parse(localStorage.getItem('playMultiNums'));
  139. if (playMultiNums === null) localStorage.setItem('playMultiNums', JSON.stringify(false));
  140.  
  141. let playToogle = JSON.parse(localStorage.getItem('playToogle'));
  142. if (playToogle === null) localStorage.setItem('playToogle', JSON.stringify(false));
  143.  
  144. if (Number(resourceAmount) > Number(resourceAmountStop) && toogleResourceAmountStop) {
  145. localStorage.setItem('playToogle', JSON.stringify(false));
  146. };
  147.  
  148. const playStyleLabel = createEl('div', 'text-align: center; font-size: 14px; font-weight: bold; ', `Сейчас включен режим ${playOneNum ? '1 число по кругу' : '4 числа по кругу'}`)
  149. const setPlayOneNum = createEl('button', styledBtn, 'Играть 1 число по кругу');
  150. const setPlayMultiNums = createEl('button', styledBtn, 'Играть 4 числа по кругу');
  151. const setPlayToogle = createEl('button', styledBtn, `${playToogle ? 'Остановить скрипт' : 'Запустить скрипт'}`)
  152.  
  153. setPlayOneNum.addEventListener('click', () => {
  154. localStorage.setItem('playOneNum', JSON.stringify(true));
  155. localStorage.setItem('playMultiNums', JSON.stringify(false));
  156. location.reload();
  157. });
  158.  
  159. setPlayMultiNums.addEventListener('click', () => {
  160. localStorage.setItem('playOneNum', JSON.stringify(false));
  161. localStorage.setItem('playMultiNums', JSON.stringify(true));
  162. location.reload();
  163. });
  164.  
  165. setPlayToogle.addEventListener('click', () => {
  166. let toogle = playToogle;
  167. localStorage.setItem('playToogle', JSON.stringify(!playToogle));
  168. location.reload();
  169. });
  170.  
  171. //History
  172. let hour = new Date(Date.now()).getHours();
  173. let minutes = new Date(Date.now()).getMinutes();
  174. if (hour.length === 1) hour = '0' + hour;
  175. if (minutes.length === 1) minutes = '0' + minutes;
  176.  
  177. let toogleShowHistory = JSON.parse(localStorage.getItem('toogleShowHistory'));
  178. if (toogleShowHistory === null) localStorage.setItem('toogleShowHistory', JSON.stringify(false));
  179. let toogleShowHistoryLs = toogleShowHistory;
  180. const showHistoryBtn = createEl('button', styledBtn, `${toogleShowHistoryLs ? 'Скрыть историю' : 'Показать историю'}`);
  181. const clearHistoryBtn = createEl('button', styledBtn, 'Очистить историю');
  182.  
  183. const historyBlock = createEl('div', 'display: flex; flex-direction: column; align-items: center;');
  184. historyBlock.style.display = toogleShowHistoryLs ? 'flex' : 'none';
  185. const historyBet = createEl('div', 'display: flex;');
  186.  
  187. let historyString = JSON.parse(localStorage.getItem('historyString'));
  188. if (historyString === null) localStorage.setItem('historyString', JSON.stringify(historyBlock.innerHTML));
  189.  
  190. showHistoryBtn.addEventListener('click', () => {
  191. toogleShowHistoryLs = !toogleShowHistoryLs;
  192. historyBlock.style.display = toogleShowHistoryLs ? 'flex' : 'none';
  193. localStorage.setItem('toogleShowHistory', JSON.stringify(toogleShowHistoryLs));
  194. showHistoryBtn.innerText = toogleShowHistoryLs ? 'Скрыть историю' : 'Показать историю';
  195. clearHistoryBtn.style.visibility = toogleShowHistoryLs && historyString.length > 0 ? 'visible' : 'hidden';
  196. });
  197.  
  198. clearHistoryBtn.addEventListener('click', () => {
  199. localStorage.setItem('historyString', JSON.stringify(''));
  200. location.reload();
  201. })
  202.  
  203. clearHistoryBtn.style.visibility = toogleShowHistoryLs && historyString.length > 0 ? 'visible' : 'hidden';
  204.  
  205. historyBlock.innerHTML = historyString;
  206.  
  207. panel.appendChild(playStyleLabel);
  208. panel.appendChild(setPlayOneNum);
  209. panel.appendChild(setPlayMultiNums);
  210. panel.appendChild(setPlayToogle);
  211. panel.appendChild(setMoneyValue);
  212. panel.appendChild(setMoneyValueInfoBlock);
  213. panel.appendChild(setMoneyValueBtn);
  214. panel.appendChild(setResourceAmountStop);
  215. panel.appendChild(setResourceAmountStopBtn);
  216. panel.appendChild(resourceAmountStopInfoBlock);
  217. panel.appendChild(toogleResourceAmountStopBtn);
  218.  
  219. document.body.appendChild(panel);
  220.  
  221. //Gameplays
  222. if (playOneNum === true) {
  223. let temporaryNumsArray = JSON.parse(localStorage.getItem('temporaryNumsArray'));
  224. let numsCounter = JSON.parse(localStorage.getItem('numsCounter'));
  225.  
  226. if (numsCounter == null) {
  227. localStorage.setItem('numsCounter', JSON.stringify(0));
  228. location.reload();
  229. }
  230.  
  231. if (!temporaryNumsArray) {
  232. localStorage.setItem('temporaryNumsArray', JSON.stringify(nums));
  233. location.reload();
  234. }
  235.  
  236. const playBlock = createEl('div', 'diplay: flex; flex-directon: column');
  237. const setNumsCounterInput = createEl('input', 'height: 25px; width: 350px; border: 1px solid #592c08; border-radius: 5px;', '', 'количество прокруток всех чисел', 'number');
  238. const setNumsCounterBtn = createEl('button', styledBtn, 'Задать');
  239. const numsCounertInfoBlock = createEl('div', 'font-weight: bold;', '');
  240.  
  241. resetBtn.addEventListener('click', () => {
  242. localStorage.setItem('numsCounter', JSON.stringify(0));
  243. localStorage.setItem('temporaryNumsArray', JSON.stringify(nums));
  244. location.reload();
  245. })
  246.  
  247. playBlock.appendChild(setNumsCounterInput);
  248. playBlock.appendChild(setNumsCounterBtn);
  249. playBlock.appendChild(numsCounertInfoBlock);
  250. playBlock.appendChild(resetBtn);
  251.  
  252. numsCounertInfoBlock.innerText = `Осталось прокруток ${temporaryNumsArray.length} | Следующее число ${temporaryNumsArray.at(0)}`;
  253.  
  254. setNumsCounterBtn.addEventListener('click', () => {
  255. let num = Number(setNumsCounterInput.value);
  256. if (num > 0) {
  257. localStorage.setItem('numsCounter', JSON.stringify(num * nums.length));
  258. let temp = [];
  259. for (let i = 0; i < num; i++) {
  260. temp = [...temp, ...nums];
  261. }
  262. localStorage.setItem('temporaryNumsArray', JSON.stringify(temp));
  263. location.reload();
  264. }
  265. });
  266.  
  267.  
  268. panel.appendChild(playBlock);
  269. panel.appendChild(showHistoryBtn);
  270. panel.appendChild(historyBlock);
  271. panel.appendChild(clearHistoryBtn);
  272.  
  273. let checkMyBet = [...document.getElementsByTagName('center')];
  274. checkMyBet = checkMyBet[3].parentElement;
  275. checkMyBet = checkMyBet.getElementsByTagName('tr')[1].getElementsByTagName('td')[1].innerText;
  276.  
  277. if (playToogle) {
  278. if (checkMyBet.includes('Straight up')) {
  279. return;
  280. } else if (temporaryNumsArray.length && numsCounter > 0) {
  281. betInput.value = moneyValue;
  282. betType.value = `Straight up ${temporaryNumsArray[0]}`;
  283. temporaryNumsArray.shift();
  284. localStorage.setItem('temporaryNumsArray', JSON.stringify(temporaryNumsArray));
  285. historyBet.innerText = `Время:${hour}:${minutes} - баланс: ${resourceAmount}`;
  286. historyBlock.appendChild(historyBet);
  287. localStorage.setItem('historyString', JSON.stringify(historyBlock.innerHTML));
  288. betBtn.click();
  289. } else {
  290. return;
  291. }
  292. }
  293. }
  294.  
  295. if (playMultiNums === true) {
  296. let multiNumsMainArray = JSON.parse(localStorage.getItem('multiNumsMainArray'));
  297. let multiNumsAdditionalArray = JSON.parse(localStorage.getItem('multiNumsAdditionalArray'));
  298. let gameIndex = localStorage.getItem('gameIndex');
  299. let multiNumsCounter = localStorage.getItem('multiNumsCounter');
  300. let multiNumsCounterBase = localStorage.getItem('multiNumsCounterBase');
  301.  
  302. if (multiNumsMainArray === null) {
  303. localStorage.setItem('multiNumsMainArray', JSON.stringify([]));
  304. location.reload();
  305. }
  306.  
  307. if (multiNumsAdditionalArray === null) {
  308. localStorage.setItem('multiNumsAdditionalArray', JSON.stringify([]));
  309. location.reload();
  310. }
  311.  
  312. if (gameIndex === null) {
  313. localStorage.setItem('gameIndex', 0);
  314. location.reload();
  315. }
  316.  
  317. if (multiNumsCounter === null) {
  318. localStorage.setItem('multiNumsCounter', 0);
  319. location.reload();
  320. }
  321.  
  322. if (multiNumsCounterBase === null) {
  323. localStorage.setItem('multiNumsCounterBase', 0);
  324. location.reload();
  325. }
  326.  
  327. const playBlock = createEl('div', 'diplay: flex; flex-directon: column');
  328.  
  329. const setmultiNumsMainArray = createEl('input', 'height: 25px; width: 350px; border: 1px solid #592c08; border-radius: 5px;', '', 'основной массив', 'text');
  330. const setmultiNumsAdditionalArray = createEl('input', 'height: 25px; width: 350px; border: 1px solid #592c08; border-radius: 5px;', '', 'дополнительный массив', 'text');
  331. const setmultiNumsCounter = createEl('input', 'height: 25px; width: 350px; border: 1px solid #592c08; border-radius: 5px;', '', 'число повторений', 'number');
  332. const setMainArrayBtn = createEl('button', styledBtn, 'Задать числа основного массива');
  333. const setAdditionalArrayBtn = createEl('button', styledBtn, 'Задать числа дополнительного массива');
  334. const setMultiNumsCounterBtn = createEl('button', styledBtn, 'Задать числа повторений');
  335.  
  336. const multiNumsMainArrayInfoBlock = createEl('div', 'font-weight: bold;', `Основной массив: ${multiNumsMainArray}`);
  337. const multiNumsAdditionalArrayInfoBlock = createEl('div', 'font-weight: bold;', `Дополнительный массив: ${multiNumsAdditionalArray}`);
  338. const multiNumsCounterInfoBlock = createEl('div', 'font-weight: bold;', `Количество повторений: ${multiNumsCounter}`);
  339.  
  340. setMainArrayBtn.addEventListener('click', () => {
  341. let nums = setmultiNumsMainArray.value;
  342. nums = nums.split(' ');
  343. localStorage.setItem('multiNumsMainArray', JSON.stringify(nums));
  344. location.reload();
  345. });
  346.  
  347. setAdditionalArrayBtn.addEventListener('click', () => {
  348. let nums = setmultiNumsAdditionalArray.value;
  349. nums = nums.split(' ');
  350. localStorage.setItem('multiNumsAdditionalArray', JSON.stringify(nums));
  351. location.reload();
  352. })
  353.  
  354. setMultiNumsCounterBtn.addEventListener('click', () => {
  355. if (!setmultiNumsCounter.value) {
  356. alert('Необходимо указать число');
  357. } else {
  358. localStorage.setItem('multiNumsCounter', Number(setmultiNumsCounter.value));
  359. localStorage.setItem('multiNumsCounterBase', Number(setmultiNumsCounter.value));
  360. location.reload();
  361. }
  362. })
  363.  
  364. resetBtn.addEventListener('click', () => {
  365. localStorage.setItem('multiNumsMainArray', JSON.stringify([]));
  366. localStorage.setItem('multiNumsAdditionalArray', JSON.stringify([]));
  367. localStorage.setItem('gameIndex', 0);
  368. localStorage.setItem('multiNumsCounter', 0);
  369. localStorage.setItem('multiNumsCounterBase', 0);
  370. location.reload();
  371. })
  372.  
  373. playBlock.appendChild(br);
  374. playBlock.appendChild(setmultiNumsMainArray);
  375. playBlock.appendChild(multiNumsMainArrayInfoBlock);
  376. playBlock.appendChild(setMainArrayBtn);
  377. playBlock.appendChild(br.cloneNode(true));
  378. playBlock.appendChild(setmultiNumsAdditionalArray);
  379. playBlock.appendChild(multiNumsAdditionalArrayInfoBlock);
  380. playBlock.appendChild(setAdditionalArrayBtn);
  381. playBlock.appendChild(br.cloneNode(true));
  382. playBlock.appendChild(multiNumsCounterInfoBlock);
  383. playBlock.appendChild(setmultiNumsCounter);
  384. playBlock.appendChild(setMultiNumsCounterBtn);
  385. playBlock.appendChild(resetBtn);
  386. panel.appendChild(playBlock);
  387. panel.appendChild(showHistoryBtn);
  388. panel.appendChild(historyBlock);
  389. panel.appendChild(clearHistoryBtn);
  390.  
  391. let checkMyBet = [...document.getElementsByTagName('center')];
  392. checkMyBet = checkMyBet[3].parentElement;
  393. let checkMyFirstBet = checkMyBet.getElementsByTagName('tr')[1].getElementsByTagName('td')[1].innerText;
  394. let checkMySecondBet = '';
  395. let checkMyThirdBet = '';
  396. let checkMyFourthBet = '';
  397.  
  398. if (checkMyBet.getElementsByTagName('tr')[2]) checkMySecondBet = checkMyBet.getElementsByTagName('tr')[2].getElementsByTagName('td')[1].innerText;
  399. if (checkMyBet.getElementsByTagName('tr')[3]) checkMyThirdBet = checkMyBet.getElementsByTagName('tr')[3].getElementsByTagName('td')[1].innerText;
  400. if (checkMyBet.getElementsByTagName('tr')[4]) checkMyFourthBet = checkMyBet.getElementsByTagName('tr')[4].getElementsByTagName('td')[1].innerText;
  401.  
  402.  
  403. if (playToogle && Number(multiNumsCounter) > 0) {
  404. if (+gameIndex >= 4) {
  405. localStorage.setItem('gameIndex', 0);
  406. localStorage.setItem('multiNumsCounter', Number(multiNumsCounter) - 1);
  407. historyBet.innerText = `Время:${hour}:${minutes} - баланс: ${resourceAmount}`;
  408. historyBlock.appendChild(historyBet);
  409. localStorage.setItem('historyString', JSON.stringify(historyBlock.innerHTML));
  410. location.reload();
  411. }
  412. const checkLastBet = (doc) => {
  413. let lastNumber = doc.getElementsByTagName('table')[1];
  414. lastNumber = lastNumber.firstChild;
  415. lastNumber = lastNumber.firstChild.getElementsByTagName('b')[0].innerText;
  416.  
  417. if (multiNumsMainArray.indexOf(lastNumber) !== -1) {
  418. multiNumsMainArray = multiNumsMainArray.filter(el => el !== lastNumber);
  419. multiNumsMainArray.push(multiNumsAdditionalArray[0]);
  420. localStorage.setItem('multiNumsMainArray', JSON.stringify(multiNumsMainArray));
  421. multiNumsAdditionalArray.shift();
  422. localStorage.setItem('multiNumsAdditionalArray', JSON.stringify(multiNumsAdditionalArray));
  423. localStorage.setItem('multiNumsCounter', Number(multiNumsCounterBase));
  424. location.reload();
  425. }
  426. if (checkMyFirstBet.includes('Straight up') && checkMySecondBet.includes('Straight up') && checkMyThirdBet.includes('Straight up') && checkMyFourthBet.includes('Straight up')) {
  427. return;
  428. } else {
  429. betInput.value = moneyValue;
  430. betType.value = `Straight up ${multiNumsMainArray[gameIndex]}`;
  431. localStorage.setItem('gameIndex', Number(gameIndex) + 1);
  432. betBtn.click();
  433. }
  434. }
  435. fetchXml(checkLastBet, link);
  436. }
  437. }
  438.  
  439. })();